2
Copyright (C) 2001 Paul Davis
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.
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.
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., 675 Mass Ave, Cambridge, MA 02139, USA.
20
#ifndef __jack_hardware_h__
21
#define __jack_hardware_h__
23
#include <jack/types.h>
32
Cap_HardwareMonitoring = 0x1,
35
Cap_ClockMaster = 0x8,
36
Cap_ClockLockReporting = 0x10,
37
Cap_HardwareMetering = 0x20
40
struct _jack_hardware;
42
typedef void (*JackHardwareReleaseFunction)(struct _jack_hardware *);
43
typedef int (*JackHardwareSetInputMonitorMaskFunction)(struct _jack_hardware *, unsigned long);
44
typedef int (*JackHardwareChangeSampleClockFunction)(struct _jack_hardware *, SampleClockMode);
45
typedef double (*JackHardwareGetHardwarePeak)(jack_port_t *port, jack_nframes_t frames);
46
typedef double (*JackHardwareGetHardwarePower)(jack_port_t *port, jack_nframes_t frames);
49
typedef struct _jack_hardware {
51
unsigned long capabilities;
52
unsigned long input_monitor_mask;
54
JackHardwareChangeSampleClockFunction change_sample_clock;
55
JackHardwareSetInputMonitorMaskFunction set_input_monitor_mask;
56
JackHardwareReleaseFunction release;
57
JackHardwareGetHardwarePeak get_hardware_peak;
58
JackHardwareGetHardwarePower get_hardware_power;
63
jack_hardware_t * jack_hardware_new ();
65
#endif /* __jack_hardware_h__ */