mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-06 15:13:57 +02:00
Added new rpl events to Media::Player::Instance for stop/start.
Removed unused playerWidgetToggled event.
This commit is contained in:
parent
c50df6a6bc
commit
ed4b90717a
3 changed files with 22 additions and 8 deletions
|
@ -559,7 +559,6 @@ bool HandleEvent(not_null<QShortcutEvent*> event) {
|
||||||
void ToggleMediaShortcuts(bool toggled) {
|
void ToggleMediaShortcuts(bool toggled) {
|
||||||
Data.toggleMedia(toggled);
|
Data.toggleMedia(toggled);
|
||||||
Platform::SetWatchingMediaKeys(toggled);
|
Platform::SetWatchingMediaKeys(toggled);
|
||||||
Media::Player::instance()->playerWidgetToggledNotify(toggled);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToggleSupportShortcuts(bool toggled) {
|
void ToggleSupportShortcuts(bool toggled) {
|
||||||
|
|
|
@ -388,6 +388,21 @@ rpl::producer<> Media::Player::Instance::playlistChanges(
|
||||||
return data->playlistChanges.events();
|
return data->playlistChanges.events();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpl::producer<> Media::Player::Instance::stops(AudioMsgId::Type type) const {
|
||||||
|
return _playerStopped.events(
|
||||||
|
) | rpl::filter([=](auto t) {
|
||||||
|
return t == type;
|
||||||
|
}) | rpl::to_empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
rpl::producer<> Media::Player::Instance::startsPlay(
|
||||||
|
AudioMsgId::Type type) const {
|
||||||
|
return _playerStartedPlay.events(
|
||||||
|
) | rpl::filter([=](auto t) {
|
||||||
|
return t == type;
|
||||||
|
}) | rpl::to_empty;
|
||||||
|
}
|
||||||
|
|
||||||
not_null<Instance*> instance() {
|
not_null<Instance*> instance() {
|
||||||
Expects(SingleInstance != nullptr);
|
Expects(SingleInstance != nullptr);
|
||||||
return SingleInstance;
|
return SingleInstance;
|
||||||
|
@ -426,6 +441,7 @@ void Instance::play(const AudioMsgId &audioId) {
|
||||||
if (document->isVoiceMessage() || document->isVideoMessage()) {
|
if (document->isVoiceMessage() || document->isVideoMessage()) {
|
||||||
document->owner().markMediaRead(document);
|
document->owner().markMediaRead(document);
|
||||||
}
|
}
|
||||||
|
_playerStartedPlay.fire_copy({audioId.type()});
|
||||||
}
|
}
|
||||||
|
|
||||||
void Instance::playPause(const AudioMsgId &audioId) {
|
void Instance::playPause(const AudioMsgId &audioId) {
|
||||||
|
@ -507,6 +523,7 @@ void Instance::stop(AudioMsgId::Type type) {
|
||||||
clearStreamed(data);
|
clearStreamed(data);
|
||||||
}
|
}
|
||||||
data->resumeOnCallEnd = false;
|
data->resumeOnCallEnd = false;
|
||||||
|
_playerStopped.fire_copy({type});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -148,16 +148,13 @@ public:
|
||||||
|
|
||||||
rpl::producer<> playlistChanges(AudioMsgId::Type type) const;
|
rpl::producer<> playlistChanges(AudioMsgId::Type type) const;
|
||||||
|
|
||||||
void playerWidgetToggledNotify(bool toggled) {
|
|
||||||
_playerWidgetToggled.fire_copy({toggled});
|
|
||||||
}
|
|
||||||
rpl::producer<bool> playerWidgetToggled() const {
|
|
||||||
return _playerWidgetToggled.events();
|
|
||||||
}
|
|
||||||
rpl::producer<TrackState> updatedNotifier() const {
|
rpl::producer<TrackState> updatedNotifier() const {
|
||||||
return _updatedNotifier.events();
|
return _updatedNotifier.events();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpl::producer<> stops(AudioMsgId::Type type) const;
|
||||||
|
rpl::producer<> startsPlay(AudioMsgId::Type type) const;
|
||||||
|
|
||||||
bool pauseGifByRoundVideo() const;
|
bool pauseGifByRoundVideo() const;
|
||||||
|
|
||||||
void documentLoadProgress(DocumentData *document);
|
void documentLoadProgress(DocumentData *document);
|
||||||
|
@ -268,7 +265,8 @@ private:
|
||||||
base::Observable<AudioMsgId::Type> _trackChangedNotifier;
|
base::Observable<AudioMsgId::Type> _trackChangedNotifier;
|
||||||
base::Observable<AudioMsgId::Type> _repeatChangedNotifier;
|
base::Observable<AudioMsgId::Type> _repeatChangedNotifier;
|
||||||
|
|
||||||
rpl::event_stream<bool> _playerWidgetToggled;
|
rpl::event_stream<AudioMsgId::Type> _playerStopped;
|
||||||
|
rpl::event_stream<AudioMsgId::Type> _playerStartedPlay;
|
||||||
rpl::event_stream<TrackState> _updatedNotifier;
|
rpl::event_stream<TrackState> _updatedNotifier;
|
||||||
rpl::lifetime _lifetime;
|
rpl::lifetime _lifetime;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue