1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
use structopt::StructOpt;

#[derive(StructOpt)]
pub struct Opt {
    #[structopt(short, default_value = "72")]
    pub beats_per_minute: u32,
    #[structopt(short = "a", default_value = "4")]
    pub beats_per_bar: u8,
}
pub fn is_bpm_valid(opt: &Opt, minimum: u32, maximum: u32) -> bool {
    opt.beats_per_minute >= minimum && opt.beats_per_minute <= maximum
}

pub fn is_bpb_valid(opt: &Opt, minimum: u8, maximum: u8) -> bool {
    opt.beats_per_bar >= minimum && opt.beats_per_bar <= maximum
}