diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 9a4afb24b..a6eaaae81 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -5,6 +5,7 @@ set(CORE_SOURCES ./audio/CrossfadeTransport.cpp ./audio/GaplessTransport.cpp ./audio/Outputs.cpp + ./audio/PlaybackService.cpp ./audio/Player.cpp ./audio/Stream.cpp ./audio/Streams.cpp @@ -23,6 +24,7 @@ set(CORE_SOURCES ./library/track/IndexerTrack.cpp ./library/track/LibraryTrack.cpp ./library/track/Track.cpp + ./library/track/TrackList.cpp ./library/track/RetainedTrack.cpp ./plugin/PluginFactory.cpp ./runtime/Message.cpp diff --git a/src/glue/audio/PlaybackService.cpp b/src/core/audio/PlaybackService.cpp similarity index 98% rename from src/glue/audio/PlaybackService.cpp rename to src/core/audio/PlaybackService.cpp index cc146f750..2463635e5 100755 --- a/src/glue/audio/PlaybackService.cpp +++ b/src/core/audio/PlaybackService.cpp @@ -36,8 +36,6 @@ #include "PlaybackService.h" -#include - #include #include #include @@ -57,8 +55,7 @@ using namespace musik::core; using namespace musik::core::prefs; using namespace musik::core::sdk; using namespace musik::core::runtime; -using namespace musik::glue; -using namespace musik::glue::audio; +using namespace musik::core::audio; #define NO_POSITION (size_t) -1 @@ -414,13 +411,17 @@ double PlaybackService::GetVolume() { } void PlaybackService::PauseOrResume() { - if (transport.GetPlaybackState() == PlaybackStopped) { + int state = transport.GetPlaybackState(); + if (state == PlaybackStopped) { if (this->Count()) { this->Play(0); } } - else { - playback::PauseOrResume(this->transport); + else if (state == PlaybackPaused) { + transport.Resume(); + } + else if (state == PlaybackPlaying) { + transport.Pause(); } } diff --git a/src/glue/audio/PlaybackService.h b/src/core/audio/PlaybackService.h similarity index 94% rename from src/glue/audio/PlaybackService.h rename to src/core/audio/PlaybackService.h index d339d9ddc..3c382aedd 100755 --- a/src/glue/audio/PlaybackService.h +++ b/src/core/audio/PlaybackService.h @@ -36,11 +36,10 @@ #include -#include - #include #include #include +#include #include #include #include @@ -48,7 +47,8 @@ #include -namespace musik { namespace glue { namespace audio { +namespace musik { namespace core { namespace audio { + class PlaybackService : public musik::core::sdk::IPlaybackService, public musik::core::runtime::IMessageTarget, @@ -94,8 +94,8 @@ namespace musik { namespace glue { namespace audio { /* app-specific implementation */ musik::core::audio::ITransport& GetTransport() { return this->transport; } - void Play(musik::glue::TrackList& tracks, size_t index); - void CopyTo(musik::glue::TrackList& target); + void Play(musik::core::TrackList& tracks, size_t index); + void CopyTo(musik::core::TrackList& target); musik::core::TrackPtr GetTrackAtIndex(size_t index); private: @@ -107,8 +107,8 @@ namespace musik { namespace glue { namespace audio { void InitRemotes(); void ResetRemotes(); - musik::glue::TrackList playlist; - musik::glue::TrackList unshuffled; + musik::core::TrackList playlist; + musik::core::TrackList unshuffled; std::recursive_mutex playlistMutex; std::vector > remotes; @@ -121,4 +121,5 @@ namespace musik { namespace glue { namespace audio { musik::core::runtime::IMessageQueue& messageQueue; }; + } } } diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index 57393a53a..719652643 100755 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -89,6 +89,7 @@ + @@ -103,6 +104,7 @@ + Create Create @@ -127,6 +129,7 @@ + @@ -145,6 +148,7 @@ + diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters index 669c1ae1e..2133f5fbd 100755 --- a/src/core/core.vcxproj.filters +++ b/src/core/core.vcxproj.filters @@ -133,6 +133,12 @@ src\audio + + src\audio + + + src\library\track + @@ -321,5 +327,11 @@ src\runtime + + src\audio + + + src\library\track + \ No newline at end of file diff --git a/src/glue/model/TrackList.cpp b/src/core/library/track/TrackList.cpp similarity index 82% rename from src/glue/model/TrackList.cpp rename to src/core/library/track/TrackList.cpp index fb9836e40..55407601f 100755 --- a/src/glue/model/TrackList.cpp +++ b/src/core/library/track/TrackList.cpp @@ -45,18 +45,10 @@ #define MAX_SIZE 50 -using musik::core::db::Statement; -using musik::core::db::Row; -using musik::core::TrackPtr; -using musik::core::LibraryTrack; -using musik::core::LibraryPtr; -using musik::core::ILibrary; - +using namespace musik::core; using namespace musik::core::db; using namespace musik::core::query; -using namespace musik::core::library::constants; - -using namespace musik::glue; +using namespace musik::core::library; class TrackMetadataQuery : public QueryBase { public: @@ -192,20 +184,20 @@ bool TrackMetadataQuery::OnRun(Connection& db) { if (trackQuery.Step() == Row) { DBID id = trackQuery.ColumnInt64(0); TrackPtr track = TrackPtr(new LibraryTrack(id, this->library)); - track->SetValue(Track::TRACK_NUM, trackQuery.ColumnText(1)); - track->SetValue(Track::DISC_NUM, trackQuery.ColumnText(2)); - track->SetValue(Track::BPM, trackQuery.ColumnText(3)); - track->SetValue(Track::DURATION, trackQuery.ColumnText(4)); - track->SetValue(Track::FILESIZE, trackQuery.ColumnText(5)); - track->SetValue(Track::YEAR, trackQuery.ColumnText(6)); - track->SetValue(Track::TITLE, trackQuery.ColumnText(7)); - track->SetValue(Track::FILENAME, trackQuery.ColumnText(8)); - track->SetValue(Track::THUMBNAIL_ID, trackQuery.ColumnText(9)); - track->SetValue(Track::ALBUM, trackQuery.ColumnText(10)); - track->SetValue(Track::ALBUM_ARTIST, trackQuery.ColumnText(11)); - track->SetValue(Track::GENRE, trackQuery.ColumnText(12)); - track->SetValue(Track::ARTIST, trackQuery.ColumnText(13)); - track->SetValue(Track::FILETIME, trackQuery.ColumnText(14)); + track->SetValue(constants::Track::TRACK_NUM, trackQuery.ColumnText(1)); + track->SetValue(constants::Track::DISC_NUM, trackQuery.ColumnText(2)); + track->SetValue(constants::Track::BPM, trackQuery.ColumnText(3)); + track->SetValue(constants::Track::DURATION, trackQuery.ColumnText(4)); + track->SetValue(constants::Track::FILESIZE, trackQuery.ColumnText(5)); + track->SetValue(constants::Track::YEAR, trackQuery.ColumnText(6)); + track->SetValue(constants::Track::TITLE, trackQuery.ColumnText(7)); + track->SetValue(constants::Track::FILENAME, trackQuery.ColumnText(8)); + track->SetValue(constants::Track::THUMBNAIL_ID, trackQuery.ColumnText(9)); + track->SetValue(constants::Track::ALBUM, trackQuery.ColumnText(10)); + track->SetValue(constants::Track::ALBUM_ARTIST, trackQuery.ColumnText(11)); + track->SetValue(constants::Track::GENRE, trackQuery.ColumnText(12)); + track->SetValue(constants::Track::ARTIST, trackQuery.ColumnText(13)); + track->SetValue(constants::Track::FILETIME, trackQuery.ColumnText(14)); this->result = track; return true; diff --git a/src/glue/model/TrackList.h b/src/core/library/track/TrackList.h similarity index 61% rename from src/glue/model/TrackList.h rename to src/core/library/track/TrackList.h index 377e9fbea..becdcb421 100755 --- a/src/glue/model/TrackList.h +++ b/src/core/library/track/TrackList.h @@ -40,38 +40,36 @@ #include #include -namespace musik { - namespace glue { - class TrackList { - public: - TrackList(musik::core::LibraryPtr library); - virtual ~TrackList(); +namespace musik { namespace core { + class TrackList { + public: + TrackList(LibraryPtr library); + virtual ~TrackList(); - size_t Count(); - void Add(const DBID& id); - musik::core::TrackPtr Get(size_t index); - DBID GetId(size_t index); - int IndexOf(DBID id); - void ClearCache(); - void Clear(); - void Swap(TrackList& list); - void CopyFrom(TrackList& from); - void Shuffle(); + size_t Count(); + void Add(const DBID& id); + TrackPtr Get(size_t index); + DBID GetId(size_t index); + int IndexOf(DBID id); + void ClearCache(); + void Clear(); + void Swap(TrackList& list); + void CopyFrom(TrackList& from); + void Shuffle(); - private: - typedef std::list CacheList; - typedef std::pair CacheValue; - typedef std::unordered_map CacheMap; + private: + typedef std::list CacheList; + typedef std::pair CacheValue; + typedef std::unordered_map CacheMap; - musik::core::TrackPtr GetFromCache(DBID key); - void AddToCache(DBID key, musik::core::TrackPtr value); + TrackPtr GetFromCache(DBID key); + void AddToCache(DBID key, TrackPtr value); - /* lru cache structures */ - CacheList cacheList; - CacheMap cacheMap; + /* lru cache structures */ + CacheList cacheList; + CacheMap cacheMap; - std::vector ids; - musik::core::LibraryPtr library; - }; - } -} + std::vector ids; + LibraryPtr library; + }; +} } diff --git a/src/glue/CMakeLists.txt b/src/glue/CMakeLists.txt index bc797ba1d..01e38b35c 100644 --- a/src/glue/CMakeLists.txt +++ b/src/glue/CMakeLists.txt @@ -1,7 +1,9 @@ set(GLUE_SOURCES ./audio/MasterTransport.cpp - ./audio/PlaybackService.cpp - ./model/TrackList.cpp + ./query/CategoryListQuery.cpp + ./query/CategoryTrackListQuery.cpp + ./query/NowPlayingTrackListQuery.cpp + ./query/SearchTrackListQuery.cpp ./util/Duration.cpp ./util/Playback.cpp ) diff --git a/src/glue/glue.vcxproj b/src/glue/glue.vcxproj index 784baeb07..a61eb2b61 100644 --- a/src/glue/glue.vcxproj +++ b/src/glue/glue.vcxproj @@ -92,20 +92,25 @@ - - + + + + + - - Create Create + + + + diff --git a/src/glue/glue.vcxproj.filters b/src/glue/glue.vcxproj.filters index 0d0569405..72e91cd50 100644 --- a/src/glue/glue.vcxproj.filters +++ b/src/glue/glue.vcxproj.filters @@ -7,12 +7,12 @@ {df549fdf-a398-4ade-94b5-89aca3719470} - - {7fd41124-442f-4e74-82a9-470f68b65cd0} - {bbbddc84-ecce-43e4-baa1-c93978765231} + + {5aa81b51-6987-497b-9a22-1c68171652b4} + @@ -21,18 +21,27 @@ src\audio - - src\audio - - - src\model - src\util src\util + + src\query + + + src\query + + + src\query + + + src\query + + + src\query + @@ -41,17 +50,23 @@ src\audio - - src\audio - - - src\model - src\util src\util + + src\query + + + src\query + + + src\query + + + src\query + \ No newline at end of file diff --git a/src/musikbox/app/query/CategoryListViewQuery.cpp b/src/glue/query/CategoryListQuery.cpp similarity index 94% rename from src/musikbox/app/query/CategoryListViewQuery.cpp rename to src/glue/query/CategoryListQuery.cpp index 36e58588e..fbe1336f1 100755 --- a/src/musikbox/app/query/CategoryListViewQuery.cpp +++ b/src/glue/query/CategoryListQuery.cpp @@ -32,8 +32,8 @@ // ////////////////////////////////////////////////////////////////////////////// -#include "stdafx.h" -#include "CategoryListViewQuery.h" +#include "pch.hpp" +#include "CategoryListQuery.h" #include #include @@ -46,7 +46,7 @@ using musik::core::db::Row; using namespace musik::core::db; using namespace musik::core::library::constants; -using namespace musik::box; +using namespace musik::glue; #define RESET_RESULT(x) x.reset(new std::vector >); @@ -114,7 +114,7 @@ static void initFieldToQueryMap() { FILTERED_FIELD_TO_QUERY_MAP[Track::GENRE] = FILTERED_GENRE_QUERY; } -CategoryListViewQuery::CategoryListViewQuery( +CategoryListQuery::CategoryListQuery( const std::string& trackField, const std::string& filter) : trackField(trackField) , filter(filter) { @@ -133,15 +133,15 @@ CategoryListViewQuery::CategoryListViewQuery( } } -CategoryListViewQuery::~CategoryListViewQuery() { +CategoryListQuery::~CategoryListQuery() { } -CategoryListViewQuery::ResultList CategoryListViewQuery::GetResult() { +CategoryListQuery::ResultList CategoryListQuery::GetResult() { return this->result; } -int CategoryListViewQuery::GetIndexOf(DBID id) { +int CategoryListQuery::GetIndexOf(DBID id) { auto result = this->GetResult(); for (size_t i = 0; i < result->size(); i++) { if (id == (*result)[i]->id) { @@ -151,7 +151,7 @@ int CategoryListViewQuery::GetIndexOf(DBID id) { return -1; } -bool CategoryListViewQuery::OnRun(Connection& db) { +bool CategoryListQuery::OnRun(Connection& db) { RESET_RESULT(result); bool filtered = this->filter.size() > 0; diff --git a/src/musikbox/app/query/CategoryListViewQuery.h b/src/glue/query/CategoryListQuery.h similarity index 90% rename from src/musikbox/app/query/CategoryListViewQuery.h rename to src/glue/query/CategoryListQuery.h index ba23ecc03..2549c3dc0 100755 --- a/src/musikbox/app/query/CategoryListViewQuery.h +++ b/src/glue/query/CategoryListQuery.h @@ -39,8 +39,8 @@ #include namespace musik { - namespace box { - class CategoryListViewQuery : public musik::core::query::QueryBase { + namespace glue { + class CategoryListQuery : public musik::core::query::QueryBase { public: struct Result { std::string displayValue; @@ -50,13 +50,13 @@ namespace musik { typedef std::shared_ptr > > ResultList; - CategoryListViewQuery( + CategoryListQuery( const std::string& trackField, const std::string& filter = ""); - virtual ~CategoryListViewQuery(); + virtual ~CategoryListQuery(); - std::string Name() { return "CategoryListViewQuery"; } + std::string Name() { return "CategoryListQuery"; } virtual ResultList GetResult(); virtual int GetIndexOf(DBID id); diff --git a/src/musikbox/app/query/CategoryTrackListQuery.cpp b/src/glue/query/CategoryTrackListQuery.cpp similarity index 96% rename from src/musikbox/app/query/CategoryTrackListQuery.cpp rename to src/glue/query/CategoryTrackListQuery.cpp index 4d347bcce..de4835388 100755 --- a/src/musikbox/app/query/CategoryTrackListQuery.cpp +++ b/src/glue/query/CategoryTrackListQuery.cpp @@ -32,7 +32,7 @@ // ////////////////////////////////////////////////////////////////////////////// -#include "stdafx.h" +#include "pch.hpp" #include "CategoryTrackListQuery.h" #include @@ -49,7 +49,7 @@ using musik::core::LibraryPtr; using namespace musik::core::db; using namespace musik::core::library::constants; -using namespace musik::box; +using namespace musik::glue; static std::map FIELD_TO_FOREIGN_KEY = { @@ -62,7 +62,7 @@ static std::map FIELD_TO_FOREIGN_KEY = CategoryTrackListQuery::CategoryTrackListQuery(LibraryPtr library, const std::string& column, DBID id) { this->library = library; this->id = id; - this->result.reset(new musik::glue::TrackList(library)); + this->result.reset(new musik::core::TrackList(library)); this->headers.reset(new std::set()); this->hash = 0; @@ -98,7 +98,7 @@ size_t CategoryTrackListQuery::GetQueryHash() { bool CategoryTrackListQuery::OnRun(Connection& db) { if (result) { - result.reset(new musik::glue::TrackList(this->library)); + result.reset(new musik::core::TrackList(this->library)); headers.reset(new std::set()); } diff --git a/src/musikbox/app/query/CategoryTrackListQuery.h b/src/glue/query/CategoryTrackListQuery.h similarity index 99% rename from src/musikbox/app/query/CategoryTrackListQuery.h rename to src/glue/query/CategoryTrackListQuery.h index da7f49e36..de2195155 100755 --- a/src/musikbox/app/query/CategoryTrackListQuery.h +++ b/src/glue/query/CategoryTrackListQuery.h @@ -34,14 +34,14 @@ #pragma once -#include #include #include +#include #include "TrackListQueryBase.h" namespace musik { - namespace box { + namespace glue { class CategoryTrackListQuery : public TrackListQueryBase { public: CategoryTrackListQuery( diff --git a/src/musikbox/app/query/NowPlayingTrackListQuery.cpp b/src/glue/query/NowPlayingTrackListQuery.cpp similarity index 92% rename from src/musikbox/app/query/NowPlayingTrackListQuery.cpp rename to src/glue/query/NowPlayingTrackListQuery.cpp index e2ea9d116..77e935936 100755 --- a/src/musikbox/app/query/NowPlayingTrackListQuery.cpp +++ b/src/glue/query/NowPlayingTrackListQuery.cpp @@ -32,7 +32,7 @@ // ////////////////////////////////////////////////////////////////////////////// -#include "stdafx.h" +#include "pch.hpp" #include "NowPlayingTrackListQuery.h" #include @@ -47,13 +47,13 @@ using musik::core::LibraryPtr; using namespace musik::core::db; using namespace musik::core::library::constants; -using namespace musik::box; +using namespace musik::glue; NowPlayingTrackListQuery::NowPlayingTrackListQuery( - LibraryPtr library, musik::glue::audio::PlaybackService& playback) + LibraryPtr library, musik::core::audio::PlaybackService& playback) : library(library) , playback(playback) { - this->result.reset(new musik::glue::TrackList(library)); + this->result.reset(new musik::core::TrackList(library)); this->headers.reset(new std::set()); this->hash = 0; } @@ -80,7 +80,7 @@ size_t NowPlayingTrackListQuery::GetQueryHash() { bool NowPlayingTrackListQuery::OnRun(Connection& db) { if (result) { - result.reset(new musik::glue::TrackList(this->library)); + result.reset(new musik::core::TrackList(this->library)); headers.reset(new std::set()); } diff --git a/src/musikbox/app/query/NowPlayingTrackListQuery.h b/src/glue/query/NowPlayingTrackListQuery.h similarity index 93% rename from src/musikbox/app/query/NowPlayingTrackListQuery.h rename to src/glue/query/NowPlayingTrackListQuery.h index 26eeda644..f0a6ee349 100755 --- a/src/musikbox/app/query/NowPlayingTrackListQuery.h +++ b/src/glue/query/NowPlayingTrackListQuery.h @@ -35,16 +35,17 @@ #pragma once #include +#include + #include "TrackListQueryBase.h" -#include namespace musik { - namespace box { + namespace glue { class NowPlayingTrackListQuery : public TrackListQueryBase { public: NowPlayingTrackListQuery( musik::core::LibraryPtr library, - musik::glue::audio::PlaybackService& playback); + musik::core::audio::PlaybackService& playback); virtual ~NowPlayingTrackListQuery(); @@ -58,7 +59,7 @@ namespace musik { private: musik::core::LibraryPtr library; - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; Result result; Headers headers; size_t hash; diff --git a/src/musikbox/app/query/SearchTrackListQuery.cpp b/src/glue/query/SearchTrackListQuery.cpp similarity index 96% rename from src/musikbox/app/query/SearchTrackListQuery.cpp rename to src/glue/query/SearchTrackListQuery.cpp index 436f28d98..aff2b3e35 100755 --- a/src/musikbox/app/query/SearchTrackListQuery.cpp +++ b/src/glue/query/SearchTrackListQuery.cpp @@ -32,7 +32,7 @@ // ////////////////////////////////////////////////////////////////////////////// -#include "stdafx.h" +#include "pch.hpp" #include "SearchTrackListQuery.h" #include @@ -50,7 +50,7 @@ using musik::core::LibraryPtr; using namespace musik::core::db; using namespace musik::core::library::constants; -using namespace musik::box; +using namespace musik::glue; using namespace boost::algorithm; SearchTrackListQuery::SearchTrackListQuery(LibraryPtr library, const std::string& filter) { @@ -60,7 +60,7 @@ SearchTrackListQuery::SearchTrackListQuery(LibraryPtr library, const std::string this->filter = "%" + trim_copy(to_lower_copy(filter)) + "%"; } - this->result.reset(new musik::glue::TrackList(library)); + this->result.reset(new musik::core::TrackList(library)); this->headers.reset(new std::set()); this->hash = 0; } @@ -83,7 +83,7 @@ size_t SearchTrackListQuery::GetQueryHash() { bool SearchTrackListQuery::OnRun(Connection& db) { if (result) { - result.reset(new musik::glue::TrackList(this->library)); + result.reset(new musik::core::TrackList(this->library)); headers.reset(new std::set()); } diff --git a/src/musikbox/app/query/SearchTrackListQuery.h b/src/glue/query/SearchTrackListQuery.h similarity index 99% rename from src/musikbox/app/query/SearchTrackListQuery.h rename to src/glue/query/SearchTrackListQuery.h index b4d5572de..a5cd4bf33 100755 --- a/src/musikbox/app/query/SearchTrackListQuery.h +++ b/src/glue/query/SearchTrackListQuery.h @@ -37,7 +37,7 @@ #include "TrackListQueryBase.h" namespace musik { - namespace box { + namespace glue { class SearchTrackListQuery : public TrackListQueryBase { public: SearchTrackListQuery( diff --git a/src/musikbox/app/query/TrackListQueryBase.h b/src/glue/query/TrackListQueryBase.h similarity index 93% rename from src/musikbox/app/query/TrackListQueryBase.h rename to src/glue/query/TrackListQueryBase.h index 2b4959a53..174b9a1ab 100755 --- a/src/musikbox/app/query/TrackListQueryBase.h +++ b/src/glue/query/TrackListQueryBase.h @@ -37,14 +37,13 @@ #include #include #include -#include -#include "CategoryListViewQuery.h" +#include namespace musik { - namespace box { + namespace glue { class TrackListQueryBase : public musik::core::query::QueryBase { public: - typedef std::shared_ptr Result; + typedef std::shared_ptr Result; typedef std::shared_ptr > Headers; virtual ~TrackListQueryBase() { }; diff --git a/src/musikbox/Main.cpp b/src/musikbox/Main.cpp index d866710fe..c14c4c637 100644 --- a/src/musikbox/Main.cpp +++ b/src/musikbox/Main.cpp @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include diff --git a/src/musikbox/app/layout/BrowseLayout.cpp b/src/musikbox/app/layout/BrowseLayout.cpp index f34ce8ea3..e3e09b916 100755 --- a/src/musikbox/app/layout/BrowseLayout.cpp +++ b/src/musikbox/app/layout/BrowseLayout.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include @@ -76,7 +76,7 @@ static std::map FIELD_TO_TITLE{ this->categoryTitle->SetText(CATEGORY_TITLE(key), text::AlignCenter); BrowseLayout::BrowseLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, LibraryPtr library) : LayoutBase() , playback(playback) { @@ -167,8 +167,8 @@ void BrowseLayout::RequeryTrackList(ListWindow *view) { if (view == this->categoryList.get()) { DBID selectedId = this->categoryList->GetSelectedId(); if (selectedId != -1) { - this->trackList->Requery(std::shared_ptr( - new CategoryTrackListQuery( + this->trackList->Requery(std::shared_ptr( + new musik::glue::CategoryTrackListQuery( this->library, this->categoryList->GetFieldName(), selectedId))); diff --git a/src/musikbox/app/layout/BrowseLayout.h b/src/musikbox/app/layout/BrowseLayout.h index 181d5098b..e73d813a7 100755 --- a/src/musikbox/app/layout/BrowseLayout.h +++ b/src/musikbox/app/layout/BrowseLayout.h @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include @@ -57,7 +57,7 @@ namespace musik { { public: BrowseLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library); virtual ~BrowseLayout(); @@ -83,7 +83,7 @@ namespace musik { void OnCategoryViewInvalidated( cursespp::ListWindow *view, size_t selectedIndex); - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::LibraryPtr library; std::shared_ptr categoryList; std::shared_ptr trackList; diff --git a/src/musikbox/app/layout/LibraryLayout.cpp b/src/musikbox/app/layout/LibraryLayout.cpp index e4d94a9ba..37d2e229a 100755 --- a/src/musikbox/app/layout/LibraryLayout.cpp +++ b/src/musikbox/app/layout/LibraryLayout.cpp @@ -39,7 +39,6 @@ #include -#include #include #include @@ -60,7 +59,7 @@ using namespace musik::box; using namespace musik::core::runtime; using namespace cursespp; -LibraryLayout::LibraryLayout(musik::glue::audio::PlaybackService& playback, LibraryPtr library) +LibraryLayout::LibraryLayout(musik::core::audio::PlaybackService& playback, LibraryPtr library) : LayoutBase() , playback(playback) , shortcuts(nullptr) diff --git a/src/musikbox/app/layout/LibraryLayout.h b/src/musikbox/app/layout/LibraryLayout.h index 27791ff3b..067178098 100755 --- a/src/musikbox/app/layout/LibraryLayout.h +++ b/src/musikbox/app/layout/LibraryLayout.h @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include @@ -59,7 +59,7 @@ namespace musik { { public: LibraryLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library); virtual ~LibraryLayout(); @@ -97,7 +97,7 @@ namespace musik { void OnLayoutChanged(); void UpdateShortcutsWindow(); - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::audio::ITransport& transport; musik::core::LibraryPtr library; std::shared_ptr browseLayout; diff --git a/src/musikbox/app/layout/NowPlayingLayout.cpp b/src/musikbox/app/layout/NowPlayingLayout.cpp index 7aa54516d..c47774b14 100755 --- a/src/musikbox/app/layout/NowPlayingLayout.cpp +++ b/src/musikbox/app/layout/NowPlayingLayout.cpp @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include "NowPlayingLayout.h" @@ -56,7 +56,7 @@ using namespace cursespp; static std::string formatWithAlbum(TrackPtr track, size_t width); NowPlayingLayout::NowPlayingLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library) : LayoutBase() , playback(playback) diff --git a/src/musikbox/app/layout/NowPlayingLayout.h b/src/musikbox/app/layout/NowPlayingLayout.h index 41a386a28..745649199 100755 --- a/src/musikbox/app/layout/NowPlayingLayout.h +++ b/src/musikbox/app/layout/NowPlayingLayout.h @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include @@ -56,7 +56,7 @@ namespace musik { { public: NowPlayingLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library); virtual ~NowPlayingLayout(); @@ -73,7 +73,7 @@ namespace musik { void InitializeWindows(); void RequeryTrackList(); - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::LibraryPtr library; std::shared_ptr trackList; }; diff --git a/src/musikbox/app/layout/SearchLayout.cpp b/src/musikbox/app/layout/SearchLayout.cpp index 02bd0dbc4..95235006f 100755 --- a/src/musikbox/app/layout/SearchLayout.cpp +++ b/src/musikbox/app/layout/SearchLayout.cpp @@ -38,7 +38,6 @@ #include #include #include -#include #include "SearchLayout.h" using namespace musik::core::library::constants; @@ -57,7 +56,7 @@ using namespace cursespp; x == this->artists || \ x == this->genres -SearchLayout::SearchLayout(musik::glue::audio::PlaybackService& playback, LibraryPtr library) +SearchLayout::SearchLayout(musik::core::audio::PlaybackService& playback, LibraryPtr library) : LayoutBase() { this->library = library; this->InitializeWindows(playback); @@ -102,7 +101,7 @@ void SearchLayout::OnLayout() { view->SetText(value, cursespp::text::AlignCenter); \ this->AddWindow(view); -void SearchLayout::InitializeWindows(musik::glue::audio::PlaybackService& playback) { +void SearchLayout::InitializeWindows(musik::core::audio::PlaybackService& playback) { this->input.reset(new cursespp::TextInput()); this->input->TextChanged.connect(this, &SearchLayout::OnInputChanged); this->input->EnterPressed.connect(this, &SearchLayout::OnEnterPressed); diff --git a/src/musikbox/app/layout/SearchLayout.h b/src/musikbox/app/layout/SearchLayout.h index 75d97cb1b..04cb25b00 100755 --- a/src/musikbox/app/layout/SearchLayout.h +++ b/src/musikbox/app/layout/SearchLayout.h @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include @@ -60,7 +60,7 @@ namespace musik { sigslot::signal3 SearchResultSelected; SearchLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library); virtual ~SearchLayout(); @@ -74,7 +74,7 @@ namespace musik { virtual void OnLayout(); private: - void InitializeWindows(musik::glue::audio::PlaybackService& playback); + void InitializeWindows(musik::core::audio::PlaybackService& playback); void Requery(); void OnEnterPressed(cursespp::TextInput* sender); diff --git a/src/musikbox/app/layout/SettingsLayout.cpp b/src/musikbox/app/layout/SettingsLayout.cpp index bd45b210f..eff680bb1 100755 --- a/src/musikbox/app/layout/SettingsLayout.cpp +++ b/src/musikbox/app/layout/SettingsLayout.cpp @@ -45,7 +45,6 @@ #include #include -#include #include #include #include diff --git a/src/musikbox/app/layout/SettingsLayout.h b/src/musikbox/app/layout/SettingsLayout.h index b3a4b9970..a40458781 100755 --- a/src/musikbox/app/layout/SettingsLayout.h +++ b/src/musikbox/app/layout/SettingsLayout.h @@ -44,7 +44,7 @@ #include #include -#include +#include #include #include diff --git a/src/musikbox/app/layout/TrackSearchLayout.cpp b/src/musikbox/app/layout/TrackSearchLayout.cpp index 2cb0473a9..396066717 100755 --- a/src/musikbox/app/layout/TrackSearchLayout.cpp +++ b/src/musikbox/app/layout/TrackSearchLayout.cpp @@ -37,19 +37,18 @@ #include #include #include -#include +#include #include #include "TrackSearchLayout.h" -using namespace musik::core::library::constants; - using namespace musik::core; using namespace musik::core::audio; using namespace musik::core::library; -using namespace musik::box; +using namespace musik::core::library::constants; using namespace musik::core::runtime; - +using namespace musik::box; +using namespace musik::glue; using namespace cursespp; #define SEARCH_HEIGHT 3 @@ -62,7 +61,7 @@ using namespace cursespp; this->PostMessage(REQUERY_TRACKLIST, 0, 0, x); TrackSearchLayout::TrackSearchLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library) : LayoutBase() , playback(playback) diff --git a/src/musikbox/app/layout/TrackSearchLayout.h b/src/musikbox/app/layout/TrackSearchLayout.h index ee3d1a345..5b53c797e 100755 --- a/src/musikbox/app/layout/TrackSearchLayout.h +++ b/src/musikbox/app/layout/TrackSearchLayout.h @@ -38,7 +38,7 @@ #include #include -#include +#include #include @@ -55,7 +55,7 @@ namespace musik { { public: TrackSearchLayout( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library); virtual ~TrackSearchLayout(); @@ -79,7 +79,7 @@ namespace musik { void OnEnterPressed(cursespp::TextInput* sender); - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::LibraryPtr library; std::shared_ptr trackList; std::shared_ptr input; diff --git a/src/musikbox/app/util/GlobalHotkeys.cpp b/src/musikbox/app/util/GlobalHotkeys.cpp index faf70c3fc..cabfec5d6 100755 --- a/src/musikbox/app/util/GlobalHotkeys.cpp +++ b/src/musikbox/app/util/GlobalHotkeys.cpp @@ -49,7 +49,7 @@ using namespace musik::core::audio; using namespace musik::core::sdk; using namespace musik::box; -GlobalHotkeys::GlobalHotkeys(musik::glue::audio::PlaybackService& playback, LibraryPtr library) +GlobalHotkeys::GlobalHotkeys(musik::core::audio::PlaybackService& playback, LibraryPtr library) : playback(playback) , transport(playback.GetTransport()) { this->library = library; diff --git a/src/musikbox/app/util/GlobalHotkeys.h b/src/musikbox/app/util/GlobalHotkeys.h index d615eee33..29df36386 100755 --- a/src/musikbox/app/util/GlobalHotkeys.h +++ b/src/musikbox/app/util/GlobalHotkeys.h @@ -36,7 +36,7 @@ #include "stdafx.h" -#include +#include #include namespace musik { @@ -44,7 +44,7 @@ namespace musik { class GlobalHotkeys { public: GlobalHotkeys( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library); ~GlobalHotkeys(); /* non-virtual; do not use as a base class */ @@ -52,7 +52,7 @@ namespace musik { bool Handle(const std::string& kn); private: - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::audio::ITransport& transport; musik::core::LibraryPtr library; }; diff --git a/src/musikbox/app/util/Playback.cpp b/src/musikbox/app/util/Playback.cpp index bbdfba2a1..04066c457 100755 --- a/src/musikbox/app/util/Playback.cpp +++ b/src/musikbox/app/util/Playback.cpp @@ -44,7 +44,7 @@ namespace musik { namespace playback { void Play( std::shared_ptr trackList, - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, cursespp::IWindowPtr focused) { auto tracks = trackList->GetTrackList(); diff --git a/src/musikbox/app/util/Playback.h b/src/musikbox/app/util/Playback.h index d879ad3e6..c2173fb32 100755 --- a/src/musikbox/app/util/Playback.h +++ b/src/musikbox/app/util/Playback.h @@ -36,7 +36,7 @@ #include "stdafx.h" -#include +#include #include namespace musik { @@ -44,7 +44,7 @@ namespace musik { namespace playback { void Play( std::shared_ptr trackList, - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, cursespp::IWindowPtr focused); } } diff --git a/src/musikbox/app/window/CategoryListView.cpp b/src/musikbox/app/window/CategoryListView.cpp index c78e44711..a90414c4e 100755 --- a/src/musikbox/app/window/CategoryListView.cpp +++ b/src/musikbox/app/window/CategoryListView.cpp @@ -42,7 +42,6 @@ #include #include -#include #include #include "CategoryListView.h" @@ -52,12 +51,13 @@ using namespace musik::core::audio; using namespace musik::core::library::constants; using namespace musik::core::runtime; using namespace musik::box; +using namespace musik::glue; using namespace cursespp; #define WINDOW_MESSAGE_QUERY_COMPLETED 1002 CategoryListView::CategoryListView( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, LibraryPtr library, const std::string& fieldName) : ListWindow(NULL) @@ -92,7 +92,7 @@ void CategoryListView::RequeryWithField( this->fieldName = fieldName; this->selectAfterQuery = selectAfterQuery; - this->activeQuery.reset(new CategoryListViewQuery(this->fieldName, filter)); + this->activeQuery.reset(new CategoryListQuery(this->fieldName, filter)); this->library->Enqueue(activeQuery); } @@ -101,7 +101,7 @@ void CategoryListView::Requery(const std::string& filter, const DBID selectAfter } void CategoryListView::Reset() { - this->metadata.reset(new std::vector >()); /* ugh */ + this->metadata.reset(new std::vector >()); /* ugh */ this->OnAdapterChanged(); } diff --git a/src/musikbox/app/window/CategoryListView.h b/src/musikbox/app/window/CategoryListView.h index ec70e3572..3cfc961ab 100755 --- a/src/musikbox/app/window/CategoryListView.h +++ b/src/musikbox/app/window/CategoryListView.h @@ -39,9 +39,9 @@ #include #include -#include -#include +#include +#include #include #include #include @@ -59,7 +59,7 @@ namespace musik { { public: CategoryListView( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library, const std::string& fieldName); @@ -106,18 +106,18 @@ namespace musik { void OnTrackChanged(size_t index, musik::core::TrackPtr track); void ScrollToPlaying(); - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; Adapter *adapter; std::mutex queryMutex; - std::shared_ptr activeQuery; + std::shared_ptr activeQuery; musik::core::LibraryPtr library; musik::core::TrackPtr playing; std::string fieldName; DBID selectAfterQuery; - CategoryListViewQuery::ResultList metadata; + musik::glue::CategoryListQuery::ResultList metadata; }; } } diff --git a/src/musikbox/app/window/TrackListView.cpp b/src/musikbox/app/window/TrackListView.cpp index 78ee40ff1..0b5250a6e 100755 --- a/src/musikbox/app/window/TrackListView.cpp +++ b/src/musikbox/app/window/TrackListView.cpp @@ -57,7 +57,6 @@ using namespace musik::core::library; using namespace musik::core::runtime; using namespace musik::box; using namespace musik::glue; -using namespace musik::glue::audio; using namespace cursespp; using namespace std::chrono; diff --git a/src/musikbox/app/window/TrackListView.h b/src/musikbox/app/window/TrackListView.h index 5ba0d074b..cb7787dc5 100755 --- a/src/musikbox/app/window/TrackListView.h +++ b/src/musikbox/app/window/TrackListView.h @@ -39,8 +39,8 @@ #include #include -#include -#include +#include +#include #include #include @@ -62,8 +62,10 @@ namespace musik { typedef std::shared_ptr > Headers; + typedef musik::glue::TrackListQueryBase TrackListQueryBase; + TrackListView( - musik::glue::audio::PlaybackService& playback, + musik::core::audio::PlaybackService& playback, musik::core::LibraryPtr library, RowFormatter formatter = RowFormatter()); @@ -72,7 +74,7 @@ namespace musik { virtual void ProcessMessage(musik::core::runtime::IMessage &message); virtual bool KeyPress(const std::string& key); - std::shared_ptr GetTrackList(); + std::shared_ptr GetTrackList(); void Clear(); void Requery(std::shared_ptr query); @@ -99,10 +101,10 @@ namespace musik { void ScrollToPlaying(); std::shared_ptr query; - std::shared_ptr metadata; + std::shared_ptr metadata; Headers headers; Adapter* adapter; - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::TrackPtr playing; musik::core::LibraryPtr library; size_t lastQueryHash; diff --git a/src/musikbox/app/window/TransportWindow.cpp b/src/musikbox/app/window/TransportWindow.cpp index c2a3afbdd..4131596cd 100755 --- a/src/musikbox/app/window/TransportWindow.cpp +++ b/src/musikbox/app/window/TransportWindow.cpp @@ -276,7 +276,7 @@ static inline bool dec(const std::string& kn) { return (/*kn == "KEY_DOWN" ||*/ kn == "KEY_LEFT"); } -TransportWindow::TransportWindow(musik::glue::audio::PlaybackService& playback) +TransportWindow::TransportWindow(musik::core::audio::PlaybackService& playback) : Window(nullptr) , displayCache(new TransportDisplayCache()) , playback(playback) diff --git a/src/musikbox/app/window/TransportWindow.h b/src/musikbox/app/window/TransportWindow.h index fa5b38598..3b2a7ed0e 100755 --- a/src/musikbox/app/window/TransportWindow.h +++ b/src/musikbox/app/window/TransportWindow.h @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include "OutputWindow.h" @@ -61,7 +61,7 @@ namespace musik { FocusTime = 2 }; - TransportWindow(musik::glue::audio::PlaybackService& playback); + TransportWindow(musik::core::audio::PlaybackService& playback); virtual ~TransportWindow(); virtual void ProcessMessage(musik::core::runtime::IMessage &message); @@ -94,7 +94,7 @@ namespace musik { bool paused; musik::core::audio::ITransport& transport; - musik::glue::audio::PlaybackService& playback; + musik::core::audio::PlaybackService& playback; musik::core::TrackPtr currentTrack; FocusTarget focus, lastFocus; std::unique_ptr displayCache; diff --git a/src/musikbox/musikbox.vcxproj b/src/musikbox/musikbox.vcxproj index c298e374f..b59f496db 100755 --- a/src/musikbox/musikbox.vcxproj +++ b/src/musikbox/musikbox.vcxproj @@ -133,10 +133,6 @@ - - - - @@ -186,11 +182,6 @@ - - - - - diff --git a/src/musikbox/musikbox.vcxproj.filters b/src/musikbox/musikbox.vcxproj.filters index 3790ad991..89499a353 100755 --- a/src/musikbox/musikbox.vcxproj.filters +++ b/src/musikbox/musikbox.vcxproj.filters @@ -33,9 +33,6 @@ app\layout - - app\query - app\window @@ -57,12 +54,6 @@ app\window - - app\query - - - app\query - app\layout @@ -93,9 +84,6 @@ app\layout - - app\query - app\model @@ -201,9 +189,6 @@ app\layout - - app\query - app\window @@ -228,15 +213,6 @@ app\window - - app\query - - - app\query - - - app\query - app\layout @@ -264,9 +240,6 @@ app\layout - - app\query - app\model @@ -341,9 +314,6 @@ {629374d5-c682-472d-85a3-1f7fa29c3e04} - - {5c751253-4250-4a81-8b5f-ca6244954d64} - {b6720351-dd55-4b14-936a-09df56193c15}