-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add write options #228
Labels
enhancement
New feature or request
Milestone
Comments
Serial-ATA
added a commit
that referenced
this issue
Apr 3, 2024
This allows the caller to tweak how Lofty writes their tags in various ways. As this is just a dumping ground for all sorts of format-specific settings, this is best used as an application global config that gets set once. In its current state, it will only respect `uppercase_id3v2_chunk` and `preferred_padding` (for some formats). `respect_read_only` and `remove_others` are defined for later use. closes #228
Serial-ATA
added a commit
that referenced
this issue
Apr 3, 2024
This allows the caller to tweak how Lofty writes their tags in various ways. As this is just a dumping ground for all sorts of format-specific settings, this is best used as an application global config that gets set once. In its current state, it will only respect `uppercase_id3v2_chunk` and `preferred_padding` (for some formats). `respect_read_only` and `remove_others` are defined for later use. closes #228
Serial-ATA
added a commit
that referenced
this issue
Apr 3, 2024
This allows the caller to tweak how Lofty writes their tags in various ways. As this is just a dumping ground for all sorts of format-specific settings, this is best used as an application global config that gets set once. In its current state, it will only respect `uppercase_id3v2_chunk` and `preferred_padding` (for some formats). `respect_read_only` and `remove_others` are defined for later use. closes #228
Serial-ATA
added a commit
that referenced
this issue
Apr 3, 2024
This allows the caller to tweak how Lofty writes their tags in various ways. As this is just a dumping ground for all sorts of format-specific settings, this is best used as an application global config that gets set once. In its current state, it will only respect `uppercase_id3v2_chunk` and `preferred_padding` (for some formats). `respect_read_only` and `remove_others` are defined for later use. closes #228
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Summary
Just like
ParseOptions
, there may be some things that a caller wants to configure during a write. These options would be passed toAudioFile::save_to
andTagExt::save_to
.Some options I can think of being useful are:
preferred_padding
: Right now we make use of padding, but in its absence we don't end up adding any. Since this is something multiple tags support, it would be nice to add a specified amount of padding to tags when requested.remove_others
: Removing tags from an existing file isn't the easiest process currently. It would be nice if the caller could specify that they want to, for example, remove an APE and ID3v1 tag when they are only attempting to save an ID3v2 tag.There are currently three ways to remove tags:
TagExt::remove_from
/TagType::remove_from
TagExt::save_to
with an empty tagAudioFile::save_to
None
. This means that calling<AudioFile>::remove_<tag>
will not remove from a file it is saving to. A workaround for this is to do<AudioFile>::<tag>_mut
followed byTagExt::clear
, as empty tags will be treated as a removal request.respect_read_only
: Some tags allow items to be marked read only, so we should have an option to retain any read only items found in the tags of the file being written to. Read only items are currently (unavoidably) respected in APE tags.uppercase_id3v2_chunk
: I think I read somewhere that some software expects an"id3 "
chunk instead of the normal"ID3 "
for ID3v2 in WAV/AIFF. Might as well allow the caller to decide which case we write.API design
The text was updated successfully, but these errors were encountered: