aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emms-info.el2
-rw-r--r--emms.el11
2 files changed, 12 insertions, 1 deletions
diff --git a/emms-info.el b/emms-info.el
index f4f1888..97a1250 100644
--- a/emms-info.el
+++ b/emms-info.el
@@ -88,7 +88,7 @@ Return t when the track got changed."
(run-hook-with-args 'emms-info-functions
track)
(emms-track-set track 'info-mtime file-mtime)
- (emms-playlist-track-updated track)
+ (emms-track-updated track)
(when emms-info-asynchronously
(setq emms-info-asynchronous-tracks (1- emms-info-asynchronous-tracks))
(when (zerop emms-info-asynchronous-tracks)
diff --git a/emms.el b/emms.el
index d720d36..76fc62e 100644
--- a/emms.el
+++ b/emms.el
@@ -171,6 +171,12 @@ This can be used to initialize tracks with various info."
:group 'emms
:type 'hook)
+(defcustom emms-track-updated-functions nil
+ "*List of functions to call when a track changes data.
+These functions are passed the track as an argument."
+ :group 'emms
+ :type 'hook)
+
(defcustom emms-player-started-hook nil
"*Hook run when an EMMS player starts playing."
:group 'emms
@@ -394,6 +400,11 @@ If there is no value, return DEFAULT (or nil, if not given)."
This function uses `emms-track-description-function'."
(funcall emms-track-description-function track))
+(defun emms-track-updated (track)
+ "Information in TRACK got updated."
+ (emms-playlist-track-updated track)
+ (run-hook-with-args 'emms-track-updated-functions track))
+
(defun emms-track-simple-description (track)
"Simple function to give a user-readable description of a track.
If it's a file track, just return the file name.