26 lines
641 B
Rust
26 lines
641 B
Rust
|
use libsig;
|
||
|
use structopt::StructOpt;
|
||
|
|
||
|
#[derive(StructOpt)]
|
||
|
#[structopt(name="sigcli", about="generate ideas for songs, tracks, and sounds")]
|
||
|
struct CliOptions {
|
||
|
/// Don't suggest percussion elements
|
||
|
#[structopt(short, long)]
|
||
|
ambient: bool,
|
||
|
/// The number of suggestions to generate
|
||
|
#[structopt(default_value="1")]
|
||
|
suggestions: usize
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
let opt = CliOptions::from_args();
|
||
|
|
||
|
for _ in 0..opt.suggestions {
|
||
|
let idea = if opt.ambient {
|
||
|
libsig::SongIdea::generate_ambient()
|
||
|
} else {
|
||
|
libsig::SongIdea::generate()
|
||
|
};
|
||
|
println!("{}", idea)
|
||
|
}
|
||
|
}
|