gmu icon indicating copy to clipboard operation
gmu copied to clipboard

Winamp Skin?

Open jackiemoonsoon opened this issue 2 years ago • 10 comments

I really love the Gmu music player on my Miyoo Mini. It serves as an excellent replacement for my aging iPod. The only feature I think is missing is the ability to change skins. Unless I am missing something, please add this! I was also thinking having a Winamp skin would look amazing on a Miyoo Mini display (player on top, playlist at the bottom). Just some ideas, but really love the app! Please keep making new releases.

jackiemoonsoon avatar Jan 17 '23 06:01 jackiemoonsoon

Thanks for using Gmu! It is actually possible to use different skins, although you can't change the skin from the UI.

Instead you have to adjust the line with the SDL.DefaultSkin key in Gmu's config file.

SDL.DefaultSkin=default-modern

Alternatively, the Gmu binary accepts command line arguments. You can specify a skin name with the -s argument, e.g. ./gmu.bin -s default-modern.

Gmu comes with two themes: default-modern and default-modern-large. Both look similar, but the large version uses a larger font size for most of the UI. The themes/skins are located in the themes sub directory. They consist of a config files called theme.conf and several image files for the various graphical elements. If you want to create your own custom theme, you can take a look at those files.

jhe2 avatar Jan 18 '23 14:01 jhe2

Thanks for using Gmu! It is actually possible to use different skins, although you can't change the skin from the UI.

Instead you have to adjust the line with the SDL.DefaultSkin key in Gmu's config file.

SDL.DefaultSkin=default-modern

Alternatively, the Gmu binary accepts command line arguments. You can specify a skin name with the -s argument, e.g. ./gmu.bin -s default-modern.

Gmu comes with two themes: default-modern and default-modern-large. Both look similar, but the large version uses a larger font size for most of the UI. The themes/skins are located in the themes sub directory. They consist of a config files called theme.conf and several image files for the various graphical elements. If you want to create your own custom theme, you can take a look at those files.

Thanks for the info. I tried running the command and it threw a bunch of errors mentioning the playlist, etc. It didn't really make any sense even though I am pretty sure I ran the command correctly. I had to hard exit the terminal.

Having said that, would it be possible to add theme changing within the GUI? The font seems too small to me (even after manually modifying it to say modern-default-large). To confirm, what is the exact location of the .conf file? I found two .conf files with the line you mentioned to look for and edited both.

It would also be cool to have the option to change the screen orientation! If you connect a bluetooth transmitter to the bottom, it makes it almost impossible to stand the Miyoo vertically.

Please keep developing this app. It's badass!

jackiemoonsoon avatar Jan 30 '23 05:01 jackiemoonsoon

Never heard back on this. Just checking in if we could at least get some screen orientation control in the next release! Thanks

jackiemoonsoon avatar Mar 06 '23 03:03 jackiemoonsoon

Having said that, would it be possible to add theme changing within the GUI? The font seems too small to me (even after manually modifying it to say modern-default-large). To confirm, what is the exact location of the .conf file? I found two .conf files with the line you mentioned to look for and edited both.

Allowing to change the theme via the UI would certainly be possible. I'll see what I can do.

The exact config file location depends on how Gmu is run. It is done differently on different devices. I don't have a Miyoo Mini myself, so I don't know how the device is running apps. If Gmu is started without any options, it first tries to read the config file from the gmu sub-directory under $XDG_CONFIG_HOME, which usually translates to ~/.config/gmu/gmu.conf, where ~ is the user's home directory. This is the location where Gmu will store configuration changes, when you modify some option in the settings dialog. It will also store your playlist there. If it can't find a config file at that location, it will try to load a config file from its base config directory. By default, this is the current working directory. With the -d /path/to/configdir option this can be changed to any other directory. This directory must also contain the other config files (such as gmuinput.conf for Gmu's input device configuration). The default config file name is gmu.conf. With the -c option, you can specify a different name.

So you would have to check, how it is launched on your device. It is possibly done via some shell script.

jhe2 avatar Mar 06 '23 09:03 jhe2

Never heard back on this. Just checking in if we could at least get some screen orientation control in the next release! Thanks

I'm fairly busy with other things at the moment, so it might take some time for me to answer and/or work on this. As for screen orientation changes, I am not convinced this should be done inside of Gmu. This is typically something the OS should do. Gmu is already capable of reacting to screen/window size changes, so if the OS changes screen size and/or orientation, Gmu should be able to handle this.

If there are particular reasons why you think this should be handled by Gmu, feel free to let me know. Maybe I am missing something here.

jhe2 avatar Mar 06 '23 09:03 jhe2

Having said that, would it be possible to add theme changing within the GUI? The font seems too small to me (even after manually modifying it to say modern-default-large). To confirm, what is the exact location of the .conf file? I found two .conf files with the line you mentioned to look for and edited both.

Allowing to change the theme via the UI would certainly be possible. I'll see what I can do.

The exact config file location depends on how Gmu is run. It is done differently on different devices. I don't have a Miyoo Mini myself, so I don't know how the device is running apps. If Gmu is started without any options, it first tries to read the config file from the gmu sub-directory under $XDG_CONFIG_HOME, which usually translates to ~/.config/gmu/gmu.conf```, where~is the user's home directory. This is the location where Gmu will store configuration changes, when you modify some option in the settings dialog. It will also stroe your playlist there. If it can't find a config file at that location, it will try to load a config file from its base config directory. By default, this is the current working directory. With the-d /path/to/configdiroption this can be changed to any other directory. This directory must also contain the other config files (such asgmuinput.conffor Gmu's input device configuration). The default config file name isgmu.conf. With the -c`` option, you can specify a different name.

So you would have to check, how it is launched on your device. It is possibly done via some shell script.

In the Gmu settings, it lists /mnt/SDCARD/App/Gmu as the config directory. Onion OS is packed with Gmu version 0.10.2-RC1

This is the directory I navigated to when trying to run the command. I already edited the config file to show the larger skin, but to be honest I have no idea if I am actually running it. Is there any way to tell? When running the command as well, I get a bunch of errors: it mentions files were unsuccessful loading, no such file or directory, playlist saying 0 items (not true), and stopping at saying file player thread initialized. The files said missing (abbreviated the filenames) were libog, libvorbis, vorbis.so (unsuccessful load), libwavpack can't be opened (no such file), wavpack.so unsuccessful.

Someone needs to get you a Miyoo Mini for testing. There is now a new Miyoo Mini Plus which uses almost the same architecture but with an added wifi card and bigger screen.

jackiemoonsoon avatar Mar 08 '23 05:03 jackiemoonsoon

Never heard back on this. Just checking in if we could at least get some screen orientation control in the next release! Thanks

I'm fairly busy with other things at the moment, so it might take some time for me to answer and/or work on this. As for screen orientation changes, I am not convinced this should be done inside of Gmu. This is typically something the OS should do. Gmu is already capable of reacting to screen/window size changes, so if the OS changes screen size and/or orientation, Gmu should be able to handle this.

If there are particular reasons why you think this should be handled by Gmu, feel free to let me know. Maybe I am missing something here.

I doubt the Onion team will suddenly add this feature. If you can add it in Gmu, that would great, as it would adjust the running text orientation as well.

The purpose? When connecting bluetooth transmitters they get in the way when using the Miyoo Mini in a vertical orientation. Some photos of the best one used with the Miyoo Mini:

https://www.reddit.com/r/MiyooMini/comments/119siym/miyoo_mini_bluetooth_edition/ https://www.reddit.com/r/MiyooMini/comments/100uk8l/recieved_one_of_these_switch_bluetooth_audio/ https://www.reddit.com/r/MiyooMini/comments/ygpp34/blacked_out_miyoo_with_black_bluetooth_adapter/

Please let me know if this can be easily added. It would be pretty sweet!

jackiemoonsoon avatar Mar 08 '23 05:03 jackiemoonsoon

In the Gmu settings, it lists /mnt/SDCARD/App/Gmu as the config directory. Onion OS is packed with Gmu version 0.10.2-RC1

This is the directory I navigated to when trying to run the command. I already edited the config file to show the larger skin, but to be honest I have no idea if I am actually running it. Is there any way to tell?

The font for the playlist/file browser view is much larger when using the large theme, so you should easily notice the difference. Since you aren't sure, I strongly suspect that Gmu didn't load the the large theme.

The way Gmu works, is that when it runs for the very first time, it will load the configuration that's shipped with it. That config would be located in the config directory that you see in Gmu's UI. After that, it will save its settings in the directory under XDG_CONFIG_HOME, as explained above. This happens for two reasons: 1) To allow Gmu to run from an otherwise read-only location and 2) because that way it follows common practice of doing this kind of thing.

You could do two things for it to work: Either locate the other config file and delete it (since you already edited Gmu default config file) or locate the other config file and edit it like you did to the default config file.

Where exactly the user's home is located and as such said config file, depends on the device's operating system. It could be on the SD card as well or maybe on the internal flash memory of the device. Is there any documentation for the Miyoo's OS or is it developed in the open so one could take a look and possibly figure this out?

When running the command as well, I get a bunch of errors: it mentions files were unsuccessful loading, no such file or directory, playlist saying 0 items (not true), and stopping at saying file player thread initialized. The files said missing (abbreviated the filenames) were libog, libvorbis, vorbis.so (unsuccessful load), libwavpack can't be opened (no such file), wavpack.so unsuccessful.

I'm not exactly sure what to make of this. I'm speculating here, since I don't have the exact error messages, but this sounds like changing that file did make a difference (unlike I was assuming above), only it didn't do the right thing. If that's the case, you wouldn't have to hunt for another config file, but just fix the issue at hand. Sounds like the config file is somehow corrupted. It is hard to tell what exactly is going on. When editing the file, make sure to do it in a text editor (e.g. nano, mousepad or geany when on Linux, or Notepad++ or notepad when on Windows), not in an office program like Word.

The only line you would have to change in the config file would be the SDL.DefaultSkin line, so it reads:

SDL.DefaultSkin=default-modern-large

I guess I'll add a bit more information in the UI about what files Gmu uses exactly, so such things are a bit less guesswork.

Someone needs to get you a Miyoo Mini for testing. There is now a new Miyoo Mini Plus which uses almost the same architecture but with an added wifi card and bigger screen.

That sure would be helpful, but we probably can figure this out somehow.

jhe2 avatar Mar 08 '23 08:03 jhe2

I doubt the Onion team will suddenly add this feature. If you can add it in Gmu, that would great, as it would adjust the running text orientation as well.

... Please let me know if this can be easily added. It would be pretty sweet!

This unfortunately would require some substantial changes to the codebase. Really, a better place for this would be the OS, since this would allow you to change orientation regardless of the program running.

On the OS level, this would probably be rather trivial. Depending on what graphics stack the device is running, one would either have to tell the kernel to rotate the frame buffer or tell Xorg or the wayland compositor to rotate the screen.

jhe2 avatar Mar 08 '23 08:03 jhe2

In the Gmu settings, it lists /mnt/SDCARD/App/Gmu as the config directory. Onion OS is packed with Gmu version 0.10.2-RC1 This is the ...

The font....

The way Gmu works, is that when it runs for the very first time, it will load the configuration that's shipped with it. That config ....

You c....

Where e...

When ....

.....

The only line you would have to change in the config file would be the SDL.DefaultSkin line, so it reads:

SDL.DefaultSkin=default-modern-large

I guess I'll add a bit more information in the UI about what files Gmu uses exactly, so such things are a bit less guesswork.

Someone needs to get you a Miyoo Mini for testing. There is now a new Miyoo Mini Plus which uses almost the same architecture but with an added wifi card and bigger screen.

That sure would be helpful, but we probably can figure this out somehow.

Alright, so I figured out the problem. The people that bundled your app that make OnionOS for the Miyoo Mini (what I'm using, see here: https://github.com/OnionUI/Onion) messed up with the default config settings.

In the gmu folder, they created a new file called gmu.miyoo.conf. Thus, your app does not call from the /.config/gmu.conf location that is default to the way you wrote it. That said, once I edit that gmu.miyoo.conf I see the changes. Of note, the default is the large text skin. When i removed the -large specifier, the text was very tiny (can't even read it). Only problem now is I can't get it to show my cover art even when I enable it in the gmu.miyoo.conf file.

As an aside, I do wish you would still create a screen rotate option. If horizontal is too difficult, just an option to flip it 180 would be really cool.

jackiemoonsoon avatar Mar 09 '23 08:03 jackiemoonsoon