diff --git a/rust/src/api/client.rs b/rust/src/api/client.rs index 56b94ea..fbfa3d8 100644 --- a/rust/src/api/client.rs +++ b/rust/src/api/client.rs @@ -255,20 +255,6 @@ impl QobuzClient { // --- Artist --- - pub async fn get_artist(&self, artist_id: i64) -> Result { - let resp = self - .get_request("artist/get") - .query(&[ - ("artist_id", artist_id.to_string()), - ("extra", "albums".to_string()), - ("albums_limit", "200".to_string()), - ]) - .send() - .await?; - let body = Self::check_response(resp).await?; - Ok(serde_json::from_value(body)?) - } - pub async fn get_artist_page(&self, artist_id: i64) -> Result { let resp = self .get_request("artist/page") diff --git a/rust/src/api/models.rs b/rust/src/api/models.rs index f70e0b2..8efc3b7 100644 --- a/rust/src/api/models.rs +++ b/rust/src/api/models.rs @@ -244,30 +244,5 @@ impl Format { } } - pub fn label(self) -> &'static str { - match self { - Format::Mp3 => "MP3 320", - Format::Cd => "CD 16-bit", - Format::HiRes96 => "Hi-Res 24-bit/96kHz", - Format::HiRes192 => "Hi-Res 24-bit/192kHz", - } - } - - pub fn all() -> &'static [Format] { - &[Format::HiRes192, Format::HiRes96, Format::Cd, Format::Mp3] - } } -// --- QWS --- - -#[derive(Debug, Deserialize, Clone, Serialize)] -pub struct QwsTokenResponse { - pub jwt_qws: Option, -} - -#[derive(Debug, Deserialize, Clone, Serialize)] -pub struct QwsToken { - pub exp: Option, - pub jwt: Option, - pub endpoint: Option, -} diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 83cab4f..82c8f12 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -410,7 +410,7 @@ pub unsafe extern "C" fn qobuz_backend_play_track( if let Some(dur) = track.duration { status.duration_secs.store(dur as u64, std::sync::atomic::Ordering::Relaxed); } - let _ = cmd_tx.send(player::PlayerCommand::Play(player::TrackInfo { track, url, format, replaygain_db })); + let _ = cmd_tx.send(player::PlayerCommand::Play(player::TrackInfo { track, url, replaygain_db })); // 5. State notification call_cb(cb, ud, EV_STATE_CHANGED, r#"{"state":"playing"}"#); diff --git a/rust/src/player/decoder.rs b/rust/src/player/decoder.rs index f9bf434..a4f77db 100644 --- a/rust/src/player/decoder.rs +++ b/rust/src/player/decoder.rs @@ -195,11 +195,6 @@ pub fn play_track_inline( paused.store(false, Ordering::SeqCst); *status.state.lock().unwrap() = super::PlayerState::Playing; } - Ok(PlayerCommand::Seek(s)) => { - status.seek_target_secs.store(s, Ordering::Relaxed); - status.seek_requested.load(Ordering::SeqCst); // read-side fence - status.seek_requested.store(true, Ordering::SeqCst); - } Ok(PlayerCommand::SetVolume(v)) => { status.volume.store(v, Ordering::Relaxed); } diff --git a/rust/src/player/mod.rs b/rust/src/player/mod.rs index 872f1b5..c7add6d 100644 --- a/rust/src/player/mod.rs +++ b/rust/src/player/mod.rs @@ -7,7 +7,7 @@ use std::sync::{ }; use std::time::Duration; -use crate::api::{Format, TrackDto}; +use crate::api::TrackDto; #[derive(Debug, Clone)] pub enum PlayerCommand { @@ -15,7 +15,6 @@ pub enum PlayerCommand { Pause, Resume, Stop, - Seek(u64), SetVolume(u8), } @@ -23,7 +22,6 @@ pub enum PlayerCommand { pub struct TrackInfo { pub track: TrackDto, pub url: String, - pub format: Format, /// ReplayGain track gain in dB, if enabled and available. pub replaygain_db: Option, } @@ -33,7 +31,6 @@ pub enum PlayerState { Idle, Playing, Paused, - Stopped, Error(String), } @@ -87,9 +84,6 @@ impl PlayerStatus { self.volume.load(Ordering::Relaxed) } - pub fn get_current_track(&self) -> Option { - self.current_track.lock().unwrap().clone() - } } pub struct Player { @@ -169,10 +163,6 @@ fn player_loop(rx: std::sync::mpsc::Receiver, status: PlayerStatu Ok(PlayerCommand::SetVolume(v)) => { status.volume.store(v, Ordering::Relaxed); } - Ok(PlayerCommand::Seek(s)) => { - status.seek_target_secs.store(s, Ordering::Relaxed); - status.seek_requested.store(true, Ordering::SeqCst); - } Ok(_) => {} // Pause/Resume ignored when idle Err(RecvTimeoutError::Timeout) => {} Err(RecvTimeoutError::Disconnected) => break 'outer,