Mercurial > hg > beaglert
changeset 506:2a8afa6fa118 prerelease
Re-removed basic-network example, as the accompanying core code has been taken out a few commits ago
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Wed, 22 Jun 2016 01:33:19 +0100 |
parents | 116cbb0e2bd4 |
children | 1cec96845a23 |
files | examples/05-Communication/basic-network/main.cpp examples/05-Communication/basic-network/render.cpp |
diffstat | 2 files changed, 0 insertions(+), 215 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/05-Communication/basic-network/main.cpp Wed Jun 22 01:28:25 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ -/* - ____ _____ _ _ -| __ )| ____| | / \ -| _ \| _| | | / _ \ -| |_) | |___| |___ / ___ \ -|____/|_____|_____/_/ \_\ - -The platform for ultra-low latency audio and sensor processing - -http://bela.io - -A project of the Augmented Instruments Laboratory within the -Centre for Digital Music at Queen Mary University of London. -http://www.eecs.qmul.ac.uk/~andrewm - -(c) 2016 Augmented Instruments Laboratory: Andrew McPherson, - Astrid Bin, Liam Donovan, Christian Heinrichs, Robert Jack, - Giulio Moro, Laurel Pardue, Victor Zappi. All rights reserved. - -The Bela software is distributed under the GNU Lesser General Public License -(LGPL 3.0), available here: https://www.gnu.org/licenses/lgpl-3.0.txt -*/ - -#include <iostream> -#include <cstdlib> -#include <libgen.h> -#include <signal.h> -#include <getopt.h> -#include <unistd.h> -#include <Bela.h> - -using namespace std; - -// Handle Ctrl-C by requesting that the audio rendering stop -void interrupt_handler(int var) -{ - gShouldStop = true; -} - -// Print usage information -void usage(const char * processName) -{ - cerr << "Usage: " << processName << " [options]" << endl; - - Bela_usage(); - - cerr << " --frequency [-f] frequency: Set the frequency of the oscillator\n"; - cerr << " --help [-h]: Print this menu\n"; -} - -int main(int argc, char *argv[]) -{ - BelaInitSettings settings; // Standard audio settings - float frequency = 440.0; // Frequency of oscillator - - struct option customOptions[] = - { - {"help", 0, NULL, 'h'}, - {"frequency", 1, NULL, 'f'}, - {NULL, 0, NULL, 0} - }; - - // Set default settings - Bela_defaultSettings(&settings); - - // Parse command-line arguments - while (1) { - int c; - if ((c = Bela_getopt_long(argc, argv, "hf:", customOptions, &settings)) < 0) - break; - switch (c) { - case 'h': - usage(basename(argv[0])); - exit(0); - case 'f': - frequency = atof(optarg); - break; - case '?': - default: - usage(basename(argv[0])); - exit(1); - } - } - - // Initialise the PRU audio device - if(Bela_initAudio(&settings, &frequency) != 0) { - cout << "Error: unable to initialise audio" << endl; - return -1; - } - - // Start the audio device running - if(Bela_startAudio()) { - cout << "Error: unable to start real-time audio" << endl; - return -1; - } - - // Set up interrupt handler to catch Control-C and SIGTERM - signal(SIGINT, interrupt_handler); - signal(SIGTERM, interrupt_handler); - - // Run until told to stop - while(!gShouldStop) { - usleep(100000); - } - - // Stop the audio device - Bela_stopAudio(); - - // Clean up any resources allocated for audio - Bela_cleanupAudio(); - - // All done! - return 0; -}
--- a/examples/05-Communication/basic-network/render.cpp Wed Jun 22 01:28:25 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -/* - ____ _____ _ _ -| __ )| ____| | / \ -| _ \| _| | | / _ \ -| |_) | |___| |___ / ___ \ -|____/|_____|_____/_/ \_\ - -The platform for ultra-low latency audio and sensor processing - -http://bela.io - -A project of the Augmented Instruments Laboratory within the -Centre for Digital Music at Queen Mary University of London. -http://www.eecs.qmul.ac.uk/~andrewm - -(c) 2016 Augmented Instruments Laboratory: Andrew McPherson, - Astrid Bin, Liam Donovan, Christian Heinrichs, Robert Jack, - Giulio Moro, Laurel Pardue, Victor Zappi. All rights reserved. - -The Bela software is distributed under the GNU Lesser General Public License -(LGPL 3.0), available here: https://www.gnu.org/licenses/lgpl-3.0.txt -*/ - - -#include <Bela.h> -//#include <rtdk.h> -#include <cmath> -#include <NetworkSend.h> -#include <ReceiveAudioThread.h> -#include <Utilities.h> - -// setup() is called once before the audio rendering starts. -// Use it to perform any initialisation and allocation which is dependent -// on the period size or sample rate. -// -// userData holds an opaque pointer to a data structure that was passed -// in from the call to initAudio(). -// -// Return true on success; returning false halts the program. - -NetworkSend networkSend; -ReceiveAudioThread receive; -float gFrequency; -float gInverseSampleRate; -float gPhase; -bool setup(BelaContext *context, void *userData) -{ - // Retrieve a parameter passed in from the initAudio() call - gFrequency = *(float *)userData; - - networkSend.setup(context->audioSampleRate, context->audioFrames, 0, 9999, "192.168.7.1"); - receive.init(10000, context->audioFrames, 0); - receive.startThread(); - gInverseSampleRate = 1.0 / context->audioSampleRate; - gPhase = 0; - return true; -} - -// render() is called regularly at the highest priority by the audio engine. -// Input and output are given from the audio hardware and the other -// ADCs and DACs (if available). If only audio is available, numMatrixFrames -// will be 0. - -void render(BelaContext *context, void *userData) -{ - for(unsigned int n = 0; n < context->audioFrames; n++) { - float out = 0.7f * sinf(gPhase); - gPhase += 2.0 * M_PI * gFrequency * gInverseSampleRate; - if(gPhase > 2.0 * M_PI) - gPhase -= 2.0 * M_PI; - - networkSend.log(out); - float in; - int ret = receive.getSamplesSrc(&in, 1, 1); - for(unsigned int channel = 0; channel < context->audioChannels; channel++){ - audioWrite(context, n, channel, in); - } - } -} - -// cleanup() is called once at the end, after the audio has stopped. -// Release any resources that were allocated in setup(). - -void cleanup(BelaContext *context, void *userData) -{ -} - -/* ------------ Project Explantation ------------ */ - -/** -\example basic-network/render.cpp - -Networking ----------- - -This sketch allows you to send audio and sensor data over UDP to a -DAW on the host. The host needs to run Udpioplugin which you can find -[here](https://code.soundsoftware.ac.uk/projects/udpioplugin). - -Note that this sketch and the accompanying plugin are still in testing. -*/