I would not mix tkinter and pygame in one app. Tkinter has a built in loop while pygame you have to build your loop. The result is the issue you are having along with others. I would just use pygame alone. However you have to build your UI. But there are pre-existing buttons UI modules for pygame. I would also just build my own queue system in pygame.
Here is an example of a game i created a while ago. It creates a playlist of whatever is in the directory. But you can make it limited to a whatever playlist you want. Its just an example.
The Music class:
https://github.com/metulburr/pong/blob/m...ols.py#L43
The music object:
https://github.com/metulburr/pong/blob/m...ols.py#L73
switching to next song when ends
https://github.com/metulburr/pong/blob/m...sic.py#L55
Note: there is no accommodation for looping since i didnt figure anyone would play pong that long, but that can be easily added by repeating the list
As for pygame buttons you can use a pre-existing button module as state before. And some fully fledged GUI toolkits have file browsers if i remember. Or you can make your own.
Here is an example of a game i created a while ago. It creates a playlist of whatever is in the directory. But you can make it limited to a whatever playlist you want. Its just an example.
The Music class:
https://github.com/metulburr/pong/blob/m...ols.py#L43
The music object:
https://github.com/metulburr/pong/blob/m...ols.py#L73
switching to next song when ends
https://github.com/metulburr/pong/blob/m...sic.py#L55
Note: there is no accommodation for looping since i didnt figure anyone would play pong that long, but that can be easily added by repeating the list
As for pygame buttons you can use a pre-existing button module as state before. And some fully fledged GUI toolkits have file browsers if i remember. Or you can make your own.
Recommended Tutorials: