Mike Kazantsev <[email protected]> writes: > On Wed, 20 Nov 2024 20:38:46 -0500 > Yoni Rabkin <[email protected]> wrote: > >> George Hadow <[email protected]> writes: >> >> >> --> good to know about `emms-toggle-single-track', but shame it >> >> doesn't work currently with mpv >> >> Do you know why emms-player-mpv doesn't work with emms-single-track? I >> don't mind looking at it, but perhaps it is trivially clear to you. > > I think emms-next-noerror is missing (with-current-emms-playlist ...) > wrapper around (cond ... (emms-single-track (emms-stop))) at least. > > Putting a debug-printf like this in there: > > (message "emms-next-noerror: single-track=%S buff=%S" > emms-single-track (current-buffer)) > > Seem to confirm that #<buffer *emms-player-mpv-ipc*> is active there, > as it is the caller of that func, and var in there is set to nil > (even if set to t in playlist buffer). > > I think straightforward fix is to wrap that var check into > (with-current-emms-playlist ...) in emms-next-noerror, same as it's > done when toggling the variable.
Sure, because there would be no `emms-single-track' in *emms-player-mpv-ipc*, so switch over to the current playlist to pick up the value of local variables while running `emms-next-noerror'. Makes sense. In which case it would be even better to wrap (funcall emms-player-next-function), so that any -next-function would run in the right context. I'll go ahead and do that. I'll send a separate email to the list to discuss `emms-single-track' versus `emms-repeat-track'. -- "Cut your own wood and it will warm you twice"
