Guitarix
machine.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 Andreas Degert
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #pragma once
20 
21 #ifndef SRC_HEADERS_MACHINE_H_
22 #define SRC_HEADERS_MACHINE_H_
23 
24 // #include <ext/stdio_filebuf.h>
25 #include <boost/iostreams/device/file_descriptor.hpp>
26 #include <boost/iostreams/stream.hpp>
27 #include "jsonrpc_methods.h"
28 #ifdef HAVE_AVAHI
29 #include "avahi_register.h"
30 #endif
31 
32 namespace gx_gui { class UiBuilderImpl; }
33 
34 enum PluginType {
37 };
38 
39 namespace gx_engine {
40 
42 private:
44 public:
47  bool operator!=(const bank_iterator& i) const { return i.it != it; }
48  bank_iterator& operator++() { ++it; return *this; }
51 };
52 
53 typedef map<string, set<void*> > output_listen_map;
54 
56 private:
57  sigc::connection update_timeout;
58 protected:
59  sigc::signal<void,const std::string&, std::vector<gx_system::FileName> > impresp_list;
61 private:
62  virtual int _get_parameter_value_int(const std::string& id) = 0;
63  virtual int _get_parameter_value_bool(const std::string& id) = 0;
64  virtual float _get_parameter_value_float(const std::string& id) = 0;
65  virtual std::string _get_parameter_value_string(const std::string& id) = 0;
66  virtual sigc::signal<void, int>& _signal_parameter_value_int(const std::string& id) = 0;
67  virtual sigc::signal<void, bool>& _signal_parameter_value_bool(const std::string& id) = 0;
68  virtual sigc::signal<void, float>& _signal_parameter_value_float(const std::string& id) = 0;
69  virtual bool update_parameter() = 0;
70 protected:
72 public:
73  virtual ~GxMachineBase();
74  // engine
75  virtual void set_state(GxEngineState state) = 0;
76  virtual GxEngineState get_state() = 0;
77  virtual void load_ladspalist(std::vector<std::string>& old_not_found, ladspa::LadspaPluginList& pluginlist) = 0;
78  virtual void save_ladspalist(ladspa::LadspaPluginList& pluginlist) = 0;
79  virtual void commit_ladspa_changes() = 0;
80  virtual sigc::signal<void,Plugin*,PluginChange::pc>& signal_plugin_changed() = 0;
81  virtual Plugin *pluginlist_lookup_plugin(const std::string& id) const = 0;
82  virtual bool load_unit(gx_gui::UiBuilderImpl& builder, PluginDef* pdef) = 0;
83  virtual void pluginlist_append_rack(UiBuilderBase& ui) = 0;
84  virtual float get_tuner_freq() = 0;
85  virtual float get_tuner_note() = 0;
86  virtual void set_oscilloscope_mul_buffer(int a) = 0;
87  virtual int get_oscilloscope_mul_buffer() = 0;
88  virtual gx_system::CmdlineOptions& get_options() const = 0;
89  virtual void start_socket(sigc::slot<void> quit_mainloop, const Glib::ustring& host, int port) = 0;
90  virtual void stop_socket() = 0;
91  virtual sigc::signal<void,GxEngineState>& signal_state_change() = 0;
92  virtual void tuner_used_for_display(bool on) = 0;
93  virtual void tuner_used_by_midi(bool on) = 0;
94  virtual void tuner_switch(bool on) = 0;
95  virtual const std::vector<std::string>& get_rack_unit_order(PluginType type) = 0;
96  virtual sigc::signal<void,bool>& signal_rack_unit_order_changed() = 0;
97  virtual void remove_rack_unit(const std::string& unit, PluginType type) = 0;
98  virtual void insert_rack_unit(const std::string& unit, const std::string& before, PluginType type) = 0;
99  // tuner_switcher
100  virtual bool get_tuner_switcher_active() = 0;
101  virtual void tuner_switcher_activate(bool v) = 0;
102  virtual void tuner_switcher_deactivate() = 0;
103  virtual void tuner_switcher_toggle(bool v) = 0;
104  virtual sigc::signal<void,const Glib::ustring&,const Glib::ustring&>& tuner_switcher_signal_display() = 0;
105  virtual sigc::signal<void,TunerSwitcher::SwitcherState>& tuner_switcher_signal_set_state() = 0;
106  virtual sigc::signal<void, bool>& tuner_switcher_signal_selection_done() = 0;
107  // preset
108  virtual bool setting_is_preset() = 0;
109  virtual const Glib::ustring& get_current_bank() = 0;
111  virtual const Glib::ustring& get_current_name() = 0;
112  virtual gx_system::PresetFileGui* get_bank_file(const Glib::ustring& bank) const = 0;
113  virtual Glib::ustring get_bank_name(int n) = 0;
114  virtual void load_preset(gx_system::PresetFileGui *pf, const Glib::ustring& name) = 0;
115  virtual bool msend_midi_cc(int cc, int pgn, int bgn, int num) = 0;
116  virtual void loadstate() = 0;
117  virtual int bank_size() = 0;
118  virtual int get_bank_index(const Glib::ustring& bank) = 0;
119  virtual void create_default_scratch_preset() = 0;
120  virtual void set_statefilename(const std::string& fn) = 0;
121  virtual void save_to_state(bool preserve_preset=false) = 0;
122  virtual void plugin_preset_list_load(const PluginDef *pdef, gx_preset::UnitPresetList &presetnames) = 0;
123  virtual void plugin_preset_list_set(const PluginDef *pdef, bool factory, const Glib::ustring& name) = 0;
124  virtual void plugin_preset_list_sync_set(const PluginDef *pdef, bool factory, const Glib::ustring& name) = 0;
125  virtual void plugin_preset_list_set_on_idle(const PluginDef *pdef, bool factory, const Glib::ustring& name) = 0;
126  virtual void plugin_preset_list_save(const PluginDef *pdef, const Glib::ustring& name) = 0;
127  virtual void plugin_preset_list_remove(const PluginDef *pdef, const Glib::ustring& name) = 0;
128  virtual void disable_autosave(bool v) = 0;
129  virtual void disable_save_on_exit(bool v) = 0;
130  virtual sigc::signal<void>& signal_selection_changed() = 0;
131  virtual sigc::signal<void>& signal_presetlist_changed() = 0;
132  virtual gx_system::PresetFileGui *bank_insert_uri(const Glib::ustring& uri, bool move, int position) = 0;
133  virtual gx_system::PresetFileGui *bank_insert_new(const Glib::ustring& newname) = 0;
134  virtual bool rename_bank(const Glib::ustring& oldname, Glib::ustring& newname) = 0;
135  virtual bool rename_preset(gx_system::PresetFileGui& pf, const Glib::ustring& oldname, const Glib::ustring& newname) = 0;
136  virtual void bank_reorder(const std::vector<Glib::ustring>& neworder) = 0;
137  virtual void reorder_preset(gx_system::PresetFileGui& pf, const std::vector<Glib::ustring>& neworder) = 0;
138  virtual bool bank_check_reparse() = 0;
139  virtual void erase_preset(gx_system::PresetFileGui& pf, const Glib::ustring& name) = 0;
140  virtual void bank_set_flag(gx_system::PresetFileGui *pf, int flag, bool v) = 0;
141  virtual std::string bank_get_filename(const Glib::ustring& bank) = 0;
142  virtual void bank_drag_begin() = 0;
143  virtual gx_system::PresetFileGui *bank_get_file(const Glib::ustring& bank) const = 0;
144  virtual bank_iterator bank_begin() = 0;
145  virtual bank_iterator bank_end() = 0;
146  virtual void pf_append(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& name) = 0;
147  virtual void pf_insert_before(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& pos, const Glib::ustring& name) = 0;
148  virtual void pf_insert_after(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& pos, const Glib::ustring& name) = 0;
150  virtual bool bank_remove(const Glib::ustring& bank) = 0;
151  virtual void bank_save() = 0;
152  virtual void pf_save(gx_system::PresetFileGui& pf, const Glib::ustring& name) = 0;
153 
154  virtual void next_preset_switch() = 0;
155  virtual void previus_preset_switch() = 0;
156  virtual void process_next_preset_switch(bool s) = 0;
157  virtual void process_previus_preset_switch(bool s) = 0;
158 
159  // jack
160  virtual gx_jack::GxJack *get_jack() = 0;
161  virtual void set_jack_insert(bool v) = 0;
162  // pmap
163  virtual Parameter& get_parameter(const std::string& id) = 0;
164  virtual void insert_param(Glib::ustring group, Glib::ustring name) = 0;
165  virtual void set_init_values() = 0;
166  void set_update_parameter(void *control, const string& id, bool on=true);
167  virtual bool parameter_hasId(const char *p) = 0;
168  virtual bool parameter_hasId(const std::string& id) = 0;
169  virtual void reset_unit(const PluginDef *pdef) const = 0;
170  virtual bool parameter_unit_has_std_values(const PluginDef *pdef) const = 0;
171  virtual void set_parameter_value(const std::string& id, int value) = 0;
172  virtual void set_parameter_value(const std::string& id, float value) = 0;
173  virtual void set_parameter_value(const std::string& id, bool value) = 0;
174  virtual void set_parameter_value(const std::string& id, const std::string& value) = 0;
175  void set_parameter_value(const std::string& id, double value) { set_parameter_value(id, (float)value); }
176  template <class T> T get_parameter_value (const std::string& id);
177  template <class T> sigc::signal<void, T>& signal_parameter_value(const std::string& id);
178  // MidiControllerList
179  virtual bool midi_get_config_mode(int *ctl = 0) = 0;
180  virtual void midi_set_config_mode(bool v, int ctl=-1) = 0;
181  virtual sigc::signal<void>& signal_midi_changed() = 0;
182  virtual sigc::signal<void, int, int>& signal_midi_value_changed() = 0;
183  virtual void request_midi_value_update() = 0;
184  virtual int midi_size() = 0;
185  virtual midi_controller_list& midi_get(int n) = 0;
186  virtual void midi_deleteParameter(Parameter& param) = 0;
187  virtual void midi_set_current_control(int v) = 0;
188  virtual void midi_modifyCurrent(Parameter& param, float lower, float upper, bool toggle, int toggle_behaviour) = 0;
189  virtual int midi_param2controller(Parameter& param, const MidiController** p) = 0;
190  virtual void set_midi_channel(int s) = 0;
191  virtual void midi_feedback(int c, int v) = 0;
192  virtual bool get_midi_feedback() = 0;
193  virtual void set_midi_feedback(int v) = 0;
194  virtual void on_tuner_freq_changed() = 0;
195  // Convolver
196  virtual void reload_impresp_list(const std::string& path) = 0;
197  sigc::signal<void,const std::string&, std::vector<gx_system::FileName> >& signal_impresp_list() {
198  return impresp_list;
199  }
200  virtual void load_impresp_dirs(std::vector<gx_system::FileName>& dirs) = 0;
201  virtual bool read_audio(const std::string& filename, unsigned int *audio_size, int *audio_chan,
202  int *audio_type, int *audio_form, int *audio_rate, float **buffer) = 0;
203 };
204 
205 template <> inline float GxMachineBase::get_parameter_value(const std::string& id) {
206  return _get_parameter_value_float(id);
207 }
208 
209 template <> inline int GxMachineBase::get_parameter_value(const std::string& id) {
210  return _get_parameter_value_int(id);
211 }
212 
213 template <> inline bool GxMachineBase::get_parameter_value(const std::string& id) {
214  return _get_parameter_value_bool(id);
215 }
216 
217 template <> inline std::string GxMachineBase::get_parameter_value(const std::string& id) {
218  return _get_parameter_value_string(id);
219 }
220 
221 template <> inline sigc::signal<void, float>& GxMachineBase::signal_parameter_value(const std::string& id) {
223 }
224 
225 template <> inline sigc::signal<void, int>& GxMachineBase::signal_parameter_value(const std::string& id) {
226  return _signal_parameter_value_int(id);
227 }
228 
229 template <> inline sigc::signal<void, bool>& GxMachineBase::signal_parameter_value(const std::string& id) {
230  return _signal_parameter_value_bool(id);
231 }
232 
233 
234 class GxMachine: public GxMachineBase {
235 private:
242 #ifdef HAVE_AVAHI
243  AvahiService *avahi_service;
244 #endif
246  Glib::ustring switch_bank;
247 private:
249  void set_mute_state(int mute);
250  void do_program_change(int pgm);
251  void do_bank_change(int pgm);
252  void edge_toggle_tuner(bool v);
253  void on_impresp(const std::string& path);
254  void exit_handler(bool otherthread);
256  virtual int _get_parameter_value_int(const std::string& id);
257  virtual int _get_parameter_value_bool(const std::string& id);
258  virtual float _get_parameter_value_float(const std::string& id);
259  virtual std::string _get_parameter_value_string(const std::string& id);
260  virtual sigc::signal<void, int>& _signal_parameter_value_int(const std::string& id);
261  virtual sigc::signal<void, bool>& _signal_parameter_value_bool(const std::string& id);
262  virtual sigc::signal<void, float>& _signal_parameter_value_float(const std::string& id);
263  virtual bool update_parameter();
264 public:
266  virtual ~GxMachine();
267  virtual void set_state(GxEngineState state);
269  virtual void load_ladspalist(std::vector<std::string>& old_not_found, ladspa::LadspaPluginList& pluginlist);
270  virtual void save_ladspalist(ladspa::LadspaPluginList& pluginlist);
271  virtual void commit_ladspa_changes();
272  virtual sigc::signal<void,Plugin*,PluginChange::pc>& signal_plugin_changed();
273  virtual Plugin *pluginlist_lookup_plugin(const std::string& id) const;
274  virtual bool load_unit(gx_gui::UiBuilderImpl& builder, PluginDef* pdef);
276  virtual float get_tuner_freq();
277  virtual float get_tuner_note();
278  virtual void set_oscilloscope_mul_buffer(int a);
281  virtual void start_socket(sigc::slot<void> quit_mainloop, const Glib::ustring& host, int port);
282  virtual void stop_socket();
283  virtual sigc::signal<void,GxEngineState>& signal_state_change();
284  virtual void tuner_used_for_display(bool on);
285  virtual void tuner_used_by_midi(bool on);
286  virtual void tuner_switch(bool on);
287  virtual const std::vector<std::string>& get_rack_unit_order(PluginType type);
288  virtual sigc::signal<void,bool>& signal_rack_unit_order_changed();
289  virtual void remove_rack_unit(const std::string& unit, PluginType type);
290  virtual void insert_rack_unit(const std::string& unit, const std::string& before, PluginType type);
291  // tuner_switcher
293  virtual void tuner_switcher_activate(bool v);
295  virtual void tuner_switcher_toggle(bool v);
296  virtual sigc::signal<void,const Glib::ustring&,const Glib::ustring&>& tuner_switcher_signal_display();
297  virtual sigc::signal<void,TunerSwitcher::SwitcherState>& tuner_switcher_signal_set_state();
298  virtual sigc::signal<void, bool>& tuner_switcher_signal_selection_done();
299  // preset
300  virtual bool setting_is_preset();
301  virtual const Glib::ustring& get_current_bank();
303  virtual const Glib::ustring& get_current_name();
304  virtual gx_system::PresetFileGui* get_bank_file(const Glib::ustring& bank) const;
305  virtual Glib::ustring get_bank_name(int n);
306  virtual void load_preset(gx_system::PresetFileGui *pf, const Glib::ustring& name);
307  virtual bool msend_midi_cc(int cc, int pgn, int bgn, int num);
308  virtual void loadstate();
309  virtual int bank_size();
310  virtual int get_bank_index(const Glib::ustring& bank);
312  virtual void set_statefilename(const std::string& fn);
313  virtual void save_to_state(bool preserve_preset=false);
314  virtual void plugin_preset_list_load(const PluginDef *pdef, gx_preset::UnitPresetList &presetnames);
315  virtual void plugin_preset_list_set(const PluginDef *pdef, bool factory, const Glib::ustring& name);
316  virtual void plugin_preset_list_sync_set(const PluginDef *pdef, bool factory, const Glib::ustring& name);
317  virtual void plugin_preset_list_set_on_idle(const PluginDef *pdef, bool factory, const Glib::ustring& name);
318  virtual void plugin_preset_list_save(const PluginDef *pdef, const Glib::ustring& name);
319  virtual void plugin_preset_list_remove(const PluginDef *pdef, const Glib::ustring& name);
320  virtual void disable_autosave(bool v);
321  virtual void disable_save_on_exit(bool v);
322  virtual sigc::signal<void>& signal_selection_changed();
323  virtual sigc::signal<void>& signal_presetlist_changed();
324  virtual gx_system::PresetFileGui *bank_insert_uri(const Glib::ustring& uri, bool move, int position);
325  virtual gx_system::PresetFileGui *bank_insert_new(const Glib::ustring& newname);
326  virtual bool rename_bank(const Glib::ustring& oldname, Glib::ustring& newname);
327  virtual bool rename_preset(gx_system::PresetFileGui& pf, const Glib::ustring& oldname, const Glib::ustring& newname);
328  virtual void bank_reorder(const std::vector<Glib::ustring>& neworder);
329  virtual void reorder_preset(gx_system::PresetFileGui& pf, const std::vector<Glib::ustring>& neworder);
330  virtual bool bank_check_reparse();
331  virtual void erase_preset(gx_system::PresetFileGui& pf, const Glib::ustring& name);
332  virtual void bank_set_flag(gx_system::PresetFileGui *pf, int flag, bool v);
333  virtual std::string bank_get_filename(const Glib::ustring& bank);
334  virtual void bank_drag_begin();
335  virtual gx_system::PresetFileGui *bank_get_file(const Glib::ustring& bank) const;
338  virtual void pf_append(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& name);
339  virtual void pf_insert_before(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& pos, const Glib::ustring& name);
340  virtual void pf_insert_after(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& pos, const Glib::ustring& name);
342  virtual bool bank_remove(const Glib::ustring& bank);
343  virtual void bank_save();
344  virtual void pf_save(gx_system::PresetFileGui& pf, const Glib::ustring& name);
345 
346  virtual void next_preset_switch();
347  virtual void previus_preset_switch();
348  virtual void process_next_preset_switch(bool s);
349  virtual void process_previus_preset_switch(bool s);
350 
351  // jack
353  virtual void set_jack_insert(bool v);
354  // pmap
355  virtual Parameter& get_parameter(const char *p);
356  virtual Parameter& get_parameter(const std::string& id);
357  virtual void insert_param(Glib::ustring group, Glib::ustring name);
358  virtual void set_init_values();
359  virtual bool parameter_hasId(const char *p);
360  virtual bool parameter_hasId(const std::string& id);
361  virtual void reset_unit(const PluginDef *pdef) const;
362  virtual bool parameter_unit_has_std_values(const PluginDef *pdef) const;
363  virtual void set_parameter_value(const std::string& id, int value);
364  virtual void set_parameter_value(const std::string& id, bool value);
365  virtual void set_parameter_value(const std::string& id, float value);
366  virtual void set_parameter_value(const std::string& id, const std::string& value);
367  // bool ui_f_update(const std::string& id, float value);
368  // MidiControllerList
369  virtual bool midi_get_config_mode(int *ctl = 0);
370  virtual void midi_set_config_mode(bool v, int ctl=-1);
371  virtual sigc::signal<void>& signal_midi_changed();
372  virtual sigc::signal<void, int, int>& signal_midi_value_changed();
374  virtual int midi_size();
376  virtual void midi_deleteParameter(Parameter& param);
377  virtual void midi_set_current_control(int v);
378  virtual void midi_modifyCurrent(Parameter& param, float lower, float upper, bool toggle, int toggle_behaviour);
379  virtual int midi_param2controller(Parameter& param, const MidiController** p);
380  virtual void set_midi_channel(int s);
381  virtual void midi_feedback(int c, int v);
382  virtual bool get_midi_feedback();
383  virtual void set_midi_feedback(int v);
384  virtual void on_tuner_freq_changed();
385  // Convolver
386  virtual void reload_impresp_list(const std::string& path);
387  virtual void load_impresp_dirs(std::vector<gx_system::FileName>& dirs);
388  virtual bool read_audio(const std::string& filename, unsigned int *audio_size, int *audio_chan,
389  int *audio_type, int *audio_form, int *audio_rate, float **buffer);
390 };
391 
393 private:
398  sigc::signal<void,GxEngineState> engine_state_change;
399  sigc::signal<void> selection_changed;
400  sigc::signal<void> presetlist_changed;
401  Glib::RefPtr<Gio::Socket> socket;
402  // __gnu_cxx::stdio_filebuf<char> *writebuf;
403  boost::iostreams::file_descriptor_sink *writebuf;
404  // ostream *os;
405  boost::iostreams::stream<boost::iostreams::file_descriptor_sink> *os;
407  std::vector<gx_system::JsonStringParser*> notify_list;
408  sigc::connection idle_conn;
410  sigc::signal<void> midi_changed;
411  sigc::signal<void, int, int> midi_value_changed;
413  Glib::ustring current_bank;
414  Glib::ustring current_preset;
416  std::string bank_drag_get_path;
417  sigc::signal<void,const Glib::ustring&,const Glib::ustring&> tuner_switcher_display;
418  sigc::signal<void,TunerSwitcher::SwitcherState> tuner_switcher_set_state;
419  sigc::signal<void, bool> tuner_switcher_selection_done;
420  sigc::signal<void,Plugin*,PluginChange::pc> plugin_changed;
421 private:
422  const jsonrpc_method_def& start_call(jsonrpc_method m_id);
423  void send();
424  void socket_error(int loc);
427  bool socket_input_handler(Glib::IOCondition cond);
432  int load_remote_ui(const UiBuilder& builder, int form);
434  const gx_system::JsonException& e, const char *method=0);
438  void create_bluetooth_socket(const Glib::ustring& bdaddr);
441  void midi_set_last_controller_value(int ctl, int v);
442  virtual int _get_parameter_value_int(const std::string& id);
443  virtual int _get_parameter_value_bool(const std::string& id);
444  virtual float _get_parameter_value_float(const std::string& id);
445  virtual std::string _get_parameter_value_string(const std::string& id);
446  virtual sigc::signal<void, int>& _signal_parameter_value_int(const std::string& id);
447  virtual sigc::signal<void, bool>& _signal_parameter_value_bool(const std::string& id);
448  virtual sigc::signal<void, float>& _signal_parameter_value_float(const std::string& id);
449  virtual bool update_parameter();
450 
451 public:
453  virtual ~GxMachineRemote();
454  virtual void set_state(GxEngineState state);
456  virtual void load_ladspalist(std::vector<std::string>& old_not_found, ladspa::LadspaPluginList& pluginlist);
458  virtual void commit_ladspa_changes();
459  virtual sigc::signal<void,Plugin*,PluginChange::pc>& signal_plugin_changed();
460  virtual Plugin *pluginlist_lookup_plugin(const std::string& id) const;
461  virtual bool load_unit(gx_gui::UiBuilderImpl& builder, PluginDef* pdef);
463  virtual float get_tuner_freq();
464  virtual float get_tuner_note();
465  virtual void set_oscilloscope_mul_buffer(int a);
468  virtual void start_socket(sigc::slot<void> quit_mainloop, const Glib::ustring& host, int port);
469  virtual void stop_socket();
470  virtual sigc::signal<void,GxEngineState>& signal_state_change();
471  virtual void tuner_used_for_display(bool on);
472  virtual void tuner_used_by_midi(bool on);
473  virtual void tuner_switch(bool on);
474  virtual const std::vector<std::string>& get_rack_unit_order(PluginType type);
475  virtual sigc::signal<void,bool>& signal_rack_unit_order_changed();
476  virtual void remove_rack_unit(const std::string& unit, PluginType type);
477  virtual void insert_rack_unit(const std::string& unit, const std::string& before, PluginType type);
478  // tuner_switcher
480  virtual void tuner_switcher_activate(bool v);
482  virtual void tuner_switcher_toggle(bool v);
483  virtual sigc::signal<void,const Glib::ustring&,const Glib::ustring&>& tuner_switcher_signal_display();
484  virtual sigc::signal<void,TunerSwitcher::SwitcherState>& tuner_switcher_signal_set_state();
485  virtual sigc::signal<void, bool>& tuner_switcher_signal_selection_done();
486  // preset
487  virtual bool setting_is_preset();
488  virtual const Glib::ustring& get_current_bank();
490  virtual const Glib::ustring& get_current_name();
491  virtual gx_system::PresetFileGui* get_bank_file(const Glib::ustring& bank) const;
492  virtual Glib::ustring get_bank_name(int n);
493  virtual void load_preset(gx_system::PresetFileGui *pf, const Glib::ustring& name);
494  virtual bool msend_midi_cc(int cc, int pgn, int bgn, int num);
495  virtual void loadstate();
496  virtual int bank_size();
497  virtual int get_bank_index(const Glib::ustring& bank);
499  virtual void set_statefilename(const std::string& fn);
500  virtual void save_to_state(bool preserve_preset=false);
501  virtual void plugin_preset_list_load(const PluginDef *pdef, gx_preset::UnitPresetList &presetnames);
502  virtual void plugin_preset_list_set(const PluginDef *pdef, bool factory, const Glib::ustring& name);
503  virtual void plugin_preset_list_sync_set(const PluginDef *pdef, bool factory, const Glib::ustring& name);
504  virtual void plugin_preset_list_set_on_idle(const PluginDef *pdef, bool factory, const Glib::ustring& name);
505  virtual void plugin_preset_list_save(const PluginDef *pdef, const Glib::ustring& name);
506  virtual void plugin_preset_list_remove(const PluginDef *pdef, const Glib::ustring& name);
507  virtual void disable_autosave(bool v);
508  virtual void disable_save_on_exit(bool v);
509  virtual sigc::signal<void>& signal_selection_changed();
510  virtual sigc::signal<void>& signal_presetlist_changed();
511  virtual gx_system::PresetFileGui *bank_insert_uri(const Glib::ustring& uri, bool move, int position);
512  virtual gx_system::PresetFileGui *bank_insert_new(const Glib::ustring& newname);
513  virtual bool rename_bank(const Glib::ustring& oldname, Glib::ustring& newname);
514  virtual bool rename_preset(gx_system::PresetFileGui& pf, const Glib::ustring& oldname, const Glib::ustring& newname);
515  virtual void bank_reorder(const std::vector<Glib::ustring>& neworder);
516  virtual void reorder_preset(gx_system::PresetFileGui& pf, const std::vector<Glib::ustring>& neworder);
517  virtual bool bank_check_reparse();
518  virtual void erase_preset(gx_system::PresetFileGui& pf, const Glib::ustring& name);
519  virtual void bank_set_flag(gx_system::PresetFileGui *pf, int flag, bool v);
520  virtual std::string bank_get_filename(const Glib::ustring& bank);
521  virtual void bank_drag_begin();
522  virtual gx_system::PresetFileGui *bank_get_file(const Glib::ustring& bank) const;
525  virtual void pf_append(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& name);
526  virtual void pf_insert_before(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& pos, const Glib::ustring& name);
527  virtual void pf_insert_after(gx_system::PresetFileGui& pf, const Glib::ustring& src, gx_system::PresetFileGui& pftgt, const Glib::ustring& pos, const Glib::ustring& name);
529  virtual bool bank_remove(const Glib::ustring& bank);
530  virtual void bank_save();
531  virtual void pf_save(gx_system::PresetFileGui& pf, const Glib::ustring& name);
532 
533  virtual void next_preset_switch();
534  virtual void previus_preset_switch();
535  virtual void process_next_preset_switch(bool s);
536  virtual void process_previus_preset_switch(bool s);
537 
538  // jack
540  virtual void set_jack_insert(bool v);
541  // pmap
542  virtual Parameter& get_parameter(const char *p);
543  virtual Parameter& get_parameter(const std::string& id);
544  virtual void insert_param(Glib::ustring group, Glib::ustring name);
545  virtual void set_init_values();
546  virtual bool parameter_hasId(const char *p);
547  virtual bool parameter_hasId(const std::string& id);
548  virtual void reset_unit(const PluginDef *pdef) const;
549  virtual bool parameter_unit_has_std_values(const PluginDef *pdef) const;
550  virtual void set_parameter_value(const std::string& id, int value);
551  virtual void set_parameter_value(const std::string& id, bool value);
552  virtual void set_parameter_value(const std::string& id, float value);
553  virtual void set_parameter_value(const std::string& id, const std::string& value);
554 
555  // MidiControllerList
556  virtual bool midi_get_config_mode(int *ctl = 0);
557  virtual void midi_set_config_mode(bool v, int ctl=-1);
558  virtual sigc::signal<void>& signal_midi_changed();
559  virtual sigc::signal<void, int, int>& signal_midi_value_changed();
561  virtual int midi_size();
563  virtual void midi_deleteParameter(Parameter& param);
564  virtual void midi_set_current_control(int v);
565  virtual void midi_modifyCurrent(Parameter& param, float lower, float upper, bool toggle, int toggle_behaviour);
566  virtual int midi_param2controller(Parameter& param, const MidiController** p);
567  virtual void set_midi_channel(int s);
568  virtual void midi_feedback(int c, int v);
569  virtual bool get_midi_feedback();
570  virtual void set_midi_feedback(int v);
571  virtual void on_tuner_freq_changed();
572  // Convolver
573  virtual void reload_impresp_list(const std::string& path);
574  virtual void load_impresp_dirs(std::vector<gx_system::FileName>& dirs);
575  virtual bool read_audio(const std::string& filename, unsigned int *audio_size, int *audio_chan,
576  int *audio_type, int *audio_form, int *audio_rate, float **buffer);
577 };
578 
579 } // namespace gx_engine
580 
581 #endif // SRC_HEADERS_MACHINE_H_
virtual void previus_preset_switch()=0
virtual bool convert_preset(gx_system::PresetFileGui &pf)=0
virtual sigc::signal< void, int > & _signal_parameter_value_int(const std::string &id)=0
virtual std::string _get_parameter_value_string(const std::string &id)=0
virtual void request_midi_value_update()=0
virtual sigc::signal< void, float > & _signal_parameter_value_float(const std::string &id)=0
virtual int get_oscilloscope_mul_buffer()=0
virtual bank_iterator bank_end()=0
virtual void process_previus_preset_switch(bool s)=0
virtual void save_ladspalist(ladspa::LadspaPluginList &pluginlist)=0
virtual int midi_param2controller(Parameter &param, const MidiController **p)=0
virtual void load_ladspalist(std::vector< std::string > &old_not_found, ladspa::LadspaPluginList &pluginlist)=0
virtual sigc::signal< void > & signal_midi_changed()=0
virtual void tuner_switch(bool on)=0
virtual void process_next_preset_switch(bool s)=0
virtual void set_parameter_value(const std::string &id, float value)=0
virtual void pf_insert_after(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &pos, const Glib::ustring &name)=0
virtual bool msend_midi_cc(int cc, int pgn, int bgn, int num)=0
virtual void plugin_preset_list_load(const PluginDef *pdef, gx_preset::UnitPresetList &presetnames)=0
virtual bank_iterator bank_begin()=0
virtual int _get_parameter_value_bool(const std::string &id)=0
virtual void disable_save_on_exit(bool v)=0
virtual midi_controller_list & midi_get(int n)=0
virtual bool load_unit(gx_gui::UiBuilderImpl &builder, PluginDef *pdef)=0
void set_parameter_value(const std::string &id, double value)
Definition: machine.h:175
virtual void set_parameter_value(const std::string &id, bool value)=0
virtual void start_socket(sigc::slot< void > quit_mainloop, const Glib::ustring &host, int port)=0
virtual void save_to_state(bool preserve_preset=false)=0
virtual bool setting_is_preset()=0
virtual int _get_parameter_value_int(const std::string &id)=0
sigc::signal< void, const std::string &, std::vector< gx_system::FileName > > & signal_impresp_list()
Definition: machine.h:197
virtual gx_system::PresetFileGui * bank_get_file(const Glib::ustring &bank) const =0
virtual void insert_param(Glib::ustring group, Glib::ustring name)=0
virtual gx_system::PresetFileGui * bank_insert_uri(const Glib::ustring &uri, bool move, int position)=0
virtual void plugin_preset_list_set(const PluginDef *pdef, bool factory, const Glib::ustring &name)=0
virtual bool rename_preset(gx_system::PresetFileGui &pf, const Glib::ustring &oldname, const Glib::ustring &newname)=0
virtual int get_bank_index(const Glib::ustring &bank)=0
virtual void loadstate()=0
virtual bool get_midi_feedback()=0
virtual void create_default_scratch_preset()=0
virtual void midi_set_current_control(int v)=0
virtual void tuner_switcher_deactivate()=0
virtual Glib::ustring get_bank_name(int n)=0
output_listen_map update_map
Definition: machine.h:60
virtual bool update_parameter()=0
virtual void reset_unit(const PluginDef *pdef) const =0
virtual void set_parameter_value(const std::string &id, const std::string &value)=0
virtual sigc::signal< void, bool > & tuner_switcher_signal_selection_done()=0
virtual void load_preset(gx_system::PresetFileGui *pf, const Glib::ustring &name)=0
virtual void midi_deleteParameter(Parameter &param)=0
virtual void insert_rack_unit(const std::string &unit, const std::string &before, PluginType type)=0
virtual sigc::signal< void, GxEngineState > & signal_state_change()=0
virtual float get_tuner_note()=0
virtual sigc::signal< void, const Glib::ustring &, const Glib::ustring & > & tuner_switcher_signal_display()=0
virtual void set_statefilename(const std::string &fn)=0
virtual const Glib::ustring & get_current_bank()=0
virtual void midi_set_config_mode(bool v, int ctl=-1)=0
virtual sigc::signal< void, TunerSwitcher::SwitcherState > & tuner_switcher_signal_set_state()=0
virtual void reload_impresp_list(const std::string &path)=0
virtual void midi_feedback(int c, int v)=0
virtual void remove_rack_unit(const std::string &unit, PluginType type)=0
virtual Parameter & get_parameter(const std::string &id)=0
virtual Plugin * pluginlist_lookup_plugin(const std::string &id) const =0
virtual void pf_save(gx_system::PresetFileGui &pf, const Glib::ustring &name)=0
virtual void tuner_switcher_activate(bool v)=0
virtual void disable_autosave(bool v)=0
virtual void bank_reorder(const std::vector< Glib::ustring > &neworder)=0
virtual bool parameter_unit_has_std_values(const PluginDef *pdef) const =0
virtual bool bank_check_reparse()=0
virtual void plugin_preset_list_sync_set(const PluginDef *pdef, bool factory, const Glib::ustring &name)=0
virtual void set_init_values()=0
virtual void set_state(GxEngineState state)=0
virtual void bank_save()=0
virtual void commit_ladspa_changes()=0
virtual const std::vector< std::string > & get_rack_unit_order(PluginType type)=0
virtual void set_midi_channel(int s)=0
virtual bool parameter_hasId(const char *p)=0
virtual void erase_preset(gx_system::PresetFileGui &pf, const Glib::ustring &name)=0
virtual void plugin_preset_list_save(const PluginDef *pdef, const Glib::ustring &name)=0
void set_update_parameter(void *control, const string &id, bool on=true)
virtual int midi_size()=0
virtual bool rename_bank(const Glib::ustring &oldname, Glib::ustring &newname)=0
virtual void tuner_switcher_toggle(bool v)=0
virtual std::string bank_get_filename(const Glib::ustring &bank)=0
virtual void tuner_used_by_midi(bool on)=0
virtual float get_tuner_freq()=0
T get_parameter_value(const std::string &id)
virtual bool get_tuner_switcher_active()=0
virtual sigc::signal< void, bool > & signal_rack_unit_order_changed()=0
sigc::connection update_timeout
Definition: machine.h:57
virtual void pf_insert_before(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &pos, const Glib::ustring &name)=0
virtual const Glib::ustring & get_current_name()=0
virtual void next_preset_switch()=0
virtual sigc::signal< void > & signal_presetlist_changed()=0
virtual sigc::signal< void > & signal_selection_changed()=0
virtual float _get_parameter_value_float(const std::string &id)=0
sigc::signal< void, const std::string &, std::vector< gx_system::FileName > > impresp_list
Definition: machine.h:59
virtual void set_oscilloscope_mul_buffer(int a)=0
virtual GxEngineState get_state()=0
virtual sigc::signal< void, int, int > & signal_midi_value_changed()=0
virtual void set_parameter_value(const std::string &id, int value)=0
virtual gx_jack::GxJack * get_jack()=0
virtual void bank_set_flag(gx_system::PresetFileGui *pf, int flag, bool v)=0
virtual void load_impresp_dirs(std::vector< gx_system::FileName > &dirs)=0
virtual void bank_drag_begin()=0
virtual void on_tuner_freq_changed()=0
virtual gx_system::PresetFileGui * bank_insert_new(const Glib::ustring &newname)=0
virtual gx_system::CmdlineOptions & get_options() const =0
virtual void set_jack_insert(bool v)=0
sigc::signal< void, T > & signal_parameter_value(const std::string &id)
virtual void reorder_preset(gx_system::PresetFileGui &pf, const std::vector< Glib::ustring > &neworder)=0
virtual void plugin_preset_list_remove(const PluginDef *pdef, const Glib::ustring &name)=0
virtual void stop_socket()=0
virtual void midi_modifyCurrent(Parameter &param, float lower, float upper, bool toggle, int toggle_behaviour)=0
virtual gx_system::PresetFileGui * get_current_bank_file()=0
virtual void pf_append(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &name)=0
virtual bool parameter_hasId(const std::string &id)=0
virtual int bank_size()=0
virtual gx_system::PresetFileGui * get_bank_file(const Glib::ustring &bank) const =0
virtual bool bank_remove(const Glib::ustring &bank)=0
virtual void set_midi_feedback(int v)=0
virtual sigc::signal< void, Plugin *, PluginChange::pc > & signal_plugin_changed()=0
virtual bool read_audio(const std::string &filename, unsigned int *audio_size, int *audio_chan, int *audio_type, int *audio_form, int *audio_rate, float **buffer)=0
virtual void pluginlist_append_rack(UiBuilderBase &ui)=0
virtual void plugin_preset_list_set_on_idle(const PluginDef *pdef, bool factory, const Glib::ustring &name)=0
virtual void tuner_used_for_display(bool on)=0
virtual bool midi_get_config_mode(int *ctl=0)=0
virtual sigc::signal< void, bool > & _signal_parameter_value_bool(const std::string &id)=0
virtual void load_impresp_dirs(std::vector< gx_system::FileName > &dirs)
virtual const std::vector< std::string > & get_rack_unit_order(PluginType type)
virtual void set_parameter_value(const std::string &id, float value)
virtual sigc::signal< void, const Glib::ustring &, const Glib::ustring & > & tuner_switcher_signal_display()
virtual void request_midi_value_update()
virtual void set_parameter_value(const std::string &id, bool value)
virtual void pf_insert_before(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &pos, const Glib::ustring &name)
virtual void pf_insert_after(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &pos, const Glib::ustring &name)
virtual void reorder_preset(gx_system::PresetFileGui &pf, const std::vector< Glib::ustring > &neworder)
Glib::ustring switch_bank
Definition: machine.h:246
virtual bool load_unit(gx_gui::UiBuilderImpl &builder, PluginDef *pdef)
virtual void erase_preset(gx_system::PresetFileGui &pf, const Glib::ustring &name)
virtual void process_previus_preset_switch(bool s)
virtual GxEngineState get_state()
virtual void tuner_switcher_toggle(bool v)
virtual void save_to_state(bool preserve_preset=false)
virtual void bank_reorder(const std::vector< Glib::ustring > &neworder)
void do_bank_change(int pgm)
virtual void previus_preset_switch()
virtual void start_socket(sigc::slot< void > quit_mainloop, const Glib::ustring &host, int port)
virtual void set_statefilename(const std::string &fn)
virtual void process_next_preset_switch(bool s)
void exit_handler(bool otherthread)
ParamMap & pmap
Definition: machine.h:245
virtual float get_tuner_note()
gx_preset::GxSettings settings
Definition: machine.h:239
virtual bank_iterator bank_end()
virtual gx_system::PresetFileGui * get_current_bank_file()
virtual void tuner_switcher_deactivate()
virtual const Glib::ustring & get_current_bank()
virtual void disable_autosave(bool v)
void do_program_change(int pgm)
virtual int midi_size()
virtual void stop_socket()
virtual int get_oscilloscope_mul_buffer()
virtual void set_state(GxEngineState state)
virtual void commit_ladspa_changes()
virtual sigc::signal< void, TunerSwitcher::SwitcherState > & tuner_switcher_signal_set_state()
virtual void set_parameter_value(const std::string &id, int value)
virtual bool msend_midi_cc(int cc, int pgn, int bgn, int num)
virtual void reset_unit(const PluginDef *pdef) const
virtual bool parameter_hasId(const char *p)
virtual void midi_set_current_control(int v)
virtual bool midi_get_config_mode(int *ctl=0)
virtual float _get_parameter_value_float(const std::string &id)
virtual void loadstate()
virtual sigc::signal< void > & signal_presetlist_changed()
virtual void pluginlist_append_rack(UiBuilderBase &ui)
void edge_toggle_tuner(bool v)
virtual void tuner_used_by_midi(bool on)
virtual void midi_deleteParameter(Parameter &param)
virtual std::string _get_parameter_value_string(const std::string &id)
virtual bool parameter_unit_has_std_values(const PluginDef *pdef) const
virtual bool get_tuner_switcher_active()
virtual sigc::signal< void > & signal_midi_changed()
virtual bool read_audio(const std::string &filename, unsigned int *audio_size, int *audio_chan, int *audio_type, int *audio_form, int *audio_rate, float **buffer)
virtual void load_ladspalist(std::vector< std::string > &old_not_found, ladspa::LadspaPluginList &pluginlist)
void on_impresp(const std::string &path)
virtual void set_midi_channel(int s)
virtual void plugin_preset_list_set_on_idle(const PluginDef *pdef, bool factory, const Glib::ustring &name)
virtual sigc::signal< void, Plugin *, PluginChange::pc > & signal_plugin_changed()
virtual void remove_rack_unit(const std::string &unit, PluginType type)
virtual void save_ladspalist(ladspa::LadspaPluginList &pluginlist)
virtual sigc::signal< void, int > & _signal_parameter_value_int(const std::string &id)
virtual sigc::signal< void, GxEngineState > & signal_state_change()
gx_system::CmdlineOptions & options
Definition: machine.h:236
virtual int get_bank_index(const Glib::ustring &bank)
virtual void tuner_used_for_display(bool on)
virtual int bank_size()
virtual sigc::signal< void, bool > & tuner_switcher_signal_selection_done()
virtual void midi_set_config_mode(bool v, int ctl=-1)
virtual midi_controller_list & midi_get(int n)
virtual const Glib::ustring & get_current_name()
virtual bool bank_check_reparse()
virtual bool rename_preset(gx_system::PresetFileGui &pf, const Glib::ustring &oldname, const Glib::ustring &newname)
virtual void plugin_preset_list_sync_set(const PluginDef *pdef, bool factory, const Glib::ustring &name)
virtual void disable_save_on_exit(bool v)
virtual float get_tuner_freq()
virtual sigc::signal< void, int, int > & signal_midi_value_changed()
virtual int _get_parameter_value_bool(const std::string &id)
virtual void set_oscilloscope_mul_buffer(int a)
virtual void plugin_preset_list_remove(const PluginDef *pdef, const Glib::ustring &name)
virtual void tuner_switcher_activate(bool v)
virtual void load_preset(gx_system::PresetFileGui *pf, const Glib::ustring &name)
virtual void set_parameter_value(const std::string &id, const std::string &value)
virtual gx_system::CmdlineOptions & get_options() const
virtual void create_default_scratch_preset()
virtual void bank_save()
virtual sigc::signal< void > & signal_selection_changed()
virtual sigc::signal< void, bool > & _signal_parameter_value_bool(const std::string &id)
virtual int midi_param2controller(Parameter &param, const MidiController **p)
void process_cmdline_bank_preset()
void set_mute_state(int mute)
virtual gx_system::PresetFileGui * bank_insert_uri(const Glib::ustring &uri, bool move, int position)
virtual void midi_modifyCurrent(Parameter &param, float lower, float upper, bool toggle, int toggle_behaviour)
virtual void pf_append(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &name)
virtual bool rename_bank(const Glib::ustring &oldname, Glib::ustring &newname)
virtual void plugin_preset_list_save(const PluginDef *pdef, const Glib::ustring &name)
virtual gx_jack::GxJack * get_jack()
virtual void bank_set_flag(gx_system::PresetFileGui *pf, int flag, bool v)
virtual void on_tuner_freq_changed()
virtual gx_system::PresetFileGui * bank_insert_new(const Glib::ustring &newname)
virtual void next_preset_switch()
virtual void set_init_values()
virtual void midi_feedback(int c, int v)
virtual bool bank_remove(const Glib::ustring &bank)
GxService * sock
Definition: machine.h:241
virtual gx_system::PresetFileGui * get_bank_file(const Glib::ustring &bank) const
virtual bool get_midi_feedback()
virtual sigc::signal< void, bool > & signal_rack_unit_order_changed()
virtual void plugin_preset_list_load(const PluginDef *pdef, gx_preset::UnitPresetList &presetnames)
virtual Plugin * pluginlist_lookup_plugin(const std::string &id) const
virtual void set_jack_insert(bool v)
virtual void reload_impresp_list(const std::string &path)
virtual void bank_drag_begin()
GxMachine(gx_system::CmdlineOptions &options)
TunerSwitcher tuner_switcher
Definition: machine.h:240
gx_jack::GxJack jack
Definition: machine.h:238
virtual gx_system::PresetFileGui * bank_get_file(const Glib::ustring &bank) const
virtual bank_iterator bank_begin()
virtual Glib::ustring get_bank_name(int n)
virtual void plugin_preset_list_set(const PluginDef *pdef, bool factory, const Glib::ustring &name)
virtual std::string bank_get_filename(const Glib::ustring &bank)
virtual bool convert_preset(gx_system::PresetFileGui &pf)
virtual void set_midi_feedback(int v)
virtual sigc::signal< void, float > & _signal_parameter_value_float(const std::string &id)
virtual bool parameter_hasId(const std::string &id)
virtual int _get_parameter_value_int(const std::string &id)
virtual void insert_param(Glib::ustring group, Glib::ustring name)
virtual Parameter & get_parameter(const std::string &id)
virtual bool setting_is_preset()
virtual void tuner_switch(bool on)
virtual void insert_rack_unit(const std::string &unit, const std::string &before, PluginType type)
virtual void pf_save(gx_system::PresetFileGui &pf, const Glib::ustring &name)
virtual bool update_parameter()
virtual Parameter & get_parameter(const char *p)
virtual gx_system::CmdlineOptions & get_options() const
virtual sigc::signal< void, const Glib::ustring &, const Glib::ustring & > & tuner_switcher_signal_display()
gx_system::CmdlineOptions & options
Definition: machine.h:394
int midi_get_last_controller_value(int ctl)
virtual void set_statefilename(const std::string &fn)
virtual bool parameter_hasId(const char *p)
virtual void set_midi_channel(int s)
virtual sigc::signal< void, Plugin *, PluginChange::pc > & signal_plugin_changed()
virtual void create_default_scratch_preset()
virtual void tuner_used_for_display(bool on)
virtual void commit_ladspa_changes()
virtual void bank_reorder(const std::vector< Glib::ustring > &neworder)
virtual void previus_preset_switch()
virtual void load_ladspalist(std::vector< std::string > &old_not_found, ladspa::LadspaPluginList &pluginlist)
virtual Glib::ustring get_bank_name(int n)
virtual const Glib::ustring & get_current_bank()
virtual void tuner_switch(bool on)
virtual Parameter & get_parameter(const std::string &id)
virtual gx_system::PresetFileGui * bank_insert_new(const Glib::ustring &newname)
virtual bool bank_remove(const Glib::ustring &bank)
virtual void set_state(GxEngineState state)
virtual void disable_autosave(bool v)
virtual bool setting_is_preset()
virtual void start_socket(sigc::slot< void > quit_mainloop, const Glib::ustring &host, int port)
gx_system::PresetBanks banks
Definition: machine.h:397
void throw_error(gx_system::JsonStringParser *jp)
virtual Plugin * pluginlist_lookup_plugin(const std::string &id) const
virtual bool read_audio(const std::string &filename, unsigned int *audio_size, int *audio_chan, int *audio_type, int *audio_form, int *audio_rate, float **buffer)
virtual void set_midi_feedback(int v)
Glib::ustring current_bank
Definition: machine.h:413
Glib::RefPtr< Gio::Socket > socket
Definition: machine.h:401
virtual sigc::signal< void, GxEngineState > & signal_state_change()
virtual void pf_insert_after(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &pos, const Glib::ustring &name)
virtual gx_jack::GxJack * get_jack()
virtual bool midi_get_config_mode(int *ctl=0)
gx_system::JsonStringParser * receive()
virtual void plugin_preset_list_sync_set(const PluginDef *pdef, bool factory, const Glib::ustring &name)
virtual void midi_deleteParameter(Parameter &param)
virtual void pf_save(gx_system::PresetFileGui &pf, const Glib::ustring &name)
virtual void load_preset(gx_system::PresetFileGui *pf, const Glib::ustring &name)
virtual void erase_preset(gx_system::PresetFileGui &pf, const Glib::ustring &name)
PluginListBase pluginlist
Definition: machine.h:396
virtual void set_parameter_value(const std::string &id, int value)
virtual void midi_set_current_control(int v)
virtual bool get_midi_feedback()
void create_bluetooth_socket(const Glib::ustring &bdaddr)
virtual sigc::signal< void > & signal_midi_changed()
gx_preset::UnitRacks rack_units
Definition: machine.h:409
virtual void remove_rack_unit(const std::string &unit, PluginType type)
sigc::signal< void, const Glib::ustring &, const Glib::ustring & > tuner_switcher_display
Definition: machine.h:417
virtual bool convert_preset(gx_system::PresetFileGui &pf)
virtual void save_ladspalist(ladspa::LadspaPluginList &pluginlist)
virtual void tuner_switcher_toggle(bool v)
virtual int _get_parameter_value_int(const std::string &id)
virtual sigc::signal< void, int, int > & signal_midi_value_changed()
void report_rpc_error(gx_system::JsonStringParser *jp, const gx_system::JsonException &e, const char *method=0)
virtual Parameter & get_parameter(const char *p)
virtual void bank_drag_begin()
virtual int get_bank_index(const Glib::ustring &bank)
virtual void set_parameter_value(const std::string &id, bool value)
virtual int midi_param2controller(Parameter &param, const MidiController **p)
virtual void save_to_state(bool preserve_preset=false)
void parameter_changed(gx_system::JsonStringParser *jp)
virtual GxEngineState get_state()
virtual void disable_save_on_exit(bool v)
virtual bool rename_preset(gx_system::PresetFileGui &pf, const Glib::ustring &oldname, const Glib::ustring &newname)
virtual gx_system::PresetFileGui * bank_get_file(const Glib::ustring &bank) const
boost::iostreams::file_descriptor_sink * writebuf
Definition: machine.h:403
virtual sigc::signal< void > & signal_presetlist_changed()
virtual float _get_parameter_value_float(const std::string &id)
virtual void set_init_values()
virtual bool parameter_unit_has_std_values(const PluginDef *pdef) const
virtual bool load_unit(gx_gui::UiBuilderImpl &builder, PluginDef *pdef)
sigc::signal< void, TunerSwitcher::SwitcherState > tuner_switcher_set_state
Definition: machine.h:418
virtual sigc::signal< void, int > & _signal_parameter_value_int(const std::string &id)
virtual bool parameter_hasId(const std::string &id)
virtual void on_tuner_freq_changed()
bool get_bool(gx_system::JsonStringParser *jp)
virtual sigc::signal< void > & signal_selection_changed()
virtual std::string bank_get_filename(const Glib::ustring &bank)
virtual void next_preset_switch()
void handle_notify(gx_system::JsonStringParser *jp)
virtual void midi_set_config_mode(bool v, int ctl=-1)
gx_system::JsonWriter * jw
Definition: machine.h:406
bool socket_input_handler(Glib::IOCondition cond)
virtual void plugin_preset_list_remove(const PluginDef *pdef, const Glib::ustring &name)
virtual void bank_set_flag(gx_system::PresetFileGui *pf, int flag, bool v)
virtual int _get_parameter_value_bool(const std::string &id)
sigc::signal< void, Plugin *, PluginChange::pc > plugin_changed
Definition: machine.h:420
virtual void pluginlist_append_rack(UiBuilderBase &ui)
ControllerArray midi_controller_map
Definition: machine.h:412
virtual sigc::signal< void, float > & _signal_parameter_value_float(const std::string &id)
virtual gx_system::PresetFileGui * bank_insert_uri(const Glib::ustring &uri, bool move, int position)
void update_plugins(gx_system::JsonParser *jp)
void param_signal(Parameter *p)
int load_remote_ui(const UiBuilder &builder, int form)
virtual void set_parameter_value(const std::string &id, const std::string &value)
virtual sigc::signal< void, TunerSwitcher::SwitcherState > & tuner_switcher_signal_set_state()
virtual void plugin_preset_list_load(const PluginDef *pdef, gx_preset::UnitPresetList &presetnames)
virtual sigc::signal< void, bool > & tuner_switcher_signal_selection_done()
virtual bool rename_bank(const Glib::ustring &oldname, Glib::ustring &newname)
boost::iostreams::stream< boost::iostreams::file_descriptor_sink > * os
Definition: machine.h:405
GxMachineRemote(gx_system::CmdlineOptions &options)
virtual void reset_unit(const PluginDef *pdef) const
virtual void plugin_preset_list_set(const PluginDef *pdef, bool factory, const Glib::ustring &name)
virtual const Glib::ustring & get_current_name()
virtual void process_previus_preset_switch(bool s)
virtual void pf_insert_before(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &pos, const Glib::ustring &name)
virtual gx_system::PresetFileGui * get_bank_file(const Glib::ustring &bank) const
virtual float get_tuner_note()
virtual void tuner_switcher_activate(bool v)
virtual void tuner_switcher_deactivate()
virtual void stop_socket()
Glib::ustring current_preset
Definition: machine.h:414
std::vector< gx_system::JsonStringParser * > notify_list
Definition: machine.h:407
const jsonrpc_method_def & start_call(jsonrpc_method m_id)
virtual void tuner_used_by_midi(bool on)
virtual void set_jack_insert(bool v)
virtual bool get_tuner_switcher_active()
virtual float get_tuner_freq()
virtual sigc::signal< void, bool > & signal_rack_unit_order_changed()
virtual midi_controller_list & midi_get(int n)
sigc::signal< void, GxEngineState > engine_state_change
Definition: machine.h:398
virtual void midi_feedback(int c, int v)
virtual bank_iterator bank_end()
virtual void midi_modifyCurrent(Parameter &param, float lower, float upper, bool toggle, int toggle_behaviour)
virtual void set_oscilloscope_mul_buffer(int a)
virtual void reorder_preset(gx_system::PresetFileGui &pf, const std::vector< Glib::ustring > &neworder)
virtual std::string _get_parameter_value_string(const std::string &id)
virtual void plugin_preset_list_save(const PluginDef *pdef, const Glib::ustring &name)
virtual const std::vector< std::string > & get_rack_unit_order(PluginType type)
virtual void load_impresp_dirs(std::vector< gx_system::FileName > &dirs)
sigc::signal< void > presetlist_changed
Definition: machine.h:400
virtual bank_iterator bank_begin()
virtual int get_oscilloscope_mul_buffer()
sigc::signal< void > midi_changed
Definition: machine.h:410
sigc::signal< void, bool > tuner_switcher_selection_done
Definition: machine.h:419
virtual void insert_param(Glib::ustring group, Glib::ustring name)
virtual bool update_parameter()
virtual void request_midi_value_update()
virtual void process_next_preset_switch(bool s)
virtual void set_parameter_value(const std::string &id, float value)
virtual void plugin_preset_list_set_on_idle(const PluginDef *pdef, bool factory, const Glib::ustring &name)
sigc::signal< void, int, int > midi_value_changed
Definition: machine.h:411
virtual void reload_impresp_list(const std::string &path)
virtual void pf_append(gx_system::PresetFileGui &pf, const Glib::ustring &src, gx_system::PresetFileGui &pftgt, const Glib::ustring &name)
std::string bank_drag_get_path
Definition: machine.h:416
virtual void insert_rack_unit(const std::string &unit, const std::string &before, PluginType type)
virtual bool bank_check_reparse()
void midi_set_last_controller_value(int ctl, int v)
virtual gx_system::PresetFileGui * get_current_bank_file()
virtual bool msend_midi_cc(int cc, int pgn, int bgn, int num)
sigc::connection idle_conn
Definition: machine.h:408
virtual sigc::signal< void, bool > & _signal_parameter_value_bool(const std::string &id)
sigc::signal< void > selection_changed
Definition: machine.h:399
bank_iterator(gx_system::PresetBanks::iterator it_)
Definition: machine.h:45
gx_system::PresetFileGui * operator->()
Definition: machine.h:49
bool operator!=(const bank_iterator &i) const
Definition: machine.h:47
bank_iterator & operator++()
Definition: machine.h:48
gx_system::PresetBanks::iterator it
Definition: machine.h:43
gx_system::PresetFileGui * operator*()
Definition: machine.h:50
PresetFileGui * get_guiwrapper()
Definition: gx_json.h:396
PluginType
Definition: machine.h:34
@ PLUGIN_TYPE_MONO
Definition: machine.h:35
@ PLUGIN_TYPE_STEREO
Definition: machine.h:36
list< MidiController > midi_controller_list
Definition: gx_parameter.h:730
map< string, set< void * > > output_listen_map
Definition: machine.h:53
std::vector< PluginPresetEntry > UnitPresetList
Definition: gx_preset.h:138