JACK-AUDIO-CONNECTION-KIT
0.122.0
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
jack
control.h
Go to the documentation of this file.
1
/* -*- Mode: C ; c-basic-offset: 4 -*- */
2
/*
3
JACK control API
4
5
Copyright (C) 2008 Nedko Arnaudov
6
Copyright (C) 2008 GRAME
7
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; version 2 of the License.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
19
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
21
*/
29
#ifndef JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED
30
#define JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED
31
32
#include <jack/jslist.h>
33
34
#include <stdbool.h>
35
37
typedef
enum
38
{
39
JackParamInt
= 1,
40
JackParamUInt
,
41
JackParamChar
,
42
JackParamString
,
43
JackParamBool
,
44
}
jackctl_param_type_t
;
45
47
#define JACK_PARAM_MAX (JackParamBool + 1)
48
50
#define JACK_PARAM_STRING_MAX 127
51
53
/* intentionally similar to jack_driver_param_value_t */
54
union
jackctl_parameter_value
55
{
56
uint32_t
ui
;
57
int32_t
i
;
58
char
c
;
59
char
str
[
JACK_PARAM_STRING_MAX
+ 1];
60
bool
b
;
61
};
62
64
typedef
struct
jackctl_server
jackctl_server_t
;
65
67
typedef
struct
jackctl_driver
jackctl_driver_t
;
68
70
typedef
struct
jackctl_internal
jackctl_internal_t
;
71
73
typedef
struct
jackctl_parameter
jackctl_parameter_t
;
74
75
#ifdef __cplusplus
76
extern
"C"
{
77
#endif
78
#if 0
79
}
/* Adjust editor indent */
80
#endif
81
96
sigset_t
97
jackctl_setup_signals
(
98
unsigned
int
flags);
99
105
void
106
jackctl_wait_signals
(
107
sigset_t signals);
108
119
jackctl_server_t
*
120
jackctl_server_create
(
121
bool
(* on_device_acquire)(
const
char
* device_name),
122
void
(* on_device_release)(
const
char
* device_name));
123
129
void
130
jackctl_server_destroy
(
131
jackctl_server_t
* server);
132
141
bool
142
jackctl_server_start
(
143
jackctl_server_t
* server,
144
jackctl_driver_t
* driver);
145
153
bool
154
jackctl_server_stop
(
155
jackctl_server_t
* server);
156
166
const
JSList *
167
jackctl_server_get_drivers_list
(
168
jackctl_server_t
* server);
169
179
const
JSList *
180
jackctl_server_get_parameters
(
181
jackctl_server_t
* server);
182
192
const
JSList *
193
jackctl_server_get_internals_list
(
194
jackctl_server_t
* server);
195
204
bool
205
jackctl_server_load_internal
(
206
jackctl_server_t
* server,
207
jackctl_internal_t
*
internal
);
208
217
bool
218
jackctl_server_unload_internal
(
219
jackctl_server_t
* server,
220
jackctl_internal_t
*
internal
);
221
230
bool
231
jackctl_server_add_slave
(
jackctl_server_t
* server,
232
jackctl_driver_t
* driver);
233
242
bool
243
jackctl_server_remove_slave
(
jackctl_server_t
* server,
244
jackctl_driver_t
* driver);
245
254
bool
255
jackctl_server_switch_master
(
jackctl_server_t
* server,
256
jackctl_driver_t
* driver);
257
258
267
const
char
*
268
jackctl_driver_get_name
(
269
jackctl_driver_t
* driver);
270
280
const
JSList *
281
jackctl_driver_get_parameters
(
282
jackctl_driver_t
* driver);
283
292
const
char
*
293
jackctl_internal_get_name
(
294
jackctl_internal_t
*
internal
);
295
305
const
JSList *
306
jackctl_internal_get_parameters
(
307
jackctl_internal_t
*
internal
);
308
317
const
char
*
318
jackctl_parameter_get_name
(
319
jackctl_parameter_t
* parameter);
320
329
const
char
*
330
jackctl_parameter_get_short_description
(
331
jackctl_parameter_t
* parameter);
332
341
const
char
*
342
jackctl_parameter_get_long_description
(
343
jackctl_parameter_t
* parameter);
344
352
jackctl_param_type_t
353
jackctl_parameter_get_type
(
354
jackctl_parameter_t
* parameter);
355
363
char
364
jackctl_parameter_get_id
(
365
jackctl_parameter_t
* parameter);
366
376
bool
377
jackctl_parameter_is_set
(
378
jackctl_parameter_t
* parameter);
379
387
bool
388
jackctl_parameter_reset
(
389
jackctl_parameter_t
* parameter);
390
398
union
jackctl_parameter_value
399
jackctl_parameter_get_value
(
400
jackctl_parameter_t
* parameter);
401
410
bool
411
jackctl_parameter_set_value
(
412
jackctl_parameter_t
* parameter,
413
const
union
jackctl_parameter_value
* value_ptr);
414
422
union
jackctl_parameter_value
423
jackctl_parameter_get_default_value
(
424
jackctl_parameter_t
* parameter);
425
433
bool
434
jackctl_parameter_has_range_constraint
(
435
jackctl_parameter_t
* parameter);
436
444
bool
445
jackctl_parameter_has_enum_constraint
(
446
jackctl_parameter_t
* parameter);
447
455
uint32_t
456
jackctl_parameter_get_enum_constraints_count
(
457
jackctl_parameter_t
* parameter);
458
467
union
jackctl_parameter_value
468
jackctl_parameter_get_enum_constraint_value
(
469
jackctl_parameter_t
* parameter,
470
uint32_t index);
471
480
const
char
*
481
jackctl_parameter_get_enum_constraint_description
(
482
jackctl_parameter_t
* parameter,
483
uint32_t index);
484
492
void
493
jackctl_parameter_get_range_constraint
(
494
jackctl_parameter_t
* parameter,
495
union
jackctl_parameter_value
* min_ptr,
496
union
jackctl_parameter_value
* max_ptr);
497
506
bool
507
jackctl_parameter_constraint_is_strict
(
508
jackctl_parameter_t
* parameter);
509
519
bool
520
jackctl_parameter_constraint_is_fake_value
(
521
jackctl_parameter_t
* parameter);
522
528
void
529
jack_error
(
530
const
char
*format,
531
...);
532
538
void
539
jack_info
(
540
const
char
*format,
541
...);
542
549
void
550
jack_log
(
551
const
char
*format,
552
...);
553
554
/* @} */
555
556
#if 0
557
{
/* Adjust editor indent */
558
#endif
559
#ifdef __cplusplus
560
}
/* extern "C" */
561
#endif
562
563
#endif
/* #ifndef JACKCTL_H__2EEDAD78_DF4C_4B26_83B7_4FF1A446A47E__INCLUDED */
564
Generated on Mon May 6 2013 23:35:15 for JACK-AUDIO-CONNECTION-KIT by
1.8.1.2