in main:
...
SineWave sine;
AudioCallback dac;
dac.startAudio(&sine);
...
in AudioCallback.cpp
...
int tick (char *buffer, int bufferSize, void *dataPointer) {
...
SineWave *sine = (SineWave*) dataPointer;
sine->useSomeFunction();
...
}
void AudioCallback::startAudio(void *data) {
...
a_data.dac->setStreamCallback(&tick, &data); //setStreamCallback sets a function which will be called by an RealTime AudioSystem,
// the 2nd argument is used for passing user data to this function.
...
}