earliest playback

no sound, just terminal output
This commit is contained in:
tildearrow 2021-05-12 03:58:55 -05:00
parent 9d17655836
commit f810fc0c3c
15 changed files with 901 additions and 22 deletions

View file

@ -8,8 +8,9 @@ void TAAudio::setBufferSizeChangeCallback(void (*callback)(BufferSizeChangeEvent
bufferSizeChanged=callback;
}
void TAAudio::setCallback(void (*callback)(float**,float**,int,int,unsigned int)) {
void TAAudio::setCallback(void (*callback)(void*,float**,float**,int,int,unsigned int), void* user) {
audioProcCallback=callback;
audioProcCallbackUser=user;
}
void* TAAudio::getContext() {

View file

@ -33,7 +33,7 @@ void TAAudioJACK::onBufferSize(jack_nframes_t bufsize) {
void TAAudioJACK::onProcess(jack_nframes_t nframes) {
if (audioProcCallback!=NULL) {
audioProcCallback(inBufs,outBufs,desc.inChans,desc.outChans,desc.bufsize);
audioProcCallback(audioProcCallbackUser,inBufs,outBufs,desc.inChans,desc.outChans,desc.bufsize);
}
for (int i=0; i<desc.inChans; i++) {
iInBufs[i]=(float*)jack_port_get_buffer(ai[i],nframes);

View file

@ -8,7 +8,7 @@ void taSDLProcess(void* inst, unsigned char* buf, int nframes) {
void TAAudioSDL::onProcess(unsigned char* buf, int nframes) {
if (audioProcCallback!=NULL) {
audioProcCallback(inBufs,outBufs,desc.inChans,desc.outChans,desc.bufsize);
audioProcCallback(audioProcCallbackUser,inBufs,outBufs,desc.inChans,desc.outChans,desc.bufsize);
}
float* fbuf=(float*)buf;
for (size_t j=0; j<desc.bufsize; j++) {

View file

@ -52,14 +52,15 @@ class TAAudio {
bool running, initialized;
float** inBufs;
float** outBufs;
void (*audioProcCallback)(float**,float**,int,int,unsigned int);
void (*audioProcCallback)(void*,float**,float**,int,int,unsigned int);
void* audioProcCallbackUser;
void (*sampleRateChanged)(SampleRateChangeEvent);
void (*bufferSizeChanged)(BufferSizeChangeEvent);
public:
void setSampleRateChangeCallback(void (*callback)(SampleRateChangeEvent));
void setBufferSizeChangeCallback(void (*callback)(BufferSizeChangeEvent));
void setCallback(void (*callback)(float**,float**,int,int,unsigned int));
void setCallback(void (*callback)(void*,float**,float**,int,int,unsigned int), void* user);
virtual void* getContext();
virtual bool quit();