SuperDisk / hUGETracker

The music composition suite for the Nintendo Game Boy
https://superdisk.github.io/hUGETracker/
282 stars 12 forks source link

macOS issues #82

Closed sttng closed 9 months ago

sttng commented 2 years ago
SuperDisk commented 2 years ago

The File, Edit... stuff not showing is actually a MacOS bug/feature/quirk-- if the application is packaged as a .app rather than being ran directly, that issue doesn't happen. Odd I know, but I've had it happen for every GUI app launched by invoking the binary.

As for the VU meter, that's just disabled by default in the options (which you can't reach due to the previous issue).

I need to include some sort of .app packaging as part of the CI process.

sttng commented 2 years ago

I need to include some sort of .app packaging as part of the CI process.

If you just put everything into a folder called hUGETracker.app (<- the folder name has to be the same as the executable + .app) it kind of works.

Screen Shot 2022-08-27 at 2 12 31 PM

There are a couple of drawbacks such as for example backup song files are saved into the .app folder which you can only access via "Show Package contents".

Other issue:

SuperDisk commented 2 years ago

Oh good discovery, didn't know it was that simple! I can configure it to not save directly into its app package. As for RGBDS, it comes with the Windows builds but not with Linux or Mac yet-- should definitely do so though. Thanks!

sttng commented 2 years ago

Well the app will miss an icon and stuff but it works. In addition the example songs should also be moved out of the .app folder, as everything else which isn't required.

Another topic would be SDL. I had trouble in getting the specific version of sdl with which you compiled hUGETracker. So I ended up in setting up the whole build system, afterwards installing SDL with brew (brew install sdl2) and finally building hUGETracker with your guide provided - which worked flawless. Nevertheless it would be good to include the SDL .dylib files which are needed as part of the package.

I put my build here - which includes libSDL2-2.0.0.dylib which is working for me. I also used otool and install_name_tool so it looks for the SDL dylib directly in the executable folder and not in /user/local/Celar/sdl2/.... : https://github.com/sttng/gb-stuff/blob/main/hUGETracker_27082022_macOS12.5.zip (Let me know if you want it removed for any reason).

sttng commented 2 years ago

I build hUGETracker again, this time on macOS Mojave 10.14.6 (https://github.com/sttng/gb-stuff/blob/main/hUGETracker_27082022_macOS10.14.zip).

It might be my own lack of familiarity, but it seems to get a version for macOS you've to exclusively build SDL2 for each (major) macOS revision, thanks to the SDL2 library not being super-portable. If I understand there might be a way with SDL_DYNAMIC_API as described here: https://github.com/libsdl-org/SDL/blob/main/docs/README-dynapi.md

But I'm not sure if SDL2-for-Pascal unit files which use vaguely the SDL2 stack of 2.0.4 supports this.

sttng commented 1 year ago

Still no official HT macOS build :(

SuperDisk commented 9 months ago

Implemented in 694d417b795bd168cd3d83fdfc617790c84f3cb2. I'll put out a release soon. Thanks for all your help!