File dream-portaudio.patch of Package dream
diff --git a/dream/src/GUI-QT/DialogUtil.cpp b/dream/src/GUI-QT/DialogUtil.cpp
index 5d1fb3f..6e11939 100644
--- a/dream/src/GUI-QT/DialogUtil.cpp
+++ b/dream/src/GUI-QT/DialogUtil.cpp
@@ -69,6 +69,7 @@
# include <alsa/version.h>
#endif
#ifdef USE_PORTAUDIO
+# include <portaudio.h>
#endif
#ifdef USE_PULSEAUDIO
# include <pulse/pulseaudio.h>
diff --git a/dream/src/sound/drm_portaudio.cpp b/dream/src/sound/drm_portaudio.cpp
index 94b1e73..fbe6cc1 100644
--- a/dream/src/sound/drm_portaudio.cpp
+++ b/dream/src/sound/drm_portaudio.cpp
@@ -29,6 +29,7 @@
#include "drm_portaudio.h"
#include <iostream>
#include <cstring>
+#include <string>
/* This routine will be called by the PortAudio engine when audio is needed.
* It may called at interrupt level on some machines so don't do anything
@@ -79,11 +80,11 @@ CPaCommon::CPaCommon(bool cap):ringBuffer(),xruns(0),stream(nullptr),
int
err = Pa_Initialize();
if (err != paNoError)
- throw string("PortAudio error: ") + Pa_GetErrorText(err);
+ throw std::string("PortAudio error: ") + Pa_GetErrorText(err);
}
pa_count++;
- vector < string > choices;
- vector < string > descriptions;
+ std::vector < std::string > choices;
+ std::vector < std::string > descriptions;
Enumerate(choices, descriptions);
}
@@ -98,14 +99,14 @@ CPaCommon::~CPaCommon()
{
int err = Pa_Terminate();
if (err != paNoError)
- throw string("PortAudio error: ") + Pa_GetErrorText(err);
+ throw std::string("PortAudio error: ") + Pa_GetErrorText(err);
}
}
void
-CPaCommon::Enumerate(vector < string > &choices, vector < string > &descriptions)
+CPaCommon::Enumerate(std::vector < std::string > &choices, std::vector < std::string > &descriptions)
{
- vector < string > tmp;
+ std::vector < std::string > tmp;
names.clear();
descriptions.clear();
@@ -114,7 +115,7 @@ CPaCommon::Enumerate(vector < string > &choices, vector < string > &descriptions
int numDevices = Pa_GetDeviceCount();
if (numDevices < 0)
- throw string("PortAudio error: ") + Pa_GetErrorText(numDevices);
+ throw std::string("PortAudio error: ") + Pa_GetErrorText(numDevices);
PaHostApiIndex nApis = Pa_GetHostApiCount();
for (int i = 0; i < numDevices; i++)
@@ -123,12 +124,12 @@ CPaCommon::Enumerate(vector < string > &choices, vector < string > &descriptions
if (( is_capture && deviceInfo->maxInputChannels > 1)
|| ( (!is_capture) && deviceInfo->maxOutputChannels > 1))
{
- string api="";
+ std::string api="";
if (nApis>1)
{
const PaHostApiInfo* info = Pa_GetHostApiInfo(deviceInfo->hostApi);
if (info)
- api = string(info->name)+":";
+ api = std::string(info->name)+":";
}
names.push_back(api+deviceInfo->name);
devices.push_back(i);
@@ -138,7 +139,7 @@ CPaCommon::Enumerate(vector < string > &choices, vector < string > &descriptions
}
void
-CPaCommon::SetDev(string sNewDevice)
+CPaCommon::SetDev(std::string sNewDevice)
{
if (dev != sNewDevice)
{
@@ -147,7 +148,7 @@ CPaCommon::SetDev(string sNewDevice)
}
}
-string
+std::string
CPaCommon::GetDev()
{
return dev;
@@ -178,19 +179,19 @@ CPaCommon::Init(int iSampleRate, int iNewBufferSize, bool bNewBlocking)
{
const PaStreamInfo* info = Pa_GetStreamInfo( stream );
if (is_capture)
- cout << "init capture ";
+ std::cout << "init capture ";
else
- cout << "init play ";
- cout << iNewBufferSize;
+ std::cout << "init play ";
+ std::cout << iNewBufferSize;
if (info)
- cout << " latency " << info->outputLatency;
+ std::cout << " latency " << info->outputLatency;
else
- cout << " can't read latency";
- cout << endl;
+ std::cout << " can't read latency";
+ std::cout << std::endl;
}
else
{
- cerr << "portaudio can't open stream" << endl;
+ std::cerr << "portaudio can't open stream" << std::endl;
//throw "portaudio open error";
}
@@ -228,7 +229,7 @@ CPaCommon::ReInit()
}
else
{
- cout << "opening " << names[unsigned(idev)] << endl;
+ std::cout << "opening " << names[unsigned(idev)] << std::endl;
pParameters.device = devices[unsigned(idev)];
}
@@ -298,13 +299,13 @@ CPaCommon::Close()
int err = Pa_AbortStream(stream);
if (err != paNoError)
{
- cout << "PortAudio error: " << Pa_GetErrorText(err) << endl;
+ std::cout << "PortAudio error: " << Pa_GetErrorText(err) << std::endl;
}
err = Pa_CloseStream(stream);
if (err != paNoError)
{
- cout << "PortAudio error: " << Pa_GetErrorText(err) << endl;
+ std::cout << "PortAudio error: " << Pa_GetErrorText(err) << std::endl;
}
stream = nullptr;
@@ -333,7 +334,7 @@ CPaCommon::Read(CVector < short >&psData)
if (xruns==0)
return false;
else
- cout << "overrun" << endl;
+ std::cout << "overrun" << std::endl;
xruns = 0;
return true;
}
@@ -364,7 +365,7 @@ CPaCommon::Write(CVector < short >&psData)
if (xruns==0)
return false;
else
- cout << "underrun" << endl;
+ std::cout << "underrun" << std::endl;
xruns = 0;
return true;
}
@@ -394,7 +395,7 @@ void
CPaIn::Close()
{
hw.Close();
- cout << "capture close" << endl;
+ std::cout << "capture close" << std::endl;
}
CPaOut::CPaOut():hw(false)
@@ -422,5 +423,5 @@ void
CPaOut::Close()
{
hw.Close();
- cout << "play close" << endl;
+ std::cout << "play close" << std::endl;
}
diff --git a/dream/src/sound/drm_portaudio.h b/dream/src/sound/drm_portaudio.h
index df7bd3e..79ba8e1 100644
--- a/dream/src/sound/drm_portaudio.h
+++ b/dream/src/sound/drm_portaudio.h
@@ -32,6 +32,7 @@
#include "../sound/soundinterface.h"
#include <portaudio.h>
#include "pa_ringbuffer.h"
+#include <string>
class CPaCommon: public CSelectionInterface
{
@@ -39,7 +40,7 @@ public:
CPaCommon(bool);
virtual ~CPaCommon();
- virtual void Enumerate(std::vector<string>& names, std::vector<string>& descriptions);
+ virtual void Enumerate(std::vector<std::string>& names, std::vector<std::string>& descriptions);
virtual void SetDev(std::string sNewDevice);
virtual std::string GetDev();
@@ -55,7 +56,7 @@ public:
protected:
PaStream *stream;
- std::vector<string> names;
+ std::vector<std::string> names;
std::vector<PaDeviceIndex> devices;
std::string dev;
bool is_capture,blocking,device_changed,xrun;
@@ -72,7 +73,7 @@ class CPaIn: public CSoundInInterface
public:
CPaIn();
virtual ~CPaIn();
- virtual void Enumerate(std::vector<string>& names, std::vector<string>& descriptions)
+ virtual void Enumerate(std::vector<std::string>& names, std::vector<std::string>& descriptions)
{
hw.Enumerate(names, descriptions);
}
@@ -103,7 +104,7 @@ class CPaOut: public CSoundOutInterface
public:
CPaOut();
virtual ~CPaOut();
- virtual void Enumerate(std::vector<string>& names, std::vector<string>& descriptions)
+ virtual void Enumerate(std::vector<std::string>& names, std::vector<std::string>& descriptions)
{
hw.Enumerate(names, descriptions);
}