Initial implementation of qobuz-qt
- Rust backend (qobuz-backend static lib): Qobuz API client (reqwest/tokio), Symphonia audio decoder, CPAL audio output, extern "C" FFI bridge - Qt 6 frontend mirroring spotify-qt layout: toolbar with playback controls, left library dock, central track list, right search panel - Auth: email/password login with MD5-signed requests; session token persisted via QSettings - Playback: double-click a track → Rust fetches stream URL → Symphonia decodes → CPAL outputs to default audio device - Dark Fusion palette matching spotify-qt feel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
44
src/CMakeLists.txt
Normal file
44
src/CMakeLists.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
target_sources(qobuz-qt PRIVATE
|
||||
# Entry point
|
||||
main.cpp
|
||||
|
||||
# Main window
|
||||
mainwindow.hpp
|
||||
mainwindow.cpp
|
||||
|
||||
# Backend (Qt wrapper around Rust FFI)
|
||||
backend/qobuzbackend.hpp
|
||||
backend/qobuzbackend.cpp
|
||||
|
||||
# Views
|
||||
view/maintoolbar.hpp
|
||||
view/maintoolbar.cpp
|
||||
view/maincontent.hpp
|
||||
view/maincontent.cpp
|
||||
view/sidepanel/view.hpp
|
||||
view/sidepanel/view.cpp
|
||||
|
||||
# Lists
|
||||
list/tracks.hpp
|
||||
list/tracks.cpp
|
||||
list/library.hpp
|
||||
list/library.cpp
|
||||
|
||||
# Models
|
||||
model/tracklistmodel.hpp
|
||||
model/tracklistmodel.cpp
|
||||
|
||||
# Dialogs
|
||||
dialog/login.hpp
|
||||
dialog/login.cpp
|
||||
dialog/settings.hpp
|
||||
dialog/settings.cpp
|
||||
|
||||
# Widgets (header-only)
|
||||
widget/clickableslider.hpp
|
||||
widget/volumebutton.hpp
|
||||
|
||||
# Utils (header-only)
|
||||
util/icon.hpp
|
||||
util/settings.hpp
|
||||
)
|
||||
Reference in New Issue
Block a user