} struct nodeInstanceData *nodeInstanceInit( VuoInputData(VuoRealRegulation) footSwitch, VuoInputData(VuoRealRegulation) footController ) { struct nodeInstanceData *context = (struct nodeInstanceData *)calloc(1,sizeof(struct nodeInstanceData)); VuoRegister(context, free); context->inputDevice = VuoMidiInputDevice_make(-1, VuoText_make("BCF2000")); VuoMidiInputDevice_retain(context->inputDevice); context->inputManager = VuoMidiIn_make(context->inputDevice); VuoRetain(context->inputManager); context->outputDevice = VuoMidiOutputDevice_make(-1, VuoText_make("BCF2000")); VuoMidiOutputDevice_retain(context->outputDevice); context->outputManager = VuoMidiOut_make(context->outputDevice); VuoRetain(context->outputManager); VuoRealRegulation controllers[2] = {footSwitch, footController}; for (int i = 0; i < 2; ++i) { context->controllerSmooth[i] = VuoSmoothInertia_make(controllers[i].defaultValue); VuoRetain(context->controllerSmooth[i]); // Output the initial position during the first time event. context->controllerSmooth[i]->updateNeededAfterSetPosition = true; context->controller[i] = controllers[i]; VuoRealRegulation_retain(context->controller[i]);
/** * @file * vuo.midi.make.output.name node implementation. * * @copyright Copyright © 2012–2014 Kosada Incorporated. * This code may be modified and distributed under the terms of the MIT License. * For more information, see http://vuo.org/license. */ #include "node.h" #include "VuoMidiOutputDevice.h" VuoModuleMetadata({ "title" : "Make MIDI Output from Name", "keywords" : [ "synthesizer", "sequencer", "music", "instrument" ], "version" : "1.0.0", "node" : { "exampleCompositions" : [ ] } }); void nodeEvent ( VuoInputData(VuoText, {"default":""}) name, VuoOutputData(VuoMidiOutputDevice) device ) { *device = VuoMidiOutputDevice_make(-1, name); }