56 lines
2.1 KiB
C++
56 lines
2.1 KiB
C++
/****************************************************************************
|
|
* *
|
|
* Project 64 - A Nintendo 64 emulator. *
|
|
* http://www.pj64-emu.com/ *
|
|
* Copyright (C) 2012 Project64. All rights reserved. *
|
|
* *
|
|
* License: *
|
|
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
|
|
* *
|
|
****************************************************************************/
|
|
#pragma once
|
|
|
|
class CAudioPlugin
|
|
{
|
|
public:
|
|
CAudioPlugin ( const char * FileName);
|
|
~CAudioPlugin ( void );
|
|
|
|
void DacrateChanged ( SystemType Type );
|
|
bool Initiate ( CN64System * System, CMainGui * RenderWindow );
|
|
void Close ( void );
|
|
void GameReset ( void );
|
|
void RomOpened ( void );
|
|
void RomClose ( void );
|
|
stdstr PluginName ( void ) const { return m_PluginInfo.Name; }
|
|
|
|
inline bool Initilized ( void ) const { return m_Initilized; }
|
|
|
|
void (__cdecl *LenChanged) ( void );
|
|
void (__cdecl *Config) ( DWORD hParent );
|
|
DWORD (__cdecl *ReadLength) ( void );
|
|
void (__cdecl *ProcessAList) ( void );
|
|
|
|
private:
|
|
void * m_hDll;
|
|
bool m_Initilized, m_RomOpen;
|
|
void * m_hAudioThread;
|
|
PLUGIN_INFO m_PluginInfo;
|
|
|
|
void Init ( const char * FileName );
|
|
void UnloadPlugin ( void );
|
|
|
|
void (__cdecl *CloseDLL) ( void );
|
|
void (__cdecl *RomOpen) ( void );
|
|
void (__cdecl *RomClosed) ( void );
|
|
void (__cdecl *Update) ( BOOL Wait );
|
|
void (__cdecl *m_DacrateChanged) ( SystemType Type );
|
|
void (__cdecl *PluginOpened) ( void );
|
|
void (__cdecl *SetSettingInfo) ( PLUGIN_SETTINGS * info );
|
|
void (__cdecl *SetSettingInfo2) ( PLUGIN_SETTINGS2 * info );
|
|
|
|
//Function used in a thread for using audio
|
|
static void AudioThread (CAudioPlugin * _this);
|
|
|
|
};
|