Alex Griffin <[email protected]> writes: > “Yoni Rabkin” <[email protected]> writes: > >> However, it should come with appropriate warnings and >> protections. Otherwise, if someone has an “action” track which reboots >> the machine, and they hit emms-shuffle and play… emms-actions.el will >> have to provide ample protection from surprising the user. >> >> Also, you’d need to make sure that the cache and similar functionality >> isn’t broken by coming across an action track. > > Maybe users should be prompted to just remove all actions from the > playlist when they shuffle, since the whole point here is to schedule > actions to run based on upcoming songs, which you can’t do once it’s > randomized.
I'm calling these "track actions" for now. The more I think about it, the less sense it makes to have track actions as independent tracks in the playlist. This is because we would be recreating a kludgy, line-by-line version of the lisp interpreter. Instead, I think that track actions should be functions which are part of a particular track's data structure. >> Another idea is to add a property such as `before-action’ and >> `after-action’ to any track, which store a function, and have >> emms-action.el funcall that. This is already pretty close to hooks, but >> track-specific. >> >> What do you think? > > That would work too, but I’d want some visual indicator that a track > has actions associated with it. I don’t like the idea of invisible > actions in my playlist. We'd simply add a %-sequence to the `emms-track-description-function' control string to format track actions. >> Sounds like an interesting idea. Perhaps call it emms-actions.el? It >> would entail adding a new track type. It might look something like this: >> >> […] > > Thanks, that’s really helpful! I’m not sure when I’ll find time to > write this (especially since I’m preoccupied with Emacs bankruptcy at > the moment), but I’m definitely motivated to find an easy way to queue > actions based on my emms playlist. I’ll be back with more questions > and/or updates. Excellent. I'll have a go as well when I get time, just in order to get my head around what this would look like. -- "Cut your own wood and it will warm you twice"
