hello there,
trying to synthesize images from audio, can make it draw one frame, but then never updates again, i am guessing threads interweave and screw ofImage somewhere?
i am trying to use like this:
#pragma once
#include "ofMain.h"
class ofApp : public ofBaseApp{
public:
ofImage * image;
ofSoundStream soundStream;
ofMutex mutex;
void setup(){
image = new ofImage();
image->allocate(512,1,OF_IMAGE_GRAYSCALE);
soundStream.setup(this, 0, 2, 44100, 512, 4);
}
void update(){
}
void draw(){
ofSetColor(255);
mutex.lock();
image->draw(0,0,250,100);
mutex.unlock();
}
void audioIn(float * input, int bufferSize, int nChannels){
mutex.lock();
unsigned char * pix = image->getPixels();
for (int i = 0; i < bufferSize; i++){
pix[i] = (unsigned char) (ABS(input[i*2])*255.0);
}
image->update();
mutex.unlock();
}
};`
as you can see already tried to mutex the access and make the image live on the heap, even when calling ofImage.setColor results are the same, a bit lost as to why this simple code does not work… thanks for any light