VOGONS


Munt Mac OSX version discussion

Topic actions

  • This topic is locked. You cannot reply or edit posts.

First post, by ufoufo512

User metadata
Rank Newbie
Rank
Newbie

My goal is to maintain binary release of Mac OSX version of the wonderful Munt emulator, so that not everybody need to compile it for themselves.

I created this thread for any relevant discussion instead of the previous hijacked thread. I am hoping to be able to release standalone binary of current Munt code for Mac OSX this weekend. I will upload a link to that here.

Reply 3 of 72, by ufoufo512

User metadata
Rank Newbie
Rank
Newbie

I'll try to get Mac OSX version ready before you release the next version. So far I have compiled it and I also made an app bundle that includes all dependencies (QtCore, QtGui and portaudio). The problem is that it crashes on the other Mac with Snow Leopard at start up with no . It shouldn't be hard to fix 😉, maybe a deployment target needs to be adjusted or maybe there is still something wrong with the dependencies.

I admit I am bit noobie with this (CMake project & Qt), I have done most of the programming with XCode and iOS, but I am getting hang of it.

Reply 4 of 72, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

Btw, two more things to consider.
1. You can generate Xcode project and use the IDE. Just start cmake in a new empty directory with -G option to specify the generator like this "cmake -G Xcode ../munt"
2. Make sure the binaries created are optimised. CMakeCache.txt should contain something like CMAKE_CONFIGURATION_TYPES:STRING=Release

P.S. There is one more dependency - Qt plugin imageformats/qgif4 - used to handle GIF resources. It isn't required for the app to start but it will look quite ugly if the plugin isn't available.

Reply 5 of 72, by ufoufo512

User metadata
Rank Newbie
Rank
Newbie
sergm wrote:

1. You can generate Xcode project and use the IDE. Just start cmake in a new empty directory with -G option to specify the generator like this "cmake -G Xcode ../munt"

Yep, I had forgotten that. Once tried it with compiling GemRB (I recall). Ended up doing it on the command line after all because it was easier, though. I think it is good to learning progress.

sergm wrote:

2. Make sure the binaries created are optimised. CMakeCache.txt should contain something like CMAKE_CONFIGURATION_TYPES:STRING=Release

Good point. I think I missed this.

sergm wrote:

P.S. There is one more dependency - Qt plugin imageformats/qgif4 - used to handle GIF resources. It isn't required for the app to start but it will look quite ugly if the plugin isn't available.

I am using "macdeployqt" that should include Qt plugins as well.

I was just successful in making working dmg. Couple of things still prevail:
1) The optimization is missing, I need to make a rebuild
2) The app works on Mountain Lion (my development machine) and with Snow Leopard (my daughters' machine).
3) A nice icon would be good, haven't done yet and I was hoping somebody else would provide that.
4) The app is not signed, meaning that with default Gatekeeper settings on Mountain Lion, you wouldn't be able to run it. I currently don't have an personal Mac OSX developer account (although I have for iOS). I might be able to sign it using somebody else's account, but I really don't think that is needed, but I am willing to discuss the options.

Reply 6 of 72, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

1. I was afraid of it 😉
2. That's great
3. It seems everybody thinks like that, so nothing just that stupid note icon exists 😁
4. I don't care about signing the Windows binary until nothing else but Windows 8 squares are possible. Looks like maintainers of Linux distros also don't. Do you want it to put to the Appstore?

Reply 7 of 72, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

4. sergm, apple introduced Gatekeeper with OSX 10.8 which doesn't allow the start of unsigned downloads unless you lower a security setting. That's why I sign the dosbox svn builts.
@ufo we could use my signature for signing a release built at least (e.g. When you compiled it I can sign the app bundle before making a dmg).

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 9 of 72, by ufoufo512

User metadata
Rank Newbie
Rank
Newbie

Here is the link to first test version of Mac OSX binary, using current Munt code in github:
https://dl.dropboxusercontent.com/u/30899371/MT32Emu.dmg

Screenshot with ScummVM and Munt running:
https://dl.dropboxusercontent.com/u/30899371/ … tAndScummVM.png

Please test and report your success or fail here. I have tested it on Mountain Lion and Snow Leopard using daily built ScummVM and Monkey Island. I'll be focusing other things for a while now, but I will take look on possible issues during the weekend.

Minimum requirement is Snow Leopard, compiled as 64bit architecture, no PPC or 32-bit support. I think it is good like this, owners of older hardware can build stuff themselves. I imagine most of the potential Mac users having needed specs. If you disagree, let's discuss.

Ps. If I have left any debugging code or unoptimized compiling in, I apologize, I will double check in the evening.
Ps. If you have a suitable icon graphics, please tell.

Reply 12 of 72, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

ran it on Mavericks and it showed a blank app. Only when I clicked on the menu to make a new midi port did it show the gui (and then it was mt32emuport1 instead of mt32emuport)

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 14 of 72, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Honestly, I have to figure out first how to use it 😉
Ufo: any pointers on that? Just use coremidi in scummvm (and other programs)?

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 16 of 72, by ufoufo512

User metadata
Rank Newbie
Rank
Newbie

@Dominus: Thanks for testing! Regarding the blank app, I got that too on Snow Leopard. I have to reproduce again to see what really happened, maybe pressing "Pin synth" did the trick and after that I didn't get the blank UI. So it needs some investigation. Might be a file permission problem... @sergm: What is the desired functionality on this? Is the blank screen a bug or "as designed"? What should be displayed for a first time user? Sorry for my ignorance, but I don't also understand what is the use case for having multiple Midi inputs? Why should I need that?

Regarding the usage in ScummVM:
1) I selected Override global audio settings and CoreMidi in ScummVM audio section.
2) Midi section I leave alone (if I select Override, I still cannot select a Midi device from the pull down menu).
3) On the MT-32 section I select Override global MT-32 settings and True Roland MT-32 (again, I cannot select any device from the pull down menu)

Those settings make the sound and lit the lights in MT32Emu, also sounds correct to me.

Reply 17 of 72, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

IIRC, new CoreMIDI session is started after an application starts sending MIDI events (maybe after it just connects, not sure). This is how I managed to handle CoreMIDI API 😜
KingGuppy wanted multisession mode. No idea why. He described it as he can start one app, then pause its MIDI stream and start another. While the synths keeps their state and don't interfere each other. Anyway it doesn't hurt. I personally never connect multiple apps separately but I use mixing MIDI inputs from several sources into one single session. Imagine, you can start playing a MIDI file with some tracks muted and simultaneously play using your keyboard.
The MIDI port the emulator creates is a virtual port. I found some MIDI-capable apps can show it in their list and some can't (I suspect they can list only real ports). Looks like Scumm is a sort of latter. I tried DOSBox's midiconfig option to switch and it worked (quite some time ago under SnowLeo). Also two DOSBoxes worked with two sessions. So, I thought that's over 😀

Reply 18 of 72, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

ok, got it to work with Exult by just telling it to use Coremidi audio driver. I just wonder what happens with a real mt32 also hooked up since both are just used by coremidi... The blank interface then instantly began to show the full gui of Munt.

Anyway, some problems:
- PortAudio: (CoreAudio) Airplay was selected by default, instead of PortAudio: (CoreAudio) Built-in Output. I think the default should be Built-in Output. This is probably just because Airplay is sorted first 😀
- Some way to disable that Growl stuff. I have Growl from the App Store installed and as soon as something happens that Munt sends to Growl a file browser pops up asking for the location of Growlhelper.app. Somehow that doesn't work correctly anymore with current Growl or so. Will need to investigate. Problem is that it makes an annoying sound...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 19 of 72, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

You can disable tray balloons for a while (to save nerves :E). I also disappointed how tray icon works itself. I remember there were no distinction in mouse buttons when clicked. The popup menu shows up and the app shows/hides in the same time. Qt sucks at that.