Thank you, Mike! The solution for me was just `emms-cache-reset'. See below.
Kind regards, Stas Mike Kazantsev <[email protected]> writes: > On Tue, 16 Jun 2020 17:04:24 +0200 > Stanislav Vlasov <[email protected]> wrote: > >> Thank you for looking into this, Mike! >> >> This is what I am trying to do to start the music: >> >> M-x emms-add-directory-tree >> ;; set "/path/to/music" >> >> *Messages*: EMMS: All track information loaded. >> >> M-x emms >> ;; presents list of files in "/path/to/music" >> >> RET >> *Messages*: emms-player-mpv ipc-error: error running command >> RET >> RET >> RET >> ;; does not play:( >> >> Looks like it indeed treats files (actually both .mp3 and .flac) as >> playlist. Running mpv on file from terminal works normally (i.e., it plays). >> >> (emms-playlist-current-selected-track) ;; C-x C-e >> ;; returns >> (*track* (type . playlist) (name . "/path/to/music/song.mp3") (last-played >> 24280 41855 294643 251000) (play-count . 1)) > > Afraid I don't know what can happen to add tracks like that via > emms-add-directory-tree - as far as I can tell it always runs > "(emms-track 'file file)" to create tracks, where 'file is always > passed as type. > Don't think anything should change this track type afterwards either. > > Simpliest way to debug where it comes from might be to add logging to > emms-track-set, like this: > > (defun emms-track-set (track name value) > (message "-- emms set: %S %S %S" track name value) > (emms-dictionary-set track name value) > (when emms-cache-modified-function > (funcall emms-cache-modified-function track))) > > You can eval that via same C-j, then make sure it logs something > setting type to 'playlist when adding track. Well, I did not get any messages. Apparently every file on my disk was cached as playlist. I think I just called `emms-add-playlist-directory-tree' on a whole disk at some point by mistake instead of `emms-add-directory-tree'. Everything is playing now after I `M-x emms-cache-reset'. La-la! > And if so, I'd probably run "M-x toggle-debug-on-error" and add this as > a first or second line in that function: > > (when (eq type 'playlist) (error "playlist type set here")) > > Which should drop you into backtrace buffer when adding a track, > and backtrace should list call chain that sets/changes type like that. > > You can probably post it here too. > > Afraid I've no idea where this might happen when adding tracks via > emms-add-directory-tree with pretty much default configuration, > but backtrace should show it, and maybe someone more knowledgeable has > any suspicions. > > >> >> mpv --version >> # mpv 0.32.0 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects >> # built on UNKNOWN >> # ffmpeg library versions: >> # libavutil 56.31.100 >> # libavcodec 58.54.100 >> # libavformat 58.29.100 >> # libswscale 5.5.100 >> # libavfilter 7.57.100 >> # libswresample 3.5.100 >> # ffmpeg version: n4.2.3 >> >> emms-version "5.42" (emms-20200612.2058) >> >> >> Kind regards, >> Stas
