72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// Plainamp, Open source Winamp core
|
|
//
|
|
// Copyright © 2005 Sebastian Pipping <webmaster@hartwork.org>
|
|
//
|
|
// --> http://www.hartwork.org
|
|
//
|
|
// This source code is released under the GNU General Public License (GPL).
|
|
// See GPL.txt for details. Any non-GPL usage is strictly forbidden.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#ifndef PA_VIS_MODULE_H
|
|
#define PA_VIS_MODULE_H
|
|
|
|
|
|
|
|
#include "Global.h"
|
|
#include "VisPlugin.h"
|
|
#include <Process.h>
|
|
|
|
|
|
|
|
class VisModule;
|
|
class VisPlugin;
|
|
|
|
extern VisModule ** active_vis_mods;
|
|
extern int active_vis_count;
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Winamp visualization module wrapper
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
class VisModule
|
|
{
|
|
public:
|
|
VisModule( char * szName, int iIndex, winampVisModule * mod, VisPlugin * plugin );
|
|
|
|
bool Start();
|
|
bool Config();
|
|
bool Stop();
|
|
|
|
inline bool IsActive() { return bActive; }
|
|
|
|
inline TCHAR * GetName() { return szName; }
|
|
inline int GetNameLen() { return iNameLen; }
|
|
|
|
private:
|
|
int iArrayIndex;
|
|
bool bActive;
|
|
bool bShouldQuit;
|
|
bool bAllowRender;
|
|
|
|
TCHAR * szName;
|
|
int iNameLen;
|
|
|
|
int iIndex;
|
|
winampVisModule * mod;
|
|
VisPlugin * plugin;
|
|
|
|
|
|
friend void PlugThread( PVOID pvoid );
|
|
friend void VSAAdd( void * data, int timestamp );
|
|
friend void VSAAddPCMData( void * PCMData, int nch, int bps, int timestamp );
|
|
friend int VSAGetMode( int * specNch, int * waveNch );
|
|
};
|
|
|
|
|
|
|
|
#endif // PA_VIS_MODULE_H
|