mirror of
https://github.com/clangen/musikcube.git
synced 2025-03-14 13:21:13 +00:00
Added ITrack methods for getting column values for types other than
strings. Required an SDK bump.
This commit is contained in:
parent
04eb8c13ea
commit
bde694e9a8
@ -87,6 +87,36 @@ std::string IndexerTrack::GetValue(const char* metakey) {
|
||||
return "";
|
||||
}
|
||||
|
||||
unsigned long long IndexerTrack::GetUint64(const char* key, unsigned long long defaultValue) {
|
||||
try { return std::stoull(GetValue(key)); }
|
||||
catch (...) { }
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
long long IndexerTrack::GetInt64(const char* key, long long defaultValue) {
|
||||
try { return std::stoll(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
unsigned long IndexerTrack::GetUint32(const char* key, unsigned long defaultValue) {
|
||||
try { return std::stoul(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
long IndexerTrack::GetInt32(const char* key, unsigned int defaultValue) {
|
||||
try { return std::stol(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
double IndexerTrack::GetDouble(const char* key, double defaultValue) {
|
||||
try { return std::stod(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
void IndexerTrack::SetValue(const char* metakey, const char* value) {
|
||||
if (metakey && value) {
|
||||
this->internalMetadata->metadata.insert(
|
||||
|
@ -51,6 +51,11 @@ namespace musik { namespace core {
|
||||
|
||||
virtual std::string GetValue(const char* metakey);
|
||||
virtual int GetValue(const char* key, char* dst, int size);
|
||||
virtual unsigned long long GetUint64(const char* key, unsigned long long defaultValue = 0ULL);
|
||||
virtual long long GetInt64(const char* key, long long defaultValue = 0LL);
|
||||
virtual unsigned long GetUint32(const char* key, unsigned long defaultValue = 0);
|
||||
virtual long GetInt32(const char* key, unsigned int defaultValue = 0);
|
||||
virtual double GetDouble(const char* key, double defaultValue = 0.0f);
|
||||
|
||||
virtual std::string Uri();
|
||||
virtual int Uri(char* dst, int size);
|
||||
|
@ -71,6 +71,36 @@ std::string LibraryTrack::GetValue(const char* metakey) {
|
||||
return "";
|
||||
}
|
||||
|
||||
unsigned long long LibraryTrack::GetUint64(const char* key, unsigned long long defaultValue) {
|
||||
try { return std::stoull(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
long long LibraryTrack::GetInt64(const char* key, long long defaultValue) {
|
||||
try { return std::stoll(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
unsigned long LibraryTrack::GetUint32(const char* key, unsigned long defaultValue) {
|
||||
try { return std::stoul(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
long LibraryTrack::GetInt32(const char* key, unsigned int defaultValue) {
|
||||
try { return std::stol(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
double LibraryTrack::GetDouble(const char* key, double defaultValue) {
|
||||
try { return std::stod(GetValue(key)); }
|
||||
catch (...) {}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
void LibraryTrack::SetValue(const char* metakey, const char* value) {
|
||||
std::unique_lock<std::mutex> lock(this->data.mutex);
|
||||
this->data.metadata.insert(std::pair<std::string, std::string>(metakey,value));
|
||||
|
@ -59,6 +59,12 @@ namespace musik { namespace core {
|
||||
virtual void SetThumbnail(const char *data, long size);
|
||||
|
||||
virtual std::string GetValue(const char* metakey);
|
||||
virtual unsigned long long GetUint64(const char* key, unsigned long long defaultValue = 0ULL);
|
||||
virtual long long GetInt64(const char* key, long long defaultValue = 0LL);
|
||||
virtual unsigned long GetUint32(const char* key, unsigned long defaultValue = 0);
|
||||
virtual long GetInt32(const char* key, unsigned int defaultValue = 0);
|
||||
virtual double GetDouble(const char* key, double defaultValue = 0.0f);
|
||||
|
||||
virtual std::string Uri();
|
||||
|
||||
virtual int GetValue(const char* key, char* dst, int size);
|
||||
|
@ -61,6 +61,26 @@ int RetainedTrack::Uri(char* dst, int size) {
|
||||
return track->Uri(dst, size);
|
||||
}
|
||||
|
||||
unsigned long long RetainedTrack::GetUint64(const char* key, unsigned long long defaultValue) {
|
||||
return track->GetUint64(key, defaultValue);
|
||||
}
|
||||
|
||||
long long RetainedTrack::GetInt64(const char* key, long long defaultValue) {
|
||||
return track->GetInt64(key, defaultValue);
|
||||
}
|
||||
|
||||
unsigned long RetainedTrack::GetUint32(const char* key, unsigned long defaultValue) {
|
||||
return track->GetUint32(key, defaultValue);
|
||||
}
|
||||
|
||||
long RetainedTrack::GetInt32(const char* key, unsigned int defaultValue) {
|
||||
return track->GetInt32(key, defaultValue);
|
||||
}
|
||||
|
||||
double RetainedTrack::GetDouble(const char* key, double defaultValue) {
|
||||
return track->GetDouble(key, defaultValue);
|
||||
}
|
||||
|
||||
unsigned long long RetainedTrack::GetId() {
|
||||
return track->GetId();
|
||||
}
|
||||
|
@ -45,7 +45,14 @@ namespace musik { namespace core {
|
||||
|
||||
virtual unsigned long long GetId();
|
||||
virtual void Release();
|
||||
|
||||
virtual int GetValue(const char* key, char* dst, int size);
|
||||
virtual unsigned long long GetUint64(const char* key, unsigned long long defaultValue = 0ULL);
|
||||
virtual long long GetInt64(const char* key, long long defaultValue = 0LL);
|
||||
virtual unsigned long GetUint32(const char* key, unsigned long defaultValue = 0);
|
||||
virtual long GetInt32(const char* key, unsigned int defaultValue = 0);
|
||||
virtual double GetDouble(const char* key, double defaultValue = 0.0f);
|
||||
|
||||
virtual int Uri(char* dst, int size);
|
||||
|
||||
private:
|
||||
|
@ -67,6 +67,12 @@ namespace musik { namespace core {
|
||||
virtual std::string Uri() = 0;
|
||||
|
||||
virtual int GetValue(const char* key, char* dst, int size) = 0;
|
||||
virtual unsigned long long GetUint64(const char* key, unsigned long long defaultValue = 0ULL) = 0;
|
||||
virtual long long GetInt64(const char* key, long long defaultValue = 0LL) = 0;
|
||||
virtual unsigned long GetUint32(const char* key, unsigned long defaultValue = 0) = 0;
|
||||
virtual long GetInt32(const char* key, unsigned int defaultValue = 0) = 0;
|
||||
virtual double GetDouble(const char* key, double defaultValue = 0.0f) = 0;
|
||||
|
||||
virtual int Uri(char* dst, int size) = 0;
|
||||
|
||||
virtual MetadataIteratorRange GetValues(const char* metakey) = 0;
|
||||
|
@ -40,6 +40,11 @@ namespace musik { namespace core { namespace sdk {
|
||||
public:
|
||||
virtual unsigned long long GetId() = 0;
|
||||
virtual int GetValue(const char* key, char* dst, int size) = 0;
|
||||
virtual unsigned long long GetUint64(const char* key, unsigned long long defaultValue = 0ULL) = 0;
|
||||
virtual long long GetInt64(const char* key, long long defaultValue = 0LL) = 0;
|
||||
virtual unsigned long GetUint32(const char* key, unsigned long defaultValue = 0) = 0;
|
||||
virtual long GetInt32(const char* key, unsigned int defaultValue = 0) = 0;
|
||||
virtual double GetDouble(const char* key, double defaultValue = 0.0f) = 0;
|
||||
virtual int Uri(char* dst, int size) = 0;
|
||||
};
|
||||
|
||||
|
@ -108,5 +108,5 @@ namespace musik {
|
||||
static const char* AlbumId = "album_id";
|
||||
}
|
||||
|
||||
static const int SdkVersion = 3;
|
||||
static const int SdkVersion = 4;
|
||||
} } }
|
@ -201,14 +201,12 @@ bool TrackListView::KeyPress(const std::string& key) {
|
||||
if (key == "KEY_ENTER") {
|
||||
if (headers.HeaderAt(this->GetSelectedIndex())) {
|
||||
auto track = this->GetSelectedTrack();
|
||||
unsigned long long fieldId = std::stoull(
|
||||
track->GetValue(constants::Track::ALBUM_ID));
|
||||
|
||||
PlayQueueOverlays::ShowAddCategoryOverlay(
|
||||
this->playback,
|
||||
this->library,
|
||||
constants::Track::ALBUM,
|
||||
fieldId);
|
||||
track->GetUint64(constants::Track::ALBUM_ID));
|
||||
|
||||
handled = true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user