diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-19 08:51:34 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-19 08:51:34 +1000 |
| commit | 6ff8b5886ef91ed46dba08686900d519f6c9c62d (patch) | |
| tree | 133daa91898e047fd93a5e83ba6990af2904e5a1 /src/database/database.cpp | |
| parent | 4e5dba158367f9b8b440e6c5051c95d9c22b76d7 (diff) | |
| download | tangara-fw-6ff8b5886ef91ed46dba08686900d519f6c9c62d.tar.gz | |
Support playing tracks by track id
Diffstat (limited to 'src/database/database.cpp')
| -rw-r--r-- | src/database/database.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp index a96b3eab..ac5e4873 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -229,6 +229,18 @@ auto Database::Update() -> std::future<void> { }); } +auto Database::GetTrackPath(TrackId id) + -> std::future<std::optional<std::string>> { + return worker_task_->Dispatch<std::optional<std::string>>( + [=, this]() -> std::optional<std::string> { + auto track_data = dbGetTrackData(id); + if (track_data) { + return track_data->filepath(); + } + return {}; + }); +} + auto Database::GetTracks(std::size_t page_size) -> std::future<Result<Track>*> { return worker_task_->Dispatch<Result<Track>*>([=, this]() -> Result<Track>* { Continuation<Track> c{.iterator = nullptr, |
