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
|
/target
|
||||||
result
|
result
|
||||||
.direnv
|
.direnv
|
||||||
|
noise.zsh
|
||||||
|
|
15
src/cli.rs
15
src/cli.rs
|
@ -94,5 +94,20 @@ pub enum Commands {
|
||||||
// position: Option<u32>,
|
// position: Option<u32>,
|
||||||
// },
|
// },
|
||||||
/// Shuffles the current queueue
|
/// Shuffles the current queueue
|
||||||
|
#[command(visible_alias = "scramble")]
|
||||||
Shuffle,
|
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();
|
let thing = conn.update().unwrap();
|
||||||
println!("{thing}")
|
println!("{thing}")
|
||||||
}
|
}
|
||||||
Commands::Current => (), // this is basically the same as having no command
|
Commands::Current => (),
|
||||||
Commands::Clear => conn.clear().unwrap(),
|
Commands::Clear => conn.clear().unwrap(),
|
||||||
Commands::Search { query, max } => {
|
Commands::Search { query, max } => {
|
||||||
let query = query.join(" ");
|
let query = query.join(" ");
|
||||||
|
@ -118,6 +118,30 @@ fn main() {
|
||||||
println!("Shuffling queueueu...");
|
println!("Shuffling queueueu...");
|
||||||
conn.shuffle(..).unwrap();
|
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
|
if let Commands::Stop
|
||||||
|
@ -135,8 +159,14 @@ fn main() {
|
||||||
println!("{}", get_status(conn, cli.verbose, n));
|
println!("{}", get_status(conn, cli.verbose, n));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fn toggle_state(mut client: Client, state: ) -> () {}
|
||||||
|
|
||||||
fn format_song(song: Song) -> String {
|
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 {
|
trait QuickFmt {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue