portaudio V18 and V19 are supported now.

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1511 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Csaba Hruska
2008-08-27 18:51:43 +00:00
parent 9bcf42cca5
commit 3ce92c4f24
3 changed files with 114 additions and 17 deletions

View File

@@ -50,6 +50,12 @@ public:
#include "audio_device.h"
#if defined paNeverDropInput || defined paNonInterleaved
# define PORTAUDIO_V19
#else
# define PORTAUDIO_V18
#endif
class comboBox;
class lcdSpinBox;
@@ -94,15 +100,42 @@ private:
virtual void stopProcessing( void );
virtual void applyQualitySettings( void );
static int _process_callback( const void *_inputBuffer, void *_outputBuffer,
#ifdef PORTAUDIO_V19
static int _process_callback( const void *_inputBuffer, void * _outputBuffer,
unsigned long _framesPerBuffer,
const PaStreamCallbackTimeInfo* _timeInfo,
const PaStreamCallbackTimeInfo * _timeInfo,
PaStreamCallbackFlags _statusFlags,
void *arg );
#else
#define Pa_GetDeviceCount Pa_CountDevices
#define Pa_GetDefaultInputDevice Pa_GetDefaultInputDeviceID
#define Pa_GetDefaultOutputDevice Pa_GetDefaultOutputDeviceID
#define Pa_IsStreamActive Pa_StreamActive
static int _process_callback( void * _inputBuffer, void * _outputBuffer,
unsigned long _framesPerBuffer, PaTimestamp _outTime, void * _arg );
typedef double PaTime;
typedef PaDeviceID PaDeviceIndex;
typedef struct PaStreamParameters
{
PaDeviceIndex device;
int channelCount;
PaSampleFormat sampleFormat;
PaTime suggestedLatency;
void *hostApiSpecificStreamInfo;
} PaStreamParameters;
#endif
PaStream * m_paStream;
PaStreamParameters m_outputParameters;
PaStreamParameters m_inputParameters;
bool m_wasPAInitError;
surroundSampleFrame * m_outBuf;