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 "PlayerWinamp.h"
|
||||||
#include "PlayerWMP.h"
|
#include "PlayerWMP.h"
|
||||||
|
|
||||||
static CPlayer* g_AIMP = NULL;
|
CPlayer* g_AIMP = NULL;
|
||||||
static CPlayer* g_Foobar = NULL;
|
CPlayer* g_Foobar = NULL;
|
||||||
static CPlayer* g_iTunes = NULL;
|
CPlayer* g_iTunes = NULL;
|
||||||
static CPlayer* g_Spotify = NULL;
|
CPlayer* g_Spotify = NULL;
|
||||||
static CPlayer* g_Winamp = NULL;
|
CPlayer* g_Winamp = NULL;
|
||||||
static CPlayer* g_WMP = NULL;
|
CPlayer* g_WMP = NULL;
|
||||||
|
|
||||||
static MeasureMap g_Values;
|
static MeasureMap g_Values;
|
||||||
static bool g_DisableLeazingZero = false;
|
static bool g_DisableLeazingZero = false;
|
||||||
@ -99,9 +99,11 @@ UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id)
|
|||||||
|
|
||||||
if (!data->player)
|
if (!data->player)
|
||||||
{
|
{
|
||||||
std::wstring error = L"NowPlayingPlugin: The referenced measure PlayerName=";
|
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
||||||
error += str;
|
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());
|
LSLog(LOG_WARNING, L"Rainmeter", error.c_str());
|
||||||
return maxValue;
|
return maxValue;
|
||||||
}
|
}
|
||||||
@ -164,9 +166,9 @@ UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id)
|
|||||||
{
|
{
|
||||||
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
std::wstring error = L"NowPlayingPlugin: PlayerName=";
|
||||||
error += str;
|
error += str;
|
||||||
error += L" is not valid in section [";
|
error += L" in section [";
|
||||||
error += section;
|
error += section;
|
||||||
error += L"].";
|
error += L"] is not valid.";
|
||||||
LSLog(LOG_ERROR, L"Rainmeter", error.c_str());
|
LSLog(LOG_ERROR, L"Rainmeter", error.c_str());
|
||||||
delete data;
|
delete data;
|
||||||
return maxValue;
|
return maxValue;
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#include "PlayerAIMP.h"
|
#include "PlayerAIMP.h"
|
||||||
|
|
||||||
|
extern CPlayer* g_AIMP;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CPlayerAIMP
|
** CPlayerAIMP
|
||||||
**
|
**
|
||||||
@ -72,6 +74,7 @@ void CPlayerAIMP::RemoveInstance()
|
|||||||
{
|
{
|
||||||
if (--m_InstanceCount == 0)
|
if (--m_InstanceCount == 0)
|
||||||
{
|
{
|
||||||
|
g_AIMP = NULL;
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -199,6 +202,16 @@ void CPlayerAIMP::UpdateData()
|
|||||||
stringData += info->nArtistLen;
|
stringData += info->nArtistLen;
|
||||||
stringData += info->nDateLen;
|
stringData += info->nDateLen;
|
||||||
std::wstring filepath(stringData, info->nFileNameLen);
|
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)
|
if (filepath != m_FilePath)
|
||||||
{
|
{
|
||||||
m_FilePath = filepath;
|
m_FilePath = filepath;
|
||||||
@ -235,18 +248,6 @@ void CPlayerAIMP::UpdateData()
|
|||||||
m_CoverPath.clear();
|
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 "StdAfx.h"
|
||||||
#include "PlayerFoobar.h"
|
#include "PlayerFoobar.h"
|
||||||
|
|
||||||
|
extern CPlayer* g_Foobar;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CPlayerFoobar
|
** CPlayerFoobar
|
||||||
**
|
**
|
||||||
@ -70,6 +72,7 @@ void CPlayerFoobar::RemoveInstance()
|
|||||||
{
|
{
|
||||||
if (--m_InstanceCount == 0)
|
if (--m_InstanceCount == 0)
|
||||||
{
|
{
|
||||||
|
g_Foobar = NULL;
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#include "PlayerITunes.h"
|
#include "PlayerITunes.h"
|
||||||
|
|
||||||
extern std::wstring g_CachePath;
|
extern CPlayer* g_iTunes;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CEventHandler
|
** CEventHandler
|
||||||
@ -166,6 +166,7 @@ void CPlayerITunes::RemoveInstance()
|
|||||||
{
|
{
|
||||||
if (--m_InstanceCount == 0)
|
if (--m_InstanceCount == 0)
|
||||||
{
|
{
|
||||||
|
g_iTunes = NULL;
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#include "PlayerSpotify.h"
|
#include "PlayerSpotify.h"
|
||||||
|
|
||||||
|
extern CPlayer* g_Spotify;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CPlayerSpotify
|
** CPlayerSpotify
|
||||||
**
|
**
|
||||||
@ -62,6 +64,7 @@ void CPlayerSpotify::RemoveInstance()
|
|||||||
{
|
{
|
||||||
if (--m_InstanceCount == 0)
|
if (--m_InstanceCount == 0)
|
||||||
{
|
{
|
||||||
|
g_Spotify = NULL;
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#include "PlayerWMP.h"
|
#include "PlayerWMP.h"
|
||||||
|
|
||||||
|
extern CPlayer* g_WMP;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CRemoteHost
|
** CRemoteHost
|
||||||
**
|
**
|
||||||
@ -198,6 +200,7 @@ void CPlayerWMP::RemoveInstance()
|
|||||||
{
|
{
|
||||||
if (--m_InstanceCount == 0)
|
if (--m_InstanceCount == 0)
|
||||||
{
|
{
|
||||||
|
g_WMP = NULL;
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#include "PlayerWinamp.h"
|
#include "PlayerWinamp.h"
|
||||||
|
|
||||||
|
extern CPlayer* g_Winamp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CPlayerWinamp
|
** CPlayerWinamp
|
||||||
**
|
**
|
||||||
@ -55,6 +57,7 @@ void CPlayerWinamp::AddInstance(MEASURETYPE type)
|
|||||||
|
|
||||||
if (type == MEASURE_COVER)
|
if (type == MEASURE_COVER)
|
||||||
{
|
{
|
||||||
|
g_Winamp = NULL;
|
||||||
m_HasCoverMeasure = true;
|
m_HasCoverMeasure = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user