Mercurial > hg > beaglert
diff projects/basic_passthru/render.cpp @ 174:1e629f126322
AuxiliaryTask can now be scheduled from setup(). Closes #1373
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Mon, 28 Dec 2015 13:53:11 +0100 |
parents | 3c3a1357657d |
children | 07cfd337ad18 |
line wrap: on
line diff
--- a/projects/basic_passthru/render.cpp Mon Dec 28 04:11:59 2015 +0100 +++ b/projects/basic_passthru/render.cpp Mon Dec 28 13:53:11 2015 +0100 @@ -19,10 +19,20 @@ // // 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; } @@ -33,25 +43,28 @@ 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]; + context->audioOut[n * context->audioChannels + ch] = + context->audioIn[n * context->audioChannels + 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)); - } - } - } +// 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)); +// } +// } +// } } // cleanup() is called once at the end, after the audio has stopped.