00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __jack_types_h__
00023 #define __jack_types_h__
00024
00025 #include <inttypes.h>
00026
00027 typedef int32_t jack_shmsize_t;
00028
00032 typedef uint32_t jack_nframes_t;
00033
00037 #define JACK_MAX_FRAMES (4294967295U)
00038
00039
00044 typedef uint64_t jack_time_t;
00045
00050 #define JACK_LOAD_INIT_LIMIT 1024
00051
00057 typedef uint64_t jack_intclient_t;
00058
00063 typedef struct _jack_port jack_port_t;
00064
00069 typedef struct _jack_client jack_client_t;
00070
00075 typedef uint32_t jack_port_id_t;
00076
00089 typedef int (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00090
00103 typedef void (*JackThreadInitCallback)(void *arg);
00104
00113 typedef int (*JackGraphOrderCallback)(void *arg);
00114
00125 typedef int (*JackXRunCallback)(void *arg);
00126
00141 typedef int (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00142
00152 typedef int (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00153
00160 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00161
00169 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00170
00175 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00176 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00177
00183 typedef float jack_default_audio_sample_t;
00184
00191 enum JackPortFlags {
00192
00197 JackPortIsInput = 0x1,
00198
00203 JackPortIsOutput = 0x2,
00204
00209 JackPortIsPhysical = 0x4,
00210
00224 JackPortCanMonitor = 0x8,
00225
00240 JackPortIsTerminal = 0x10
00241 };
00242
00246 enum JackOptions {
00247
00251 JackNullOption = 0x00,
00252
00259 JackNoStartServer = 0x01,
00260
00265 JackUseExactName = 0x02,
00266
00270 JackServerName = 0x04,
00271
00276 JackLoadName = 0x08,
00277
00282 JackLoadInit = 0x10
00283 };
00284
00286 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00287
00289 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00290
00295 typedef enum JackOptions jack_options_t;
00296
00300 enum JackStatus {
00301
00305 JackFailure = 0x01,
00306
00310 JackInvalidOption = 0x02,
00311
00321 JackNameNotUnique = 0x04,
00322
00329 JackServerStarted = 0x08,
00330
00334 JackServerFailed = 0x10,
00335
00339 JackServerError = 0x20,
00340
00344 JackNoSuchClient = 0x40,
00345
00349 JackLoadFailure = 0x80,
00350
00354 JackInitFailure = 0x100,
00355
00359 JackShmFailure = 0x200,
00360
00364 JackVersionError = 0x400
00365 };
00366
00371 typedef enum JackStatus jack_status_t;
00372
00373 #endif