9个版本 (5个重大更改)
使用旧Rust 2015
0.6.0 | 2017年3月22日 |
---|---|
0.5.0 | 2017年3月22日 |
0.4.0 | 2016年9月2日 |
0.3.1 | 2016年8月2日 |
0.1.0 | 2015年2月13日 |
#980 在 音频
8KB
131 行
musical_keyboard
一个小型库,用于将键盘输入转换为音符。
extern crate musical_keyboard;
use musical_keyboard::{Letter, MusicalKeyboard, NoteEvent, Key};
fn main() {
let mut musical_keyboard = MusicalKeyboard::default();
let on = musical_keyboard.key_pressed(Key::A);
assert_eq!(Some(NoteOn { letter: Letter::C, octave: 2, velocity: 1.0 }), on);
musical_keyboard.key_pressed(Key::X);
let on = musical_keyboard.key_pressed(Key::D);
assert_eq!(Some(NoteOn { letter: Letter::E, octave: 3, velocity: 1.0 }), on);
let off = musical_keyboard.key_released(Key::D);
assert_eq!(Some(NoteOff { letter: Letter::E, octave: 3 }), off);
musical_keyboard.key_pressed(Key::C);
let on = musical_keyboard.key_pressed(Key::Semicolon);
assert_eq!(Some(NoteOn { letter: Letter::E, octave: 4, velocity: 0.95 }), on);
}
其行为模式基于Logic Studio X的音乐键盘。
许可证
根据以下许可证之一获得许可
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的您有意提交的任何贡献,均应按上述方式双许可,而不附加任何额外条款或条件。
依赖关系
~0.5–0.8MB
~12K SLoC