Munt MT32 QT for Patchbox or LV2 for MODEP?

In my quest for a Raspberry Pi 3B setup that can act as a Roland MT32 & SC-55 emulator I came across Patchbox OS.

I got Munt, the MT32 emulator, running with shell and x binary, following this tutorial https://retropie.org.uk/forum/topic/12549/tutorial-installing-munt-mt-32-emulation-on-rpi-3

While the x binary did show me some “LCD” screen, nothing much was to be seen on it. So I want to try the Qt version.

But my limited knowledge of linux got me stranded building the mt32emu_qt binary. I basically installed Qt 5.7.1 (latest available via apt-get), IIRC I also added portaudio and changed one of the cmake parameters to -Dmunt_WITH_MT32EMU_QT:BOOL=ON but ran into problems :frowning:
Something with: fatal error: QtWidgets/QAction: No such file or directory
#include <QtWidgets/QAction>

Hopefully someone can help me out?

I also saw somebody made a LV2 out of Munt https://linuxmusicians.com/viewtopic.php?t=12937
So I thought, maybe this can be added to MODEP. But I have no clue how to do that. And given that the lv2 github is rather old I wouldn’t know how to have it use the latest Munt 2.3.0.

Thanks for taking the time to read this and hopefully this can lead to have MT32 running on Patchbox OS and/or MODEP.

Hey, looks like QAction used to be in QtWidgets subfolders in QT version 4. Since version 5 which you installed, it seems to be now in QtGui/QAactions. I would recommend you to install QT4, if it’s still available in apt, and retry the build. It could be that the Munt codebase was not updated to QT5.

Thanks, I will try that. Although I fear just simply removing Qt5 with apt-get remove gt5-default somehow leaves some traces as I think I already tried it. Will QSynth (FluidSynth frontend) work with Qt4?

OK, so I was able to build it against Qt4. However, it somehow kills Jack :frowning: I read something about portaudio. I expected that to be already installed on Patchbox, is it?

portaudio is a library abstracting platform specific bits from its users, on Linux it is probably going to be using one of lower level audio APIs like Jack or ALSA.

portaudio library is not installed by default, all of the audio related software that is included with Patchbox OS is configured to use Jack backend.

What do you mean by ‘it somehow kills Jack’, does the Jack backend stop working, or is the software you’re running unable to connecto to the Jack service? You may want to check the Jack backend logs and status using:

sudo journalctl -u jack
sudo systemctl status jack

Thanks! I got Munt mt32emu-qt working in the end, making sure the right dependencies were there and some other packages were removed, based on this info:
https://www.vogons.org/viewtopic.php?f=29&t=46899
https://www.vogons.org/viewtopic.php?f=40&t=27560&start=920#p746072

And QSynth also runs fine.

2 Likes