GNU General Public License v3.0

项目介绍

pedrolcl/drumstick 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 GNU General Public License v3.0 许可证,目前获得 16 个 Star、3 次 Fork。

仓库全名
pedrolcl/drumstick
开源许可证
GNU General Public License v3.0
Star 数
16
Fork 数
3
未关闭 Issue
2

README 摘要

Drumstick Libraries 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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

drumstick 用什么语言开发?

主要使用 C++ 编写,采用 GNU General Public License v3.0 许可证,目前有 16 个 Star。

drumstick 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 drumstick 的源码?

可以直接克隆仓库:git clone https://github.com/pedrolcl/drumstick.git,默认分支为 devel;安装与运行步骤见仓库 README。

drumstick 最近还在维护吗?

仓库最近一次更新为 4 天前,当前有 2 个未关闭 Issue;Star 数为 16,可作为社区活跃度的参考。

关于

Drumstick Qt/C++ MIDI libraries (Mirror)

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
25
价值分
10
活跃状态
活跃

语言占比

C
C++
CMake
Objective-C++
QMake
Shell

README

Drumstick Libraries

Linux CI
Windows MSVC CI
Windows MSYS2 CI
macOS CI

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 is a Linux only C++/Qt wrapper around the ALSA Sequencer API. ALSA sequencer provides software support for MIDI technology on Linux.
  • Drumstick::File provides easy multiplatform file I/O for Standard MIDI Files (.mid), RIFF RMID (.rmi) and Cakewalk (.wrk) file formats.
  • Drumstick::RT is a realtime MIDI I/O library with pluggable backends. It uses Drumstick::ALSA on Linux, and other native frameworks on macOS and Windows.
  • Drumstick::Widgets contains MIDI widgets, including a Virtual Piano used by VMPK among other programs.

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:

  • drumgrid: GUI program. Simple drum patterns. Depends on Drumstick::ALSA.
  • dumpmid: CLI program. Prints received MIDI events. Depends on Drumstick::ALSA. See also kmidimon
  • dumprmi: CLI program. Prints and converts RIFF MIDI files. Depends on Drumstick::File.
  • dumpsmf: CLI program. Prints standard MIDI files. Depends on Drumstick::File.
  • dumpwrk: CLI program. Prints Cakewalk/Sonar MIDI files. Depends on Drumstick::File. See also wrk2mid
  • guiplayer: GUI program. Plays SMF and Cakewalk files. Depends on Drumstick::ALSA and Drumstick::File. See also dmidiplayer
  • metronome: CLI program. Simple command line MIDI metronome. Depends on Drumstick::ALSA. See also kmetronome
  • playsmf: CLI program. SMF player. Depends on Drumstick::ALSA and Drumstick::File.
  • sysinfo: CLI program. Prints information about the ALSA sequencer subsystem. Depends on Drumstick::ALSA.
  • vpiano: GUI program. A simple Virtual Piano Keyboard GUI application. Depends on Drumstick::RT. See also VMPK.

And you can also see independent applications using this library:

  • dmidiplayer: Multiplatform MIDI file player with many features.
  • VMPK: Multiplatform Virtual MIDI Piano Keyboard.
  • kmetronome: MIDI metronome for Linux.
  • kmidimon: MIDI monitor for Linux.
  • wrk2mid: Command line utility to convert WRK files to SMF.

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:

评论

暂无评论