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.