Jorgen Schaefer <[EMAIL PROTECTED]> 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 . "[EMAIL PROTECTED]") (www . "http://www.forcix.cx/";)
 (gpg   . "1024D/028AF63C")   (irc . "nick forcer on IRCnet"))


_______________________________________________
Emms-help mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emms-help

Reply via email to