[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