midiconn is a virtual hub to connect MIDI hardware through the computer.
- An intuitive, node-based user interface with predictable interactions - one does not have to be a power user or MIDI expert to use it.
- Detection of device disconnects and reconnects without program restart.
- Channel node to filter and remap MIDI message channels.
- Platform-independent preset files to port the MIDI device setup across various computers.
- Various themes and UI scaling.
- Minimal resource footprint - quick to launch up.
Download and execute the installer package of the latest release.
The recommended way to install midiconn on a Linux system is via the Flathub Flatpak repository.
Alternatively, the build instructions can be found below.
- From the x64 Native Tools Command Prompt.
- Assuming that CMake and WiX 3.11 are installed and on the PATH.
# Installing prerequisites with vcpkg
> git clone https://github.com/Microsoft/vcpkg.git
> .\vcpkg\bootstrap-vcpkg.bat
> .\vcpkg\vcpkg.exe install spdlog:x64-windows sdl2:x64-windows freetype[core]:x64-windows rtmidi:x64-windows
# Cloning and building midiconn
> git clone --recursive https://github.com/mfep/midiconn.git
> cmake -S .\midiconn -B .\midiconn\build -D CMAKE_TOOLCHAIN_FILE=%cd%\vcpkg\scripts\buildsystems\vcpkg.cmake
> cmake --build .\midiconn\build --config Release
> cd .\midiconn\build
> cpack -C Release
Make sure that the development packages of the dependencies are installed. The list of library dependencies is the following:
- ALSA
- libfmt
- libfreetype
- libsdl2 (>= 2.0.17)
- libspdlog
- libcurl4 (required only if
MC_CHECK_FOR_UPDATES=ON
)
Additionally, CMake and a C++20 capable compiler is needed to build midiconn.
On Ubuntu (version 22.04 or later), the following script installs these prerequisites:
$ sudo apt-get update
$ sudo apt-get install -y git build-essential cmake libasound2-dev libfmt-dev libfreetype-dev libsdl2-dev libspdlog-dev
On Fedora (version 36 or later), the following script installs these prerequisites:
$ sudo dnf install -y git gcc-c++ cmake alsa-lib-devel fmt-devel freetype-devel SDL2-devel spdlog-devel
Once the prerequisites are installed, midiconn can be built and packaged:
$ git clone --recursive https://github.com/mfep/midiconn.git
$ cmake -S ./midiconn -B ./midiconn/build -D CMAKE_BUILD_TYPE=Release
$ cmake --build ./midiconn/build -j `nproc`
$ cd ./midiconn/build && cpack -C Release
The following script builds and installs the midiconn flatpak locally.
It requires the flatpak-builder
package to be installed on the system.
$ git clone --recursive https://github.com/mfep/midiconn.git
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install -y flathub org.freedesktop.Sdk//22.08 org.freedesktop.Platform//22.08
$ flatpak-builder --install --user ./midiconn/build/flatpak ./midiconn/packaging/xyz.safeworlds.midiconn.yml
Name | Description | Default value |
---|---|---|
MC_CHECK_FOR_UPDATES |
Check for available updates on application start. | OFF |