Few more commands
This commit is contained in:
parent
293da4f330
commit
f0ba8bf593
3 changed files with 48 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
/target
|
||||
result
|
||||
.direnv
|
||||
noise.zsh
|
||||
|
|
15
src/cli.rs
15
src/cli.rs
|
@ -94,5 +94,20 @@ pub enum Commands {
|
|||
// position: Option<u32>,
|
||||
// },
|
||||
/// Shuffles the current queueue
|
||||
#[command(visible_alias = "scramble")]
|
||||
Shuffle,
|
||||
/// Toggles repeat
|
||||
Repeat,
|
||||
/// Toggles random
|
||||
Random,
|
||||
/// Toggles consume
|
||||
Consume,
|
||||
/// Toggles single
|
||||
Single,
|
||||
/// Get or set volume
|
||||
#[command(visible_alias = "vol")]
|
||||
Volume {
|
||||
#[arg(value_hint = ValueHint::Other)]
|
||||
percentage: Option<i8>,
|
||||
},
|
||||
}
|
||||
|
|
34
src/main.rs
34
src/main.rs
|
@ -76,7 +76,7 @@ fn main() {
|
|||
let thing = conn.update().unwrap();
|
||||
println!("{thing}")
|
||||
}
|
||||
Commands::Current => (), // this is basically the same as having no command
|
||||
Commands::Current => (),
|
||||
Commands::Clear => conn.clear().unwrap(),
|
||||
Commands::Search { query, max } => {
|
||||
let query = query.join(" ");
|
||||
|
@ -118,6 +118,30 @@ fn main() {
|
|||
println!("Shuffling queueueu...");
|
||||
conn.shuffle(..).unwrap();
|
||||
}
|
||||
Commands::Repeat => {
|
||||
let repeat_state = conn.status().unwrap().repeat;
|
||||
conn.repeat(!repeat_state).unwrap();
|
||||
}
|
||||
Commands::Random => {
|
||||
let random_state = conn.status().unwrap().random;
|
||||
// conn.repeat(!random_state).unwrap();
|
||||
println!("{}", random_state)
|
||||
}
|
||||
Commands::Single => {
|
||||
let single_state = conn.status().unwrap().single;
|
||||
conn.single(!single_state).unwrap();
|
||||
}
|
||||
Commands::Consume => {
|
||||
let consume_state = conn.status().unwrap().consume;
|
||||
conn.consume(!consume_state).unwrap();
|
||||
}
|
||||
Commands::Volume { percentage } => {
|
||||
if let Some(volume) = percentage {
|
||||
conn.volume(*volume).unwrap()
|
||||
}
|
||||
let vol = conn.status().unwrap().volume;
|
||||
println!("Volume at {vol}%")
|
||||
}
|
||||
}
|
||||
|
||||
if let Commands::Stop
|
||||
|
@ -135,8 +159,14 @@ fn main() {
|
|||
println!("{}", get_status(conn, cli.verbose, n));
|
||||
}
|
||||
|
||||
// fn toggle_state(mut client: Client, state: ) -> () {}
|
||||
|
||||
fn format_song(song: Song) -> String {
|
||||
format!("{} - {}", song.artist.unwrap(), song.title.unwrap())
|
||||
format!(
|
||||
"{} - {}",
|
||||
song.artist.unwrap_or("Unknown".into()),
|
||||
song.title.unwrap()
|
||||
)
|
||||
}
|
||||
|
||||
trait QuickFmt {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue