diff --git a/src/rust/amadeus-rs/amadeus/src/amadeus.rs b/src/rust/amadeus-rs/amadeus/src/amadeus.rs index a9af04b6b5182903cdc462a59ad5f3f855a33a22..235b6fff78033409d6d5b2e8d3e66f7db832a1a8 100644 --- a/src/rust/amadeus-rs/amadeus/src/amadeus.rs +++ b/src/rust/amadeus-rs/amadeus/src/amadeus.rs @@ -7,11 +7,7 @@ use crate::{ }; use amadeus_macro::either; use eframe::{egui, App}; -use lkt_lib::{ - query::LektorQuery, - response::LektorFormatedResponse, - types::{LektorState, Playlist}, -}; +use lkt_lib::{Kara, LektorFormatedResponse, LektorQuery, LektorState, Playlist}; use log::debug; use std::{ sync::mpsc::{Receiver, Sender}, @@ -412,7 +408,7 @@ impl Amadeus<'_> { } fn fill_debug_values(&mut self) { - let default_kara_card = KaraCard::new(lkt_lib::types::Kara { + let default_kara_card = KaraCard::new(Kara { id: 1000, source_name: "Totoro".to_owned(), song_type: "OP".to_owned(), @@ -424,7 +420,7 @@ impl Amadeus<'_> { is_available: false, }); - self.lektord_current_kara = Some(KaraCard::new(lkt_lib::types::Kara { + self.lektord_current_kara = Some(KaraCard::new(Kara { id: 3000, source_name: "Umineko no Naku Koro ni Saku".to_owned(), song_type: "ED".to_owned(), diff --git a/src/rust/amadeus-rs/amadeus/src/cards/card.rs b/src/rust/amadeus-rs/amadeus/src/cards/card.rs index 47365d262e569a65e24f1a99b2a5a65d8c765a3b..0eabb2026a765fc6a263896bb4014dd49f1cfcbe 100644 --- a/src/rust/amadeus-rs/amadeus/src/cards/card.rs +++ b/src/rust/amadeus-rs/amadeus/src/cards/card.rs @@ -1,6 +1,6 @@ use crate::{action, constants, utils}; use amadeus_macro::either; -use lkt_lib::types::*; +use lkt_lib::*; /// A simple card trait pub trait Card<'a, LktType: LektorType<'a>>: ToString + Clone { diff --git a/src/rust/amadeus-rs/amadeus/src/cards/collection.rs b/src/rust/amadeus-rs/amadeus/src/cards/collection.rs index 4cd507bdf5c88c1e18925d9ad291aaa68d66a9c9..1966ea2ece73cc1a6ba2d78c91948076c890d338 100644 --- a/src/rust/amadeus-rs/amadeus/src/cards/collection.rs +++ b/src/rust/amadeus-rs/amadeus/src/cards/collection.rs @@ -1,6 +1,6 @@ use crate::{action, cards::card::*, constants, utils}; use amadeus_macro::either; -use lkt_lib::types::{Kara, LektorType}; +use lkt_lib::{Kara, LektorType}; use std::{borrow::Borrow, cmp::min, marker::PhantomData}; pub type KaraCardCollection<'a> = CardCollection<'a, KaraCard, Kara>; diff --git a/src/rust/amadeus-rs/amadeus/src/playlists.rs b/src/rust/amadeus-rs/amadeus/src/playlists.rs index b4a642567a17dd74f5a4606db85207de94bf17fc..95aa96fa5fa8f6a4b643b836ce1855765a9e27d6 100644 --- a/src/rust/amadeus-rs/amadeus/src/playlists.rs +++ b/src/rust/amadeus-rs/amadeus/src/playlists.rs @@ -1,4 +1,4 @@ -use lkt_lib::types::{Kara, LektorType, Playlist}; +use lkt_lib::{Kara, LektorType, Playlist}; use std::collections::{HashMap, HashSet}; use crate::{action, constants, utils, widgets}; diff --git a/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs b/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs index 481f06dacc2b500c9fe858e1f41e0cc605cf516f..f7d312b3f251e366fd6dbb79a6184f27c990bb69 100644 --- a/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs +++ b/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs @@ -1,6 +1,6 @@ #![allow(dead_code)] -use lkt_lib::{query::*, response::LektorFormatedResponse}; +use lkt_lib::*; use log::error; use std::{ cell::Cell, @@ -36,8 +36,8 @@ pub struct CommandDeamon { } pub type StatusDeamonMessageType = ( - lkt_lib::response::PlaybackStatus, - Option<lkt_lib::response::CurrentKara>, + LektorPlaybackStatusResponse, + Option<LektorCurrentKaraResponse>, ); pub struct StatusDeamon { @@ -92,7 +92,7 @@ impl Deamon for CommandDeamon { implement_deamon_joined!(); fn spawn(hostname: String, port: i16) -> io::Result<(Self::Channels, Self)> { - let mut connexion = lkt_lib::connexion::LektorConnexion::new(hostname, port)?; + let mut connexion = LektorConnexion::new(hostname, port)?; let (responses_send, responses_recv) = channel::<LektorFormatedResponse>(); let (commands_send, commands_recv) = channel::<LektorQuery>(); @@ -137,7 +137,7 @@ impl Deamon for StatusDeamon { implement_deamon_joined!(); fn spawn(hostname: String, port: i16) -> io::Result<(Self::Channels, StatusDeamon)> { - let mut connexion = lkt_lib::connexion::LektorConnexion::new(hostname, port)?; + let mut connexion = LektorConnexion::new(hostname, port)?; let (responses_send, responses_recv) = channel(); let quit = Arc::<AtomicBool>::new(AtomicBool::default()); @@ -160,7 +160,7 @@ impl Deamon for StatusDeamon { continue; } }; - match lkt_lib::response::PlaybackStatus::consume(&mut res) { + match LektorPlaybackStatusResponse::consume(&mut res) { Err(e) => { error!("failed to build response from formated response: {e}"); continue; @@ -169,15 +169,15 @@ impl Deamon for StatusDeamon { } }; - let current = if status.state != lkt_lib::types::LektorState::Stopped { - let mut res = match connexion.send_query(lkt_lib::query::LektorQuery::CurrentKara) { + let current = if status.state != LektorState::Stopped { + let mut res = match connexion.send_query(LektorQuery::CurrentKara) { Ok(res) => res, Err(e) => { error!("failed to send the current kara command to lektor: {e}",); continue; } }; - match lkt_lib::response::CurrentKara::consume(&mut res) { + match LektorCurrentKaraResponse::consume(&mut res) { Ok(res) => Some(res), Err(err) => { error!("failed to build response from formated response: {err}"); diff --git a/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs b/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs index 1f9ab805afdb623062e42f0704e9fee3db5ce0e5..a0870ec1ded1cb86a3d4d8204bba9d912da58ed1 100644 --- a/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs +++ b/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs @@ -4,6 +4,7 @@ mod toggle_switch; mod window; pub use about_window::render_about_window; +use lkt_lib::Kara; pub use progress_bar::progress_bar; pub use toggle_switch::toggle_switch; pub use window::WindowBuilder; @@ -71,7 +72,7 @@ pub fn add_labelled_password( }); } -pub fn get_label_text_for_kara(kara: &lkt_lib::types::Kara) -> String { +pub fn get_label_text_for_kara(kara: &Kara) -> String { format!( "{} - {} / {} - {} - {} [{}]", kara.category, kara.language, kara.source_name, kara.song_type, kara.title, kara.author diff --git a/src/rust/amadeus-rs/lkt-lib/src/lib.rs b/src/rust/amadeus-rs/lkt-lib/src/lib.rs index 7eeb178ca4395cedd33b15c280b8ee0e2d43831f..4d272fafa663d56974da0b460962db7373390b05 100644 --- a/src/rust/amadeus-rs/lkt-lib/src/lib.rs +++ b/src/rust/amadeus-rs/lkt-lib/src/lib.rs @@ -1,10 +1,16 @@ //! Contains structurs and mechanisms to build, send and recieve commands //! to/from lektord. -pub mod connexion; +mod connexion; mod constants; mod macros; -pub mod query; -pub mod response; -pub mod types; -pub mod uri; +mod query; +mod response; +mod types; +mod uri; + +pub use connexion::*; +pub use query::*; +pub use response::*; +pub use types::*; +pub use uri::*; diff --git a/src/rust/amadeus-rs/lkt-lib/src/query.rs b/src/rust/amadeus-rs/lkt-lib/src/query.rs index 886f19df22e519c2efacf99b181eb1509bfd9fbb..6bcf9b19d8847cc6377998482d322a09ea7e51bb 100644 --- a/src/rust/amadeus-rs/lkt-lib/src/query.rs +++ b/src/rust/amadeus-rs/lkt-lib/src/query.rs @@ -4,7 +4,7 @@ use crate::uri::LektorUri; use amadeus_macro::lkt_command_from_str; use std::string::ToString; -pub enum LektorQueryLineType { +pub(crate) enum LektorQueryLineType { Ok, Ack, Continuation(usize), diff --git a/src/rust/amadeus-rs/lkt-lib/src/response.rs b/src/rust/amadeus-rs/lkt-lib/src/response.rs index ccd2b826466a1333e95efa182d32bb9ec3d6b208..585ebdfa45f94980aff71b284c82f4378a246b1f 100644 --- a/src/rust/amadeus-rs/lkt-lib/src/response.rs +++ b/src/rust/amadeus-rs/lkt-lib/src/response.rs @@ -52,12 +52,12 @@ impl TryFrom<Vec<String>> for LektorFormatedResponse { #[derive(Debug)] pub enum LektordResponse { - PlaybackStatus(PlaybackStatus), - CurrentKara(CurrentKara), + PlaybackStatus(LektorPlaybackStatusResponse), + CurrentKara(LektorCurrentKaraResponse), } #[derive(Debug)] -pub struct PlaybackStatus { +pub struct LektorPlaybackStatusResponse { pub elapsed: usize, pub songid: Option<usize>, pub song: Option<usize>, @@ -72,7 +72,7 @@ pub struct PlaybackStatus { pub repeat: bool, } -impl PlaybackStatus { +impl LektorPlaybackStatusResponse { pub fn consume(response: &mut LektorFormatedResponse) -> Result<Self, String> { let mut ret = Self { elapsed: response.pop("elapsed")?.parse::<usize>().unwrap_or(0), @@ -109,7 +109,7 @@ impl PlaybackStatus { } #[derive(Debug)] -pub struct CurrentKara { +pub struct LektorCurrentKaraResponse { pub title: String, pub author: String, pub source: String, @@ -119,7 +119,7 @@ pub struct CurrentKara { pub language: String, } -impl CurrentKara { +impl LektorCurrentKaraResponse { pub fn consume(response: &mut LektorFormatedResponse) -> Result<Self, String> { let song_type_number = response.pop("type")?; let (song_type, song_number) = match song_type_number.find(char::is_numeric) { diff --git a/src/rust/amadeus-rs/lkt-rs/src/main.rs b/src/rust/amadeus-rs/lkt-rs/src/main.rs index 26faabcea3058464b217869bb610b77b3a92d051..01aea5fe5c8f1bb629914ac2f58f9e8a24b8863d 100644 --- a/src/rust/amadeus-rs/lkt-rs/src/main.rs +++ b/src/rust/amadeus-rs/lkt-rs/src/main.rs @@ -1,16 +1,16 @@ -use lkt_lib::{connexion::LektorConnexion, query::LektorQuery, response}; +use lkt_lib::*; fn main() { let mut lektor = LektorConnexion::new("localhost".to_owned(), 6600).unwrap(); if lektor.send_query(LektorQuery::Ping).is_ok() {} if let Ok(mut response) = lektor.send_query(LektorQuery::CurrentKara) { - let current_kara = response::CurrentKara::consume(&mut response); + let current_kara = LektorCurrentKaraResponse::consume(&mut response); println!("CURRENT {:?}", current_kara); } if let Ok(mut response) = lektor.send_query(LektorQuery::PlaybackStatus) { - let playback_status = response::PlaybackStatus::consume(&mut response); + let playback_status = LektorPlaybackStatusResponse::consume(&mut response); println!("PLAYBACK-STATUS {:?}", playback_status); }