import audio/munt, an emulation library for Roland synthesizers

ok bentley@

DESCR:
Library and applications to emulate (approximately) the Roland MT-32, CM-32L and
LAPC-I synthesiser modules.

- Support for multiple simultaneous synths with separate state & configuration.
- GUI to configure synths, manage ROMs, connections to external MIDI ports and
MIDI programs and interfaces to the host audio systems.
- Emulates the funny MT-32 LCD. Also displays the internal synth state in
realtime.
- Provides support for different operating systems and multimedia systems such
as Windows multimedia, PulseAudio, JACK Audio Connection Kit, ALSA, OSS and
CoreMIDI.
- Contains built-in MIDI player of Standard MIDI files optimised for mt32emu.
- Makes it easy to record either the MIDI input or the produced audio output.
- Simplifies batch conversion of collections of SMF files to .wav / .raw audio
files.
This commit is contained in:
thfr
2025-09-18 13:33:22 +00:00
parent 77f090559b
commit 23e1e5adf1
5 changed files with 134 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
COMMENT = software synthesizer emulating pre-GM MIDI devices
V = 2.7.2
PKGNAME = munt-${V}
DIST_TUPLE += github munt munt libmt32emu_${V:S/./_/g} .
SHARED_LIBS += mt32emu 0.0 # 2.7.2
CATEGORIES = audio
MAINTAINER = Thomas Frohwein <thfr@openbsd.org>
# LGPLV2.1+ (mt32emu)
# GPLv3+ (mt32mu_qt, mt32emu_smf2wav)
PERMIT_PACKAGE = Yes
WANTLIB += ${COMPILER_LIBCXX} GL Qt6Core Qt6Gui Qt6Multimedia
WANTLIB += Qt6Network Qt6Widgets c glib-2.0 jack m portaudio
# pulse-simple is dlopen'd
WANTLIB += pulse-simple
COMPILER = base-clang ports-gcc
MODULES = devel/cmake
RUN_DEPENDS = devel/desktop-file-utils \
x11/gtk+4,-guic
LIB_DEPENDS = audio/jack \
audio/portaudio-svn \
audio/pulseaudio \
devel/glib2 \
x11/qt6/qtmultimedia
CONFIGURE_ARGS = -Dlibmt32emu_SHARED=ON
.include <bsd.port.mk>
+2
View File
@@ -0,0 +1,2 @@
SHA256 (munt-munt-libmt32emu_2_7_2.tar.gz) = Owvv9k6D0rSHm6uiMm7tEwDtyWY7PcUmIfx00ZbKmoA=
SIZE (munt-munt-libmt32emu_2_7_2.tar.gz) = 583917
@@ -0,0 +1,24 @@
disable static library target to avoid: CMake Error: install(EXPORT
"MT32EmuTargets" ...) includes target "mt32emu" more than once in the
export set.
Index: mt32emu/CMakeLists.txt
--- mt32emu/CMakeLists.txt.orig
+++ mt32emu/CMakeLists.txt
@@ -323,11 +323,11 @@ target_include_directories(mt32emu
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME Runtime)
set(libmt32emu_COMPONENT_DEVEL COMPONENT Devel)
-install(TARGETS mt32emu EXPORT MT32EmuTargets
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ${libmt32emu_COMPONENT_DEVEL}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} NAMELINK_SKIP
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-)
+#install(TARGETS mt32emu EXPORT MT32EmuTargets
+ #ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ${libmt32emu_COMPONENT_DEVEL}
+ #LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} NAMELINK_SKIP
+ #RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+#)
# TODO: Use NAMELINK_COMPONENT with CMake 3.12 instead.
if(libmt32emu_SHARED)
install(TARGETS mt32emu EXPORT MT32EmuTargets
+15
View File
@@ -0,0 +1,15 @@
Library and applications to emulate (approximately) the Roland MT-32, CM-32L and
LAPC-I synthesiser modules.
- Support for multiple simultaneous synths with separate state & configuration.
- GUI to configure synths, manage ROMs, connections to external MIDI ports and
MIDI programs and interfaces to the host audio systems.
- Emulates the funny MT-32 LCD. Also displays the internal synth state in
realtime.
- Provides support for different operating systems and multimedia systems such
as Windows multimedia, PulseAudio, JACK Audio Connection Kit, ALSA, OSS and
CoreMIDI.
- Contains built-in MIDI player of Standard MIDI files optimised for mt32emu.
- Makes it easy to record either the MIDI input or the produced audio output.
- Simplifies batch conversion of collections of SMF files to .wav / .raw audio
files.
+56
View File
@@ -0,0 +1,56 @@
@bin bin/mt32emu-qt
@bin bin/mt32emu-smf2wav
include/mt32emu/
include/mt32emu.h
include/mt32emu/Enumerations.h
include/mt32emu/File.h
include/mt32emu/FileStream.h
include/mt32emu/MidiStreamParser.h
include/mt32emu/ROMInfo.h
include/mt32emu/SampleRateConverter.h
include/mt32emu/Synth.h
include/mt32emu/Types.h
include/mt32emu/c_interface/
include/mt32emu/c_interface/c_interface.h
include/mt32emu/c_interface/c_types.h
include/mt32emu/c_interface/cpp_interface.h
include/mt32emu/config.h
include/mt32emu/globals.h
include/mt32emu/mt32emu.h
lib/cmake/MT32Emu/
lib/cmake/MT32Emu/MT32EmuConfig.cmake
lib/cmake/MT32Emu/MT32EmuConfigVersion.cmake
lib/cmake/MT32Emu/MT32EmuTargets${MODCMAKE_BUILD_SUFFIX}
lib/cmake/MT32Emu/MT32EmuTargets.cmake
@lib lib/libmt32emu.so.${LIBmt32emu_VERSION}
lib/pkgconfig/mt32emu.pc
share/applications/mt32emu-qt.desktop
share/doc/munt/
share/doc/munt/libmt32emu/
share/doc/munt/libmt32emu/AUTHORS.txt
share/doc/munt/libmt32emu/COPYING.LESSER.txt
share/doc/munt/libmt32emu/COPYING.txt
share/doc/munt/libmt32emu/NEWS.txt
share/doc/munt/libmt32emu/README.md
share/doc/munt/libmt32emu/TODO.txt
share/doc/munt/mt32emu-qt/
share/doc/munt/mt32emu-qt/AUTHORS.txt
share/doc/munt/mt32emu-qt/COPYING.txt
share/doc/munt/mt32emu-qt/NEWS.txt
share/doc/munt/mt32emu-qt/README.md
share/doc/munt/mt32emu-qt/TODO.txt
share/doc/munt/smf2wav/
share/doc/munt/smf2wav/AUTHORS.txt
share/doc/munt/smf2wav/COPYING.txt
share/doc/munt/smf2wav/README.md
share/icons/hicolor/128x128/apps/munt.png
share/icons/hicolor/16x16/apps/munt.png
share/icons/hicolor/24x24/apps/munt.png
share/icons/hicolor/256x256/apps/munt.png
share/icons/hicolor/32x32/apps/munt.png
share/icons/hicolor/48x48/apps/munt.png
share/icons/hicolor/64x64/apps/munt.png
share/icons/hicolor/72x72/apps/munt.png
share/icons/hicolor/96x96/apps/munt.png
@tag gtk-update-icon-cache %D/share/icons/hicolor
@tag update-desktop-database