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.