X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/faust-0.9.47mr3/architecture/audio/netjack-dsp.h diff --git a/interpretor/faust-0.9.47mr3/architecture/audio/netjack-dsp.h b/interpretor/faust-0.9.47mr3/architecture/audio/netjack-dsp.h deleted file mode 100644 index 83f5a81..0000000 --- a/interpretor/faust-0.9.47mr3/architecture/audio/netjack-dsp.h +++ /dev/null @@ -1,130 +0,0 @@ -/************************************************************************ - - IMPORTANT NOTE : this file contains two clearly delimited sections : - the ARCHITECTURE section (in two parts) and the USER section. Each section - is governed by its own copyright and license. Please check individually - each section for license and copyright information. -*************************************************************************/ - -/*******************BEGIN ARCHITECTURE SECTION (part 1/2)****************/ - -/************************************************************************ - FAUST Architecture File - Copyright (C) 2003-2011 GRAME, Centre National de Creation Musicale - --------------------------------------------------------------------- - This Architecture section is free software; you can redistribute it - and/or modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; If not, see . - - EXCEPTION : As a special exception, you may create a larger work - that contains this FAUST architecture section and distribute - that work under terms of your choice, so long as this FAUST - architecture section is not modified. - - - ************************************************************************ - ************************************************************************/ - -#ifndef __netjack_dsp__ -#define __netjack_dsp__ - -#include "audio.h" -#include "dsp.h" -#include -#include - -class netjackaudio : public audio { - - dsp* fDsp; - jack_net_slave_t* fNet; - int fCelt; - std::string fMasterIP; - int fMasterPort; - - static void net_shutdown(void *) - { - printf("Network failure, restart...\n"); - } - - static int net_process(jack_nframes_t buffer_size, - int, - float** audio_input_buffer, - int, - void**, - int, - float** audio_output_buffer, - int, - void**, - void* arg) - { - AVOIDDENORMALS; - netjackaudio* obj = (netjackaudio*)arg; - obj->fDsp->compute(buffer_size, audio_input_buffer, audio_output_buffer); - return 0; - } - - public: - - netjackaudio(int celt, const std::string master_ip, int master_port) - :fCelt(celt), fMasterIP(master_ip), fMasterPort(master_port) - {} - - bool init(const char* name, dsp* DSP) - { - fDsp = DSP; - jack_slave_t request = { - DSP->getNumInputs(), - DSP->getNumOutputs(), - 0, 0, - DEFAULT_MTU, - -1, - (fCelt > 0) ? JackCeltEncoder: JackFloatEncoder, - (fCelt > 0) ? fCelt : 0, - 2 - }; - - jack_master_t result; - if ((fNet = jack_net_slave_open(fMasterIP.c_str(), fMasterPort, name, &request, &result)) == 0) { - printf("jack remote server not running ?\n"); - return false; - } - - jack_set_net_slave_process_callback(fNet, net_process, this); - jack_set_net_slave_shutdown_callback(fNet, net_shutdown, 0); - - fDsp->init(result.sample_rate); - return true; - } - - bool start() - { - if (jack_net_slave_activate(fNet)) { - printf("cannot activate net"); - return false; - } - return true; - } - - void stop() - { - jack_net_slave_deactivate(fNet); - jack_net_slave_close(fNet); - } - -}; - - -#endif - - -/********************END ARCHITECTURE SECTION (part 2/2)****************/ -