pedrolcl / drumstick

Drumstick Qt/C++ MIDI libraries (Mirror)
https://sourceforge.net/projects/drumstick/
GNU General Public License v3.0
12 stars 3 forks source link
cakewalk linux macos midi qt qt5 smf windows wrk

Drumstick Libraries

Linux Build and Test

Windows Build and Test

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 RMID (*.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.

Currently, there are four libraries designed to work together if/when needed:

Drumstick::ALSA was the first library developed under the Drumstick umbrella, and is available only on Linux, because ALSA Sequencer is an exclusive Linux technology. For realtime I/O applications you can use the Drumstick::RT library which is multiplatform, and only depends on Drumstick::ALSA in Linux for its ALSA Sequencer backend. Other multiplatform backends are: Network/ipMIDI and Fluidsynth. The Sonivox backend needs PulseAudio, which is available on most Unix systems.

There are ten examples in the source tree, under the utils/ directory:

And you can also see independent applications using this library:

Here is a diagram about the relationship between the libraries and applications:

Drumstick ecosystem

Here is another view in table format of the relationships:

Drumstick::ALSA Drumstick::File Drumstick::RT Drumstick::Widgets
Utilities:
drumgrid :white_check_mark: :x: :x: :x:
dumpmid :white_check_mark: :x: :x: :x:
dumprmi :x: :white_check_mark: :x: :x:
dumpsmf :x: :white_check_mark: :x: :x:
dumpwrk :x: :white_check_mark: :x: :x:
guiplayer :white_check_mark: :white_check_mark: :x: :x:
metronome :white_check_mark: :x: :x: :x:
playsmf :white_check_mark: :white_check_mark: :x: :x:
sysinfo :white_check_mark: :x: :x: :x:
vpiano :x: :x: :white_check_mark: :white_check_mark:
Applications:
dmidiplayer :x: :white_check_mark: :white_check_mark: :white_check_mark:
VMPK :x: :x: :white_check_mark: :white_check_mark:
kmetronome :white_check_mark: :x: :x: :x:
kmidimon :white_check_mark: :white_check_mark: :x: :x:
wrk2mid :x: :white_check_mark: :x: :x:

The main web site of this project is drumstick.sourceforge.io

See also: