mirror of
https://github.com/clangen/musikcube.git
synced 2025-03-14 13:21:13 +00:00
Added the ability to query playlists via LocalSimpleDataProvider.
This commit is contained in:
parent
1403a92772
commit
2e765da9fc
@ -41,12 +41,15 @@
|
||||
#include <core/library/query/local/CategoryListQuery.h>
|
||||
#include <core/library/query/local/CategoryTrackListQuery.h>
|
||||
#include <core/library/query/local/SearchTrackListQuery.h>
|
||||
#include <core/library/query/local/GetPlaylistQuery.h>
|
||||
#include <core/library/LocalLibraryConstants.h>
|
||||
|
||||
#define TAG "LocalSimpleDataProvider"
|
||||
|
||||
using namespace musik::core;
|
||||
using namespace musik::core::db;
|
||||
using namespace musik::core::db::local;
|
||||
using namespace musik::core::library;
|
||||
using namespace musik::core::sdk;
|
||||
|
||||
LocalSimpleDataProvider::LocalSimpleDataProvider(musik::core::ILibraryPtr library)
|
||||
@ -88,8 +91,15 @@ ITrackList* LocalSimpleDataProvider::QueryTracksByCategory(
|
||||
int offset)
|
||||
{
|
||||
try {
|
||||
std::shared_ptr<CategoryTrackListQuery> search(
|
||||
new CategoryTrackListQuery(this->library, categoryType, selectedId, filter));
|
||||
std::shared_ptr<TrackListQueryBase> search;
|
||||
|
||||
if (std::string(categoryType) == constants::Playlists::TABLE_NAME) {
|
||||
search.reset(new GetPlaylistQuery(this->library, selectedId));
|
||||
}
|
||||
else {
|
||||
search.reset(new CategoryTrackListQuery(
|
||||
this->library, categoryType, selectedId, filter));
|
||||
}
|
||||
|
||||
if (limit >= 0) {
|
||||
search->SetLimitAndOffset(limit, offset);
|
||||
|
@ -80,10 +80,11 @@ bool GetPlaylistQuery::OnRun(Connection& db) {
|
||||
}
|
||||
|
||||
std::string query =
|
||||
"SELECT DISTINCT track_id " \
|
||||
"FROM playlist_tracks " \
|
||||
"SELECT DISTINCT track_id "
|
||||
"FROM playlist_tracks "
|
||||
"WHERE playlist_id=? "
|
||||
"ORDER BY sort_order;";
|
||||
"ORDER BY sort_order " +
|
||||
this->GetLimitAndOffset();
|
||||
|
||||
Statement trackQuery(query.c_str(), db);
|
||||
trackQuery.BindInt(0, this->playlistId);
|
||||
|
Loading…
x
Reference in New Issue
Block a user