mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Installer: Now removes %TEMP%\Rainmeter-Cache on uninstall.
NowPlayingPlugin: Fixed crash on refresh when the plugin is used in multiple skins with different players.
This commit is contained in:
parent
3ba7d39bc4
commit
7dd3bb1ed4
@ -26,12 +26,12 @@
|
||||
#include "PlayerWinamp.h"
|
||||
#include "PlayerWMP.h"
|
||||
|
||||
static CPlayer* g_AIMP = NULL;
|
||||
static CPlayer* g_Foobar = NULL;
|
||||
static CPlayer* g_iTunes = NULL;
|
||||
static CPlayer* g_Spotify = NULL;
|
||||
static CPlayer* g_Winamp = NULL;
|
||||
static CPlayer* g_WMP = NULL;
|
||||
CPlayer* g_AIMP = NULL;
|
||||
CPlayer* g_Foobar = NULL;
|
||||
CPlayer* g_iTunes = NULL;
|
||||
CPlayer* g_Spotify = NULL;
|
||||
CPlayer* g_Winamp = NULL;
|
||||
CPlayer* g_WMP = NULL;
|
||||
|
||||
static MeasureMap g_Values;
|
||||
static bool g_DisableLeazingZero = false;
|
||||
@ -99,9 +99,11 @@ UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id)
|
||||
|
||||
if (!data->player)
|
||||
{
|
||||
std::wstring error = L"NowPlayingPlugin: The referenced measure PlayerName=";
|
||||
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
||||
error += str;
|
||||
error += L" does not exist.";
|
||||
error += L" in section [";
|
||||
error += section;
|
||||
error += L"] does not exist.";
|
||||
LSLog(LOG_WARNING, L"Rainmeter", error.c_str());
|
||||
return maxValue;
|
||||
}
|
||||
@ -164,9 +166,9 @@ UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id)
|
||||
{
|
||||
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
||||
error += str;
|
||||
error += L" is not valid in section [";
|
||||
error += L" in section [";
|
||||
error += section;
|
||||
error += L"].";
|
||||
error += L"] is not valid.";
|
||||
LSLog(LOG_ERROR, L"Rainmeter", error.c_str());
|
||||
delete data;
|
||||
return maxValue;
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "StdAfx.h"
|
||||
#include "PlayerAIMP.h"
|
||||
|
||||
extern CPlayer* g_AIMP;
|
||||
|
||||
/*
|
||||
** CPlayerAIMP
|
||||
**
|
||||
@ -72,6 +74,7 @@ void CPlayerAIMP::RemoveInstance()
|
||||
{
|
||||
if (--m_InstanceCount == 0)
|
||||
{
|
||||
g_AIMP = NULL;
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
@ -199,6 +202,16 @@ void CPlayerAIMP::UpdateData()
|
||||
stringData += info->nArtistLen;
|
||||
stringData += info->nDateLen;
|
||||
std::wstring filepath(stringData, info->nFileNameLen);
|
||||
|
||||
stringData += info->nFileNameLen;
|
||||
stringData += info->nGenreLen;
|
||||
m_Title.assign(stringData, info->nTitleLen);
|
||||
|
||||
m_Duration = info->nDuration / 1000;
|
||||
|
||||
// Get rating through the AIMP Winamp API
|
||||
m_Rating = SendMessage(m_WinampWindow, WM_WA_IPC, 0, IPC_GETRATING);
|
||||
|
||||
if (filepath != m_FilePath)
|
||||
{
|
||||
m_FilePath = filepath;
|
||||
@ -235,18 +248,6 @@ void CPlayerAIMP::UpdateData()
|
||||
m_CoverPath.clear();
|
||||
}
|
||||
}
|
||||
|
||||
stringData += info->nFileNameLen;
|
||||
stringData += info->nGenreLen;
|
||||
m_Title.assign(stringData, info->nTitleLen);
|
||||
|
||||
m_Duration = info->nDuration / 1000;
|
||||
|
||||
if (m_WinampWindow)
|
||||
{
|
||||
// Get the rating through the AIMP Winamp API
|
||||
m_Rating = SendMessage(m_WinampWindow, WM_WA_IPC, 0, IPC_GETRATING);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "StdAfx.h"
|
||||
#include "PlayerFoobar.h"
|
||||
|
||||
extern CPlayer* g_Foobar;
|
||||
|
||||
/*
|
||||
** CPlayerFoobar
|
||||
**
|
||||
@ -70,6 +72,7 @@ void CPlayerFoobar::RemoveInstance()
|
||||
{
|
||||
if (--m_InstanceCount == 0)
|
||||
{
|
||||
g_Foobar = NULL;
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include "StdAfx.h"
|
||||
#include "PlayerITunes.h"
|
||||
|
||||
extern std::wstring g_CachePath;
|
||||
extern CPlayer* g_iTunes;
|
||||
|
||||
/*
|
||||
** CEventHandler
|
||||
@ -166,6 +166,7 @@ void CPlayerITunes::RemoveInstance()
|
||||
{
|
||||
if (--m_InstanceCount == 0)
|
||||
{
|
||||
g_iTunes = NULL;
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "StdAfx.h"
|
||||
#include "PlayerSpotify.h"
|
||||
|
||||
extern CPlayer* g_Spotify;
|
||||
|
||||
/*
|
||||
** CPlayerSpotify
|
||||
**
|
||||
@ -62,6 +64,7 @@ void CPlayerSpotify::RemoveInstance()
|
||||
{
|
||||
if (--m_InstanceCount == 0)
|
||||
{
|
||||
g_Spotify = NULL;
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "StdAfx.h"
|
||||
#include "PlayerWMP.h"
|
||||
|
||||
extern CPlayer* g_WMP;
|
||||
|
||||
/*
|
||||
** CRemoteHost
|
||||
**
|
||||
@ -198,6 +200,7 @@ void CPlayerWMP::RemoveInstance()
|
||||
{
|
||||
if (--m_InstanceCount == 0)
|
||||
{
|
||||
g_WMP = NULL;
|
||||
delete this;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "StdAfx.h"
|
||||
#include "PlayerWinamp.h"
|
||||
|
||||
extern CPlayer* g_Winamp;
|
||||
|
||||
/*
|
||||
** CPlayerWinamp
|
||||
**
|
||||
@ -55,6 +57,7 @@ void CPlayerWinamp::AddInstance(MEASURETYPE type)
|
||||
|
||||
if (type == MEASURE_COVER)
|
||||
{
|
||||
g_Winamp = NULL;
|
||||
m_HasCoverMeasure = true;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user