diff --git a/Cargo.toml b/Cargo.toml index cf407e4..5a2fa1e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,3 +34,4 @@ leb128 = "0.2.5" urlencoding = "2.1.3" m3u8-rs = "5.0.5" thiserror = "1.0.56" +font = "0.27.0" diff --git a/src/config/config.rs b/src/config/config.rs new file mode 100644 index 0000000..ee86c15 --- /dev/null +++ b/src/config/config.rs @@ -0,0 +1,16 @@ +use std::{path::PathBuf, marker::PhantomData}; + +#[derive(Debug, Default)] +pub struct Config { + db_path: Option, +} + +impl Config { + pub fn new_main() -> Self { + Config::default() + } + //TODO: Add new function for test tube + pub fn load(&self) { + + } +} \ No newline at end of file diff --git a/src/config/other_settings.rs b/src/config/other_settings.rs new file mode 100644 index 0000000..c1940a4 --- /dev/null +++ b/src/config/other_settings.rs @@ -0,0 +1,82 @@ +use std::{marker::PhantomData, fs::File, path::PathBuf}; + +use font::Font; + +pub trait Setting {} + +pub struct DropDown { + name: String, + //value: ??? +} +impl Setting for DropDown {} + +#[derive(Debug, Default)] +pub struct Slider { + name: String, + value: i32, +} +impl Setting for Slider {} + +#[derive(Debug, Default)] +pub struct CheckBox { + name: String, + value: bool, +} +impl Setting for CheckBox {} + +enum TextBoxSize { + Small, + Large, +} +#[derive(Debug, Default)] +pub struct TextBox { + name: String, + text: String, + size: PhantomData +} +impl Setting for TextBox {} + +#[derive(Debug, Default)] +pub struct SingleSelect { + name: String, + value: bool, +} +impl Setting for SingleSelect {} + +#[derive(Debug, Default)] +pub struct MultiSelect { + name: String, + value: bool, +} +impl Setting for MultiSelect {} + +#[derive(Debug, Default)] +pub struct ConfigCounter { + name: String, + value: i32, +} +impl Setting for ConfigCounter {} + +#[derive(Debug, Default)] +pub struct ConfigFont { + name: String, + value: Font, +} +impl Setting for ConfigFont {} + +#[derive(Debug, Default)] +pub struct ConfigFile { + name: String, + value: PathBuf, +} +impl Setting for ConfigFile {} + +#[derive(Debug, Default)] +pub struct List { + items: Vec +} + +pub struct Form { + +} + diff --git a/src/lib.rs b/src/lib.rs index aca688d..6d8be4c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,21 +3,11 @@ pub mod music_storage { pub mod music_collection; pub mod playlist; mod utils; - pub mod db_reader { - pub mod foobar { - pub mod reader; - pub mod utils; - } - pub mod musicbee { - pub mod reader; - pub mod utils; - } - pub mod xml { - pub mod reader; - } - pub mod common; - pub mod extern_library; - } + pub mod db_reader; } pub mod music_player; +pub mod config { + pub mod config; + pub mod other_settings; +} diff --git a/src/music_storage/db_reader/mod.rs b/src/music_storage/db_reader/mod.rs new file mode 100644 index 0000000..6569a82 --- /dev/null +++ b/src/music_storage/db_reader/mod.rs @@ -0,0 +1,13 @@ +pub mod foobar { + pub mod reader; + pub mod utils; +} +pub mod musicbee { + pub mod reader; + pub mod utils; +} +pub mod xml { + pub mod reader; +} +pub mod common; +pub mod extern_library; \ No newline at end of file diff --git a/src/music_storage/db_reader/xml/reader.rs b/src/music_storage/db_reader/xml/reader.rs index 50beeac..1652551 100644 --- a/src/music_storage/db_reader/xml/reader.rs +++ b/src/music_storage/db_reader/xml/reader.rs @@ -92,7 +92,6 @@ impl ExternalLibrary for XmlLibrary { } let text = e.unescape().unwrap().to_string(); - if text == count2.to_string() && !key_selected { continue; } @@ -118,8 +117,7 @@ impl ExternalLibrary for XmlLibrary { buf.clear(); } let elasped = now.elapsed(); - println!("\n\nXMLReader\n=========================================\n\nDone!\n{} songs grabbed in {:#?}\nIDs Skipped: {}", count3, elasped, count4); - // dbg!(folder); + println!("\n\nXMLReader grabbed {} songs in {:#?} seconds\nIDs Skipped: {}", count3, elasped.as_secs(), count4); let mut lib = XmlLibrary::new(); lib.tracks.append(converted_songs.as_mut()); lib diff --git a/src/music_storage/playlist.rs b/src/music_storage/playlist.rs index 099d015..4ad49dd 100644 --- a/src/music_storage/playlist.rs +++ b/src/music_storage/playlist.rs @@ -102,6 +102,7 @@ impl<'a> Playlist<'a> { segments: seg.clone(), ..Default::default() }; + //TODO: change this to put in a real file path let mut file = std::fs::OpenOptions::new() .read(true) .create(true)