cs_jack.h

Go to the documentation of this file.
00001 #define MAX_NAME_LEN    32      /* for client and port name */
00002 
00003 typedef struct RtJackBuffer_ {
00004 #ifdef LINUX
00005     pthread_mutex_t csndLock;               /* signaled by process callback */
00006     pthread_mutex_t jackLock;               /* signaled by audio thread     */
00007 #else
00008     void    *csndLock;                      /* signaled by process callback */
00009     void    *jackLock;                      /* signaled by audio thread     */
00010 #endif
00011     jack_default_audio_sample_t **inBufs;   /* 'nChannels' capture buffers  */
00012     jack_default_audio_sample_t **outBufs;  /* 'nChannels' playback buffers */
00013 } RtJackBuffer;
00014 
00015 typedef struct RtJackGlobals_ {
00016     CSOUND  *csound;                    /* Csound instance pointer          */
00017     int     jackState;                  /* 0: OK, 1: sr changed, 2: quit    */
00018     char    clientName[MAX_NAME_LEN + 1];       /* client name              */
00019     char    inputPortName[MAX_NAME_LEN + 1];    /* input port name prefix   */
00020     char    outputPortName[MAX_NAME_LEN + 1];   /* output port name prefix  */
00021     int     sleepTime;                  /* sleep time in us (deprecated)    */
00022     char    *inDevName;                 /* device name for -i adc           */
00023     char    *outDevName;                /* device name for -o dac           */
00024     int     sampleRate;                 /* sample rate in Hz                */
00025     int     nChannels;                  /* number of channels               */
00026     int     bufSize;                    /* buffer size in sample frames     */
00027     int     nBuffers;                   /* number of buffers (>= 2)         */
00028     int     inputEnabled;               /* non-zero if capture (adc) is on  */
00029     int     outputEnabled;              /* non-zero if playback (dac) is on */
00030     int     csndBufCnt;                 /* current buffer in Csound thread  */
00031     int     csndBufPos;                 /* buffer position in Csound thread */
00032     int     jackBufCnt;                 /* current buffer in JACK callback  */
00033     int     jackBufPos;                 /* buffer position in JACK callback */
00034     jack_client_t   *client;            /* JACK client pointer              */
00035     jack_port_t     **inPorts;          /* 'nChannels' ports for capture    */
00036     jack_default_audio_sample_t **inPortBufs;
00037     jack_port_t     **outPorts;         /* 'nChannels' ports for playback   */
00038     jack_default_audio_sample_t **outPortBufs;
00039     RtJackBuffer    **bufs;             /* 'nBuffers' I/O buffers           */
00040     int     xrunFlag;                   /* non-zero if an xrun has occured  */
00041 } RtJackGlobals;

Generated on Sun Nov 9 00:04:52 2008 for Csound and CsoundAC by  doxygen 1.5.6