Introduce CMediaSessionPlaybackState and CMediaSessionActionType

This commit is contained in:
Fernando Jimenez Moreno 2019-12-02 16:40:37 +01:00
parent d5200ba453
commit b01e3fdc7e
10 changed files with 71 additions and 41 deletions

View file

@ -7,7 +7,6 @@
#include "BrowserPage.h"
#include "BrowserPage.g.cpp"
#include "DefaultUrl.h"
#include "MediaSession.h"
using namespace std::placeholders;
using namespace winrt::Windows::Foundation;

View file

@ -1,21 +0,0 @@
#pragma once
namespace winrt::servo {
enum PlaybackState {
NONE = 1,
PLAYING,
PAUSED
};
enum MediaSessionAction {
PLAY = 1,
PAUSE,
SEEK_BACKWARD,
SEEK_FORWARD,
PREVIOUS_TRACK,
NEXT_TRACK,
SKIP_AD,
STOP,
SEEK_TO
};
}

View file

@ -122,7 +122,6 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="logs.h" />
<ClInclude Include="MediaSession.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="App.h">
<DependentUpon>App.xaml</DependentUpon>

View file

@ -40,9 +40,6 @@
</ClInclude>
<ClInclude Include="DefaultUrl.h" />
<ClInclude Include="XRPkgChecker.h" />
<ClInclude Include="MediaSession.h">
<Filter>ServoControl</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="Assets\Wide310x150Logo.scale-200.png">

View file

@ -62,7 +62,8 @@ void on_media_session_metadata(const char *title, const char *album,
char2hstring(title), char2hstring(album), char2hstring(artist));
}
void on_media_session_playback_state_change(const int state) {
void on_media_session_playback_state_change(
const capi::CMediaSessionPlaybackState state) {
return sServo->Delegate().OnServoMediaSessionPlaybackStateChange(state);
}

View file

@ -50,6 +50,8 @@ public:
ServoDelegate &Delegate() { return mDelegate; }
typedef capi::CMouseButton MouseButton;
typedef capi::CMediaSessionActionType MediaSessionActionType;
typedef capi::CMediaSessionPlaybackState MediaSessionPlaybackState;
void PerformUpdates() { capi::perform_updates(); }
void DeInit() { capi::deinit(); }
@ -88,7 +90,7 @@ public:
capi::resize(mWindowWidth, mWindowHeight);
}
}
void SendMediaSessionAction(int32_t action) {
void SendMediaSessionAction(capi::CMediaSessionActionType action) {
capi::media_session_action(action);
}

View file

@ -272,7 +272,10 @@ hstring ServoControl::LoadURIOrSearch(hstring input) {
}
void ServoControl::SendMediaSessionAction(int32_t action) {
RunOnGLThread([=] { mServo->SendMediaSessionAction(action); });
RunOnGLThread([=] {
mServo->SendMediaSessionAction(
static_cast<Servo::MediaSessionActionType>(action));
});
}
void ServoControl::TryLoadUri(hstring input) {

View file

@ -3,7 +3,6 @@
#include "OpenGLES.h"
#include "Servo.h"
#include "DefaultUrl.h"
#include "MediaSession.h"
namespace winrt::ServoApp::implementation {
struct ServoControl : ServoControlT<ServoControl>, public servo::ServoDelegate {