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 #ifndef PRIu32
00027 #define PRIi32 "i"
00028 #define PRIu32 "u"
00029 #define PRIu64 "llu"
00030 #define SCNu64 "llu"
00031 #define PRId32 "d"
00032 #define PRIx64 "llx"
00033 #endif
00034
00035 typedef int32_t jack_shmsize_t;
00036
00040 typedef uint32_t jack_nframes_t;
00041
00045 #define JACK_MAX_FRAMES (4294967295U)
00046
00047
00052 typedef uint64_t jack_time_t;
00053
00058 #define JACK_LOAD_INIT_LIMIT 1024
00059
00065 typedef uint64_t jack_intclient_t;
00066
00071 typedef struct _jack_port jack_port_t;
00072
00077 typedef struct _jack_client jack_client_t;
00078
00083 typedef uint32_t jack_port_id_t;
00084
00097 typedef int (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00098
00111 typedef void (*JackThreadInitCallback)(void *arg);
00112
00121 typedef int (*JackGraphOrderCallback)(void *arg);
00122
00133 typedef int (*JackXRunCallback)(void *arg);
00134
00149 typedef int (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00150
00160 typedef int (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00161
00168 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int, void *arg);
00169
00177 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00178
00183 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00184 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00185
00191 typedef float jack_default_audio_sample_t;
00192
00199 enum JackPortFlags {
00200
00205 JackPortIsInput = 0x1,
00206
00211 JackPortIsOutput = 0x2,
00212
00217 JackPortIsPhysical = 0x4,
00218
00232 JackPortCanMonitor = 0x8,
00233
00248 JackPortIsTerminal = 0x10
00249 };
00250
00254 enum JackOptions {
00255
00259 JackNullOption = 0x00,
00260
00267 JackNoStartServer = 0x01,
00268
00273 JackUseExactName = 0x02,
00274
00278 JackServerName = 0x04,
00279
00284 JackLoadName = 0x08,
00285
00290 JackLoadInit = 0x10
00291 };
00292
00294 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00295
00297 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00298
00303 typedef enum JackOptions jack_options_t;
00304
00308 enum JackStatus {
00309
00313 JackFailure = 0x01,
00314
00318 JackInvalidOption = 0x02,
00319
00329 JackNameNotUnique = 0x04,
00330
00337 JackServerStarted = 0x08,
00338
00342 JackServerFailed = 0x10,
00343
00347 JackServerError = 0x20,
00348
00352 JackNoSuchClient = 0x40,
00353
00357 JackLoadFailure = 0x80,
00358
00362 JackInitFailure = 0x100,
00363
00367 JackShmFailure = 0x200,
00368
00372 JackVersionError = 0x400
00373 };
00374
00379 typedef enum JackStatus jack_status_t;
00380
00381 #endif