emms-help
[Top][All Lists]
Advanced

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

Re: tag editing


From: Petteri Hintsanen
Subject: Re: tag editing
Date: Tue, 12 Jan 2021 23:06:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Grant Shoshin Shangreaux <grant@churls.world> writes:

> Another option might be to hook into the emms-info-native code and add
> tag writing capabilities as well.

I wouldn’t recommend going this way, at least not yet.  Some rationale:

1. There are already plenty of solid free implementations for writing
   metadata, so this would be reinventing the wheel, and probably badly
   in comparison.

2. Writing to a file always carries the risk of messing up that file.
   Users would better have backups of their precious audio files.  This
   is true, of course, for all tag writing software, but especially so
   for a new implementation like this.

3. Adding support for writing tags is not straightforward as
   emms-info-native tends to cut corners due to its read-only nature.
   For example, it occasionally throws data away while decoding,
   including tags that EMMS does not recognize.  To prevent data loss,
   this ought to be fixed if the data would be written back at some
   point.

   Also, emms-info-native does not work with files that have multiple
   (multiplexed) streams.  It is questionable how many audio files do
   have more than one logical stream, but such files should be detected
   and any failures handled gracefully.

4. I’m looking forward to add MP3 (id3v2) support for emms-info-native
   but not more.  Support for MP4, for instance, is pretty complex to
   do.  With external tools we get much wider coverage for popular
   formats.  I personally don’t care for nonfree formats, but others
   may.

Personally I like the lightweight EMMS design that emphasizes the use of
external programs instead of (re)implementing stuff by itself.
Consequently, I see emms-info-native more like a simplistic stopgap
solution for those (hopefully rare) use cases where there are no
external metadata tools available or configured.  For any serious
metadata operations I would go with external tools.  In my own setups I
use emms-print-metadata and MPD, and MusicBrainz Picard for tagging.

This does not mean that emms-info-native couldn’t be a "simplistic
stopgap solution" for writing tags as well, but please consider the
caveats listed above.

Speaking of solutions,

> 1. add a shim for TagLib to write to files (beyond me at the moment)

this one is probably easy to do.  The current Taglib shim
(emms-print-metadata) can be extended to support tag updates as well.
I can help with that if needed.

Thanks,
Petteri



reply via email to

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