X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/preprocessor/faust-0.9.47mr3/architecture/jack-gtk.cpp
diff --git a/interpretor/preprocessor/faust-0.9.47mr3/architecture/jack-gtk.cpp b/interpretor/preprocessor/faust-0.9.47mr3/architecture/jack-gtk.cpp
new file mode 100644
index 0000000..21a2910
--- /dev/null
+++ b/interpretor/preprocessor/faust-0.9.47mr3/architecture/jack-gtk.cpp
@@ -0,0 +1,118 @@
+/************************************************************************
+
+ 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 Thomas Charbonnel and GRAME
+ ---------------------------------------------------------------------
+ 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 "misc.h"
+#include "gui/faustgtk.h"
+#include "audio/jack-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
+//-------------------------------------------------------------------------
+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);
+
+ DSP = new mydsp();
+ if (DSP==0) {
+ cerr << "Unable to allocate Faust DSP object" << endl;
+ exit(1);
+ }
+ 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
+
+ jackaudio audio;
+ audio.init(appname, DSP);
+ finterface->recallState(rcfilename);
+ audio.start();
+
+#ifdef OSCCTRL
+ oscinterface->run();
+#endif
+ interface->run();
+
+ audio.stop();
+ finterface->saveState(rcfilename);
+ delete DSP;
+ return 0;
+}
+
+
+/********************END ARCHITECTURE SECTION (part 2/2)****************/
+