fix(qconnect): wait for authoritative shuffle queue
cx
This commit is contained in:
3 files changed
+36
-75
No files matched your search
@@ -156,6 +156,10 @@ impl<A: FrontendAdapter + Send + Sync + 'static> QbzCore<A> {
|
||||
let queue = self.queue.write().await;
|
||||
queue.set_shuffle(enabled);
|
||||
self.emit(CoreEvent::ShuffleChanged { enabled }).await;
|
||||
self.emit(CoreEvent::QueueUpdated {
|
||||
state: queue.get_state(),
|
||||
})
|
||||
.await;
|
||||
}
|
||||
|
||||
/// Set shuffle mode using an authoritative order.
|
||||
@@ -163,6 +167,10 @@ impl<A: FrontendAdapter + Send + Sync + 'static> QbzCore<A> {
|
||||
let queue = self.queue.write().await;
|
||||
queue.set_shuffle_with_order(enabled, shuffle_order);
|
||||
self.emit(CoreEvent::ShuffleChanged { enabled }).await;
|
||||
self.emit(CoreEvent::QueueUpdated {
|
||||
state: queue.get_state(),
|
||||
})
|
||||
.await;
|
||||
}
|
||||
|
||||
/// Toggle shuffle and return new state
|
||||
@@ -175,6 +183,10 @@ impl<A: FrontendAdapter + Send + Sync + 'static> QbzCore<A> {
|
||||
enabled: new_enabled,
|
||||
})
|
||||
.await;
|
||||
self.emit(CoreEvent::QueueUpdated {
|
||||
state: queue.get_state(),
|
||||
})
|
||||
.await;
|
||||
new_enabled
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user