sync midi by frames rather than useconds

This commit is contained in:
🪞👃🪞 2024-07-05 20:44:31 +03:00
parent 63b5eb3740
commit b1e4ec3a88
4 changed files with 29 additions and 17 deletions

View file

@ -107,6 +107,13 @@ pub fn main () -> Usually<()> {
08 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
12 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
}));
track.add_phrase("5 kicks", ppq * 4, Some(phrase! {
00 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
04 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
08 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
12 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
14 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
}));
track.add_phrase("D-Beat", ppq * 4, Some(phrase! {
00 * ppq/4 => MidiMessage::NoteOn { key: 44.into(), vel: 100.into() },
00 * ppq/4 => MidiMessage::NoteOn { key: 36.into(), vel: 100.into() },
@ -175,9 +182,9 @@ pub fn main () -> Usually<()> {
state.scenes = vec![
Scene::new("Intro", vec![None, Some(0), None, None]),
Scene::new("Hook", vec![Some(0), Some(1), None, None]),
Scene::new("Verse", vec![Some(1), Some(0), Some(0), None]),
Scene::new("Chorus", vec![Some(0), Some(1), None, None]),
Scene::new("Bridge", vec![Some(2), Some(0), Some(0), None]),
Scene::new("Verse", vec![Some(2), Some(0), Some(0), None]),
Scene::new("Chorus", vec![Some(1), Some(1), None, None]),
Scene::new("Bridge", vec![Some(3), Some(0), Some(0), None]),
Scene::new("Outro", vec![None, Some(1), None, None]),
];