X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/preprocessor/faust-0.9.47mr3/architecture/ca-qt.cpp diff --git a/interpretor/preprocessor/faust-0.9.47mr3/architecture/ca-qt.cpp b/interpretor/preprocessor/faust-0.9.47mr3/architecture/ca-qt.cpp new file mode 100644 index 0000000..aaa2272 --- /dev/null +++ b/interpretor/preprocessor/faust-0.9.47mr3/architecture/ca-qt.cpp @@ -0,0 +1,121 @@ +/************************************************************************ + + 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. + + + ************************************************************************ + ************************************************************************/ + + +#include +#include +#include + +#include "gui/FUI.h" +#include "gui/faustqt.h" +#include "misc.h" +#include "audio/coreaudio-dsp.h" + +#ifdef OSCCTRL +#include "gui/OSCUI.h" +#endif + +/**************************BEGIN USER SECTION **************************/ + +/****************************************************************************** +******************************************************************************* + + VECTOR INTRINSICS + +******************************************************************************* +*******************************************************************************/ +<> + + +<> + +/***************************END USER SECTION ***************************/ + +/*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/ + +mydsp DSP; + +list GUI::fGuiList; + +/****************************************************************************** +******************************************************************************* + + MAIN PLAY THREAD + +******************************************************************************* +*******************************************************************************/ + +int main(int argc, char *argv[]) +{ + char name[256]; + char rcfilename[256]; + char* home = getenv("HOME"); + + snprintf(name, 255, "%s", basename(argv[0])); + snprintf(rcfilename, 255, "%s/.%src", home, basename(argv[0])); + + long srate = (long)lopt(argv, "--frequency", 44100); + int fpb = lopt(argv, "--buffer", 512); + + GUI* interface = new QTGUI(argc, argv); + DSP.buildUserInterface(interface); + FUI* finterface = new FUI(); + DSP.buildUserInterface(finterface); + +#ifdef OSCCTRL + GUI* oscinterface = new OSCUI(name, argc, argv); + DSP.buildUserInterface(oscinterface); +#endif + + coreaudio audio(srate, fpb); + audio.init(name, &DSP); + finterface->recallState(rcfilename); + audio.start(); + +#ifdef OSCCTRL + oscinterface->run(); +#endif + interface->run(); + + audio.stop(); + finterface->saveState(rcfilename); + return 0; +} + + +/********************END ARCHITECTURE SECTION (part 2/2)****************/ + +