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

Playlist export in m3u/m3u8 fails #11780

Closed
jmfergeau opened this issue Aug 2, 2023 · 19 comments
Closed

Playlist export in m3u/m3u8 fails #11780

jmfergeau opened this issue Aug 2, 2023 · 19 comments
Labels

Comments

@jmfergeau
Copy link

Bug Description

When a playlist is exported, the m3u and m3u8 generated are just a simple line saying #EXTM3U. It doesn't export the files names as intended and then makes the generated playlist completely useless.

Version

2.3.5

OS

Arch Linux with LTS kernel

@jmfergeau jmfergeau added the bug label Aug 2, 2023
@daschuer
Copy link
Member

daschuer commented Aug 3, 2023

I cannot confirm this with 2.3.5 or HEAD of the 2.3 branch or 2.4-beta
Does the mixxx.log contain something suspicious?
Is 2.4-beta affected as well?

@jmfergeau
Copy link
Author

jmfergeau commented Aug 4, 2023

Sorry but it's still doing it to me and it used to work before.

Here's a log where i open mixxx, try to export a playlist and close mixxx. Also included the playlist file i got.
mixxx.log
default.m3u.txt

I don't know for beta. I only use stable versions.

@daschuer
Copy link
Member

daschuer commented Aug 5, 2023

Can you remember the condition when it worked?

@daschuer
Copy link
Member

daschuer commented Aug 5, 2023

Interesting:

Warning [Main]: Could not find filter "*.m3u|M3U Playlist "
Debug [Main]: item not found for QUrl("file:///home/max/Bureau/default.m3u")

Why has the file the txt extension? Was it found on the harddisk like that?

@jmfergeau
Copy link
Author

Why has the file the txt extension? Was it found on the harddisk like that?

No, it was in m3u. I changed it to txt for upload because github is too stupid to understand m3u files are text files...

@ronso0
Copy link
Member

ronso0 commented Aug 10, 2023

@jmfergeau Out of curiosity: how is crate export working? And playlist import?

@jmfergeau
Copy link
Author

jmfergeau commented Aug 11, 2023

@jmfergeau Out of curiosity: how is crate export working? And playlist import?

To export, i simply right-click the mixxx playlist and click "export playlist"

I haven't tested import.

@ronso0
Copy link
Member

ronso0 commented Aug 11, 2023

To be more clear:
is crate export working? Like Playlist items, you can export Crates to popular playlist formats, as well.

Please also test playlist import.
I hooe that helps narrow this down to some specific part of QFileDialog, or Mixxx.

What Qt version are you using? It is printed in the log stream, during startup.

@daschuer
Copy link
Member

Mixxx 2.3.5 with Qt: 5.15.10 on Arch Linux.

This is the relevant part form the log:

Debug [Main]: Already focused on playlist  -1
Warning [Main]: BaseSqlTableModel::setSort invalid column: -1
Debug [Main]: Basepath:  "/home/max/Bureau"
Debug [Main]: "/home/max/Bureau"
Debug [Main]: directory  QUrl("file:///home/max/Bureau")  not in use, marked dirty.
Debug [Main]: aborted, directory  QUrl("file:///home/max/Bureau")  not in cache.
Debug [Main]: aborted, directory  QUrl("file:///home/max")  not in cache.
Debug [Main]: "/home/max/Bureau/default.m3u"
Debug [Main]: aborted, directory  QUrl("file:///home/max/Bureau")  not in cache.
Debug [Main]: aborted, directory  QUrl("file:///home/max/Bureau")  not in cache.
Debug [Main]: "/home/max/Bureau"
Debug [Main]: aborted, directory  QUrl("file:///home/max/Bureau")  not in cache.
Debug [Main]: aborted, directory  QUrl("file:///home/max")  not in cache.
Debug [Main]: ("file:///home/max/Bureau/default.m3u")
Debug [Main]: item not found for QUrl("file:///home/max/Bureau/default.m3u")
Debug [Main]: QUrl("tags:/")
Debug [Main]: QUrl("tags:/")
Debug [Main]: directory  QUrl("tags:/")  not in use, marked dirty.
Debug [Main]: aborted, directory  QUrl("tags:/")  not in cache.
Debug [Main]: QUrl("tags:/")
Debug [Main]: QUrl("tags:/")
Debug [Main]: aborted, directory  QUrl("tags:/")  not in cache.
Debug [Main]: QUrl("tags:/")
Debug [Main]: QUrl("tags:/")
Debug [Main]: aborted, directory  QUrl("tags:/")  not in cache.

@daschuer
Copy link
Member

Debug [Main]: Already focused on playlist -1 Indicates that you have selected a not existing playlist (kInvalidPlaylistId).

The related code has been improved in the 2.4 branch, in PRs like this:
#4193

Please verify if the issue still happens in Mixxx 2.4-beta

@daschuer
Copy link
Member

Can this be related to #11576
Please try to launch Mixxx with:
QT_QPA_PLATFORM=wayland mixxx
Does this fix the issue?

@jmfergeau
Copy link
Author

jmfergeau commented Aug 14, 2023

Can this be related to #11576 Please try to launch Mixxx with: QT_QPA_PLATFORM=wayland mixxx Does this fix the issue?

Tried and no, it doesn't fix it. I avoid using wayland anyway because nvidia gpu.

To be more clear: is crate export working? Like Playlist items, you can export Crates to popular playlist formats, as well.

Tried to export one of my crates and this didn't worked either. Same problem.

Please also test playlist import. I hooe that helps narrow this down to some specific part of QFileDialog, or Mixxx.

I made a playlist with audacious as m3u and imported it in mixxx. It worked with no issues.

But, exporting back this very playlist from mixxx worked!

I'm suspecting my own playlist in mixxx to have a problem. Maybe there's too many files? 600+ is a high number... Maybe it's the foreign characters since i have some japanese tracks that have foreign characters in the file names... but as i said before, this was never a problem for mixxx before and as long as it was a m3u8, it was making a functional playlist.

What Qt version are you using? It is printed in the log stream, during startup.

Debug [Main]: Qt: 5.15.10
Debug [Main]: libshout: 2.4.1
Debug [Main]: PortAudio: 1246976 PortAudio V19.7.0-devel, revision unknown
Debug [Main]: RubberBand: 3.2.1
Debug [Main]: SoundTouch: 2.3.2
Debug [Main]: TagLib: 1.13.0
Debug [Main]: ChromaPrint: 1.5.1
Debug [Main]: Vorbis: Xiph.Org libVorbis 1.3.7
Debug [Main]: libsndfile: libsndfile-1.2.0
Debug [Main]: FLAC: 1.4.3
Debug [Main]: libmp3lame: 3.100

@ronso0
Copy link
Member

ronso0 commented Aug 14, 2023

Okay, thanks for testing.

What @daschuer spotted in the log (invalid playlist id) indicates something's wrong with the sidebar selection and/or the context menu. (also there are a lot of debug messages, presumably from Qt, that I never saw before in logs, and I'm puzzled by the QFileDialog errors, too).

Let's break this down:

  • explicitly select a playlist with left mouse click (its content is shown in the tracks view)
  • right-click that item and try to export (attach the log please)
  • if that doesn't make any difference and if your desktop has a keyboard shortcut for the context menu, like Shift+F10, also try that

I don't know for beta. I only use stable versions.

2.4-beta is about to be polished for release within the next few weeks, and it has been tested for quite some time now, so the risk of serious regressions is rather low.
Please give it a shot!

@jmfergeau
Copy link
Author

  • explicitly select a playlist with left mouse click (its content is shown in the tracks view)
  • right-click that item and try to export (attach the log please)

This is exactly what i'm doing from the beginning. And what i did in my first posts.

Ok this is really strange : After some tries I discovered a workaround to make the playlists exportable again as intended. But this workaround needs to be made everytime mixxx is started. Here it is:

  • Start Mixxx (trying to export a playlist at this point will fail)
  • Import a new playlist. It can be a completely empty playlist. (you can even import the failed exported playlist!)
  • Export playlist will now work again with any playlist until you close mixxx.

Here's the log i got from a session where export was successful : mixxx.log

I am very confused now.

@daschuer
Copy link
Member

Maybe adding an additional tree member fixed the issue?

@ronso0
Copy link
Member

ronso0 commented Aug 14, 2023

Maybe adding an additional tree member fixed the issue?

wtf... that would be a weird bug
@jmfergeau Does it also work if you create a new playlist?
Or if you delete a playlist?
Or if you create a new crate?
The former two actions would rebuild the Playlists sidebar child model.

Either way, I'm not sure if spending time on a fix is worth it if it works in 2.4
It would also be helpful if someone else on Arch with Qt 5.15.10 could try to reproduce with 2.3 and 2.4. @Holzhaus you're on Arch, too, right? Could you do this?

@daschuer
Copy link
Member

Yes we have already a release candidate for 2.3.6 which is the last version from the 2.3 branch. So let's focus one 2.4-beta.
Are you able to build the 2.4 branch yourself? Do you experience the issue with that as well?

@jmfergeau
Copy link
Author

wtf... that would be a weird bug @jmfergeau Does it also work if you create a new playlist? Or if you delete a playlist? Or if you create a new crate? The former two actions would rebuild the Playlists sidebar child model.

Thanks to your suggestions, I made more tests and I figured out a bit more what might be the cause.

It seems to happen if you start mixxx, stay on the tracks list and attempt to export a playlist from there. And it seems to not occur anymore if you click the playlist to see its content.

It looks like the playlist exports only if it's first loaded in memory. A thing that doesn't happen when you just started mixxx right away, which is logical.

And same thing for the crates. As long as they aren't "loaded" (displayed on the tracks list) the export will fail. But will succeed if it's loaded.

@ronso0
Copy link
Member

ronso0 commented Aug 14, 2023

That's pretty much what I asked earlier, thanks for confirming.

Closing this, fixed in 2.4 by #4193 (and follow-ups IIRC)

@ronso0 ronso0 closed this as completed Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants