X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/preprocessor/faust-0.9.47mr3/architecture/pa-gtk.cpp
diff --git a/interpretor/preprocessor/faust-0.9.47mr3/architecture/pa-gtk.cpp b/interpretor/preprocessor/faust-0.9.47mr3/architecture/pa-gtk.cpp
new file mode 100644
index 0000000..908be20
--- /dev/null
+++ b/interpretor/preprocessor/faust-0.9.47mr3/architecture/pa-gtk.cpp
@@ -0,0 +1,156 @@
+/************************************************************************
+
+ 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 "gui/FUI.h"
+#include "misc.h"
+#include "audio/portaudio-dsp.h"
+#include "gui/faustgtk.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
+//-------------------------------------------------------------------------
+#if 0
+int main(int argc, char *argv[] )
+{
+ gtk_init (&argc, &argv);
+ const char* name = basename(argv[0]);
+
+ char rcfilename[256];
+ char* home = getenv("HOME");
+ snprintf(rcfilename, 255, "%s/.%src", home, basename(argv[0]));
+
+ GUI* interface = new GTKUI (name, &argc, &argv);
+ DSP.buildUserInterface(interface);
+
+#ifdef OSCCTRL
+ GUI* oscinterface = new OSCUI(jname, argc, argv);
+ DSP.buildUserInterface(oscinterface);
+#endif
+
+ long srate = (long)lopt(argv, "--frequency", 44100);
+ int fpb = lopt(argv, "--buffer", 128);
+ portaudio audio (srate, fpb);
+
+ audio.init(name, &DSP);
+ //interface->recallState(rcfilename);
+ audio.start();
+
+#ifdef OSCCTRL
+ oscinterface->run();
+#endif
+ interface->run();
+
+ audio.stop();
+ //interface->saveState(rcfilename);
+ return 0;
+}
+#endif
+
+long lopt(char *argv[], const char *name, long def)
+{
+ int i;
+ for (i=0; argv[i]; i++) if (!strcmp(argv[i], name)) return atoi(argv[i+1]);
+ return def;
+}
+
+int main(int argc, char *argv[])
+{
+ char appname[256];
+ char rcfilename[256];
+ char* home = getenv("HOME");
+
+ snprintf(appname, 255, "%s", basename(argv[0]));
+ snprintf(rcfilename, 255, "%s/.%src", home, appname);
+
+ GUI* interface = new GTKUI (appname, &argc, &argv);
+ FUI* finterface = new FUI();
+ DSP.buildUserInterface(interface);
+ DSP.buildUserInterface(finterface);
+
+#ifdef OSCCTRL
+ GUI* oscinterface = new OSCUI(appname, argc, argv);
+ DSP.buildUserInterface(oscinterface);
+#endif
+
+ long srate = (long)lopt(argv, "--frequency", 44100);
+ int fpb = lopt(argv, "--buffer", 128);
+
+ portaudio audio (srate, fpb);
+ audio.init(appname, &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)****************/
+