21 #ifndef __jack_types_h__ 22 #define __jack_types_h__ 24 #include <jack/systemdeps.h> 26 typedef uint64_t jack_uuid_t;
28 typedef int32_t jack_shmsize_t;
33 typedef uint32_t jack_nframes_t;
38 #define JACK_MAX_FRAMES (4294967295U) 44 typedef uint64_t jack_time_t;
50 #define JACK_LOAD_INIT_LIMIT 1024 57 typedef uint64_t jack_intclient_t;
63 typedef struct _jack_port jack_port_t;
69 typedef struct _jack_client jack_client_t;
75 typedef uint32_t jack_port_id_t;
77 typedef uint32_t jack_port_type_id_t;
87 JackNullOption = 0x00,
95 JackNoStartServer = 0x01,
101 JackUseExactName = 0x02,
106 JackServerName = 0x04,
127 #define JackOpenOptions (JackSessionID|JackServerName|JackNoStartServer|JackUseExactName) 130 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName) 136 typedef enum JackOptions jack_options_t;
151 JackInvalidOption = 0x02,
162 JackNameNotUnique = 0x04,
170 JackServerStarted = 0x08,
175 JackServerFailed = 0x10,
180 JackServerError = 0x20,
185 JackNoSuchClient = 0x40,
190 JackLoadFailure = 0x80,
195 JackInitFailure = 0x100,
200 JackShmFailure = 0x200,
205 JackVersionError = 0x400,
210 JackBackendError = 0x800,
215 JackClientZombie = 0x1000
222 typedef enum JackStatus jack_status_t;
227 enum JackLatencyCallbackMode {
248 typedef enum JackLatencyCallbackMode jack_latency_callback_mode_t;
259 typedef void (*JackLatencyCallback)(jack_latency_callback_mode_t mode,
void *arg);
275 } POST_PACKED_STRUCTURE;
291 typedef int (*JackProcessCallback)(jack_nframes_t nframes,
void *arg);
300 typedef void *(*JackThreadCallback)(
void* arg);
314 typedef void (*JackThreadInitCallback)(
void *arg);
324 typedef int (*JackGraphOrderCallback)(
void *arg);
336 typedef int (*JackXRunCallback)(
void *arg);
352 typedef int (*JackBufferSizeCallback)(jack_nframes_t nframes,
void *arg);
363 typedef int (*JackSampleRateCallback)(jack_nframes_t nframes,
void *arg);
374 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port,
int ,
void *arg);
385 typedef void (*JackClientRegistrationCallback)(
const char* name,
int ,
void *arg);
397 typedef void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b,
int connect,
void* arg);
409 typedef int (*JackPortRenameCallback)(jack_port_id_t port,
const char* old_name,
const char* new_name,
void *arg);
418 typedef void (*JackFreewheelCallback)(
int starting,
void *arg);
431 typedef void (*JackShutdownCallback)(
void *arg);
446 typedef void (*JackInfoShutdownCallback)(jack_status_t code,
const char* reason,
void *arg);
452 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio" 453 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi" 460 typedef float jack_default_audio_sample_t;
474 JackPortIsInput = 0x1,
480 JackPortIsOutput = 0x2,
486 JackPortIsPhysical = 0x4,
501 JackPortCanMonitor = 0x8,
517 JackPortIsTerminal = 0x10,
527 JackTransportStopped = 0,
528 JackTransportRolling = 1,
529 JackTransportLooping = 2,
530 JackTransportStarting = 3,
531 JackTransportNetStarting = 4,
533 } jack_transport_state_t;
535 typedef uint64_t jack_unique_t;
542 JackPositionBBT = 0x10,
543 JackPositionTimecode = 0x20,
544 JackBBTFrameOffset = 0x40,
545 JackAudioVideoRatio = 0x80,
546 JackVideoFrameOffset = 0x100
548 } jack_position_bits_t;
551 #define JACK_POSITION_MASK (JackPositionBBT|JackPositionTimecode) 552 #define EXTENDED_TIME_INFO 569 double bar_start_tick;
573 double ticks_per_beat;
574 double beats_per_minute;
621 } POST_PACKED_STRUCTURE;
646 typedef int (*JackSyncCallback)(jack_transport_state_t state,
680 typedef void (*JackTimebaseCallback)(jack_transport_state_t state,
681 jack_nframes_t nframes,
698 JackTransportState = 0x1,
699 JackTransportPosition = 0x2,
700 JackTransportLoop = 0x4,
701 JackTransportSMPTE = 0x8,
702 JackTransportBBT = 0x10
704 } jack_transport_bits_t;
720 jack_transport_state_t transport_state;
721 jack_nframes_t frame;
722 jack_nframes_t loop_start;
723 jack_nframes_t loop_end;
731 double bar_start_tick;
735 double ticks_per_beat;
736 double beats_per_minute;
jack_nframes_t video_offset
jack_nframes_t bbt_offset
jack_position_bits_t valid
float audio_frames_per_video_frame
jack_nframes_t frame_rate
jack_transport_bits_t valid
jack_nframes_t frame_rate