# types.h

Go to the documentation of this file.

    00001 /*
    00002     Copyright (C) 2001 Paul Davis
    00003     Copyright (C) 2004 Jack O'Quin
    00004
    00005     This program is free software; you can redistribute it and/or modify
    00006     it under the terms of the GNU Lesser General Public License as published by
    00007     the Free Software Foundation; either version 2.1 of the License, or
    00008     (at your option) any later version.
    00009
    00010     This program is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00013     GNU Lesser General Public License for more details.
    00014
    00015     You should have received a copy of the GNU Lesser General Public License
    00016     along with this program; if not, write to the Free Software
    00017     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    00018
    00019     $Id: types.h 945 2006-05-04 15:14:45Z pbd $
    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)   /* This should be UINT32_MAX, but
    00038                                            C++ has a problem with that. */
    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 /* __jack_types_h__ */