refactor(backend): Phase 0 - Initialize multi-crate workspace
Create the foundational workspace structure for the multi-crate architecture refactor. This phase establishes placeholder crates that will be populated in subsequent phases. Crates created: - qbz-models: Shared types, events, and traits (Tier 0) - qbz-audio: Audio backend system (Tier 1) - qbz-player: Playback engine and queue (Tier 1) - qbz-qobuz: Qobuz API client (Tier 1) - qbz-core: Orchestrator (Tier 3) All crates compile successfully with placeholder implementations. The workspace uses shared dependencies via workspace.dependencies. cc
This commit is contained in:
1 parent
1c9bb8dfdb
commit
0911cf75df
12 files changed
+321
No files matched your search
@@ -0,0 +1,29 @@
|
||||
[package]
|
||||
name = "qbz-player"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
description = "Playback engine and queue management for QBZ"
|
||||
|
||||
[dependencies]
|
||||
qbz-models = { path = "../qbz-models" }
|
||||
qbz-audio = { path = "../qbz-audio" }
|
||||
|
||||
# Async
|
||||
tokio = { workspace = true }
|
||||
async-trait = { workspace = true }
|
||||
futures-util = { workspace = true }
|
||||
tokio-stream = { workspace = true }
|
||||
|
||||
# Logging
|
||||
log = { workspace = true }
|
||||
|
||||
# Error handling
|
||||
thiserror = { workspace = true }
|
||||
|
||||
# Audio decoding
|
||||
symphonia = { workspace = true }
|
||||
|
||||
# Vendored audio libraries (will be copied in Phase 3)
|
||||
# rodio = { path = "./vendor/rodio", features = ["symphonia-all"] }
|
||||
# cpal = { path = "./vendor/cpal" }
|
||||
@@ -0,0 +1,21 @@
|
||||
//! QBZ Player - Playback engine and queue management
|
||||
//!
|
||||
//! This crate provides:
|
||||
//! - Player: Main playback control
|
||||
//! - QueueManager: Track queue management
|
||||
//! - StreamingSource: HTTP audio streaming
|
||||
//! - PlaybackCache: In-memory prefetch cache
|
||||
//!
|
||||
//! The vendor/ directory contains modified versions of:
|
||||
//! - rodio: High-level audio playback
|
||||
//! - cpal: Cross-platform audio I/O
|
||||
|
||||
// TODO: Phase 3 - Copy player modules from qbz-nix
|
||||
// pub mod player;
|
||||
// pub mod queue;
|
||||
// pub mod streaming_source;
|
||||
// pub mod playback_engine;
|
||||
// pub mod playback_cache;
|
||||
|
||||
// pub use player::Player;
|
||||
// pub use queue::QueueManager;
|
||||
Reference in new issue
Block a user