LMMS
Loading...
Searching...
No Matches
connector.h
Go to the documentation of this file.
1/* Calf Library
2 * Jack Connector Window
3 *
4 * Copyright (C) 2014 Markus Schmidt / Krzysztof Foltman
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General
17 * Public License along with this program; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301 USA
20 */
21
22#include <jack/jack.h>
23#include <calf/gtk_main_win.h>
24
25
26#ifndef __CALF_CONNECTOR_H
27#define __CALF_CONNECTOR_H
28
29namespace calf_plugins {
30
31struct plugin_strip;
32class calf_connector;
33
40
42private:
47 GtkListStore *inlist, *outlist, *midilist;
49 GtkWidget *window;
51
52 void create_window();
53 static void on_destroy_window(GtkWidget *window, gpointer data);
54 static void close_window(GtkWidget *button, gpointer data);
55
56 static void inconnector_clicked(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer data);
57 static void outconnector_clicked(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer data);
58 static void midiconnector_clicked(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer data);
59
60 static void inport_clicked(GtkWidget *button, gpointer data);
61 static void outport_clicked(GtkWidget *button, gpointer data);
62 static void midiport_clicked(GtkWidget *button, gpointer data);
63
64 static void disconnect_inputs(GtkWidget *button, gpointer data);
65 static void disconnect_outputs(GtkWidget *button, gpointer data);
66 static void disconnect_midi(GtkWidget *button, gpointer data);
67 static void disconnect_all(GtkWidget *button, gpointer data);
68 void _disconnect(int type);
69public:
72
73 //static void jack_port_connect_callback(jack_port_id_t a, jack_port_id_t b, int connect, void *arg);
74 //static void jack_port_rename_callback(jack_port_id_t port, const char *old_name, const char *new_name, void *arg);
75 //static void jack_port_registration_callback(jack_port_id_t port, int register, void *arg);
76
77 void toggle_port(calf_connector *self, GtkListStore *list, gchar *path_, gchar **port, gboolean &enabled);
78 void connect(jack_client_t *client, gchar *source, gchar *dest, gboolean enabled);
79
80 void fill_list(calf_connector *self, int type);
81 void fill_inlist(gpointer data);
82 void fill_outlist(gpointer data);
83 void fill_midilist(gpointer data);
84
85 void set_toggles(calf_connector *self, int type);
86
87 void close();
88};
89
90};
91
92#endif
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
Definition connector.h:41
void close()
Definition connector.cpp:342
connector_port inports[8]
Definition connector.h:44
GtkListStore * outlist
Definition connector.h:47
void _disconnect(int type)
Definition connector.cpp:288
void connect(jack_client_t *client, gchar *source, gchar *dest, gboolean enabled)
Definition connector.cpp:57
static void disconnect_all(GtkWidget *button, gpointer data)
Definition connector.cpp:146
connector_port midiports[8]
Definition connector.h:46
GtkWidget * window
Definition connector.h:49
void fill_midilist(gpointer data)
Definition connector.cpp:177
~calf_connector()
Definition connector.cpp:43
static void disconnect_inputs(GtkWidget *button, gpointer data)
Definition connector.cpp:134
connector_port * active_in
Definition connector.h:48
static void disconnect_midi(GtkWidget *button, gpointer data)
Definition connector.cpp:142
void fill_outlist(gpointer data)
Definition connector.cpp:173
void fill_list(calf_connector *self, int type)
Definition connector.cpp:182
plugin_strip * strip
Definition connector.h:50
jack_client_t * jackclient
Definition connector.h:43
static void midiport_clicked(GtkWidget *button, gpointer data)
Definition connector.cpp:86
static void outconnector_clicked(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer data)
Definition connector.cpp:108
static void on_destroy_window(GtkWidget *window, gpointer data)
Definition connector.cpp:353
static void close_window(GtkWidget *button, gpointer data)
Definition connector.cpp:347
static void inconnector_clicked(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer data)
Definition connector.cpp:96
calf_connector(plugin_strip *strip_)
Definition connector.cpp:36
connector_port outports[8]
Definition connector.h:45
static void midiconnector_clicked(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer data)
Definition connector.cpp:120
connector_port * active_midi
Definition connector.h:48
static void disconnect_outputs(GtkWidget *button, gpointer data)
Definition connector.cpp:138
void create_window()
Definition connector.cpp:363
static void outport_clicked(GtkWidget *button, gpointer data)
Definition connector.cpp:78
GtkListStore * inlist
Definition connector.h:47
void toggle_port(calf_connector *self, GtkListStore *list, gchar *path_, gchar **port, gboolean &enabled)
Definition connector.cpp:49
void set_toggles(calf_connector *self, int type)
Definition connector.cpp:219
static void inport_clicked(GtkWidget *button, gpointer data)
Definition connector.cpp:70
connector_port * active_out
Definition connector.h:48
void fill_inlist(gpointer data)
Definition connector.cpp:169
GtkListStore * midilist
Definition connector.h:47
struct _jack_client jack_client_t
Definition jack-enum-test-func.cpp:69
JSAMPIMAGE data
Definition jpeglib.h:945
Definition benchmark.cpp:53
Definition connector.h:35
calf_connector * connector
Definition connector.h:38
int id
Definition connector.h:37
int type
Definition connector.h:36
Definition gtk_main_win.h:48