-
Notifications
You must be signed in to change notification settings - Fork 0
/
lib.rs
30 lines (26 loc) · 864 Bytes
/
lib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
pub mod lily;
pub mod midi;
pub type MidiNote = u8;
make_lily_str_map!(
/// How should note inputs behave
InputMode;
InputModeError::InvalidModeString;
/// Enter one note at a time
Single, "single", "s";
/// Enter notes as chords
///
/// Holding down multiple notes will aggregate them into a chord. Once everything was released,
/// a chord with the given notes is created.
Chord, "chord", "c";
/// Behave like [Mode::Chord] when the pedal is pressed, otherwise behave like [Mode::Single]
PedalChord, "pedal-chord", "pc";
/// Behave like [Mode::Single] when the pedal is pressed, otherwise behave like [Mode::Chord]
PedalSingle, "pedal-single", "ps";
);
pub enum InputModeError {
InvalidModeString(String),
}
/// List all available options to stdout
pub trait ListOptions {
fn list_options();
}