Mercurial > hg > beaglert
diff projects/basic_passthru/render.cpp @ 180:07cfd337ad18
Updated examples with new audioWrite macros
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Sat, 02 Jan 2016 13:55:01 +0100 |
parents | 1e629f126322 |
children | ac8eb07afcf5 |
line wrap: on
line diff
--- a/projects/basic_passthru/render.cpp Sat Jan 02 13:50:36 2016 +0100 +++ b/projects/basic_passthru/render.cpp Sat Jan 02 13:55:01 2016 +0100 @@ -19,20 +19,9 @@ // // Return true on success; returning false halts the program. -AuxiliaryTask taskOne; -AuxiliaryTask taskTwo; -void funOne(){ - rt_printf("setup\n"); -} -void funTwo(){ - rt_printf("render\n"); -} bool setup(BeagleRTContext *context, void *userData) { // Nothing to do here... -// taskOne = BeagleRT_createAuxiliaryTask(funOne, 1, "funOne"); -// taskTwo = BeagleRT_createAuxiliaryTask(funTwo, 99, "funTwo"); -// BeagleRT_scheduleAuxiliaryTask(taskOne); return true; } @@ -43,28 +32,32 @@ void render(BeagleRTContext *context, void *userData) { -// if(context->audioSampleCount % 16384 == 0) -// BeagleRT_scheduleAuxiliaryTask(taskTwo); // Simplest possible case: pass inputs through to outputs for(unsigned int n = 0; n < context->audioFrames; n++) { - for(unsigned int ch = 0; ch < context->audioChannels; ch++) - context->audioOut[n * context->audioChannels + ch] = - context->audioIn[n * context->audioChannels + ch]; + for(unsigned int ch = 0; ch < context->audioChannels; ch++){ + // Two equivalent ways to write this code + + // The long way, using the buffers directly: + // context->audioOut[n * context->audioChannels + ch] = + // context->audioIn[n * context->audioChannels + ch]; + + // Or using the macros: + audioWriteFrame(context, n, ch, audioReadFrame(context, n, ch)); + } } - // Same with matrix, only if matrix is enabled -// if(context->analogFrames != 0) { -// for(unsigned int n = 0; n < context->analogFrames; n++) { -// for(unsigned int ch = 0; ch < context->analogChannels; ch++) { -// // Two equivalent ways to write this code -// // The long way, using the buffers directly: -// // context->analogOut[n * context->analogChannels + ch] = context->analogIn[n * context->analogChannels + ch]; -// -// // Or using the macros: -// analogWriteFrame(context, n, ch, analogReadFrame(context, n, ch)); -// } -// } -// } + // Same with analog channelss + for(unsigned int n = 0; n < context->analogFrames; n++) { + for(unsigned int ch = 0; ch < context->analogChannels; ch++) { + // Two equivalent ways to write this code + + // The long way, using the buffers directly: + // context->analogOut[n * context->analogChannels + ch] = context->analogIn[n * context->analogChannels + ch]; + + // Or using the macros: + analogWriteFrame(context, n, ch, analogReadFrame(context, n, ch)); + } + } } // cleanup() is called once at the end, after the audio has stopped.