Skip to content

Tag Editor Issue #1631

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

Open
nPHYN1T3 opened this issue May 26, 2025 · 8 comments
Open

Tag Editor Issue #1631

nPHYN1T3 opened this issue May 26, 2025 · 8 comments
Labels
unconfirmed bug Are you getting this bug too?

Comments

@nPHYN1T3
Copy link

nPHYN1T3 commented May 26, 2025

Desktop (please complete the following information):

  • OS: [e.g. Arch Linux/Windows/macOS] Arch
  • OS version: [e.g. rolling/11/15.2] Rolling
  • Tauon Version: [e.g. 7.9.0, see Menu->Settings->About] 8.0.1
  • Installation method: [e.g. Flatpak/OS packager/portable binary/from source] AUR

Describe the bug
I am trying to tag a song. The first one the tag editor opened fine but when I tried to do another I got a vague message about tags will be reloaded after application closes. I checked and my tag editor wasn't running/open. After trying and restarting a few times I decided to try launching from a term to see if anything shook loose...

Traceback (most recent call last):
  File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.13/threading.py", line 992, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/tauon/t_modules/t_main.py", line 31977, in editor
    complete = subprocess.run(shlex.split(line), stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
  File "/usr/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)

There is more but it's a ton of file paths. It looks to be trying to open everything in the playlist rather than the selected song.

To Reproduce
Steps to reproduce the behavior:

  1. Open your set tag editor
  2. Roll the dice?

Expected behavior
It should open the tag editor rather than throw errors then complain the editor is still open when it never opened it in the first place due to said errors.

Screenshots/Videos
If applicable, add screenshots/videos to help explain your problem.

Tauon log
See above

Additional context
I also notice inconsistent behavior. Some times if I try to tag something it opens everything from the artist. The next time it opens the whole playlist for tagging...and sometimes it does what I expect which was/is to open the selected file for tagging.

I see in the playlist some songs have their artist as the little header above a track where some (despite having things tagged) just shows the folder for the little header. It seems like if you select a song that has the artist over top it will open all for the artist despite selecting a single song. If you select a track to tag that has a folder in the little heading section it opens the whole playlist. Is this intended?

Sorry I feel like I'm flooding you with tons of issues I'm finding all at once but I have another note that is semi off topic.

It appears that remove duplicates is also broken. It seems to work on path comparison in a way that you can have three of the same track and it will fail to see a duplicate if they are added in a way that leaves then with differing paths. So playlist import where you have a relative path for one, another has a absolute and one has some kind of expansion. So ~/Music /home/user/Music $HOME/Music ./Music etc.

I did some more fiddling and notice all exported playlists have some whack syntax. They always export from where the playlists are saved. You can't set a standard directory for playlists either which is annoying. So everything in a playlist is saved as /home/user/path/to/playlists/../../Music/artistfolder/song.ext This is really convoluted and then means find duplicate fails if paths are added/appended outside the playlist.

I've actually found a ton of issues every since I started doing more than some basic add/play files. I won't flood with more bugs but there are a lot of ui/logic issues scattered about the application.

@nPHYN1T3 nPHYN1T3 added the unconfirmed bug Are you getting this bug too? label May 26, 2025
@C0rn3j
Copy link
Collaborator

C0rn3j commented May 27, 2025

Can't repro - can you toss me the file that caused this over Discord?

Is that the full trace? It seems a bit short/possibly missing a followup

Sorry I feel like I'm flooding you with tons of issues I'm finding all at once

I won't flood with more bugs

Can't fix issues that aren't known, don't feel bad about reporting issues just because you find a lot of them.

@nPHYN1T3
Copy link
Author

nPHYN1T3 commented May 27, 2025

I don't have DIscord.

The only thing I left from the trace was the file list.

"Can't fix issues that aren't known, don't feel bad about reporting issues just because you find a lot of them."
Yeah but I found a lot real fast hehe. Seems like going into a batting cage and having 5 or 6 pitching machines aimed at you to keep reporting. This issue along with the playlist query syntax stuff and pinned playlist issue seems like plenty for now.

Something to note is the my tag editor only does one file at a time. If I go into the conf file and change it to another that will do "the kitchen sink" it works. The caveat is the inconsistent behavior of Tauon where some times it tries to open the whole playlist, some times the artist and some times it will open the selected song...in which case my original tag editor works. However Tauon doesn't behave correctly with the selection or in response to the editor.

Here I got this just now i.e. completely reproducible for me.

2025-05-27 02:39:08 [ INFO  ] [ __main__ ] Tauon v8.0.1
2025-05-27 02:39:08 [ INFO  ] [ __main__ ] Copyright 2015-2025 Taiko2k [email protected]

2025-05-27 02:39:08 [ INFO  ] [ __main__ ] SDL window system: x11
2025-05-27 02:39:08 [WARNING] [  t_draw  ] Unable to import jxlpy, JPEG XL support will be disabled. (t_draw.py:42)
2025-05-27 02:39:08 [WARNING] [  t_spot  ] Unable to import Tekore, Spotify support will be disabled. (t_spot.py:47)
2025-05-27 02:39:08 [WARNING] [ t_tidal  ] Unable to import tidalapi, Tidal support will be disabled. (t_tidal.py:17)
2025-05-27 02:39:08 [WARNING] [  t_main  ] Unable to import jxlpy, JPEG XL support will be disabled. (t_main.py:38832)
2025-05-27 02:39:08 [WARNING] [  t_main  ] Unable to import lynxpresence, Discord Rich Presence will be disabled. (t_main.py:38854)
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Window size: [1280, 360]
Gtk-Message: 02:39:08.904: Failed to load module "appmenu-gtk-module"
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Platform: linux
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Running from installed location
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Install directory:         /usr/lib/python3.13/site-packages/tauon
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Asset directory:           /usr/lib/python3.13/site-packages/tauon/assets
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Locale directory:          /usr/lib/python3.13/site-packages/tauon/locale
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Userdata directory:        $HOME/.local/share/TauonMusicBox
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Config directory:          $HOME/.local/share/TauonMusicBox
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Cache directory:           $HOME/.cache/TauonMusicBox
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Home directory:            $HOME
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Music directory:           $HOME/Music
2025-05-27 02:39:08 [ INFO  ] [  t_main  ] Downloads directory:       $HOME/Downloads
2025-05-27 02:39:09 [ INFO  ] [  t_main  ] Database loaded in 0.41 seconds.
2025-05-27 02:39:09 [WARNING] [  t_main  ] Unable to import Chrome(pychromecast), chromecast support will be disabled. (t_main.py:40403)

(tauonmb:759231): libayatana-appindicator-WARNING **: 02:39:09.351: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
2025-05-27 02:39:09 [ INFO  ] [t_webserve] Start controller server
2025-05-27 02:39:09 [ INFO  ] [  t_main  ] Using SDL version: 3002010

(tauonmb:759231): Gdk-CRITICAL **: 02:39:09.476: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
2025-05-27 02:39:09 [ INFO  ] [  t_main  ] Applying theme: Turbo
2025-05-27 02:39:09 [ INFO  ] [  t_main  ] Auto save playtime
Exit PHAzOR
Exception in thread Thread-10 (editor):
Traceback (most recent call last):
  File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.13/threading.py", line 992, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/tauon/t_modules/t_main.py", line 31977, in editor
    complete = subprocess.run(shlex.split(line), stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
  File "/usr/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['tageditor-qt6', '$HOME/Documents/playlists/../../Music/Misc/Sleep Token - Hypnosis.opus', '$HOME/Documents/playlists/../../Music/Misc/Benighted - Nothing Left to Fear (Feat. Oli Peters from Archspire).m4a', '$HOME/Documents/playlists/../../Music/Misc/Bring Me The Horizon - KOOL-AID (Ft. @fullmetaljessie & @JamieXIII).opus', '$HOME/Documents/playlists/../../Music/Misc/Chad Smith + Bring Me The Horizon.opus', '$HOME/Documents/playlists/../../Music/Misc/Brand of Sacrifice - BETWEEN DEATH AND DREAMS.opus', '$HOME/Documents/playlists/../../Music/Misc/Brand of Sacrifice - BLINDED.opus', '$HOME/Documents/playlists/../../Music/Misc/Bring Me The Horizon - Throne.opus', '$HOME/Documents/playlists/../../Music/Misc/Stereophonics - Devil.mp3', '$HOME/Documents/playlists/../../Music/Misc/Raye Zaragoza - Into The Wild.opus', '$HOME/Documents/playlists/../../Music/Misc/19. Norman - Fury (Original Motion Picture Soundtrack) - Steven Price.wav', '$HOME/Documents/playlists/../../Music/Misc/AFTER THE BURIAL - Lost In The Static Stream.mp3', '$HOME/Documents/playlists/../../Music/Misc/BLEED FROM WITHIN - Into Nothing.m4a', '$HOME/Documents/playlists/../../Music/Misc/Bloodywood - Dana Dan.m4a', '$HOME/Documents/playlists/../../Music/Misc/Friction - Imagine Dragons.opus', '$HOME/Documents/playlists/../../Music/Misc/BAD END THEATER.opus', '$HOME/Documents/playlists/../../Music/Misc/Polyphia - G.O.A.T..opus', '$HOME/Documents/playlists/../../Music/Misc/Hold an AK, Dugan Ashley (Full Video).mp3', "$HOME/Documents/playlists/../../Music/Misc/Humanity's Last Breath - TIDE.m4a", '$HOME/Documents/playlists/../../Music/Misc/Dave Navarro - Hungry.m4a', '$HOME/Documents/playlists/../../Music/Misc/Jaira Burns - Ugly.wav', '$HOME/Documents/playlists/../../Music/Misc/Ola Englund - SPACE INVADERS.opus', '$HOME/Documents/playlists/../../Music/Misc/LEECHED - GUILT.ogg', '$HOME/Documents/playlists/../../Music/Misc/ANGELS OF LIBERTY - Weaving Spiders Come Not Here.m4a', '$HOME/Documents/playlists/../../Music/Misc/Nerve - Splendid Isolation.opus', '$HOME/Documents/playlists/../../Music/Misc/Petye - Smolyk Part 3.mp3', '$HOME/Documents/playlists/../../Music/Misc/Within Temptation - The Reckoning.wav', '$HOME/Documents/playlists/../../Music/Misc/THE DEVIL & THE UNIVERSE - The Great God Pan Is Dead (Long Live The Great God Pan).m4a', '$HOME/Documents/playlists/../../Music/Misc/Aespa 에스파 - Drama [Djent].opus', '$HOME/Documents/playlists/../../Music/Misc/Aespa 에스파 - Drama.opus', '$HOME/Documents/playlists/../../Music/Misc/Choir Noir feat. Parallax Orchestra - Rule of Nines (Spiritbox).opus', '$HOME/Documents/playlists/../../Music/Misc/Choir Noir - Silvera (Gojira).opus', '$HOME/Documents/playlists/../../Music/Misc/Daedric - Alchemy (SWARM Remix).opus', '$HOME/Documents/playlists/../../Music/Misc/Freeze the Fall - VHS.opus', '$HOME/Documents/playlists/../../Music/Misc/Swervedriver - Girl On a Motorbike.m4a', "$HOME/Documents/playlists/../../Music/Misc/Halocene - Just Won't Die.opus", '$HOME/Documents/playlists/../../Music/Misc/Halocene - When Demons Come To Life.opus', '$HOME/Documents/playlists/../../Music/Misc/Vana  - BEG!.opus', '$HOME/Documents/playlists/../../Music/Misc/Vana  - SERPENTINE.opus', '$HOME/Documents/playlists/../../Music/Misc/Vana - DISGUSTING!.opus', '$HOME/Documents/playlists/../../Music/Misc/Board Up The House (Renholder Remix).mp3', '$HOME/Documents/playlists/../../Music/Misc/Camille Bigeault - Mental web.opus', '$HOME/Documents/playlists/../../Music/Misc/Camille Bigeault - Dancing in the Flood (Live at Bagshow 2022).opus', '$HOME/Documents/playlists/../../Music/Misc/BAD OMENS x POPPY - V.A.N..opus', '$HOME/Documents/playlists/../../Music/Misc/BERNTH - Siren.opus', '$HOME/Documents/playlists/../../Music/Misc/Chad Smith + Bring Me The Horizon.m4a', '$HOME/Documents/playlists/../../Music/Misc/Charlie Robbins - Syncatto - Sword.m4a', '$HOME/Documents/playlists/../../Music/Misc/Chris Turner - 40 Roll.opus', '$HOME/Documents/playlists/../../Music/Misc/Darko US - Finding Love In A World Full Of Tragedy.opus', '$HOME/Documents/playlists/../../Music/Misc/FORBIDDEN - Omega Wave.opus', '$HOME/Documents/playlists/../../Music/Misc/My Way Panga Remix Jus Reign Fateh DOE.m4a', '$HOME/Documents/playlists/../../Music/Misc/Jahari Stampley - Replay (feat. Jongkuk Kim, Stefan Haerle, Derrick Hodge, Stephane Clemente & Nicholas Creus).m4a']' returned non-zero exit status 1.

@C0rn3j
Copy link
Collaborator

C0rn3j commented May 27, 2025

Ah, you cut off the last line in the OP.

What does executing: 'tageditor-qt6' '$HOME/Documents/playlists/../../Music/Misc/Sleep Token - Hypnosis.opus' '$HOME/Documents/playlists/../../Music/Misc/Benighted - Nothing Left to Fear (Feat. Oli Peters from Archspire).m4a' '$HOME/Documents/playlists/../../Music/Misc/Bring Me The Horizon - KOOL-AID (Ft. @fullmetaljessie & @JamieXIII).opus' '$HOME/Documents/playlists/../../Music/Misc/Chad Smith + Bring Me The Horizon.opus' '$HOME/Documents/playlists/../../Music/Misc/Brand of Sacrifice - BETWEEN DEATH AND DREAMS.opus' '$HOME/Documents/playlists/../../Music/Misc/Brand of Sacrifice - BLINDED.opus' '$HOME/Documents/playlists/../../Music/Misc/Bring Me The Horizon - Throne.opus' '$HOME/Documents/playlists/../../Music/Misc/Stereophonics - Devil.mp3' '$HOME/Documents/playlists/../../Music/Misc/Raye Zaragoza - Into The Wild.opus' '$HOME/Documents/playlists/../../Music/Misc/19. Norman - Fury (Original Motion Picture Soundtrack) - Steven Price.wav' '$HOME/Documents/playlists/../../Music/Misc/AFTER THE BURIAL - Lost In The Static Stream.mp3' '$HOME/Documents/playlists/../../Music/Misc/BLEED FROM WITHIN - Into Nothing.m4a' '$HOME/Documents/playlists/../../Music/Misc/Bloodywood - Dana Dan.m4a' '$HOME/Documents/playlists/../../Music/Misc/Friction - Imagine Dragons.opus' '$HOME/Documents/playlists/../../Music/Misc/BAD END THEATER.opus' '$HOME/Documents/playlists/../../Music/Misc/Polyphia - G.O.A.T..opus' '$HOME/Documents/playlists/../../Music/Misc/Hold an AK, Dugan Ashley (Full Video).mp3', "$HOME/Documents/playlists/../../Music/Misc/Humanity's Last Breath - TIDE.m4a", '$HOME/Documents/playlists/../../Music/Misc/Dave Navarro - Hungry.m4a' '$HOME/Documents/playlists/../../Music/Misc/Jaira Burns - Ugly.wav' '$HOME/Documents/playlists/../../Music/Misc/Ola Englund - SPACE INVADERS.opus' '$HOME/Documents/playlists/../../Music/Misc/LEECHED - GUILT.ogg' '$HOME/Documents/playlists/../../Music/Misc/ANGELS OF LIBERTY - Weaving Spiders Come Not Here.m4a' '$HOME/Documents/playlists/../../Music/Misc/Nerve - Splendid Isolation.opus' '$HOME/Documents/playlists/../../Music/Misc/Petye - Smolyk Part 3.mp3' '$HOME/Documents/playlists/../../Music/Misc/Within Temptation - The Reckoning.wav' '$HOME/Documents/playlists/../../Music/Misc/THE DEVIL & THE UNIVERSE - The Great God Pan Is Dead (Long Live The Great God Pan).m4a' '$HOME/Documents/playlists/../../Music/Misc/Aespa 에스파 - Drama [Djent].opus' '$HOME/Documents/playlists/../../Music/Misc/Aespa 에스파 - Drama.opus' '$HOME/Documents/playlists/../../Music/Misc/Choir Noir feat. Parallax Orchestra - Rule of Nines (Spiritbox).opus' '$HOME/Documents/playlists/../../Music/Misc/Choir Noir - Silvera (Gojira).opus' '$HOME/Documents/playlists/../../Music/Misc/Daedric - Alchemy (SWARM Remix).opus' '$HOME/Documents/playlists/../../Music/Misc/Freeze the Fall - VHS.opus' '$HOME/Documents/playlists/../../Music/Misc/Swervedriver - Girl On a Motorbike.m4a', "$HOME/Documents/playlists/../../Music/Misc/Halocene - Just Won't Die.opus", '$HOME/Documents/playlists/../../Music/Misc/Halocene - When Demons Come To Life.opus' '$HOME/Documents/playlists/../../Music/Misc/Vana - BEG!.opus' '$HOME/Documents/playlists/../../Music/Misc/Vana - SERPENTINE.opus' '$HOME/Documents/playlists/../../Music/Misc/Vana - DISGUSTING!.opus' '$HOME/Documents/playlists/../../Music/Misc/Board Up The House (Renholder Remix).mp3' '$HOME/Documents/playlists/../../Music/Misc/Camille Bigeault - Mental web.opus' '$HOME/Documents/playlists/../../Music/Misc/Camille Bigeault - Dancing in the Flood (Live at Bagshow 2022).opus' '$HOME/Documents/playlists/../../Music/Misc/BAD OMENS x POPPY - V.A.N..opus' '$HOME/Documents/playlists/../../Music/Misc/BERNTH - Siren.opus' '$HOME/Documents/playlists/../../Music/Misc/Chad Smith + Bring Me The Horizon.m4a' '$HOME/Documents/playlists/../../Music/Misc/Charlie Robbins - Syncatto - Sword.m4a' '$HOME/Documents/playlists/../../Music/Misc/Chris Turner - 40 Roll.opus' '$HOME/Documents/playlists/../../Music/Misc/Darko US - Finding Love In A World Full Of Tragedy.opus' '$HOME/Documents/playlists/../../Music/Misc/FORBIDDEN - Omega Wave.opus' '$HOME/Documents/playlists/../../Music/Misc/My Way Panga Remix Jus Reign Fateh DOE.m4a' '$HOME/Documents/playlists/../../Music/Misc/Jahari Stampley - Replay (feat. Jongkuk Kim, Stefan Haerle, Derrick Hodge, Stephane Clemente & Nicholas Creus).m4a'

give you?

Perhaps something like just 'tageditor-qt6' '$HOME/Documents/playlists/../../Music/Misc/Sleep Token - Hypnosis.opus' will show too, it should return code 0 most of all.

Looks quite long of a command, and maybe it's not enjoying the unicode.

@nPHYN1T3
Copy link
Author

nPHYN1T3 commented May 27, 2025

What does (long snippet) give me? A headache ;) It gives me nothing because the paths are hard quoted with env variables.

A little find replace magic it just craps out because of a song. However if I just take the song it errors out on and use it it works fine. Again tageditor doesn't do multiple files. Just one at a time.

I also noticed some inconsistent syntax in there. Some things are white space separated, other things are comma separated...lots of hard quote soft quote flip flopping...

Just curious but why does Tauon use that whacky absolute to relative path syntax? $HOME/Documents/playlists/../../Music/Misc/song.mp3

@Taiko2k
Copy link
Owner

Taiko2k commented May 27, 2025

Yeah why are those paths like that? How were these tracks imported?

If tracks necessarily get imported like that then we really should be unpacking those paths.

@C0rn3j
Copy link
Collaborator

C0rn3j commented May 27, 2025

It gives me nothing because the paths are hard quoted with env variables.

Some things are white space separated, other things are comma separated...lots of hard quote soft quote flip flopping.

Ah, my find & replace did not account for some of it having double quotes, it flip flops because it defaults to single quotes but some of it has single quotes in the file name.

I suppose this is a question of asking https://github.com/Martchus/tageditor to implement better CLI support for multiple files, like other tools have, or adding a workaround for the specific app name in Tauon.editor() and constantly re-launch it for every single file

@nPHYN1T3
Copy link
Author

nPHYN1T3 commented May 27, 2025

Na I just set Puddle Tag as my editor from here on out but Tauon needs to "not assume" heh. That said this is kinda less about the pass to the external editor than it is about the inconsistent behavior where some times it sends the whole playlist, some times just the tracks in the playlist of the same artist and some times the track I select to edit...there is either some UI thing that changes this on purpose I'm not seeing (note my user feedback stuff on the pinned playlist bug report, Tauon knows there is an issue with the pass but never notifies the user) or the select system to send to the editor is borked. I've found lots of UI/feedback issues that seem to tie all my bug reports together.

As for the whacky hard to relative paths. I imported an m3u playlist from qmmp.

@nPHYN1T3
Copy link
Author

nPHYN1T3 commented May 27, 2025

As a quick addendum to my comments about the odd/inconsistent behavior when selecting tracks for tagging I think I figured that out while hunting down a lot of the little things I've found and put in #1633 .

This looks like the intended behavior but it wasn't clear at first. When you select to edit tags it doesn't go by what you select but rather what heading it is under. So if the heading for the file is "cool songs" then when you select -one- track to edit the tags of and it's in the heading "cool songs" it pipes all of "cool songs" rather than the track you select.

I think part of why this didn't make sense is because I've seen duplicate files have different headings despite being from the same artist, folder, etc. That combined with not seeing "the pattern" that if I have a single song from a specific folder or artist and tried to edit the tags it would work with my original tag editor. However if the file I was trying to tag was in a group/folder or from an artist of which there are other songs from the same artist/folder then things went sideways.

This is all tied with the fact that if you say select somewhere in the playlist UI but not explicitly ON a song it still selects the song your click is closest to. So when you right click and go to meta > Edit With XXX it gives the impression you are editing ONE file, the file you selected. It never says "edit group tags" or "edit artist tags." Small things like this are misleading and gave me the wrong impression.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
unconfirmed bug Are you getting this bug too?
Projects
None yet
Development

No branches or pull requests

3 participants