Re: Can not play music with emms

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: Can not play music with emms

Mike Kazantsev-2
You seem to have sent quoted reply off-list accidentally
(e.g. via "reply" instead of "reply to all" or "reply to list" buttons).


On Tue, 16 Jun 2020 17:04:24 +0200
Stanislav Vlasov <[hidden email]> 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.

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


--
Mike Kazantsev // fraggod.net