comparison examples/basic_libpd/render.cpp @ 301:e4392164b458 prerelease

RENAMED BeagleRT to Bela AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, scripts probably not working
author Giulio Moro <giuliomoro@yahoo.it>
date Fri, 27 May 2016 14:34:41 +0100
parents dbeed520b014
children 1feb9c23ac57
comparison
equal deleted inserted replaced
300:dbeed520b014 301:e4392164b458
3 * 3 *
4 * Created on: Oct 24, 2014 4 * Created on: Oct 24, 2014
5 * Author: parallels 5 * Author: parallels
6 */ 6 */
7 7
8 #include <BeagleRT.h> 8 #include <Bela.h>
9 #include <cmath> 9 #include <cmath>
10 #include <Utilities.h> 10 #include <Utilities.h>
11 #include <I2c_Codec.h> 11 #include <I2c_Codec.h>
12 #include <PRU.h> 12 #include <PRU.h>
13 #include <stdio.h> 13 #include <stdio.h>
32 32
33 void pdnoteon(int ch, int pitch, int vel) { 33 void pdnoteon(int ch, int pitch, int vel) {
34 printf("noteon: %d %d %d\n", ch, pitch, vel); 34 printf("noteon: %d %d %d\n", ch, pitch, vel);
35 } 35 }
36 36
37 void BeagleRT_printHook(const char *recv){ 37 void Bela_printHook(const char *recv){
38 rt_printf("%s", recv); 38 rt_printf("%s", recv);
39 } 39 }
40 40
41 UdpServer udpServer; 41 UdpServer udpServer;
42 42
47 usleep(1000); 47 usleep(1000);
48 } 48 }
49 } 49 }
50 50
51 AuxiliaryTask udpReadTask; 51 AuxiliaryTask udpReadTask;
52 bool setup(BeagleRTContext *context, void *userData) 52 bool setup(BelaContext *context, void *userData)
53 { 53 {
54 gChannelsInUse = min((int)(context->analogChannels+context->audioChannels), (int)gChannelsInUse); 54 gChannelsInUse = min((int)(context->analogChannels+context->audioChannels), (int)gChannelsInUse);
55 udpServer.bindToPort(1234); 55 udpServer.bindToPort(1234);
56 56
57 // check that we are not running with a blocksize smaller than DEFDACBLKSIZE 57 // check that we are not running with a blocksize smaller than DEFDACBLKSIZE
68 // fprintf(stderr, "Error: analog and audio sampling rates must be the same\n"); 68 // fprintf(stderr, "Error: analog and audio sampling rates must be the same\n");
69 // return false; 69 // return false;
70 // } 70 // }
71 //following lines borrowed from libpd/samples/c/pdtest/pdtest.c 71 //following lines borrowed from libpd/samples/c/pdtest/pdtest.c
72 // init pd 72 // init pd
73 libpd_set_printhook(BeagleRT_printHook); // set this before calling libpd_init 73 libpd_set_printhook(Bela_printHook); // set this before calling libpd_init
74 libpd_set_noteonhook(pdnoteon); 74 libpd_set_noteonhook(pdnoteon);
75 libpd_init(); 75 libpd_init();
76 //TODO: analyse the ASCII of the patch file and find the in/outs to use 76 //TODO: analyse the ASCII of the patch file and find the in/outs to use
77 libpd_init_audio(gChannelsInUse, gChannelsInUse, context->audioSampleRate); 77 libpd_init_audio(gChannelsInUse, gChannelsInUse, context->audioSampleRate);
78 78
89 char file[] = "_main.pd"; 89 char file[] = "_main.pd";
90 char folder[] = "./"; 90 char folder[] = "./";
91 // open patch [; pd open file folder( 91 // open patch [; pd open file folder(
92 libpd_openfile(file, folder); 92 libpd_openfile(file, folder);
93 93
94 udpReadTask = BeagleRT_createAuxiliaryTask(udpRead, 60, "udpReadTask"); 94 udpReadTask = Bela_createAuxiliaryTask(udpRead, 60, "udpReadTask");
95 BeagleRT_scheduleAuxiliaryTask(udpReadTask); 95 Bela_scheduleAuxiliaryTask(udpReadTask);
96 return true; 96 return true;
97 } 97 }
98 98
99 // render() is called regularly at the highest priority by the audio engine. 99 // render() is called regularly at the highest priority by the audio engine.
100 // Input and output are given from the audio hardware and the other 100 // Input and output are given from the audio hardware and the other
101 // ADCs and DACs (if available). If only audio is available, numMatrixFrames 101 // ADCs and DACs (if available). If only audio is available, numMatrixFrames
102 // will be 0. 102 // will be 0.
103 BeagleRTContext *c; 103 BelaContext *c;
104 void render(BeagleRTContext *context, void *userData) 104 void render(BelaContext *context, void *userData)
105 { 105 {
106 static int inW = 0; 106 static int inW = 0;
107 static int outR = 0; 107 static int outR = 0;
108 /* 108 /*
109 * NOTE: if you are only using audio (or only analogs) and you are using interleaved buffers 109 * NOTE: if you are only using audio (or only analogs) and you are using interleaved buffers
178 } 178 }
179 179
180 // cleanup() is called once at the end, after the audio has stopped. 180 // cleanup() is called once at the end, after the audio has stopped.
181 // Release any resources that were allocated in setup(). 181 // Release any resources that were allocated in setup().
182 182
183 void cleanup(BeagleRTContext *context, void *userData) 183 void cleanup(BelaContext *context, void *userData)
184 { 184 {
185 free(gInBuf); 185 free(gInBuf);
186 free(gOutBuf); 186 free(gOutBuf);
187 } 187 }