From acbda29f838280ba98cf9e9e539e9d8a6e8fc6ad Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 9 Jun 2006 15:07:31 +0000 Subject: Added Om aka Graph aka god knows what git-svn-id: http://svn.drobilla.net/lad/grauph@9 a436a847-0d15-0410-975c-d299462d15a1 --- .../.deps/console_client-ConsoleClientHooks.Po | 1 + .../console/.deps/console_client-console_client.Po | 1 + src/clients/console/ConsoleClientHooks.cpp | 33 +++++++ src/clients/console/ConsoleClientHooks.h | 66 +++++++++++++ src/clients/console/Makefile.am | 12 +++ src/clients/console/README | 4 + src/clients/console/console_client.cpp | 110 +++++++++++++++++++++ src/clients/console/patches/COPYING | 2 + src/clients/console/patches/dssi_test.omp | 19 ++++ src/clients/console/patches/filter_patch.omp | 54 ++++++++++ .../console/patches/old_super_simple_patch.omp | 36 +++++++ src/clients/console/patches/send_test.omp | 2 + src/clients/console/patches/simple_patch.omp | 54 ++++++++++ src/clients/console/patches/super_simple_patch.omp | 36 +++++++ src/clients/console/patches/test_patch.omp | 48 +++++++++ 15 files changed, 478 insertions(+) create mode 100644 src/clients/console/.deps/console_client-ConsoleClientHooks.Po create mode 100644 src/clients/console/.deps/console_client-console_client.Po create mode 100644 src/clients/console/ConsoleClientHooks.cpp create mode 100644 src/clients/console/ConsoleClientHooks.h create mode 100644 src/clients/console/Makefile.am create mode 100644 src/clients/console/README create mode 100644 src/clients/console/console_client.cpp create mode 100644 src/clients/console/patches/COPYING create mode 100644 src/clients/console/patches/dssi_test.omp create mode 100644 src/clients/console/patches/filter_patch.omp create mode 100644 src/clients/console/patches/old_super_simple_patch.omp create mode 100644 src/clients/console/patches/send_test.omp create mode 100644 src/clients/console/patches/simple_patch.omp create mode 100644 src/clients/console/patches/super_simple_patch.omp create mode 100644 src/clients/console/patches/test_patch.omp (limited to 'src/clients/console') diff --git a/src/clients/console/.deps/console_client-ConsoleClientHooks.Po b/src/clients/console/.deps/console_client-ConsoleClientHooks.Po new file mode 100644 index 00000000..9ce06a81 --- /dev/null +++ b/src/clients/console/.deps/console_client-ConsoleClientHooks.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/clients/console/.deps/console_client-console_client.Po b/src/clients/console/.deps/console_client-console_client.Po new file mode 100644 index 00000000..9ce06a81 --- /dev/null +++ b/src/clients/console/.deps/console_client-console_client.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/clients/console/ConsoleClientHooks.cpp b/src/clients/console/ConsoleClientHooks.cpp new file mode 100644 index 00000000..1a911c6a --- /dev/null +++ b/src/clients/console/ConsoleClientHooks.cpp @@ -0,0 +1,33 @@ +/* This file is part of Om. Copyright (C) 2005 Dave Robillard. + * + * Om 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 2 of the License, or (at your option) any later + * version. + * + * Om 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 details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#include "ConsoleClientHooks.h" + +#include + + +void +ConsoleClientHooks::new_node(NodeModel* nm) +{ + std::cerr << "[ConsoleClient] New node notification" << std::endl; +} + +void +ConsoleClientHooks::error(std::string msg) +{ + std::cerr << "Server returned an error: " << msg << std::endl; +} diff --git a/src/clients/console/ConsoleClientHooks.h b/src/clients/console/ConsoleClientHooks.h new file mode 100644 index 00000000..ceb6cd5a --- /dev/null +++ b/src/clients/console/ConsoleClientHooks.h @@ -0,0 +1,66 @@ +/* This file is part of Om. Copyright (C) 2005 Dave Robillard. + * + * Om 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 2 of the License, or (at your option) any later + * version. + * + * Om 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 details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef CONSOLECLIENTHOOKS_H +#define CONSOLECLIENTHOOKS_H + +#include "ClientHooks.h" + +#include +using std::string; + +namespace LibOmClient { + +class PatchModel; +class NodeModel; +class ConnectionModel; +class PortModel; +class MetadataModel; +class PluginModel; + +class ConsoleClientHooks : public ClientHooks +{ +public: + ConsoleClientHooks() + ~ConsoleClientHooks(); + + void error(const string& msg); + void new_node(NodeModel* nm); + + void engine_enabled() {} + void engine_disabled() {} + void new_patch(PatchModel* pm) {} + void new_port(PortModel* port_info) {} + void port_removal(const string& path) {} + void patch_destruction(const string& path) {} + void patch_enabled(const string& path) {} + void patch_disabled(const string& path) {} + void node_removal(const string& path) {} + void object_renamed(const string& old_path, const string& new_path) {} + void connection(ConnectionModel* cm) {} + void disconnection(const string& src_port_path, const string& dst_port_path) {} + void metadata_update(MetadataModel* mm) {} + void control_change(const string& port_path, float value) {} + void new_plugin(PluginModel* pi) {} + void program_add(const string& path, int bank, int program, const string& name) {} + void program_remove(const string& path, int bank, int program) {} +}; + + +} // namespace LibOmClient + + +#endif // CONSOLECLIENTHOOKS_H diff --git a/src/clients/console/Makefile.am b/src/clients/console/Makefile.am new file mode 100644 index 00000000..f46bdbad --- /dev/null +++ b/src/clients/console/Makefile.am @@ -0,0 +1,12 @@ +om_console_client_CXXFLAGS = -I$(top_srcdir)/src/clients -I$(top_srcdir)/src/common -DPKGDATADIR=\"$(pkgdatadir)\" $(LXML2_CFLAGS) $(LOSC_CFLAGS) +om_console_client_LDADD = ../libomclient.a $(LOSC_LIBS) $(LXML2_LIBS) + +bin_PROGRAMS = console_client +EXTRA_DIST = README + +console_client_CXXFLAGS = "-I../../common" +console_client_LDADD = @LOSC_LIBS@ ../Comm.o +console_client_SOURCES = \ + console_client.cpp \ + ConsoleClientHooks.h \ + ConsoleClientHooks.cpp diff --git a/src/clients/console/README b/src/clients/console/README new file mode 100644 index 00000000..79c629a5 --- /dev/null +++ b/src/clients/console/README @@ -0,0 +1,4 @@ +Everything in and under this directory is very, very, very old. It remains +on the off chance that I actually make it work again - and for history's +sake :) + diff --git a/src/clients/console/console_client.cpp b/src/clients/console/console_client.cpp new file mode 100644 index 00000000..4e5586ce --- /dev/null +++ b/src/clients/console/console_client.cpp @@ -0,0 +1,110 @@ +/* This file is part of Om. Copyright (C) 2005 Dave Robillard. + * + * Om 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 2 of the License, or (at your option) any later + * version. + * + * Om 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 details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include "OSCModelEngineInterface.h" +#include "ConsoleClientHooks.h" + + +OSCModelEngineInterface* comm; +ConsoleClientHooks* client_hooks; + +int +main() +{ + std::string input; + std::string s; + std::string path; + std::string types; + lo_message m; + + client_hooks = new ConsoleClientHooks(); + comm = new OSCModelEngineInterface(client_hooks); + comm->attach("1234"); + + while (input != "q") { + std::cout << "> "; + std::getline(std::cin, input); + std::istringstream stream(input); + + if (std::cin.eof()) break; + + if (input == "") continue; + + //std::cout << "INPUT = " << input << std::endl; + + m = lo_message_new(); + stream >> path; + + char cs[256]; + + stream >> types; + + for (uint i=0; stream >> s && i < types.length(); ++i) { + // Take care of quoted strings + if (s[0] == '\"') { + s = s.substr(1); // hack off begin quote + + if (s[s.length()-1] == '\"') { // single quoted word + s = s.substr(0, s.length()-1); + } else { + std::string temp; + do { + stream >> temp; + if (temp.find('\n') != std::string::npos) { + std::cerr << "Mismatched quotes.\n" << std::endl; + break; + } + s += ' '; + s += temp; + } while (temp[temp.length()-1] != '\"'); + s = s.substr(0, s.length() - 1); // hack off end quote + } + } + + switch (types[i]) { + case 'f': + //std::cerr << "float" << std::endl; + lo_message_add_float(m, atof(s.c_str())); + break; + case 's': + strncpy(cs, s.c_str(), 256); + //std::cerr << "string" << std::endl; + lo_message_add_string(m, cs); + break; + case 'i': + //std::cerr << "integer" << std::endl; + lo_message_add_int32(m, atoi(s.c_str())); + break; + default: + std::cerr << "Unknown type \'" << types[i] << "\'" << std::endl; + exit(1); + } + } + + //std::cout << "Sending message..." << std::endl; + //lo_message_pp(m); + //usleep(500); + lo_send_message(comm->addr(), path.c_str(), m); + lo_message_free(m); + //std::cout << "Input = " << input << std::endl; + input = ""; + } + return 0; +} diff --git a/src/clients/console/patches/COPYING b/src/clients/console/patches/COPYING new file mode 100644 index 00000000..e265c4a3 --- /dev/null +++ b/src/clients/console/patches/COPYING @@ -0,0 +1,2 @@ +The files in this directory are temporary and not considered code; thus are +released into the public domain. You may do with them as you please. diff --git a/src/clients/console/patches/dssi_test.omp b/src/clients/console/patches/dssi_test.omp new file mode 100644 index 00000000..0613a57b --- /dev/null +++ b/src/clients/console/patches/dssi_test.omp @@ -0,0 +1,19 @@ +/create_patch si patch1 1 +/patches/patch1/add_output s out_1 +/patches/patch1/add_output s out_2 + +/patches/patch1/add_midi_input + +/patches/patch1/load_dssi_plugin sss trivial_synth.so trivial_synth synth + +/patches/patch1/connect ssss midi_in Frequency synth Frequency +/patches/patch1/connect ssss synth Output output out_1 +/patches/patch1/connect ssss synth Output output out_2 + +/patches/patch1/set_control ssf midi_in Frequency 440 + +/patches/patch1/set_control ssf osc Slope 0.5 + +/patches/patch1/activate +/engine/set_master_patch s patch1 +/engine/start diff --git a/src/clients/console/patches/filter_patch.omp b/src/clients/console/patches/filter_patch.omp new file mode 100644 index 00000000..acaad0c8 --- /dev/null +++ b/src/clients/console/patches/filter_patch.omp @@ -0,0 +1,54 @@ +/create_patch si patch1 1 +/patches/patch1/add_output s out_1 +/patches/patch1/add_output s out_2 + +/patches/patch1/add_midi_input + +/patches/patch1/load_ladspa_plugin isss 1 triangle_1649.so triangle_fcsc_oa osc +/patches/patch1/load_ladspa_plugin isss 1 dahdsr_2021.so dahdsr_cg+t_control aenv +/patches/patch1/load_ladspa_plugin isss 1 amp_1654.so amp_gaia_oa amp +/patches/patch1/load_ladspa_plugin isss 1 lp4pole_1671.so lp4pole_fcrcia_oa filt +/patches/patch1/load_ladspa_plugin isss 1 dahdsr_2021.so dahdsr_cg+t_control fenv +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaic_oa fscale +/patches/patch1/load_ladspa_plugin isss 1 sum_1665.so sum_iaic_oa sum + +/patches/patch1/connect ssss midi_in Frequency osc Frequency +/patches/patch1/connect ssss midi_in Gate aenv "Gate" +/patches/patch1/connect ssss midi_in Gate fenv "Gate" +/patches/patch1/connect ssss osc Output filt Input +/patches/patch1/connect ssss fenv "Envelope Out" fscale "First Input" +/patches/patch1/connect ssss fscale "Product Output" sum "First Input" +/patches/patch1/connect ssss midi_in Frequency sum "Second Input" +/patches/patch1/connect ssss sum "Summed Output" filt "Cutoff Frequency" + +/patches/patch1/connect ssss filt Output amp "Input" +/patches/patch1/connect ssss aenv "Envelope Out" amp "Gain (dB)" +/patches/patch1/connect ssss amp "Output" output out_1 +/patches/patch1/connect ssss amp "Output" output out_2 + + +/patches/patch1/set_control ssf midi_in Frequency 200.0 +/patches/patch1/set_control ssf midi_in Gate 0.0 +/patches/patch1/set_control ssf filt Resonance 3.0 +/patches/patch1/set_control ssf osc Slope 0.9 +/patches/patch1/set_control ssf fscale "Second Input" 800 + +/patches/patch1/set_control ssf aenv "Trigger" 0 +/patches/patch1/set_control ssf aenv "Delay Time (s)" 0.0 +/patches/patch1/set_control ssf aenv "Attack Time (s)" 0.01 +/patches/patch1/set_control ssf aenv "Hold Time (s)" 0.0 +/patches/patch1/set_control ssf aenv "Decay Time (s)" 0.3 +/patches/patch1/set_control ssf aenv "Sustain Level" 0.7 +/patches/patch1/set_control ssf aenv "Release Time (s)" 1.5 + +/patches/patch1/set_control ssf fenv "Trigger" 0 +/patches/patch1/set_control ssf fenv "Delay Time (s)" 0.0 +/patches/patch1/set_control ssf fenv "Attack Time (s)" 0.0 +/patches/patch1/set_control ssf fenv "Hold Time (s)" 0.0 +/patches/patch1/set_control ssf fenv "Decay Time (s)" 0.1 +/patches/patch1/set_control ssf fenv "Sustain Level" 0.0 +/patches/patch1/set_control ssf fenv "Release Time (s)" 0.0 + +/patches/patch1/activate +/engine/set_master_patch s patch1 +/engine/start diff --git a/src/clients/console/patches/old_super_simple_patch.omp b/src/clients/console/patches/old_super_simple_patch.omp new file mode 100644 index 00000000..1abd3c23 --- /dev/null +++ b/src/clients/console/patches/old_super_simple_patch.omp @@ -0,0 +1,36 @@ +/create_patch si patch1 4 +/patches/patch1/add_output s out_1 +/patches/patch1/add_output s out_2 + +/patches/patch1/add_midi_input + +/patches/patch1/load_ladspa_plugin isss 1 triangle_1649.so triangle_fcsc_oa osc +/patches/patch1/load_ladspa_plugin isss 1 dahdsr_2021.so dahdsr_cg+t_control aenv +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaia_oa amp +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaic_oa endamp + +/patches/patch1/connect ssss midi_in Frequency osc Frequency +/patches/patch1/connect ssss midi_in Gate aenv "Gate" +/patches/patch1/connect ssss osc Output amp "First Input" +/patches/patch1/connect ssss aenv "Envelope Out" amp "Second Input" +/patches/patch1/connect ssss amp "Product Output" endamp "First Input" +/patches/patch1/connect ssss endamp "Product Output" output out_1 +/patches/patch1/connect ssss endamp "Product Output" output out_2 + + +/patches/patch1/set_control ssf midi_in Frequency 200 +/patches/patch1/set_control ssf midi_in Gate 0 +/patches/patch1/set_control ssf osc Slope 0.5 +/patches/patch1/set_control ssf endamp "Second Input" 0.5 + +/patches/patch1/set_control ssf aenv "Trigger" 0 +/patches/patch1/set_control ssf aenv "Delay Time (s)" 0.0 +/patches/patch1/set_control ssf aenv "Attack Time (s)" 0.001 +/patches/patch1/set_control ssf aenv "Hold Time (s)" 0.0 +/patches/patch1/set_control ssf aenv "Decay Time (s)" 0.3 +/patches/patch1/set_control ssf aenv "Sustain Level" 0.5 +/patches/patch1/set_control ssf aenv "Release Time (s)" 0.5 + +/patches/patch1/activate +/engine/set_master_patch s patch1 +/engine/start diff --git a/src/clients/console/patches/send_test.omp b/src/clients/console/patches/send_test.omp new file mode 100644 index 00000000..579a3b80 --- /dev/null +++ b/src/clients/console/patches/send_test.omp @@ -0,0 +1,2 @@ +/load_plugins +/send_plugins diff --git a/src/clients/console/patches/simple_patch.omp b/src/clients/console/patches/simple_patch.omp new file mode 100644 index 00000000..aaa38827 --- /dev/null +++ b/src/clients/console/patches/simple_patch.omp @@ -0,0 +1,54 @@ +/load_plugins +/create_patch si patch1 1 +/patches/patch1/add_output s out_1 +/patches/patch1/add_output s out_2 + +/patches/patch1/add_midi_input + +/patches/patch1/load_ladspa_plugin isss 1 triangle_1649.so triangle_fcsc_oa osc +/patches/patch1/load_ladspa_plugin isss 1 dahdsr_2021.so dahdsr_cg+t_control aenv +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaia_oa amp +/patches/patch1/load_ladspa_plugin isss 1 lp4pole_1671.so lp4pole_fcrcia_oa filt +/patches/patch1/load_ladspa_plugin isss 1 dahdsr_2021.so dahdsr_cg+t_control fenv +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaic_oa fscale +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaic_oa endamp + +/patches/patch1/connect ssss midi_in Frequency osc Frequency +/patches/patch1/connect ssss midi_in Gate aenv "Gate" +/patches/patch1/connect ssss midi_in Gate fenv "Gate" +/patches/patch1/connect ssss osc Output filt Input +/patches/patch1/connect ssss fenv "Envelope Out" fscale "First Input" +/patches/patch1/connect ssss fscale "Product Output" filt "Cutoff Frequency" +/patches/patch1/connect ssss filt Output amp "First Input" +/patches/patch1/connect ssss aenv "Envelope Out" amp "Second Input" +/patches/patch1/connect ssss amp "Product Output" endamp "First Input" +/patches/patch1/connect ssss endamp "Product Output" output out_1 +/patches/patch1/connect ssss endamp "Product Output" output out_2 + + +/patches/patch1/set_control ssf midi_in Frequency 200.0 +/patches/patch1/set_control ssf midi_in Gate 0.0 +/patches/patch1/set_control ssf filt Resonance 2.0 +/patches/patch1/set_control ssf osc Slope 1.0 +/patches/patch1/set_control ssf fscale "Second Input" 900 +/patches/patch1/set_control ssf endamp "Second Input" 0.5 + +/patches/patch1/set_control ssf aenv "Trigger" 0 +/patches/patch1/set_control ssf aenv "Delay Time (s)" 0.0 +/patches/patch1/set_control ssf aenv "Attack Time (s)" 0.01 +/patches/patch1/set_control ssf aenv "Hold Time (s)" 0.0 +/patches/patch1/set_control ssf aenv "Decay Time (s)" 0.3 +/patches/patch1/set_control ssf aenv "Sustain Level" 0.6 +/patches/patch1/set_control ssf aenv "Release Time (s)" 0.6 + +/patches/patch1/set_control ssf fenv "Trigger" 0 +/patches/patch1/set_control ssf fenv "Delay Time (s)" 0.0 +/patches/patch1/set_control ssf fenv "Attack Time (s)" 0.0 +/patches/patch1/set_control ssf fenv "Hold Time (s)" 0.0 +/patches/patch1/set_control ssf fenv "Decay Time (s)" 0.2 +/patches/patch1/set_control ssf fenv "Sustain Level" 0.5 +/patches/patch1/set_control ssf fenv "Release Time (s)" 0.5 + +/patches/patch1/activate +/engine/set_master_patch s patch1 +/engine/start diff --git a/src/clients/console/patches/super_simple_patch.omp b/src/clients/console/patches/super_simple_patch.omp new file mode 100644 index 00000000..02dc63a2 --- /dev/null +++ b/src/clients/console/patches/super_simple_patch.omp @@ -0,0 +1,36 @@ +/load_plugins + +/create_patch si patch1 1 + +/patches/patch1/load_internal_plugin iss 0 midi_in midi_in +/patches/patch1/load_internal_plugin iss 0 output output + +/patches/patch1/load_ladspa_plugin isss 0 triangle_1649.so triangle_fcsc_oa osc +/patches/patch1/load_ladspa_plugin isss 0 dahdsr_2021.so dahdsr_cg+t_control aenv +/patches/patch1/load_ladspa_plugin isss 0 product_1668.so product_iaia_oa amp +/patches/patch1/load_ladspa_plugin isss 0 product_1668.so product_iaic_oa endamp + +/patches/patch1/connect sisi midi_in 0 osc 0 +/patches/patch1/connect sisi midi_in 1 aenv 0 +/patches/patch1/connect sisi osc 2 amp 0 +/patches/patch1/connect sisi aenv 8 amp 1 +/patches/patch1/connect sisi amp 2 endamp 0 +/patches/patch1/connect sisi endamp 2 output 0 +/patches/patch1/connect sisi endamp 2 output 1 + + +/patches/patch1/set_control sif midi_in 0 200 +/patches/patch1/set_control sif midi_in 1 1.0 +/patches/patch1/set_control sif osc 1 0.5 +/patches/patch1/set_control sif endamp 1 0.5 + +/patches/patch1/set_control sif aenv 1 0 +/patches/patch1/set_control sif aenv 2 0.0 +/patches/patch1/set_control sif aenv 3 0.001 +/patches/patch1/set_control sif aenv 4 0.0 +/patches/patch1/set_control sif aenv 5 0.3 +/patches/patch1/set_control sif aenv 6 0.5 +/patches/patch1/set_control sif aenv 7 0.5 + +/engine/set_master_patch i 0 +/engine/start diff --git a/src/clients/console/patches/test_patch.omp b/src/clients/console/patches/test_patch.omp new file mode 100644 index 00000000..04c0487b --- /dev/null +++ b/src/clients/console/patches/test_patch.omp @@ -0,0 +1,48 @@ +/create_patch si patch1 1 +/patches/patch1/add_output s out_1 +/patches/patch1/add_output s out_2 + +/patches/patch1/add_midi_input + +/patches/patch1/load_ladspa_plugin isss 1 triangle_1649.so triangle_fcsc_oa osc +/patches/patch1/load_ladspa_plugin isss 1 adsr_1653.so adsr aenv +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaia_oa amp +/patches/patch1/load_ladspa_plugin isss 1 lp4pole_1671.so lp4pole_fcrcia_oa filt +/patches/patch1/load_ladspa_plugin isss 1 adsr_1653.so adsr fenv +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaic_oa fscale +/patches/patch1/load_ladspa_plugin isss 1 product_1668.so product_iaic_oa endamp + +/patches/patch1/connect ssss midi_in Frequency osc Frequency +/patches/patch1/connect ssss midi_in Gate aenv "Driving Signal" +/patches/patch1/connect ssss midi_in Gate fenv "Driving Signal" +/patches/patch1/connect ssss osc Output filt Input +/patches/patch1/connect ssss fenv "Envelope Out" output out_1 +/patches/patch1/connect ssss fscale "Product Output" filt "Cutoff Frequency" +/patches/patch1/connect ssss filt Output amp "First Input" +/patches/patch1/connect ssss aenv "Envelope Out" output out_2 +/patches/patch1/connect ssss amp "Product Output" endamp "First Input" +/patches/patch1/connect ssss endamp "Product Output" output out_1 +/patches/patch1/connect ssss endamp "Product Output" output out_2 + + +/patches/patch1/set_control ssf midi_in Frequency 200 +/patches/patch1/set_control ssf filt Resonance 3.0 +/patches/patch1/set_control ssf osc Slope 1.0 +/patches/patch1/set_control ssf fscale "Second Input" 900 +/patches/patch1/set_control ssf endamp "Second Input" 0.5 + +/patches/patch1/set_control ssf aenv "Trigger Threshold" 0 +/patches/patch1/set_control ssf aenv "Attack Time (s)" 0.1 +/patches/patch1/set_control ssf aenv "Decay Time (s)" 0.3 +/patches/patch1/set_control ssf aenv "Sustain Level" 0.5 +/patches/patch1/set_control ssf aenv "Release Time (s)" 0.5 + +/patches/patch1/set_control ssf fenv "Trigger Threshold" 0 +/patches/patch1/set_control ssf fenv "Attack Time (s)" 0.1 +/patches/patch1/set_control ssf fenv "Decay Time (s)" 0.2 +/patches/patch1/set_control ssf fenv "Sustain Level" 0.6 +/patches/patch1/set_control ssf fenv "Release Time (s)" 0.4 + +/patches/patch1/activate +/engine/set_master_patch s patch1 +/engine/start -- cgit v1.2.1