Compare commits
2 Commits
beb6595f42
...
05b49a3777
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05b49a3777 | ||
|
|
bd0a6007f7 |
@@ -15,7 +15,7 @@ pub struct Flags {
|
|||||||
pub sound_font: String,
|
pub sound_font: String,
|
||||||
|
|
||||||
#[arg(short, long, default_value = "c 2e+")]
|
#[arg(short, long, default_value = "c 2e+")]
|
||||||
pub play: Option<String>,
|
pub play: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Flags {
|
impl Flags {
|
||||||
|
|||||||
@@ -7,15 +7,17 @@ mod tone;
|
|||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let flags = flags::Flags::new();
|
let flags = flags::Flags::new();
|
||||||
|
if flags.debug {
|
||||||
|
eprintln!("{:?}", flags);
|
||||||
|
}
|
||||||
|
|
||||||
let mut syn_seq = seq::new_syn(syn::Syn::new(
|
let mut syn_seq = seq::new_syn(syn::Syn::new(
|
||||||
flags.debug,
|
flags.debug,
|
||||||
flags.sound_font,
|
flags.sound_font,
|
||||||
flags.sample_rate,
|
flags.sample_rate,
|
||||||
));
|
));
|
||||||
syn_seq.append(1, "3c1");
|
for i in 0..flags.play.len() {
|
||||||
if let Some(play) = flags.play {
|
syn_seq.append(i as i32, flags.play[i].clone());
|
||||||
syn_seq.append(0, play);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
play(syn_seq, flags.sample_rate, flags.bpm);
|
play(syn_seq, flags.sample_rate, flags.bpm);
|
||||||
|
|||||||
18
src/syn.rs
18
src/syn.rs
@@ -70,20 +70,6 @@ impl Syn {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn tone_off(&mut self, ch: i32, b: tone::Tone) {
|
|
||||||
match self {
|
|
||||||
Syn::Real(syn) => syn.note_off(ch, b.i32()),
|
|
||||||
Syn::Text { m, .. } => {
|
|
||||||
match m.get_mut(&ch) {
|
|
||||||
Some(m) => {
|
|
||||||
m.remove(&b.i32());
|
|
||||||
}
|
|
||||||
None => {}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn render(&mut self, a: &mut [f32], b: &mut [f32]) {
|
pub fn render(&mut self, a: &mut [f32], b: &mut [f32]) {
|
||||||
match self {
|
match self {
|
||||||
Syn::Real(syn) => syn.render(a, b),
|
Syn::Real(syn) => syn.render(a, b),
|
||||||
@@ -106,8 +92,6 @@ mod test {
|
|||||||
syn.tone_on(0, tone::new("c"));
|
syn.tone_on(0, tone::new("c"));
|
||||||
syn.tone_on(0, tone::new("d"));
|
syn.tone_on(0, tone::new("d"));
|
||||||
|
|
||||||
syn.tone_off(0, tone::new("d"));
|
|
||||||
|
|
||||||
let mut buffer1 = Vec::<f32>::new();
|
let mut buffer1 = Vec::<f32>::new();
|
||||||
let mut buffer2 = Vec::<f32>::new();
|
let mut buffer2 = Vec::<f32>::new();
|
||||||
syn.render(&mut buffer1, &mut buffer2);
|
syn.render(&mut buffer1, &mut buffer2);
|
||||||
@@ -120,8 +104,6 @@ mod test {
|
|||||||
syn.tone_on(0, tone::new("c"));
|
syn.tone_on(0, tone::new("c"));
|
||||||
syn.tone_on(0, tone::new("d"));
|
syn.tone_on(0, tone::new("d"));
|
||||||
|
|
||||||
syn.tone_off(0, tone::new("d"));
|
|
||||||
|
|
||||||
let mut buffer1 = Vec::<f32>::new();
|
let mut buffer1 = Vec::<f32>::new();
|
||||||
let mut buffer2 = Vec::<f32>::new();
|
let mut buffer2 = Vec::<f32>::new();
|
||||||
syn.render(&mut buffer1, &mut buffer2);
|
syn.render(&mut buffer1, &mut buffer2);
|
||||||
|
|||||||
Reference in New Issue
Block a user