diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-07-25 17:42:36 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-07-25 17:43:12 +1000 |
| commit | 80d7df910987db5201402fe987124f29f09344f3 (patch) | |
| tree | 7e8c1e04ab40026087343efee95a771c7839b32f /src/audio/track_queue.cpp | |
| parent | 7b72e5479ee6d11f76c49f7463ba0e7f4e5165c5 (diff) | |
| download | tangara-fw-80d7df910987db5201402fe987124f29f09344f3.tar.gz | |
fuck off
Diffstat (limited to 'src/audio/track_queue.cpp')
| -rw-r--r-- | src/audio/track_queue.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/audio/track_queue.cpp b/src/audio/track_queue.cpp index 0709056f..721329f9 100644 --- a/src/audio/track_queue.cpp +++ b/src/audio/track_queue.cpp @@ -81,39 +81,45 @@ auto TrackQueue::GetUpcoming(std::size_t limit) const auto TrackQueue::AddNext(database::TrackId t) -> void { const std::lock_guard<std::mutex> lock(mutex_); enqueued_.push_front(t); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = enqueued_.size() < 2}); } auto TrackQueue::AddNext(std::shared_ptr<playlist::ISource> src) -> void { const std::lock_guard<std::mutex> lock(mutex_); enqueued_.push_front(src); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = enqueued_.size() < 2}); } auto TrackQueue::IncludeNext(std::shared_ptr<playlist::IResetableSource> src) -> void { const std::lock_guard<std::mutex> lock(mutex_); enqueued_.push_front(src); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = enqueued_.size() < 2}); } auto TrackQueue::AddLast(database::TrackId t) -> void { const std::lock_guard<std::mutex> lock(mutex_); enqueued_.push_back(t); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = enqueued_.size() < 2}); } auto TrackQueue::AddLast(std::shared_ptr<playlist::ISource> src) -> void { const std::lock_guard<std::mutex> lock(mutex_); enqueued_.push_back(src); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = enqueued_.size() < 2}); } auto TrackQueue::IncludeLast(std::shared_ptr<playlist::IResetableSource> src) -> void { const std::lock_guard<std::mutex> lock(mutex_); enqueued_.push_back(src); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = enqueued_.size() < 2}); } auto TrackQueue::Next() -> void { @@ -143,7 +149,8 @@ auto TrackQueue::Next() -> void { } } - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = true}); } auto TrackQueue::Previous() -> void { @@ -173,14 +180,16 @@ auto TrackQueue::Previous() -> void { } played_.pop_front(); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = true}); } auto TrackQueue::Clear() -> void { const std::lock_guard<std::mutex> lock(mutex_); played_.clear(); enqueued_.clear(); - events::Dispatch<QueueUpdate, AudioState, ui::UiState>({}); + events::Dispatch<QueueUpdate, AudioState, ui::UiState>( + QueueUpdate{.current_changed = true}); } } // namespace audio |
