File: plugin.h

package info (click to toggle)
zynjacku 5.2-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,292 kB
  • ctags: 1,584
  • sloc: sh: 9,039; ansic: 7,934; python: 3,138; makefile: 98
file content (184 lines) | stat: -rw-r--r-- 4,786 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/* -*- Mode: C ; c-basic-offset: 2 -*- */
/*****************************************************************************
 *
 *   This file is part of zynjacku
 *
 *   Copyright (C) 2006,2007,2008,2009 Nedko Arnaudov <nedko@arnaudov.name>
 *
 *   This program 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; version 2 of the License
 *
 *   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, write to the Free Software
 *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 *****************************************************************************/

#ifndef PLUGIN_H__0C38A6AD_527B_4795_8711_3606AC3A16BD__INCLUDED
#define PLUGIN_H__0C38A6AD_527B_4795_8711_3606AC3A16BD__INCLUDED

G_BEGIN_DECLS

#define ZYNJACKU_PLUGIN_TYPE (zynjacku_plugin_get_type())
#define ZYNJACKU_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ZYNJACKU_TYPE_PLUGIN, ZynjackuPlugin))
#define ZYNJACKU_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ZYNJACKU_TYPE_PLUGIN, ZynjackuPluginClass))
#define ZYNJACKU_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ZYNJACKU_TYPE_PLUGIN))
#define ZYNJACKU_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ZYNJACKU_TYPE_PLUGIN))
#define ZYNJACKU_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ZYNJACKU_TYPE_PLUGIN, ZynjackuPluginClass))

#define ZYNJACKU_TYPE_PLUGIN ZYNJACKU_PLUGIN_TYPE

typedef struct _ZynjackuPlugin ZynjackuPlugin;
typedef struct _ZynjackuPluginClass ZynjackuPluginClass;

struct _ZynjackuPlugin {
  GObject parent;
  /* instance members */
};

struct _ZynjackuPluginClass {
  GObjectClass parent;
  /* class members */
};

/* used by ZYNJACKU_TYPE_PLUGIN */
GType zynjacku_plugin_get_type();

void
zynjacku_plugin_destruct(
  ZynjackuPlugin * plugin_obj_ptr);

const char *
zynjacku_plugin_get_instance_name(
  ZynjackuPlugin * obj_ptr);

const char *
zynjacku_plugin_get_name(
  ZynjackuPlugin * obj_ptr);

const char *
zynjacku_plugin_get_uri(
  ZynjackuPlugin * obj_ptr);

gboolean
zynjacku_plugin_ui_on(
  ZynjackuPlugin * plugin_obj_ptr,
  const char * ui_uri,
  const char * ui_type_uri,
  const char * ui_binary_path,
  const char * ui_bundle_path);

void
zynjacku_plugin_ui_off(
  ZynjackuPlugin * obj_ptr);

void
zynjacku_plugin_bool_set(
  ZynjackuPlugin * obj_ptr,
  gchar * context,
  gboolean value);

void
zynjacku_plugin_float_set(
  ZynjackuPlugin * obj_ptr,
  gchar * context,
  gfloat value);

void
zynjacku_plugin_int_set(
  ZynjackuPlugin * obj_ptr,
  gchar * context,
  gint value);

void
zynjacku_plugin_enum_set(
  ZynjackuPlugin * obj_ptr,
  gchar * context,
  guint value);

void
zynjacku_plugin_get_parameters(
  ZynjackuPlugin * obj_ptr);

gboolean
zynjacku_plugin_set_parameter(
  ZynjackuPlugin * obj_ptr,
  gchar * parameter,
  gchar * value,
  GObject * midi_cc_map_obj_ptr);

GObject *
zynjacku_plugin_get_midi_cc_map(
  ZynjackuPlugin * obj_ptr,
  gchar * parameter_context);

gboolean
zynjacku_plugin_set_midi_cc_map(
  ZynjackuPlugin * plugin_obj_ptr,
  gchar * string_context,
  GObject * midi_cc_map_obj_ptr);

void
zynjacku_plugin_add_supported_feature(
  ZynjackuPlugin * plugin_obj_ptr,
  const gchar * feature_uri);

gboolean
zynjacku_plugin_create_oldmidi_input_port(
  ZynjackuPlugin * plugin_obj_ptr,
  guint port_index,
  const gchar * symbol);

gboolean
zynjacku_plugin_create_eventmidi_input_port(
  ZynjackuPlugin * plugin_obj_ptr,
  guint port_index,
  const gchar * symbol);

gboolean
zynjacku_plugin_create_audio_port(
  ZynjackuPlugin * plugin_obj_ptr,
  guint port_index,
  const gchar * symbol,
  gboolean input);

gboolean
zynjacku_plugin_create_float_parameter_port(
  ZynjackuPlugin * plugin_obj_ptr,
  guint port_index,
  const gchar * symbol,
  const gchar * name,
  gboolean msgcontext,
  gboolean default_provided,
  gfloat default_value,
  gboolean min_provided,
  gfloat min_value,
  gboolean max_provided,
  gfloat max_value);

gboolean
zynjacku_plugin_create_float_measure_port(
  ZynjackuPlugin * plugin_obj_ptr,
  guint port_index,
  const gchar * symbol,
  gboolean msgcontext);

gboolean
zynjacku_plugin_create_string_parameter_port(
  ZynjackuPlugin * plugin_obj_ptr,
  guint port_index,
  const gchar * symbol,
  const gchar * name,
  gboolean msgcontext,
  const gchar * default_value,
  gsize maxlen);

G_END_DECLS

#endif /* #ifndef PLUGIN_H__0C38A6AD_527B_4795_8711_3606AC3A16BD__INCLUDED */