Skip to content
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

Export metadata export for .ogg files disabled #9908

Closed
mixxxbot opened this issue Aug 23, 2022 · 14 comments
Closed

Export metadata export for .ogg files disabled #9908

mixxxbot opened this issue Aug 23, 2022 · 14 comments
Milestone

Comments

@mixxxbot
Copy link
Collaborator

Reported by: matthewslaney
Date: 2020-03-20T09:12:53Z
Status: Fix Committed
Importance: High
Launchpad Issue: lp1868233
Tags: metadata


Both the Mixxx manual and the user interface are very misleading when it comes to writing tags out to files. Specifically, the checkbox in the preferences mentioned in section 4.6 is not mentioned anywhere else. The instructions provided earlier in section 4.2.1 indicate that if you choose the "Export to File Tags" option from the context menu, then the tag will be written. Furthermore, if you discover that option on your own in the user interface, it makes no sense whatsoever for it to not actually do the thing it is supposed to do. The fact that it does pop up a warning message that tells you the tags may not be written immediately but will be written when you close the program is even more misleading, because it's providing an additional confirmation that while the action may be delayed it will be taken eventually.

I lost a very large amount of metadata because when changing computers I told Mixxx to write all my tags to my files and then transferred the files to a new computer without transferring the Mixxx database.

I understand the desire to not have the default behavior be to edit the files. However, having a button that says it is writing to the files and then doesn't do it is much worse. I don't see any reason why when a user manually clicks a button to write tags that the tags would not be written. However, if there is a valid reason I don't understand for requiring the box to be checked in the preferences dialog, then the option in the context menu should not exist if the box is not checked.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2020-03-20T15:39:45Z


It looks like we did not think about his use case. I am sorry you loose data.

What do you suggest to improve the situation?

The code of question is here:

<string>Export: Write modified track metadata from the library into file tags</string>

tr("Mixxx may wait to modify files until they are not loaded to any decks or samplers. "

Does a changes test fix the issue?

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2020-03-20T20:19:56Z


After testing I cannot confirm a bug in our implementation.

If you explicitly request metadata export by executing Metadata > Export To File Tags then file tags are written for all selected tracks independent of the preference setting.

The preference setting is only required to implicitly enable export of file tags after modifying track metadata in Mixxx, i.e. to keep file tags in sync with the Mixxx library continuously.

I guess you didn't have write permissions for your audio files while trying to export the metadata explicitly. In this case the Mixxx log contains 2 warning messages per file:

Warning [Main]: MetadataSourceTagLib - Failed to save tags of file "/tmp/filename.mp3"
Warning [Main]: Track - Failed to export track metadata: "/tmp/filename.mp3"

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2020-03-20T20:43:58Z


For my understanding this a string issue.

The hints can be read, as if all metadata from the database is written to the track after Mixxx is closed. This is not the case. Only changes after setting the Export checkbox are written to the file. I can imagine that this can be worse in some translation where translations have been done out of context.

@mixxxbot
Copy link
Collaborator Author

Commented by: matthewslaney
Date: 2020-03-20T21:06:06Z


Hi Uwe,

Thanks for checking on this. After going through the logs, I learned that this is because my files are ogg. You intentionally disabled writing the tags due to a bug in taglib.

#2180

Thanks for being proactive with that fix so that we don't all have a bunch of corrupted files.

I still believe that it is problematic to have the failure be transparent. The vast majority of users will never open the log files, so if the failure is completely silent without opening the logs, it creates the situation I had where there's either significant confusion or potentially even lost metadata.

It seems that a fix for taglib has been made but a new version hasn't been released. Can there be some sort of warning in Mixxx about the lack of ogg tag writing support or can we adopt the taglib patch?

@mixxxbot
Copy link
Collaborator Author

Commented by: matthewslaney
Date: 2020-03-20T21:16:20Z


Also, to clarify, I don't know/remember what I did when I was messing with it late last night that got it to update the file tags, but after further testing and looking through the logs, it appears that the checkbox in preferences doesn't have any effect on whether or not it writes the tags for ogg files. It still gives the errors about the taglib bug regardless of whether the box is checked or not.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2020-03-21T01:43:22Z


Bundling TagLib is not an option, we don't have enough resources for this.

It concerns me that their developer(s) don't take such a fatal bug for serious. But this is open-source, everyone is free to decide about getting involved or not. Sorry, I neither have the time nor capacity for yet another unpaid project.

@mixxxbot
Copy link
Collaborator Author

Commented by: matthewslaney
Date: 2020-03-21T03:12:56Z


Understood. I'll see if I can push them or help them somehow to make the release. Can we get some sort of warning in Mixxx and in the Mixxx documentation to indicate that OGG files aren't supported?

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2020-05-09T06:47:11Z


https://bugs.launchpad.net/mixxx/+bug/1833190 is now closed.
We can take this bug as a reminder.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2020-06-21T12:50:48Z


Unfortunately no fix expected in the near future: taglib/taglib#864 (comment)

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2021-02-16T22:41:12Z


TagLib 1.12 with the fix has been released. But it will take some time until it will be available for all platforms and distributions.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2021-02-24T18:22:17Z


Windows and macOS builds are now using TagLib 1.12 as of #3615

We do not control when Linux distributions will update taglib.

@mixxxbot
Copy link
Collaborator Author

Commented by: matthewslaney
Date: 2022-04-26T04:02:49Z


Hi Daniel,

Can you please reopen this? This bug still exists in version 2.3.2 on OSX.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2022-04-27T06:58:45Z


The post https://bugs.launchpad.net/mixxx/+bug/1868233/comments/11
Is not correct, it was fixed for the 2.4 branch, but not for 2.3.0

See:
https://github.com/mixxxdj/buildserver/blob/4a0e449335bcc2d5d1f0fe10d43b97df3cb4d347/scripts/macosx/build_taglib.sh#L14
and:
https://github.com/mixxxdj/buildserver/blob/32ec7c47ce859aa6554913f3cc26c9d6d4491bad/build_taglib.bat#L3

Unfortunately, we are no longer able to update the build environment with a reasonable effort,
So I suggest to use the 2.4 alpha version instead.

@mixxxbot
Copy link
Collaborator Author

Issue closed with status Fix Committed.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@mixxxbot mixxxbot added this to the 2.4.0 milestone Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant