emms-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: looking forward to Emms 6.0


From: Yoni Rabkin
Subject: Re: looking forward to Emms 6.0
Date: Fri, 01 May 2020 23:24:39 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux)

"Fran Burstall (Gmail)" <address@hidden> writes:

> pyprinttags fails to provide playing-time which emms-print-metadata
> does get by querying TagLib::AudioProperties.
>
> Is this a show-stopper?

It means that it cannot be a source of duration for players that do not
provide it. For instance, the mpv backend can provide duration
information while the vlc backend cannot.

It is a rather annoying situation for us, and potentially confusing for
a user who doesn't understand what is going on under the hood.

Thank you for unearthing that. Perhaps we need to keep on looking for
other ways to get at that data.

>
>
>     >   
>      *************************************************************************
>     >     TAGS OF '02. Peter Gunn (live) _ Where's Your Head At
>     >     (Head-a-Pella).mp3'
>     >   
>      *************************************************************************
>     >     ALBUM                             = As Heard on Radio
>     Soulwax,
>     >     Part 2
>     >     ALBUM ARTIST CREDIT               = 2 Many DJ’s
>     >     ALBUMARTIST                       = 2 Many DJ’s
>     >     ALBUMARTISTSORT                   = 2 Many DJ’s
>     >     ARTIST                            = Emerson, Lake & Palmer
>     /
>     >     Basement Jaxx
>     >     ARTIST CREDIT                     = Emerson, Lake & Palmer
>     /
>    
>     [snip]
>    
>     I got something like this:
>    
>     ************************************
>     TAGS OF '01 - Prelude - Prelude.mp3'
>     ************************************
>     ALBUM       = Verdi: La Traviata
>     COMMENT     = Amazon.com Song ID: 204947184
>     COPYRIGHT   = (C) 2005 Deutsche Grammophon GmbH, Hamburg
>     CONDUCTOR   = Carlo Rizzi
>     ARTIST      = Wiener Philharmoniker
>     TITLE       = Prelude - Prelude
>     GENRE       = Classical
>     ALBUMARTIST = Anna Netrebko
>     COMPOSER    = Giuseppe Verdi
>     DATE        = 2005
>     TRACKNUMBER = 1/22
>     DISCNUMBER  = 1/2
>     Unsupported tag elements: PRIV; APIC
>    
>     ...which looks easy enough to parse.
>    
>     Unfortunately, installing pytaglib on my Trisquel machine was as
>     much
>     work as emms-print-metadata. It involved manually downloading
>     pytaglib-0.3.4, then installing cython, then:
>    
>     $ python setup.py build
>     $ python setup.py install --user
>    
>     But I assume that it is easier on systems with pip, so this isn't
>     a
>     show-stopper. Moreover, it shows that this can run on a
>     completely free
>     system. If it couldn't then that would be another show-stopper.
>    
>     As an aside: looking at the command line of pyprinttags I note
>     that
>     we'll have to add the "-b" (batch) option so that pyprinttags
>     doesn't
>     try to ask the user questions and hang the elisp process call.
>    
>     > Clearly a little parsing would be necessary to get this into a
>     shape
>     > that emms could work with.
>     >
>     > I see two ways to go with this:
>     >
>     > 1.  write emms-info-pytaglib.el which does the parsing.
>     >
>     > 2.  write a python version of emms-print-metadata that is a
>     drop-in
>     > replacement for the C version.
>     >
>     > Both are easy though option 2 is probably easier.  The downside
>     of
>     > option 2 is that we still have a piece of non-elisp to install
>     in the
>     > user's path.
>     >
>     > Preferences?
>    
>     Absolutely option 1, since otherwise we would be shipping C, C++,
>     Perl,
>     and Python; no thank you. The idea is to let the OS provide the
>     packages, and let elisp do the rest. This is as opposed to what
>     we do
>     now, which is: let the OS provide a package, provide some glue
>     code, and
>     then let elisp do the rest. We are trying to get rid of the glue.
>    
>     I can write an implementation of emms-info-pytaglib and ping you
>     to test
>     it once I'm done, or you can do that. It really depends on
>     whether you
>     feel like writing that would be fun for you; your choice. Thank
>     you
>     nevertheless.
>    
>     --
>        "Cut your own wood and it will warm you twice"
>
>
>

-- 
   "Cut your own wood and it will warm you twice"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]