mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
NowPlayingPlugin: Fixed PlayPause issue with MusicBee.
This commit is contained in:
parent
349ad952ad
commit
a74ee23da3
@ -154,12 +154,6 @@ UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (_wcsicmp(L"MusicBee", str) == 0)
|
|
||||||
{
|
|
||||||
// TODO: Remove this in a few weeks (left here for MusicBee backwards compatibility)
|
|
||||||
MessageBox(NULL, L"Due to some internal changes in the NowPlaying plugin, PlayerName=MusicBee is not valid any longer.\n\nPlease edit the skin and change to PlayerName=CAD to continue use with MusicBee.", L"NowPlaying", MB_OK | MB_ICONINFORMATION | MB_TOPMOST);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
||||||
error += str;
|
error += str;
|
||||||
error += L" in section [";
|
error += L" in section [";
|
||||||
@ -301,7 +295,6 @@ void Finalize(HMODULE instance, UINT id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
** Update
|
** Update
|
||||||
**
|
**
|
||||||
** Called on each update.
|
** Called on each update.
|
||||||
|
@ -76,12 +76,12 @@ void CPlayer::AddInstance()
|
|||||||
*/
|
*/
|
||||||
void CPlayer::RemoveInstance()
|
void CPlayer::RemoveInstance()
|
||||||
{
|
{
|
||||||
|
m_UpdateCount = 0;
|
||||||
|
|
||||||
if (--m_InstanceCount == 0)
|
if (--m_InstanceCount == 0)
|
||||||
{
|
{
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_UpdateCount = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -34,7 +34,8 @@ extern std::wstring g_SettingsFile;
|
|||||||
*/
|
*/
|
||||||
CPlayerCAD::CPlayerCAD() : CPlayer(),
|
CPlayerCAD::CPlayerCAD() : CPlayer(),
|
||||||
m_Window(),
|
m_Window(),
|
||||||
m_PlayerWindow()
|
m_PlayerWindow(),
|
||||||
|
m_ExtendedAPI(false)
|
||||||
{
|
{
|
||||||
Initialize();
|
Initialize();
|
||||||
}
|
}
|
||||||
@ -138,6 +139,12 @@ void CPlayerCAD::Initialize()
|
|||||||
LPCTSTR classSz = className.empty() ? NULL : className.c_str();
|
LPCTSTR classSz = className.empty() ? NULL : className.c_str();
|
||||||
LPCTSTR windowSz = windowName.empty() ? NULL : windowName.c_str();
|
LPCTSTR windowSz = windowName.empty() ? NULL : windowName.c_str();
|
||||||
|
|
||||||
|
if (windowName == L"VLC")
|
||||||
|
{
|
||||||
|
// Temporary workaround
|
||||||
|
m_ExtendedAPI = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (classSz || windowSz)
|
if (classSz || windowSz)
|
||||||
{
|
{
|
||||||
m_PlayerWindow = FindWindow(classSz, windowSz);
|
m_PlayerWindow = FindWindow(classSz, windowSz);
|
||||||
@ -339,6 +346,7 @@ LRESULT CALLBACK CPlayerCAD::WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
|
|||||||
if (player->m_PlayerWindow)
|
if (player->m_PlayerWindow)
|
||||||
{
|
{
|
||||||
player->m_Initialized = true;
|
player->m_Initialized = true;
|
||||||
|
player->m_ExtendedAPI = (windowName == L"VLC");
|
||||||
player->m_State = (PLAYSTATE)SendMessage(player->m_PlayerWindow, WM_USER, 0, IPC_GET_STATE);
|
player->m_State = (PLAYSTATE)SendMessage(player->m_PlayerWindow, WM_USER, 0, IPC_GET_STATE);
|
||||||
|
|
||||||
if (player->m_State != PLAYER_STOPPED)
|
if (player->m_State != PLAYER_STOPPED)
|
||||||
@ -379,7 +387,7 @@ void CPlayerCAD::UpdateData()
|
|||||||
*/
|
*/
|
||||||
void CPlayerCAD::Pause()
|
void CPlayerCAD::Pause()
|
||||||
{
|
{
|
||||||
SendMessage(m_PlayerWindow, WM_USER, 0, IPC_PAUSE);
|
SendMessage(m_PlayerWindow, WM_USER, 0, m_ExtendedAPI ? IPC_PAUSE : IPC_PLAYPAUSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -390,7 +398,7 @@ void CPlayerCAD::Pause()
|
|||||||
*/
|
*/
|
||||||
void CPlayerCAD::Play()
|
void CPlayerCAD::Play()
|
||||||
{
|
{
|
||||||
SendMessage(m_PlayerWindow, WM_USER, 0, IPC_PLAY);
|
SendMessage(m_PlayerWindow, WM_USER, 0, m_ExtendedAPI ? IPC_PLAY : IPC_PLAYPAUSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -57,6 +57,7 @@ private:
|
|||||||
HWND m_Window;
|
HWND m_Window;
|
||||||
HWND m_PlayerWindow;
|
HWND m_PlayerWindow;
|
||||||
std::wstring m_PlayerPath;
|
std::wstring m_PlayerPath;
|
||||||
|
bool m_ExtendedAPI;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -18,9 +18,9 @@ VS_VERSION_INFO VERSIONINFO
|
|||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS VS_FF_DEBUG
|
FILEFLAGS VS_FF_DEBUG
|
||||||
#else
|
#else
|
||||||
FILEFLAGS 0x0L
|
FILEFLAGS 0x0L
|
||||||
#endif
|
#endif
|
||||||
FILEOS VOS_NT_WINDOWS32
|
FILEOS VOS_NT_WINDOWS32
|
||||||
FILETYPE VFT_DLL
|
FILETYPE VFT_DLL
|
||||||
FILESUBTYPE VFT_UNKNOWN
|
FILESUBTYPE VFT_UNKNOWN
|
||||||
BEGIN
|
BEGIN
|
||||||
|
Loading…
x
Reference in New Issue
Block a user