Compare commits

..

No commits in common. "main" and "0.1.8" have entirely different histories.
main ... 0.1.8

5 changed files with 30 additions and 45 deletions

2
Cargo.lock generated
View file

@ -268,7 +268,7 @@ dependencies = [
[[package]]
name = "noise"
version = "0.1.9"
version = "0.1.8"
dependencies = [
"clap",
"clap_complete",

View file

@ -1,6 +1,6 @@
[package]
name = "noise"
version = "0.1.9"
version = "0.1.8"
edition = "2024"
authors = ["Nox Sluijtman"]

View file

@ -5,7 +5,7 @@ use noise::{commands::Noise, parser::*};
use clap::{Command, CommandFactory, Parser};
use clap_complete::{generate, Generator};
use mpd::{error::Error, Client};
use mpd::Client;
use std::io;
fn print_completions<G: Generator>(generator: G, cmd: &mut Command) {
@ -17,22 +17,19 @@ fn print_completions<G: Generator>(generator: G, cmd: &mut Command) {
);
}
fn main() -> Result<(), Error> {
fn main() {
let cli = Cli::parse();
if let Some(completions) = cli.completions {
let mut cmd = Cli::command();
eprintln!("Generatig completion file for {completions:?}...");
print_completions(completions, &mut cmd);
return Ok(());
return;
}
let host = cli.host.unwrap_or("localhost:6600".into());
let mut conn = match Client::connect(host) {
Ok(client) => client,
Err(err) => return Err(err),
};
let mut conn = Client::connect(host).expect("Connection failed");
if let Some(cmd) = &cli.command {
match cmd {
@ -66,7 +63,7 @@ fn main() -> Result<(), Error> {
| Commands::Volume { .. }
| Commands::Shuffle = cmd
{
return Ok(());
return;
}
}
let _things: Vec<String> = conn
@ -75,6 +72,6 @@ fn main() -> Result<(), Error> {
.iter()
.map(|x| x.place.unwrap().pos.to_string())
.collect();
// println!("{things:?}");
println!("{}", conn.get_status(cli.verbose));
return Ok(());
}

View file

@ -3,7 +3,7 @@ extern crate mpd;
use libnotify::Notification;
use mpd::{Client, Query, Song, State, Term};
use std::{env, time::Duration};
use std::time::Duration;
pub trait Noise {
fn find(&mut self, query: &Vec<String>, max: Option<u32>, append: bool);
@ -174,23 +174,12 @@ impl Noise for Client {
State::Play => "playing",
};
fn to_mins_string(dur: Duration) -> String {
let seconds = dur.as_secs();
let minutes = seconds / 60;
let rem_seconds = seconds % 60;
format!("{minutes:02}:{rem_seconds:02}")
}
let duration = status.time.map_or("".into(), |(stamp, total)| {
let stamp = to_mins_string(stamp);
let total = to_mins_string(total);
format!("{stamp}/{total}")
});
// let pos_in_queue = format!("{current_pos}/{queue_lenth}");
output.push(format!("[{state}] {duration}"));
output.join("\n")
@ -208,16 +197,16 @@ fn format_song(song: Song) -> String {
// fn get_status(client: &mut Client, verbose: bool) -> String {}
fn send_notification(body: &str) {
let key = "XDG_SESSION_TYPE";
match env::var(key) {
Ok(key) => {
if key != "tty" {
libnotify::init("noise").unwrap();
let notify = Notification::new("Noise", Some(body), None);
notify.show().unwrap();
libnotify::uninit();
}
}
Err(_) => return,
}
fn to_mins_string(dur: Duration) -> String {
let seconds = dur.as_secs();
let minutes = seconds / 60;
let rem_seconds = seconds % 60;
format!("{minutes:02}:{rem_seconds:02}")
}

View file

@ -29,13 +29,6 @@ pub struct Cli {
#[derive(Subcommand, Debug, PartialEq)]
pub enum Commands {
/// Stops playing
Stop,
/// Play queueueu
Play {
#[arg(value_hint = ValueHint::CommandString)]
track: Option<u32>,
},
/// Toggle MPD playback
#[command(visible_alias = "t")]
Toggle,
@ -44,6 +37,13 @@ pub enum Commands {
Next,
/// Revert to the previous track
Prev,
/// Stops playing
Stop,
/// Play queueueu
Play {
#[arg(value_hint = ValueHint::CommandString)]
track: Option<u32>,
},
/// Set or get crossfade
#[command(visible_alias = "fade")]
Crossfade {
@ -52,6 +52,8 @@ pub enum Commands {
},
// ///Update still needs some work
// Update,
/// Return currently playing song
Current,
/// Clear current queueueu
Clear,
/// Query database
@ -68,8 +70,6 @@ pub enum Commands {
// #[arg(short, long)]
// insert: Option<u32>,
},
/// Return currently playing song
Current,
/// Query database autistically
#[command(visible_alias = "fd")]
Find {
@ -109,7 +109,6 @@ pub enum Commands {
#[arg(value_hint = ValueHint::Other)]
percentage: Option<i8>,
},
/// Remove the current track
Munch,
Length,
}