\hypertarget{types_8h}{ \section{types.h File Reference} \label{types_8h}\index{types.h@{types.h}} } {\tt \#include $<$limits.h$>$}\par \subsection*{Defines} \begin{CompactItemize} \item \#define \hyperlink{types_8h_a0}{JACK\_\-MAX\_\-FRAMES}\ ULONG\_\-MAX; \item \#define \hyperlink{types_8h_a1}{JACK\_\-DEFAULT\_\-AUDIO\_\-TYPE}\ \char`\"{}32 bit float mono audio\char`\"{} \end{CompactItemize} \subsection*{Typedefs} \begin{CompactItemize} \item typedef unsigned long \hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} \item typedef \_\-jack\_\-port \hyperlink{types_8h_a3}{jack\_\-port\_\-t} \item typedef \_\-jack\_\-client \hyperlink{types_8h_a4}{jack\_\-client\_\-t} \item typedef unsigned long \hyperlink{types_8h_a5}{jack\_\-port\_\-id\_\-t} \item typedef int($\ast$ \hyperlink{types_8h_a6}{Jack\-Process\-Callback} )(\hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} nframes, void $\ast$arg) \item typedef int($\ast$ \hyperlink{types_8h_a7}{Jack\-Graph\-Order\-Callback} )(void $\ast$arg) \item typedef int($\ast$ \hyperlink{types_8h_a8}{Jack\-XRun\-Callback} )(void $\ast$arg) \item typedef int($\ast$ \hyperlink{types_8h_a9}{Jack\-Buffer\-Size\-Callback} )(\hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} nframes, void $\ast$arg) \item typedef int($\ast$ \hyperlink{types_8h_a10}{Jack\-Sample\-Rate\-Callback} )(\hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} nframes, void $\ast$arg) \item typedef void($\ast$ \hyperlink{types_8h_a11}{Jack\-Port\-Registration\-Callback} )(\hyperlink{types_8h_a5}{jack\_\-port\_\-id\_\-t} port, int, void $\ast$arg) \item typedef float \hyperlink{types_8h_a12}{jack\_\-default\_\-audio\_\-sample\_\-t} \end{CompactItemize} \subsection*{Enumerations} \begin{CompactItemize} \item enum \hyperlink{types_8h_a18}{Jack\-Port\-Flags} \{ \hyperlink{types_8h_a18a13}{Jack\-Port\-Is\-Input} = 0x1, \hyperlink{types_8h_a18a14}{Jack\-Port\-Is\-Output} = 0x2, \hyperlink{types_8h_a18a15}{Jack\-Port\-Is\-Physical} = 0x4, \hyperlink{types_8h_a18a16}{Jack\-Port\-Can\-Monitor} = 0x8, \hyperlink{types_8h_a18a17}{Jack\-Port\-Is\-Terminal} = 0x10 \} \end{CompactItemize} \subsection{Define Documentation} \hypertarget{types_8h_a1}{ \index{types.h@{types.h}!JACK_DEFAULT_AUDIO_TYPE@{JACK\_\-DEFAULT\_\-AUDIO\_\-TYPE}} \index{JACK_DEFAULT_AUDIO_TYPE@{JACK\_\-DEFAULT\_\-AUDIO\_\-TYPE}!types.h@{types.h}} \subsubsection[JACK\_\-DEFAULT\_\-AUDIO\_\-TYPE]{\setlength{\rightskip}{0pt plus 5cm}\#define JACK\_\-DEFAULT\_\-AUDIO\_\-TYPE\ \char`\"{}32 bit float mono audio\char`\"{}}} \label{types_8h_a1} Used for the type argument of \hyperlink{jack_8h_a12}{jack\_\-port\_\-register()}. \hypertarget{types_8h_a0}{ \index{types.h@{types.h}!JACK_MAX_FRAMES@{JACK\_\-MAX\_\-FRAMES}} \index{JACK_MAX_FRAMES@{JACK\_\-MAX\_\-FRAMES}!types.h@{types.h}} \subsubsection[JACK\_\-MAX\_\-FRAMES]{\setlength{\rightskip}{0pt plus 5cm}\#define JACK\_\-MAX\_\-FRAMES\ ULONG\_\-MAX;}} \label{types_8h_a0} Maximum value that can be stored in jack\_\-nframes\_\-t \subsection{Typedef Documentation} \hypertarget{types_8h_a4}{ \index{types.h@{types.h}!jack_client_t@{jack\_\-client\_\-t}} \index{jack_client_t@{jack\_\-client\_\-t}!types.h@{types.h}} \subsubsection[jack\_\-client\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef struct \_\-jack\_\-client jack\_\-client\_\-t}} \label{types_8h_a4} jack\_\-client\_\-t is an opaque type. You may only access it using the API provided. \hypertarget{types_8h_a12}{ \index{types.h@{types.h}!jack_default_audio_sample_t@{jack\_\-default\_\-audio\_\-sample\_\-t}} \index{jack_default_audio_sample_t@{jack\_\-default\_\-audio\_\-sample\_\-t}!types.h@{types.h}} \subsubsection[jack\_\-default\_\-audio\_\-sample\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef float jack\_\-default\_\-audio\_\-sample\_\-t}} \label{types_8h_a12} For convenience, use this typedef if you want to be able to change between float and double. You may want to typedef sample\_\-t to jack\_\-default\_\-audio\_\-sample\_\-t in your application. \hypertarget{types_8h_a2}{ \index{types.h@{types.h}!jack_nframes_t@{jack\_\-nframes\_\-t}} \index{jack_nframes_t@{jack\_\-nframes\_\-t}!types.h@{types.h}} \subsubsection[jack\_\-nframes\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long jack\_\-nframes\_\-t}} \label{types_8h_a2} Type used to represent sample frame counts. \hypertarget{types_8h_a5}{ \index{types.h@{types.h}!jack_port_id_t@{jack\_\-port\_\-id\_\-t}} \index{jack_port_id_t@{jack\_\-port\_\-id\_\-t}!types.h@{types.h}} \subsubsection[jack\_\-port\_\-id\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long jack\_\-port\_\-id\_\-t}} \label{types_8h_a5} Ports have unique ids. You will very rarely need to know them, however, except in the case of the port registration callback. \hypertarget{types_8h_a3}{ \index{types.h@{types.h}!jack_port_t@{jack\_\-port\_\-t}} \index{jack_port_t@{jack\_\-port\_\-t}!types.h@{types.h}} \subsubsection[jack\_\-port\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef struct \_\-jack\_\-port jack\_\-port\_\-t}} \label{types_8h_a3} jack\_\-port\_\-t is an opaque type. You may only access it using the API provided. \hypertarget{types_8h_a9}{ \index{types.h@{types.h}!JackBufferSizeCallback@{JackBufferSizeCallback}} \index{JackBufferSizeCallback@{JackBufferSizeCallback}!types.h@{types.h}} \subsubsection[JackBufferSizeCallback]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ Jack\-Buffer\-Size\-Callback)(\hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} nframes, void $\ast$arg)}} \label{types_8h_a9} Prototype for the client supplied function that is called when the engine buffersize changes. Note! Use of this callback function is deprecated!\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em nframes}]new engine buffer size \item[{\em arg}]pointer to a client supplied structure\end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par zero on success, non-zero on error \end{Desc} \hypertarget{types_8h_a7}{ \index{types.h@{types.h}!JackGraphOrderCallback@{JackGraphOrderCallback}} \index{JackGraphOrderCallback@{JackGraphOrderCallback}!types.h@{types.h}} \subsubsection[JackGraphOrderCallback]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ Jack\-Graph\-Order\-Callback)(void $\ast$arg)}} \label{types_8h_a7} Prototype for the client supplied function that is called whenever the processing graph is reordered.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em arg}]pointer to a client supplied structure\end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par zero on success, non-zero on error \end{Desc} \hypertarget{types_8h_a11}{ \index{types.h@{types.h}!JackPortRegistrationCallback@{JackPortRegistrationCallback}} \index{JackPortRegistrationCallback@{JackPortRegistrationCallback}!types.h@{types.h}} \subsubsection[JackPortRegistrationCallback]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ Jack\-Port\-Registration\-Callback)(\hyperlink{types_8h_a5}{jack\_\-port\_\-id\_\-t} port, int, void $\ast$arg)}} \label{types_8h_a11} Prototype for the client supplied function that is called whenever a port is registered or unregistered.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em arg}]pointer to a client supplied structure \end{description} \end{Desc} \hypertarget{types_8h_a6}{ \index{types.h@{types.h}!JackProcessCallback@{JackProcessCallback}} \index{JackProcessCallback@{JackProcessCallback}!types.h@{types.h}} \subsubsection[JackProcessCallback]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ Jack\-Process\-Callback)(\hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} nframes, void $\ast$arg)}} \label{types_8h_a6} Prototype for the client supplied function that is called by the engine anytime there is work to be done. \begin{Desc} \item[Precondition: ]\par nframes == \hyperlink{jack_8h_a41}{jack\_\-get\_\-buffer\_\-size()} \par nframes == pow(2,x)\end{Desc} \begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em nframes}]number of frames to process \item[{\em arg}]pointer to a client supplied structure\end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par zero on success, non-zero on error \end{Desc} \hypertarget{types_8h_a10}{ \index{types.h@{types.h}!JackSampleRateCallback@{JackSampleRateCallback}} \index{JackSampleRateCallback@{JackSampleRateCallback}!types.h@{types.h}} \subsubsection[JackSampleRateCallback]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ Jack\-Sample\-Rate\-Callback)(\hyperlink{types_8h_a2}{jack\_\-nframes\_\-t} nframes, void $\ast$arg)}} \label{types_8h_a10} Prototype for the client supplied function that is called when the engine sample rate changes.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em nframes}]new engine sample rate \item[{\em arg}]pointer to a client supplied structure\end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par zero on success, non-zero on error \end{Desc} \hypertarget{types_8h_a8}{ \index{types.h@{types.h}!JackXRunCallback@{JackXRunCallback}} \index{JackXRunCallback@{JackXRunCallback}!types.h@{types.h}} \subsubsection[JackXRunCallback]{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ Jack\-XRun\-Callback)(void $\ast$arg)}} \label{types_8h_a8} Prototype for the client supplied function that is called whenever an xrun has occured.\begin{Desc} \item[Parameters: ]\par \begin{description} \item[{\em arg}]pointer to a client supplied structure\end{description} \end{Desc} \begin{Desc} \item[Returns: ]\par zero on success, non-zero on error \end{Desc} \subsection{Enumeration Type Documentation} \hypertarget{types_8h_a18}{ \index{types.h@{types.h}!JackPortFlags@{JackPortFlags}} \index{JackPortFlags@{JackPortFlags}!types.h@{types.h}} \subsubsection[JackPortFlags]{\setlength{\rightskip}{0pt plus 5cm}enum Jack\-Port\-Flags}} \label{types_8h_a18} A port has a set of flags that are formed by AND-ing together the desired values from the list below. The flags \char`\"{}Jack\-Port\-Is\-Input\char`\"{} and \char`\"{}Jack\-Port\-Is\-Output\char`\"{} are mutually exclusive and it is an error to use them both. \begin{Desc} \item[Enumeration values: ]\par \begin{description} \index{JackPortIsInput@{JackPortIsInput}!types.h@{types.h}}\index{types.h@{types.h}!JackPortIsInput@{JackPortIsInput}}\item[{\em \hypertarget{types_8h_a18a13}{ {\em Jack\-Port\-Is\-Input}} \label{types_8h_a18a13} }]if Jack\-Port\-Is\-Input is set, then the port can receive data. \index{JackPortIsOutput@{JackPortIsOutput}!types.h@{types.h}}\index{types.h@{types.h}!JackPortIsOutput@{JackPortIsOutput}}\item[{\em \hypertarget{types_8h_a18a14}{ {\em Jack\-Port\-Is\-Output}} \label{types_8h_a18a14} }]if Jack\-Port\-Is\-Output is set, then data can be read from the port. \index{JackPortIsPhysical@{JackPortIsPhysical}!types.h@{types.h}}\index{types.h@{types.h}!JackPortIsPhysical@{JackPortIsPhysical}}\item[{\em \hypertarget{types_8h_a18a15}{ {\em Jack\-Port\-Is\-Physical}} \label{types_8h_a18a15} }]if Jack\-Port\-Is\-Physical is set, then the port corresponds to some kind of physical I/O connector. \index{JackPortCanMonitor@{JackPortCanMonitor}!types.h@{types.h}}\index{types.h@{types.h}!JackPortCanMonitor@{JackPortCanMonitor}}\item[{\em \hypertarget{types_8h_a18a16}{ {\em Jack\-Port\-Can\-Monitor}} \label{types_8h_a18a16} }]if Jack\-Port\-Can\-Monitor is set, then a call to \hyperlink{jack_8h_a36}{jack\_\-port\_\-request\_\-monitor()} makes sense. Precisely what this means is dependent on the client. A typical result of it being called with TRUE as the second argument is that data that would be available from an output port (with Jack\-Port\-Is\-Physical set) is sent to a physical output connector as well, so that it can be heard/seen/whatever. Clients that do not control physical interfaces should never create ports with this bit set. \index{JackPortIsTerminal@{JackPortIsTerminal}!types.h@{types.h}}\index{types.h@{types.h}!JackPortIsTerminal@{JackPortIsTerminal}}\item[{\em \hypertarget{types_8h_a18a17}{ {\em Jack\-Port\-Is\-Terminal}} \label{types_8h_a18a17} }]Jack\-Port\-Is\-Terminal means: for an input port: the data received by the port will not be passed on or made available at any other port for an output port: the data available at the port does not originate from any other port Audio synthesizers, i/o h/w interface clients, HDR systems are examples of things that would set this flag for their ports. \end{description} \end{Desc}