pyprinttags fails to provide playing-time which emms-print-metadata does
get by querying TagLib::AudioProperties.

Is this a show-stopper?

---Fran

>
>  *************************************************************************
> >     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"
>

Reply via email to