-
-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimization - Don't write when there's no modified metadata #151
Comments
Cool to see that is regarded now. Maybe it would be nice to keep a possibility to force a save under specific circumstances.
|
I agree with you about the need for a "force save" option, but I have no idea what kind of "black magic" that tool does to optimize files. Is there any spec or description about that ? |
Thank you for taking a look.
Yes, here. @enzo1982 took a huge effort create a documentation, see https://mp4v2.org
I think, that the optimization is not necessary until it is really requested. Maybe this would be good for files like #152 and should be called |
I've been implementing that and just realized the client-side impacts are much more important than I thought. Many "advanced" features of ATL are not triggered by the content of the metadata you're writing but by values you switch on and off using Example 1 : Convert ID3v2.4 to ID3v2.3 All these features need to update the file even if metadata itself hasn't changed at all. In other words, many use cases that currently work in a transparent manner will require "force save" to be turned on, which can lead to confusing situations when updating the library. => As far as retrocompatibilty goes, I'd rather make "force save" enabled by default and let people disable it when they want to focus on performance. Would you be okay with that @sandreas ? |
Absolutely, I think it is very important not to break existing software by changing the default behaviour. Since I implement many things by myself (see https://github.com/sandreas/tone/blob/8066911e74302c6d6e18640c7c52f8f83da3d6f9/tone/Metadata/MetadataTrack.cs#L10), this is the perfect behaviour. Thank you for thinking this through :-) |
Developing How about the Maybe an extension Class That would make the implementation of this feature pretty easy (no changes, no save) and you could access differences between the original and the existing without reloading the file or stream again. What do you think? |
Prevent modifying files on Track.Save, if the metadata has not changed
The text was updated successfully, but these errors were encountered: