00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __jack_types_h__
00022 #define __jack_types_h__
00023
00024 #include <inttypes.h>
00025
00026 typedef int32_t jack_shmsize_t;
00027
00031 typedef uint32_t jack_nframes_t;
00032
00036 #define JACK_MAX_FRAMES (4294967295U)
00037
00038
00043 typedef uint64_t jack_time_t;
00044
00049 #define JACK_LOAD_INIT_LIMIT 1024
00050
00056 typedef uint64_t jack_intclient_t;
00057
00062 typedef struct _jack_port jack_port_t;
00063
00068 typedef struct _jack_client jack_client_t;
00069
00074 typedef uint32_t jack_port_id_t;
00075
00088 typedef int (*JackProcessCallback)(jack_nframes_t nframes, void *arg);
00089
00102 typedef void (*JackThreadInitCallback)(void *arg);
00103
00112 typedef int (*JackGraphOrderCallback)(void *arg);
00113
00124 typedef int (*JackXRunCallback)(void *arg);
00125
00140 typedef int (*JackBufferSizeCallback)(jack_nframes_t nframes, void *arg);
00141
00151 typedef int (*JackSampleRateCallback)(jack_nframes_t nframes, void *arg);
00152
00162 typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int register, void *arg);
00163
00173 typedef void (*JackClientRegistrationCallback)(const char* name, int register, void *arg);
00174
00185 typedef void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b, int connect, void* arg);
00186
00194 typedef void (*JackFreewheelCallback)(int starting, void *arg);
00195
00196 typedef void *(*JackThreadCallback)(void* arg);
00197
00202 #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
00203 #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"
00204
00210 typedef float jack_default_audio_sample_t;
00211
00218 enum JackPortFlags {
00219
00224 JackPortIsInput = 0x1,
00225
00230 JackPortIsOutput = 0x2,
00231
00236 JackPortIsPhysical = 0x4,
00237
00251 JackPortCanMonitor = 0x8,
00252
00267 JackPortIsTerminal = 0x10
00268 };
00269
00273 enum JackOptions {
00274
00278 JackNullOption = 0x00,
00279
00286 JackNoStartServer = 0x01,
00287
00292 JackUseExactName = 0x02,
00293
00297 JackServerName = 0x04,
00298
00303 JackLoadName = 0x08,
00304
00309 JackLoadInit = 0x10
00310 };
00311
00313 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
00314
00316 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
00317
00322 typedef enum JackOptions jack_options_t;
00323
00327 enum JackStatus {
00328
00332 JackFailure = 0x01,
00333
00337 JackInvalidOption = 0x02,
00338
00348 JackNameNotUnique = 0x04,
00349
00356 JackServerStarted = 0x08,
00357
00361 JackServerFailed = 0x10,
00362
00366 JackServerError = 0x20,
00367
00371 JackNoSuchClient = 0x40,
00372
00376 JackLoadFailure = 0x80,
00377
00381 JackInitFailure = 0x100,
00382
00386 JackShmFailure = 0x200,
00387
00391 JackVersionError = 0x400
00392 };
00393
00398 typedef enum JackStatus jack_status_t;
00399
00400 #endif
00401