diff --git a/Cargo.toml b/Cargo.toml index bea9b72..8a90fb6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,6 @@ resolver = "2" members = [ "src-tauri", "dmp-core", - "kushi-queue", ] [workspace.package] diff --git a/dmp-core/Cargo.toml b/dmp-core/Cargo.toml index dfe8173..2620905 100644 --- a/dmp-core/Cargo.toml +++ b/dmp-core/Cargo.toml @@ -12,7 +12,6 @@ keywords = [] categories = [] [dependencies] -kushi = { path = "../kushi-queue" } file-format = { version = "0.26", features = ["reader"] } lofty = "0.21" serde = { version = "1.0.195", features = ["derive"] } diff --git a/dmp-core/src/lib.rs b/dmp-core/src/lib.rs index 9f433f4..a72538d 100644 --- a/dmp-core/src/lib.rs +++ b/dmp-core/src/lib.rs @@ -1,6 +1,7 @@ #![allow(while_true)] pub mod music_storage { pub mod library; + pub mod queue; pub mod music_collection; pub mod playlist; mod utils; diff --git a/dmp-core/src/music_controller/controller.rs b/dmp-core/src/music_controller/controller.rs index 53d7942..5d129b4 100644 --- a/dmp-core/src/music_controller/controller.rs +++ b/dmp-core/src/music_controller/controller.rs @@ -5,8 +5,6 @@ use chrono::TimeDelta; use crossbeam::atomic::AtomicCell; use crossbeam_channel::{Receiver, Sender}; -use kushi::Queue; -use kushi::{QueueError, QueueItem}; use parking_lot::RwLock; use prismriver::{Error as PrismError, Prismriver}; use serde::{Deserialize, Serialize}; @@ -23,6 +21,7 @@ use crate::config::ConfigError; use crate::music_controller::connections::handle_connections; use crate::music_storage::library::Song; use crate::music_storage::playlist::{ExternalPlaylist, Playlist}; +use crate::music_storage::queue::{Queue, QueueError, QueueItem}; use crate::{config::Config, music_storage::library::MusicLibrary}; use super::connections::{ConnectionsNotification, ControllerConnections}; diff --git a/dmp-core/src/music_controller/controller_handle.rs b/dmp-core/src/music_controller/controller_handle.rs index 8a12539..4e4e61f 100644 --- a/dmp-core/src/music_controller/controller_handle.rs +++ b/dmp-core/src/music_controller/controller_handle.rs @@ -1,10 +1,9 @@ use std::path::PathBuf; use async_channel::{Receiver, Sender}; -use kushi::{QueueError, QueueItem}; use uuid::Uuid; -use crate::music_storage::{library::Song, playlist::ExternalPlaylist}; +use crate::music_storage::{library::Song, playlist::ExternalPlaylist, queue::{QueueError, QueueItem}}; use super::{ controller::{ diff --git a/dmp-core/src/music_controller/player_command.rs b/dmp-core/src/music_controller/player_command.rs index 0871088..3e40d83 100644 --- a/dmp-core/src/music_controller/player_command.rs +++ b/dmp-core/src/music_controller/player_command.rs @@ -1,12 +1,11 @@ use chrono::TimeDelta; use crossbeam_channel::Sender; -use kushi::{QueueItem, QueueItemType}; use prismriver::{Prismriver, Volume}; -use crate::music_controller::{ +use crate::{music_controller::{ controller::{LibraryCommand, LibraryResponse}, queue::QueueSong, -}; +}, music_storage::queue::{QueueItem, QueueItemType}}; use super::{ connections::ConnectionsNotification, diff --git a/dmp-core/src/music_controller/queue_command.rs b/dmp-core/src/music_controller/queue_command.rs index 75b5e50..caafc48 100644 --- a/dmp-core/src/music_controller/queue_command.rs +++ b/dmp-core/src/music_controller/queue_command.rs @@ -1,4 +1,4 @@ -use kushi::{Queue, QueueError, QueueItemType}; +use crate::music_storage::queue::{Queue, QueueError, QueueItemType}; use super::{ controller::{Controller, QueueCommand, QueueResponse}, diff --git a/kushi-queue/src/lib.rs b/dmp-core/src/music_storage/queue.rs similarity index 100% rename from kushi-queue/src/lib.rs rename to dmp-core/src/music_storage/queue.rs diff --git a/kushi-queue/.gitignore b/kushi-queue/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/kushi-queue/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/kushi-queue/Cargo.lock b/kushi-queue/Cargo.lock deleted file mode 100644 index 6fb9e46..0000000 --- a/kushi-queue/Cargo.lock +++ /dev/null @@ -1,65 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "kushi" -version = "0.1.2" -dependencies = [ - "thiserror", -] - -[[package]] -name = "proc-macro2" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "syn" -version = "2.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" diff --git a/kushi-queue/Cargo.toml b/kushi-queue/Cargo.toml deleted file mode 100644 index 74dda60..0000000 --- a/kushi-queue/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "kushi" -version = "0.1.3" -license = "MIT OR Apache-2.0" -description = "A queue built for the Dango Music Player and Oden Music Bot" -homepage = "https://github.com/Dangoware/kushi-queue" -edition = "2021" -readme = "README.md" -repository = "https://github.com/Dangoware/kushi-queue" -keywords = ["queue","music","vec", "dmp"] -categories = ["data-structures"] - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -thiserror = "1.0.61" \ No newline at end of file diff --git a/kushi-queue/README.md b/kushi-queue/README.md deleted file mode 100644 index 51f97ba..0000000 --- a/kushi-queue/README.md +++ /dev/null @@ -1 +0,0 @@ -a queue built for the [Dango Music Player](https://github.com/Dangoware/dango-music-player) and [Oden Music Bot](https://github.com/Dangoware/oden-music-bot) \ No newline at end of file diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 22141fd..e57d7cc 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -19,7 +19,6 @@ tauri-build = { version = "2", features = [] } [dependencies] dmp-core = { path = "../dmp-core" } -kushi = { path = "../kushi-queue" } tauri = { version = "2", features = [ "protocol-asset", "unstable"] } tauri-plugin-shell = "2" serde = { version = "1", features = ["derive"] } diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands.rs index 03deecc..250693d 100644 --- a/src-tauri/src/commands.rs +++ b/src-tauri/src/commands.rs @@ -1,9 +1,8 @@ use std::{fs::OpenOptions, io::Write}; -use dmp_core::music_controller::{ +use dmp_core::{music_controller::{ connections::LastFMAuth, controller::{ControllerHandle, PlayerLocation}, queue::QueueSong -}; -use kushi::QueueItem; +}, music_storage::queue::{QueueItem, QueueItemType}}; use tauri::{AppHandle, Emitter, State, Wry}; use tempfile::TempDir; use uuid::Uuid; @@ -20,7 +19,7 @@ pub async fn add_song_to_queue( dbg!(&location); let (song, _) = ctrl_handle.lib_get_song(uuid).await; match ctrl_handle - .queue_append(QueueItem::from_item_type(kushi::QueueItemType::Single( + .queue_append(QueueItem::from_item_type(QueueItemType::Single( QueueSong { song, location }, ))) .await diff --git a/src-tauri/src/wrappers.rs b/src-tauri/src/wrappers.rs index 36d68e9..ede3429 100644 --- a/src-tauri/src/wrappers.rs +++ b/src-tauri/src/wrappers.rs @@ -4,10 +4,9 @@ use chrono::{serde::ts_milliseconds_option, DateTime, Utc}; use crossbeam::channel::Sender; use dmp_core::{ music_controller::controller::{ControllerHandle, PlayerLocation}, - music_storage::library::{Song, Tag, URI}, + music_storage::{library::{Song, Tag, URI}, queue::QueueItemType}, }; use itertools::Itertools; -use kushi::QueueItemType; use serde::Serialize; use tauri::{AppHandle, Emitter, State, Wry}; use uuid::Uuid;