JACK-AUDIO-CONNECTION-KIT: types.h Source File

# 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,v 1.34 2004/12/25 18:39:44 joq Exp $
    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
    00182 typedef float jack_default_audio_sample_t;
    00183
    00190 enum JackPortFlags {
    00191
    00196      JackPortIsInput = 0x1,
    00197
    00202      JackPortIsOutput = 0x2,
    00203
    00208      JackPortIsPhysical = 0x4,
    00209
    00223      JackPortCanMonitor = 0x8,
    00224
    00239      JackPortIsTerminal = 0x10
    00240 };
    00241
    00245 enum JackOptions {
    00246
    00250      JackNullOption = 0x00,
    00251
    00258      JackNoStartServer = 0x01,
    00259
    00264      JackUseExactName = 0x02,
    00265
    00269      JackServerName = 0x04,
    00270
    00275      JackLoadName = 0x08,
    00276
    00281      JackLoadInit = 0x10
    00282 };
    00283
    00285 #define JackOpenOptions (JackServerName|JackNoStartServer|JackUseExactName)
    00286
    00288 #define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)
    00289
    00294 typedef enum JackOptions jack_options_t;
    00295
    00299 enum JackStatus {
    00300
    00304      JackFailure = 0x01,
    00305
    00309      JackInvalidOption = 0x02,
    00310
    00320      JackNameNotUnique = 0x04,
    00321
    00328      JackServerStarted = 0x08,
    00329
    00333      JackServerFailed = 0x10,
    00334
    00338      JackServerError = 0x20,
    00339
    00343      JackNoSuchClient = 0x40,
    00344
    00348      JackLoadFailure = 0x80,
    00349
    00353      JackInitFailure = 0x100,
    00354
    00358      JackShmFailure = 0x200,
    00359
    00363      JackVersionError = 0x400
    00364 };
    00365
    00370 typedef enum JackStatus jack_status_t;
    00371
    00372 #endif /* __jack_types_h__ */