emms-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [emms-help] EMMS 2.0 progress


From: Jorgen Schaefer
Subject: Re: [emms-help] EMMS 2.0 progress
Date: Tue, 13 Sep 2005 03:44:53 +0200
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux)

Jorgen Schaefer <address@hidden> writes:

> EMMS Info
> =========

I'm currently redesigning this.

emms-info.el will soon provide:

(emms-info-initialize-track track)
- A function for `emms-track-initialize-functions'
- Calls `emms-info-functions' in turn. Each function on that list
  adds information it finds to the track as appropriate. They
  return non-nil when they did change the track, nil otherwise.
- Property names: info-title info-artist info-album info-note
  info-year info-genre info-playing-time info-playing-time-min
  info-playing-time-sec

(emms-info-track-description track)
- Suitable value for `emms-track-description-function'. Returns
  "Artist - Title" or "Title" or `emms-track-simple-description'


The functions for `emms-info-functions' can use the following API:

(emms-info-set-cached filename value)
(emms-info-cached filename) => value
- Functions which store a mapping in a file for inter-session
  storage. Might even be configured (later) to store an atime,
  and remove entries if atime changed.
- The value of `emms-info-caching-p' affects the behavior of these
  functions.

(emms-info-later-do info-function track)
- Used when it is known that INFO-FUNCTION takes longer to
  compute. emms-info adds it to a queue, and calls it when idle.
- If INFO-FUNCTION returns non-nil, the track is updated (see
  below)
- The value of `emms-info-asynchronous-p' affects the behavior of
  this function.


Updating is a bit complicated. Currently, I plan the following:

When a track is updated, emms searches through all playlist
buffers for this track. If it's found, this track is removed
(`emms-playlist-kill-track') and immediately re-inserted
(`emms-playlist-insert-track'). This should allow the playlist
mode to update the track as it sees fit.


emms-info-*.el will be updated to provide a single `emms-info-*'
function for `emms-info-functions'.


The plans above allow for an easy addition of an info function
which extracts some information from the file name (as in dbrock's
or my setup).


Any comments or more or less obvious problems?

Greetings,
        -- Jorgen

-- 
((email . "address@hidden") (www . "http://www.forcix.cx/";)
 (gpg   . "1024D/028AF63C")   (irc . "nick forcer on IRCnet"))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]