22 #ifndef SRC_HEADERS_JSONRPC_H_ 23 #define SRC_HEADERS_JSONRPC_H_ 27 #include <giomm/init.h> 28 #include <giomm/socketservice.h> 29 #include <ext/stdio_filebuf.h> 30 #include "jsonrpc_methods.h" 41 virtual int getInt()
const;
42 virtual const Glib::ustring&
getString()
const;
82 Glib::RefPtr<Gio::SocketConnection> connection;
83 std::list<std::string> outgoing;
84 unsigned int current_offset;
86 bool midi_config_mode;
87 std::bitset<END_OF_FLAGS> flags;
91 void activate(
int n,
bool v) { flags.set(n, v); }
92 void exec(Glib::ustring cmd);
97 void write_error(
gx_system::JsonWriter& jw,
int code, Glib::ustring& message) { write_error(jw, code, message.c_str()); }
99 void error_response(
gx_system::JsonWriter& jw,
int code,
const Glib::ustring& message) { error_response(jw, code, message.c_str()); }
102 void listen(
const Glib::ustring& tp);
103 void unlisten(
const Glib::ustring& tp);
109 bool on_data_in(Glib::IOCondition cond);
110 bool on_data_out(Glib::IOCondition cond);
113 void update_maxlevel(
unsigned int channel,
float v) { maxlevel[channel] =
max(maxlevel[channel], v); }
119 struct ChangedPlugin {
128 sigc::slot<void> quit_mainloop;
129 time_t oldest_unsaved;
131 sigc::connection save_conn;
132 std::list<CmdConnection*> connection_list;
134 std::map<std::string,bool> *preg_map;
137 virtual bool on_incoming(
const Glib::RefPtr<Gio::SocketConnection>& connection,
138 const Glib::RefPtr<Glib::Object>& source_object);
147 void ladspaloader_write_changes(
gx_system::JsonWriter& jw, std::vector<ChangedPlugin>& changed_plugins);
152 void preset_changed();
154 void on_tuner_freq_changed();
155 void display(
const Glib::ustring& bank,
const Glib::ustring& preset);
157 void on_selection_done(
bool v);
158 void on_presetlist_changed();
160 void on_midi_changed();
161 void on_midi_value_changed(
int ctl,
int value);
162 void on_osc_size_changed(
unsigned int sz);
163 int on_osc_activation(
bool v);
164 void on_jack_load_changed();
165 void on_rack_unit_changed(
bool stereo);
167 std::vector<ChangedPlugin>& vec);
168 void create_bluetooth_sockets(
const Glib::ustring& host);
173 TunerSwitcher& tunerswitcher, sigc::slot<void> quit_mainloop_,
174 const Glib::ustring& host,
int *port);
181 float v = maxlevel[channel];
182 maxlevel[channel] = 0;
190 #endif // SRC_HEADERS_JSONRPC_H_ CmdConnection::msg_type end
CmdConnection::msg_type start
bool is_activated(msg_type n)
gx_engine::GxEngineState string_to_engine_state(const std::string &s)
static const unsigned int channelcount
float get_maxlevel(unsigned int channel)
virtual const Glib::ustring & getString() const
void send_notify_begin(const char *method)
const char * engine_state_to_string(gx_engine::GxEngineState s)
virtual int getInt() const
virtual gx_system::JsonSubParser getSubParser() const
virtual double getFloat() const
void update_maxlevel(unsigned int channel, float v)