// SndPipe.h: Schnittstelle f�r die Klasse CSndPipe. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SNDPIPE_H__8570FCEC_4C9F_4E14_ACCA_6B1559855881__INCLUDED_) #define AFX_SNDPIPE_H__8570FCEC_4C9F_4E14_ACCA_6B1559855881__INCLUDED_ #ifdef HAVE_CONFIG_H #include "config.h" #endif #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #ifdef WIN32 #include <monitord/win32/MonitorAudioWin32.h> #else #ifdef HAVE_LIBASOUND #include <monitord/posix/MonitorAudioALSA.h> #else #include <monitord/posix/MonitorAudioOSS.h> #endif #endif //#include <Sound/SoundOut.h> //#include <Sound/SoundFile.h> #include "MonitorAudio.h" #include "MonitorModules.h" #include "plugins/mpluginAudio.h" #include "SocketServer.h" #include "xmltools.h" #define MAXPLUGINS 10 class MonitorAudioPlugIn ; class CSndPipe { public: void ProcessBuffer(CAudioBuffer* buffer); CSndPipe(); virtual ~CSndPipe(); static void DataFromSoundIn(CAudioBuffer* buffer, void* Owner); int m_cardNum ; bool initDecoderModules(int cardnum,MonitorConfiguration* pConfig) ; std::string PluginCommand(int channel,std::string command,SocketThread* pThread=NULL) ; #ifdef PLUGINS MonitorAudioPlugIn* m_pluginsLeft[MAXPLUGINS] ; MonitorAudioPlugIn* m_pluginsRight[MAXPLUGINS] ; bool loadPlugins(MonitorConfiguration* pConfig, XMLNode configLeft,XMLNode configRight) ; //< Alle Plugins einer Soundkarte laden bool loadPlugins(MonitorConfiguration* pConfig, XMLNode config,MonitorAudioPlugIn* plugins[],int channelNum) ; //< Alle Plugins eines Kanals laden bool loadPlugin(MonitorConfiguration* pConfig, std::string dllfile,XMLNode config, MonitorAudioPlugIn* plugins[],int channelNum) ; //< einzelnes Plugin laden #endif #ifdef WIN32 /* bisheriger Code unter Sound */ MonitorAudioWin32 m_SoundIn; #else /* WIN32 */ #ifdef HAVE_LIBASOUND MonitorAudioALSA m_SoundIn; #else /* HAVE_LIBASOUND */ MonitorAudioOSS m_SoundIn; #endif /* HAVE_LIBASOUND */ #endif /* WIN32 */ MonitorModuleArray m_ModulesLinks ; MonitorModuleArray m_ModulesRechts ; }; #endif // !defined(AFX_SNDPIPE_H__8570FCEC_4C9F_4E14_ACCA_6B1559855881__INCLUDED_)