moved the queue back into dmp-core

This commit is contained in:
MrDulfin 2025-03-23 23:37:59 -04:00
parent 41c7820dfb
commit d88c6e07d5
15 changed files with 10 additions and 100 deletions

View file

@ -3,7 +3,6 @@ resolver = "2"
members = [ members = [
"src-tauri", "src-tauri",
"dmp-core", "dmp-core",
"kushi-queue",
] ]
[workspace.package] [workspace.package]

View file

@ -12,7 +12,6 @@ keywords = []
categories = [] categories = []
[dependencies] [dependencies]
kushi = { path = "../kushi-queue" }
file-format = { version = "0.26", features = ["reader"] } file-format = { version = "0.26", features = ["reader"] }
lofty = "0.21" lofty = "0.21"
serde = { version = "1.0.195", features = ["derive"] } serde = { version = "1.0.195", features = ["derive"] }

View file

@ -1,6 +1,7 @@
#![allow(while_true)] #![allow(while_true)]
pub mod music_storage { pub mod music_storage {
pub mod library; pub mod library;
pub mod queue;
pub mod music_collection; pub mod music_collection;
pub mod playlist; pub mod playlist;
mod utils; mod utils;

View file

@ -5,8 +5,6 @@
use chrono::TimeDelta; use chrono::TimeDelta;
use crossbeam::atomic::AtomicCell; use crossbeam::atomic::AtomicCell;
use crossbeam_channel::{Receiver, Sender}; use crossbeam_channel::{Receiver, Sender};
use kushi::Queue;
use kushi::{QueueError, QueueItem};
use parking_lot::RwLock; use parking_lot::RwLock;
use prismriver::{Error as PrismError, Prismriver}; use prismriver::{Error as PrismError, Prismriver};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
@ -23,6 +21,7 @@ use crate::config::ConfigError;
use crate::music_controller::connections::handle_connections; use crate::music_controller::connections::handle_connections;
use crate::music_storage::library::Song; use crate::music_storage::library::Song;
use crate::music_storage::playlist::{ExternalPlaylist, Playlist}; use crate::music_storage::playlist::{ExternalPlaylist, Playlist};
use crate::music_storage::queue::{Queue, QueueError, QueueItem};
use crate::{config::Config, music_storage::library::MusicLibrary}; use crate::{config::Config, music_storage::library::MusicLibrary};
use super::connections::{ConnectionsNotification, ControllerConnections}; use super::connections::{ConnectionsNotification, ControllerConnections};

View file

@ -1,10 +1,9 @@
use std::path::PathBuf; use std::path::PathBuf;
use async_channel::{Receiver, Sender}; use async_channel::{Receiver, Sender};
use kushi::{QueueError, QueueItem};
use uuid::Uuid; use uuid::Uuid;
use crate::music_storage::{library::Song, playlist::ExternalPlaylist}; use crate::music_storage::{library::Song, playlist::ExternalPlaylist, queue::{QueueError, QueueItem}};
use super::{ use super::{
controller::{ controller::{

View file

@ -1,12 +1,11 @@
use chrono::TimeDelta; use chrono::TimeDelta;
use crossbeam_channel::Sender; use crossbeam_channel::Sender;
use kushi::{QueueItem, QueueItemType};
use prismriver::{Prismriver, Volume}; use prismriver::{Prismriver, Volume};
use crate::music_controller::{ use crate::{music_controller::{
controller::{LibraryCommand, LibraryResponse}, controller::{LibraryCommand, LibraryResponse},
queue::QueueSong, queue::QueueSong,
}; }, music_storage::queue::{QueueItem, QueueItemType}};
use super::{ use super::{
connections::ConnectionsNotification, connections::ConnectionsNotification,

View file

@ -1,4 +1,4 @@
use kushi::{Queue, QueueError, QueueItemType}; use crate::music_storage::queue::{Queue, QueueError, QueueItemType};
use super::{ use super::{
controller::{Controller, QueueCommand, QueueResponse}, controller::{Controller, QueueCommand, QueueResponse},

View file

@ -1 +0,0 @@
/target

65
kushi-queue/Cargo.lock generated
View file

@ -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"

View file

@ -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"

View file

@ -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)

View file

@ -19,7 +19,6 @@ tauri-build = { version = "2", features = [] }
[dependencies] [dependencies]
dmp-core = { path = "../dmp-core" } dmp-core = { path = "../dmp-core" }
kushi = { path = "../kushi-queue" }
tauri = { version = "2", features = [ "protocol-asset", "unstable"] } tauri = { version = "2", features = [ "protocol-asset", "unstable"] }
tauri-plugin-shell = "2" tauri-plugin-shell = "2"
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }

View file

@ -1,9 +1,8 @@
use std::{fs::OpenOptions, io::Write}; use std::{fs::OpenOptions, io::Write};
use dmp_core::music_controller::{ use dmp_core::{music_controller::{
connections::LastFMAuth, controller::{ControllerHandle, PlayerLocation}, queue::QueueSong connections::LastFMAuth, controller::{ControllerHandle, PlayerLocation}, queue::QueueSong
}; }, music_storage::queue::{QueueItem, QueueItemType}};
use kushi::QueueItem;
use tauri::{AppHandle, Emitter, State, Wry}; use tauri::{AppHandle, Emitter, State, Wry};
use tempfile::TempDir; use tempfile::TempDir;
use uuid::Uuid; use uuid::Uuid;
@ -20,7 +19,7 @@ pub async fn add_song_to_queue(
dbg!(&location); dbg!(&location);
let (song, _) = ctrl_handle.lib_get_song(uuid).await; let (song, _) = ctrl_handle.lib_get_song(uuid).await;
match ctrl_handle match ctrl_handle
.queue_append(QueueItem::from_item_type(kushi::QueueItemType::Single( .queue_append(QueueItem::from_item_type(QueueItemType::Single(
QueueSong { song, location }, QueueSong { song, location },
))) )))
.await .await

View file

@ -4,10 +4,9 @@ use chrono::{serde::ts_milliseconds_option, DateTime, Utc};
use crossbeam::channel::Sender; use crossbeam::channel::Sender;
use dmp_core::{ use dmp_core::{
music_controller::controller::{ControllerHandle, PlayerLocation}, music_controller::controller::{ControllerHandle, PlayerLocation},
music_storage::library::{Song, Tag, URI}, music_storage::{library::{Song, Tag, URI}, queue::QueueItemType},
}; };
use itertools::Itertools; use itertools::Itertools;
use kushi::QueueItemType;
use serde::Serialize; use serde::Serialize;
use tauri::{AppHandle, Emitter, State, Wry}; use tauri::{AppHandle, Emitter, State, Wry};
use uuid::Uuid; use uuid::Uuid;