From 53480ce2eb700aaabac8f4c0d483d661a6885bf9 Mon Sep 17 00:00:00 2001 From: G2-Games Date: Mon, 25 Sep 2023 02:05:59 -0500 Subject: [PATCH] Restructured as library --- Cargo.toml | 15 ++++++----- minidisc-rs/.gitignore | 10 +++++++ minidisc-rs/Cargo.toml | 14 ++++++++++ minidisc-rs/src/lib.rs | 3 +++ {src => minidisc-rs/src}/netmd/base.rs | 0 {src => minidisc-rs/src}/netmd/interface.rs | 4 +-- {src => minidisc-rs/src}/netmd/mod.rs | 0 {src => minidisc-rs/src}/netmd/query_utils.rs | 2 -- {src => minidisc-rs/src}/netmd/utils.rs | 0 src/main.rs | 27 +++---------------- 10 files changed, 42 insertions(+), 33 deletions(-) create mode 100644 minidisc-rs/.gitignore create mode 100644 minidisc-rs/Cargo.toml create mode 100644 minidisc-rs/src/lib.rs rename {src => minidisc-rs/src}/netmd/base.rs (100%) rename {src => minidisc-rs/src}/netmd/interface.rs (99%) rename {src => minidisc-rs/src}/netmd/mod.rs (100%) rename {src => minidisc-rs/src}/netmd/query_utils.rs (99%) rename {src => minidisc-rs/src}/netmd/utils.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 4386ed8..e77504f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,13 +1,16 @@ [package] -name = "minidisc-rs" +name = "minidisc-cli" +homepage = "https://github.com/G2-Games/minidisc-rs" +repository = "https://github.com/G2-Games/minidisc-rs" +readme = "README.md" version = "0.0.1" edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +authors = ["G2 "] +license = "AGPL-3.0" [dependencies] -encoding_rs = "0.8.33" -nofmt = "1.0.0" -once_cell = "1.18.0" rusb = "0.9.3" +[dependencies.minidisc-rs] +path = "minidisc-rs" +version = "0.0.1" diff --git a/minidisc-rs/.gitignore b/minidisc-rs/.gitignore new file mode 100644 index 0000000..73fab07 --- /dev/null +++ b/minidisc-rs/.gitignore @@ -0,0 +1,10 @@ +# Generated by Cargo +# will have compiled files and executables +debug/ +target/ + +# These are backup files generated by rustfmt +**/*.rs.bk + +# MSVC Windows builds of rustc generate these, which store debugging information +*.pdb diff --git a/minidisc-rs/Cargo.toml b/minidisc-rs/Cargo.toml new file mode 100644 index 0000000..140b4a8 --- /dev/null +++ b/minidisc-rs/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "minidisc-rs" +version = "0.0.1" +authors = ["G2 "] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +encoding_rs = "0.8.33" +nofmt = "1.0.0" +once_cell = "1.18.0" +rusb = "0.9.3" + diff --git a/minidisc-rs/src/lib.rs b/minidisc-rs/src/lib.rs new file mode 100644 index 0000000..3e25f26 --- /dev/null +++ b/minidisc-rs/src/lib.rs @@ -0,0 +1,3 @@ +pub mod netmd; + +use netmd::base::NetMD; diff --git a/src/netmd/base.rs b/minidisc-rs/src/netmd/base.rs similarity index 100% rename from src/netmd/base.rs rename to minidisc-rs/src/netmd/base.rs diff --git a/src/netmd/interface.rs b/minidisc-rs/src/netmd/interface.rs similarity index 99% rename from src/netmd/interface.rs rename to minidisc-rs/src/netmd/interface.rs index 32384a3..994d8a7 100644 --- a/src/netmd/interface.rs +++ b/minidisc-rs/src/netmd/interface.rs @@ -5,8 +5,6 @@ use encoding_rs::*; use std::collections::HashMap; use std::error::Error; -use super::utils::half_width_to_full_width_range; - #[derive(Copy, Clone)] enum Action { Play = 0x75, @@ -173,10 +171,12 @@ struct MediaInfo { supports_md_clip: u8, } +/// An interface for interacting with a NetMD device pub struct NetMDInterface { pub net_md_device: NetMD, } +#[allow(dead_code)] impl NetMDInterface { const MAX_INTERIM_READ_ATTEMPTS: u8 = 4; const INTERIM_RESPONSE_RETRY_INTERVAL: u32 = 100; diff --git a/src/netmd/mod.rs b/minidisc-rs/src/netmd/mod.rs similarity index 100% rename from src/netmd/mod.rs rename to minidisc-rs/src/netmd/mod.rs diff --git a/src/netmd/query_utils.rs b/minidisc-rs/src/netmd/query_utils.rs similarity index 99% rename from src/netmd/query_utils.rs rename to minidisc-rs/src/netmd/query_utils.rs index 77f9f6f..ecc6695 100644 --- a/src/netmd/query_utils.rs +++ b/minidisc-rs/src/netmd/query_utils.rs @@ -163,7 +163,6 @@ pub fn scan_query( input_stack.next(); for character in format.chars() { - println!("{}", character); if escaped { if endianness_override.is_none() && ['<', '>'].contains(&character) { endianness_override = Some(character); @@ -178,7 +177,6 @@ pub fn scan_query( match character { character if FORMAT_TYPE_LEN_DICT.contains_key(&character) => { - println!("Character: {}", character); match character { 'b' => { let new_value = diff --git a/src/netmd/utils.rs b/minidisc-rs/src/netmd/utils.rs similarity index 100% rename from src/netmd/utils.rs rename to minidisc-rs/src/netmd/utils.rs diff --git a/src/main.rs b/src/main.rs index fff1f5d..d97861a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,5 @@ -mod netmd; - -use crate::netmd::base::NetMD; -use crate::netmd::interface::NetMDInterface; - -use std::thread; -use std::time::Duration; +use minidisc_rs::netmd::{base, interface}; +use rusb; fn main() { for device in rusb::devices().unwrap().iter() { @@ -24,8 +19,8 @@ fn main() { new_device.read_product_string_ascii(&device_desc) ); - let player = NetMD::new(new_device, device_desc).unwrap(); - let player_controller = NetMDInterface::new(player); + let player = base::NetMD::new(new_device, device_desc).unwrap(); + let player_controller = interface::NetMDInterface::new(player); println!( "Player Model: {}", @@ -49,19 +44,5 @@ fn main() { player_controller.track_title(i as u16, true).unwrap() ); }*/ - - /* - let mut request: [u8; 19] = [0x00, 0x18, 0x06, 0x02, 0x20, 0x18, - 0x01, 0x00, 0x00, 0x30, 0x00, 0xa, - 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x00]; - request[4] = 0x75; - let test_result = player.send_command(&request); - - match test_result { - Ok(_) => println!("Successfully sent command! Response: {:?}", test_result), - Err(error) => println!("Command failed! Error: {}", error) - } - */ } }