commit c24e6c76d4f74afda17513146066fd3727f2fc7a
parent f35d1451ac8cfe06110d1da84718ba50f3ddde5e
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Mon, 3 May 2010 13:01:03 -0400
WIP: Getting Wave Working in nio
Restricting API, to allow for the WaveEngine to be a special case
Diffstat:
4 files changed, 16 insertions(+), 33 deletions(-)
diff --git a/src/Misc/Recorder.cpp b/src/Misc/Recorder.cpp
@@ -63,8 +63,8 @@ void Recorder::stop()
{
if(wave)
{
- sysOut->remove(wave);
- wave->Stop();
+ //sysOut->remove(wave);
+ //wave->Stop();
delete wave;
wave = NULL; //is this even needed?
}
@@ -74,8 +74,8 @@ void Recorder::stop()
void Recorder::pause()
{
status = 0;
- wave->Stop();
- sysOut->remove(wave);
+ //wave->Stop();
+ //sysOut->remove(wave);
}
int Recorder::recording()
@@ -90,8 +90,8 @@ void Recorder::triggernow()
{
if(status == 2) {
if(notetrigger!=1) {
- wave->openAudio();
- sysOut->add(wave);
+ //wave->openAudio();
+ //sysOut->add(wave);
}
notetrigger = 1;
}
diff --git a/src/Nio/AudioOut.h b/src/Nio/AudioOut.h
@@ -33,9 +33,6 @@ class AudioOut : public virtual Engine
AudioOut(class OutMgr *out);
virtual ~AudioOut();
- /**Give the Driver Samples to process*/
- //virtual void out(Stereo<Sample> smps);
-
/**Sets the Sample Rate of this Output
* (used for getNext()).*/
void setSamplerate(int _samplerate);
diff --git a/src/Nio/InMgr.h b/src/Nio/InMgr.h
@@ -2,9 +2,7 @@
#define INMGR_H
#include <string>
-#include <pthread.h>
#include <semaphore.h>
-#include "../Misc/Atomic.h"
#include "SafeQueue.h"
enum midi_type{
diff --git a/src/Nio/OutMgr.h b/src/Nio/OutMgr.h
@@ -3,16 +3,14 @@
#include "../globals.h"
#include "../Misc/Stereo.h"
-#include "../Misc/Atomic.h"
-#include "../Samples/Sample.h"
+#include "../Samples/Sample.h" //deprecated
#include <list>
-#include <map>
#include <string>
-#include <pthread.h>
#include <semaphore.h>
class AudioOut;
+class WavEngine;
class Master;
class OutMgr
{
@@ -20,11 +18,6 @@ class OutMgr
OutMgr(Master *nmaster);
~OutMgr();
- /**Adds audio output out.*/
- void add(AudioOut *out){};
- /**Removes given audio output engine*/
- void remove(AudioOut *out){};
-
/**Execute a tick*/
const Stereo<REALTYPE *> tick(unsigned int frameSize);
@@ -40,6 +33,7 @@ class OutMgr
AudioOut *getOut(std::string name);
/**Gets the name of the first running driver
+ * Deprecated
* @return if no running output, "" is returned
*/
std::string getDriver() const;
@@ -51,28 +45,22 @@ class OutMgr
std::string getSink() const;
private:
void addSmps(REALTYPE *l, REALTYPE *r);
- int storedSmps() const {return priBuffCurrent.l() - priBuf.l();};
+ int storedSmps() const {return priBuffCurrent.l() - priBuf.l();};
void makeStale(unsigned int size);
void removeStaleSmps();
- //should hold outputs here that exist for the life of the OutMgr
+
AudioOut *defaultOut;/**<The default output*/
- AudioOut *currentOut;
+ AudioOut *currentOut;/**<The current output driver*/
- //should hold short lived, externally controlled Outputs (eg WavEngine)
- //[needs mutex]
- //std::list<AudioOut *> unmanagedOuts;
- //mutable pthread_mutex_t mutex;
+ WavEngine *wave; /**<The Wave Recorder*/
sem_t requested;
- //information on current active primary driver
- //sample rate
- //frame size
-
/**Buffer*/
- Stereo<REALTYPE *> priBuf; //buffer for primary drivers
+ Stereo<REALTYPE *> priBuf; //buffer for primary drivers
Stereo<REALTYPE *> priBuffCurrent; //current array accessor
- Stereo<Sample> smps;
+ Stereo<Sample> smps; /**Deprecated TODO Remove*/
+
REALTYPE *outl;
REALTYPE *outr;
Master *master;