Drumstick is a set of MIDI libraries using C++/Qt idioms and style.
Includes a C++ wrapper around the ALSA library sequencer interface: ALSA
sequencer provides software support for MIDI technology on Linux. A
complementary library provides classes for processing SMF (Standard MIDI
files: .MID/.KAR), RIFF MIDI (.RMI), and Cakewalk (.WRK) file formats. A
multiplatform realtime MIDI I/O library and a GUI Widgets libraries are
also provided for Linux, Windows, and Mac OSX.
This is another sonivox related release. Please see:
https://github.com/pedrolcl/sonivox
I didn't want to make the sonivox dependency mandatory, because there may
be good reasons for an user to avoid building drumstick with all its
features. A final user may be interested in FluidSynth output only (which
is also an optional feature) or even using ALSA sequencer only, without any
soft-synth at all.
But what is a legitimate choice for a final user may be a questionable
restriction for a distribution, because you may not know all use cases of
your users. In this case, SonivoxEAS is the default Linux output for
drumstick-vpiano and VMPK, because I think that any user installing those
programs the first time should be able to hear sound by default, without
needing to configure/investigate about MIDI or SoundFonts. Otherwise, there
will be many users complaining that their Linux virtual pianos do not
produce any sound!
On the other hand, until now the sonivox library sources were embedded
inside the drumstick source tarballs, and statically linked to the
SonivoxEAS backend. This was against most Linux distros packaging policy.
Providing an standalone shared library instead, the issue has been fixed.
Changes in v2.7.1:
* Fixed ticket #45: the sonivox library dependency (for the SonivoxEAS
synth backend) is optional, and easily forgotten by 3rd party packagers.
The build system configuration now fails with an error message if the
sonivox library is missing unless the cmake variables USE_SONIVOX and
USE_PULSEAUDIO are set to OFF.
Same failure with the FluidSynth backend and the variable USE_FLUIDSYNTH,
and the ipMIDI Network backend and USE_NETWORK.
* Fixed underlinking in some RT backends.
Compilation minimum requirements for all platforms:
* C++11 compiler
* CMake 3.14
* Qt5 >= 5.9 or Qt6 >= 6.2 (with Qt6Core5Compat library dependency for
Drumstick::File)
Feature dependencies (for some platforms):
* ALSA (Linux only)
* PulseAudio (Unix)
* D-Bus (Unix)
* Sonivox (Unix)
* FluidSynth (All platforms)
Copyright (C) 2009-2022, Pedro Lopez-Cabanillas
License: GPL v3 or later
Project web site
https://sourceforge.net/p/drumstick
Online documentation
https://drumstick.sourceforge.io/docs/
Downloads
https://sourceforge.net/projects/drumstick/files/2.7.1/