Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 17b3b183e611d5215dd0c74920f6f6d9 > files > 902

jack-audio-connection-kit-devel-1.9.7-1.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Jack2: types.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Jack2&#160;<span id="projectnumber">1.9.7</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>types.h</h1>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">  Copyright (C) 2001 Paul Davis</span>
<a name="l00003"></a>00003 <span class="comment">  Copyright (C) 2004 Jack O&#39;Quin</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">  This program is free software; you can redistribute it and/or modify</span>
<a name="l00006"></a>00006 <span class="comment">  it under the terms of the GNU Lesser General Public License as published by</span>
<a name="l00007"></a>00007 <span class="comment">  the Free Software Foundation; either version 2.1 of the License, or</span>
<a name="l00008"></a>00008 <span class="comment">  (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">  This program is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment">  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment">  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00013"></a>00013 <span class="comment">  GNU Lesser General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="comment">  You should have received a copy of the GNU Lesser General Public License</span>
<a name="l00016"></a>00016 <span class="comment">  along with this program; if not, write to the Free Software</span>
<a name="l00017"></a>00017 <span class="comment">  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span>
<a name="l00018"></a>00018 <span class="comment"></span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __jack_types_h__</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __jack_types_h__</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;jack/systemdeps.h&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="keyword">typedef</span> int32_t jack_shmsize_t;
<a name="l00027"></a>00027 
<a name="l00031"></a>00031 <span class="keyword">typedef</span> uint32_t        jack_nframes_t;
<a name="l00032"></a>00032 
<a name="l00036"></a>00036 <span class="preprocessor">#define JACK_MAX_FRAMES (4294967295U)   </span><span class="comment">/* This should be UINT32_MAX, but C++ has a problem with that. */</span>
<a name="l00037"></a>00037 
<a name="l00042"></a>00042 <span class="keyword">typedef</span> uint64_t jack_time_t;
<a name="l00043"></a>00043 
<a name="l00048"></a>00048 <span class="preprocessor">#define JACK_LOAD_INIT_LIMIT 1024</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00055"></a>00055 <span class="keyword">typedef</span> uint64_t jack_intclient_t;
<a name="l00056"></a>00056 
<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">struct </span>_jack_port jack_port_t;
<a name="l00062"></a>00062 
<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">struct </span>_jack_client jack_client_t;
<a name="l00068"></a>00068 
<a name="l00073"></a>00073 <span class="keyword">typedef</span> uint32_t jack_port_id_t;
<a name="l00074"></a>00074 
<a name="l00075"></a>00075 <span class="keyword">typedef</span> uint32_t jack_port_type_id_t;
<a name="l00076"></a>00076 
<a name="l00080"></a>00080 <span class="keyword">enum</span> JackOptions {
<a name="l00081"></a>00081 
<a name="l00085"></a>00085     JackNullOption = 0x00,
<a name="l00086"></a>00086 
<a name="l00093"></a>00093     JackNoStartServer = 0x01,
<a name="l00094"></a>00094 
<a name="l00099"></a>00099     JackUseExactName = 0x02,
<a name="l00100"></a>00100 
<a name="l00104"></a>00104     JackServerName = 0x04,
<a name="l00105"></a>00105 
<a name="l00110"></a>00110     JackLoadName = 0x08,
<a name="l00111"></a>00111 
<a name="l00116"></a>00116     JackLoadInit = 0x10,
<a name="l00117"></a>00117 
<a name="l00121"></a>00121     JackSessionID = 0x20
<a name="l00122"></a>00122 };
<a name="l00123"></a>00123 
<a name="l00125"></a>00125 <span class="preprocessor">#define JackOpenOptions (JackSessionID|JackServerName|JackNoStartServer|JackUseExactName)</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span>
<a name="l00128"></a>00128 <span class="preprocessor">#define JackLoadOptions (JackLoadInit|JackLoadName|JackUseExactName)</span>
<a name="l00129"></a>00129 <span class="preprocessor"></span>
<a name="l00134"></a>00134 <span class="keyword">typedef</span> <span class="keyword">enum</span> JackOptions jack_options_t;
<a name="l00135"></a>00135 
<a name="l00139"></a>00139 <span class="keyword">enum</span> JackStatus {
<a name="l00140"></a>00140 
<a name="l00144"></a>00144     JackFailure = 0x01,
<a name="l00145"></a>00145 
<a name="l00149"></a>00149     JackInvalidOption = 0x02,
<a name="l00150"></a>00150 
<a name="l00160"></a>00160     JackNameNotUnique = 0x04,
<a name="l00161"></a>00161 
<a name="l00168"></a>00168     JackServerStarted = 0x08,
<a name="l00169"></a>00169 
<a name="l00173"></a>00173     JackServerFailed = 0x10,
<a name="l00174"></a>00174 
<a name="l00178"></a>00178     JackServerError = 0x20,
<a name="l00179"></a>00179 
<a name="l00183"></a>00183     JackNoSuchClient = 0x40,
<a name="l00184"></a>00184 
<a name="l00188"></a>00188     JackLoadFailure = 0x80,
<a name="l00189"></a>00189 
<a name="l00193"></a>00193     JackInitFailure = 0x100,
<a name="l00194"></a>00194 
<a name="l00198"></a>00198     JackShmFailure = 0x200,
<a name="l00199"></a>00199 
<a name="l00203"></a>00203     JackVersionError = 0x400,
<a name="l00204"></a>00204 
<a name="l00208"></a>00208     JackBackendError = 0x800,
<a name="l00209"></a>00209 
<a name="l00213"></a>00213     JackClientZombie = 0x1000
<a name="l00214"></a>00214 };
<a name="l00215"></a>00215 
<a name="l00220"></a>00220 <span class="keyword">typedef</span> <span class="keyword">enum</span> JackStatus jack_status_t;
<a name="l00221"></a>00221 
<a name="l00225"></a>00225 <span class="keyword">enum</span> JackLatencyCallbackMode {
<a name="l00226"></a>00226 
<a name="l00232"></a>00232      JackCaptureLatency,
<a name="l00233"></a>00233 
<a name="l00239"></a>00239      JackPlaybackLatency
<a name="l00240"></a>00240 
<a name="l00241"></a>00241 };
<a name="l00242"></a>00242 
<a name="l00246"></a>00246 <span class="keyword">typedef</span> <span class="keyword">enum</span> JackLatencyCallbackMode jack_latency_callback_mode_t;
<a name="l00247"></a>00247 
<a name="l00257"></a>00257 <span class="keyword">typedef</span> void (*JackLatencyCallback)(jack_latency_callback_mode_t mode, <span class="keywordtype">void</span> *arg);
<a name="l00258"></a>00258 
<a name="l00262"></a><a class="code" href="struct__jack__latency__range.html">00262</a> <span class="keyword">struct </span><a class="code" href="struct__jack__latency__range.html">_jack_latency_range</a>
<a name="l00263"></a>00263 {
<a name="l00267"></a><a class="code" href="struct__jack__latency__range.html#ab357b9064e2793e29755f5a6b550c3f2">00267</a>     jack_nframes_t <a class="code" href="struct__jack__latency__range.html#ab357b9064e2793e29755f5a6b550c3f2">min</a>;
<a name="l00271"></a><a class="code" href="struct__jack__latency__range.html#a27a00059e59b8f7790d0479f8748a68f">00271</a>     jack_nframes_t <a class="code" href="struct__jack__latency__range.html#a27a00059e59b8f7790d0479f8748a68f">max</a>;
<a name="l00272"></a>00272 };
<a name="l00273"></a>00273 
<a name="l00274"></a>00274 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__jack__latency__range.html">_jack_latency_range</a> <a class="code" href="struct__jack__latency__range.html">jack_latency_range_t</a>;
<a name="l00275"></a>00275 
<a name="l00288"></a>00288 <span class="keyword">typedef</span> int (*JackProcessCallback)(jack_nframes_t nframes, <span class="keywordtype">void</span> *arg);
<a name="l00289"></a>00289 
<a name="l00297"></a>00297 <span class="keyword">typedef</span> <span class="keywordtype">void</span> *(*JackThreadCallback)(<span class="keywordtype">void</span>* arg);
<a name="l00298"></a>00298 
<a name="l00311"></a>00311 <span class="keyword">typedef</span> void (*JackThreadInitCallback)(<span class="keywordtype">void</span> *arg);
<a name="l00312"></a>00312 
<a name="l00321"></a>00321 <span class="keyword">typedef</span> int (*JackGraphOrderCallback)(<span class="keywordtype">void</span> *arg);
<a name="l00322"></a>00322 
<a name="l00333"></a>00333 <span class="keyword">typedef</span> int (*JackXRunCallback)(<span class="keywordtype">void</span> *arg);
<a name="l00334"></a>00334 
<a name="l00349"></a>00349 <span class="keyword">typedef</span> int (*JackBufferSizeCallback)(jack_nframes_t nframes, <span class="keywordtype">void</span> *arg);
<a name="l00350"></a>00350 
<a name="l00360"></a>00360 <span class="keyword">typedef</span> int (*JackSampleRateCallback)(jack_nframes_t nframes, <span class="keywordtype">void</span> *arg);
<a name="l00361"></a>00361 
<a name="l00371"></a>00371 <span class="keyword">typedef</span> void (*JackPortRegistrationCallback)(jack_port_id_t port, <span class="keywordtype">int</span> <span class="keyword">register</span>, <span class="keywordtype">void</span> *arg);
<a name="l00372"></a>00372 
<a name="l00382"></a>00382 <span class="keyword">typedef</span> void (*JackClientRegistrationCallback)(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span> <span class="keyword">register</span>, <span class="keywordtype">void</span> *arg);
<a name="l00383"></a>00383 
<a name="l00394"></a>00394 <span class="keyword">typedef</span> void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b, <span class="keywordtype">int</span> connect, <span class="keywordtype">void</span>* arg);
<a name="l00395"></a>00395 
<a name="l00406"></a>00406 <span class="keyword">typedef</span> int (*JackPortRenameCallback)(jack_port_id_t port, <span class="keyword">const</span> <span class="keywordtype">char</span>* old_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* new_name, <span class="keywordtype">void</span> *arg);
<a name="l00407"></a>00407 
<a name="l00415"></a>00415 <span class="keyword">typedef</span> void (*JackFreewheelCallback)(<span class="keywordtype">int</span> starting, <span class="keywordtype">void</span> *arg);
<a name="l00416"></a>00416 
<a name="l00428"></a>00428 <span class="keyword">typedef</span> void (*JackShutdownCallback)(<span class="keywordtype">void</span> *arg);
<a name="l00429"></a>00429 
<a name="l00443"></a>00443 <span class="keyword">typedef</span> void (*JackInfoShutdownCallback)(jack_status_t code, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keywordtype">void</span> *arg);
<a name="l00444"></a>00444 
<a name="l00449"></a>00449 <span class="preprocessor">#define JACK_DEFAULT_AUDIO_TYPE &quot;32 bit float mono audio&quot;</span>
<a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor">#define JACK_DEFAULT_MIDI_TYPE &quot;8 bit raw midi&quot;</span>
<a name="l00451"></a>00451 <span class="preprocessor"></span>
<a name="l00457"></a>00457 <span class="keyword">typedef</span> <span class="keywordtype">float</span> jack_default_audio_sample_t;
<a name="l00458"></a>00458 
<a name="l00465"></a>00465 <span class="keyword">enum</span> JackPortFlags {
<a name="l00466"></a>00466 
<a name="l00471"></a>00471     JackPortIsInput = 0x1,
<a name="l00472"></a>00472 
<a name="l00477"></a>00477     JackPortIsOutput = 0x2,
<a name="l00478"></a>00478 
<a name="l00483"></a>00483     JackPortIsPhysical = 0x4,
<a name="l00484"></a>00484 
<a name="l00498"></a>00498     JackPortCanMonitor = 0x8,
<a name="l00499"></a>00499 
<a name="l00514"></a>00514     JackPortIsTerminal = 0x10,
<a name="l00515"></a>00515 
<a name="l00516"></a>00516 };
<a name="l00517"></a>00517 
<a name="l00521"></a>00521 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00522"></a>00522 
<a name="l00523"></a>00523     <span class="comment">/* the order matters for binary compatibility */</span>
<a name="l00524"></a>00524     JackTransportStopped = 0,       
<a name="l00525"></a>00525     JackTransportRolling = 1,       
<a name="l00526"></a>00526     JackTransportLooping = 2,       
<a name="l00527"></a>00527     JackTransportStarting = 3,      
<a name="l00528"></a>00528     JackTransportNetStarting = 4,       
<a name="l00530"></a>00530 } jack_transport_state_t;
<a name="l00531"></a>00531 
<a name="l00532"></a>00532 <span class="keyword">typedef</span> uint64_t jack_unique_t;         
<a name="l00537"></a>00537 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00538"></a>00538 
<a name="l00539"></a>00539     JackPositionBBT = 0x10,     
<a name="l00540"></a>00540     JackPositionTimecode = 0x20,        
<a name="l00541"></a>00541     JackBBTFrameOffset =      0x40,     
<a name="l00542"></a>00542     JackAudioVideoRatio =     0x80, 
<a name="l00543"></a>00543     JackVideoFrameOffset =   0x100  
<a name="l00545"></a>00545 } jack_position_bits_t;
<a name="l00546"></a>00546 
<a name="l00548"></a>00548 <span class="preprocessor">#define JACK_POSITION_MASK (JackPositionBBT|JackPositionTimecode)</span>
<a name="l00549"></a>00549 <span class="preprocessor"></span><span class="preprocessor">#define EXTENDED_TIME_INFO</span>
<a name="l00550"></a>00550 <span class="preprocessor"></span>
<a name="l00551"></a><a class="code" href="structjack__position__t.html">00551</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00552"></a>00552 
<a name="l00553"></a>00553     <span class="comment">/* these four cannot be set from clients: the server sets them */</span>
<a name="l00554"></a><a class="code" href="structjack__position__t.html#a2fe4e3ede6d03c170abce08f867f9bc7">00554</a>     jack_unique_t       <a class="code" href="structjack__position__t.html#a2fe4e3ede6d03c170abce08f867f9bc7">unique_1</a>;       
<a name="l00555"></a><a class="code" href="structjack__position__t.html#a08e43943a7153ecff15b0f8ba6517e95">00555</a>     jack_time_t         <a class="code" href="structjack__position__t.html#a08e43943a7153ecff15b0f8ba6517e95">usecs</a>;          
<a name="l00556"></a><a class="code" href="structjack__position__t.html#ade3f7758360f5ec5432abaead67b553a">00556</a>     jack_nframes_t      <a class="code" href="structjack__position__t.html#ade3f7758360f5ec5432abaead67b553a">frame_rate</a>;     
<a name="l00557"></a><a class="code" href="structjack__position__t.html#ab1d0fe08334f47b1aa8bb36ba722228f">00557</a>     jack_nframes_t      <a class="code" href="structjack__position__t.html#ab1d0fe08334f47b1aa8bb36ba722228f">frame</a>;          
<a name="l00559"></a><a class="code" href="structjack__position__t.html#a838c733e8006d1a0cc6921b4a132a8e4">00559</a>     jack_position_bits_t <a class="code" href="structjack__position__t.html#a838c733e8006d1a0cc6921b4a132a8e4">valid</a>;         
<a name="l00561"></a>00561     <span class="comment">/* JackPositionBBT fields: */</span>
<a name="l00562"></a><a class="code" href="structjack__position__t.html#a4f42cef08eb48a97a1b746698697d0de">00562</a>     int32_t             <a class="code" href="structjack__position__t.html#a4f42cef08eb48a97a1b746698697d0de">bar</a>;            
<a name="l00563"></a><a class="code" href="structjack__position__t.html#afb3f220fd87757095057abc152289110">00563</a>     int32_t             <a class="code" href="structjack__position__t.html#afb3f220fd87757095057abc152289110">beat</a>;           
<a name="l00564"></a><a class="code" href="structjack__position__t.html#a9ba36f6c4eaede3bb1c9b7a85b5f76d1">00564</a>     int32_t             <a class="code" href="structjack__position__t.html#a9ba36f6c4eaede3bb1c9b7a85b5f76d1">tick</a>;           
<a name="l00565"></a>00565     <span class="keywordtype">double</span>              bar_start_tick;
<a name="l00566"></a>00566 
<a name="l00567"></a><a class="code" href="structjack__position__t.html#adc52988414544ba1b86429dad68c6260">00567</a>     <span class="keywordtype">float</span>               <a class="code" href="structjack__position__t.html#adc52988414544ba1b86429dad68c6260">beats_per_bar</a>;  
<a name="l00568"></a><a class="code" href="structjack__position__t.html#a15383588a3fb97333204bc564cf1c06c">00568</a>     <span class="keywordtype">float</span>               <a class="code" href="structjack__position__t.html#a15383588a3fb97333204bc564cf1c06c">beat_type</a>;      
<a name="l00569"></a>00569     <span class="keywordtype">double</span>              ticks_per_beat;
<a name="l00570"></a>00570     <span class="keywordtype">double</span>              beats_per_minute;
<a name="l00571"></a>00571 
<a name="l00572"></a>00572     <span class="comment">/* JackPositionTimecode fields:     (EXPERIMENTAL: could change) */</span>
<a name="l00573"></a><a class="code" href="structjack__position__t.html#abd97b0d447281eebffa750c2b90e791d">00573</a>     <span class="keywordtype">double</span>              <a class="code" href="structjack__position__t.html#abd97b0d447281eebffa750c2b90e791d">frame_time</a>;     
<a name="l00574"></a><a class="code" href="structjack__position__t.html#a83e65f9658fa4d93658cbad47d446b0b">00574</a>     <span class="keywordtype">double</span>              next_time;      
<a name="l00577"></a>00577     <span class="comment">/* JackBBTFrameOffset fields: */</span>
<a name="l00578"></a><a class="code" href="structjack__position__t.html#ae4bb9383734d2e7ca7758011102c03b2">00578</a>     jack_nframes_t      bbt_offset;     
<a name="l00593"></a>00593     <span class="comment">/* JACK video positional data (experimental) */</span>
<a name="l00594"></a>00594 
<a name="l00595"></a><a class="code" href="structjack__position__t.html#af28a3e9ee8b36a92309de372093f56f3">00595</a>     <span class="keywordtype">float</span>               audio_frames_per_video_frame; 
<a name="l00602"></a><a class="code" href="structjack__position__t.html#ac03889456c88714ddf680784ee970d3b">00602</a>     jack_nframes_t      video_offset;   
<a name="l00609"></a>00609     <span class="comment">/* For binary compatibility, new fields should be allocated from</span>
<a name="l00610"></a>00610 <span class="comment">     * this padding area with new valid bits controlling access, so</span>
<a name="l00611"></a>00611 <span class="comment">     * the existing structure size and offsets are preserved. */</span>
<a name="l00612"></a>00612     int32_t             padding[7];
<a name="l00613"></a>00613 
<a name="l00614"></a>00614     <span class="comment">/* When (unique_1 == unique_2) the contents are consistent. */</span>
<a name="l00615"></a><a class="code" href="structjack__position__t.html#a9c3d31034160d5d2b9205eae9983e385">00615</a>     jack_unique_t       <a class="code" href="structjack__position__t.html#a9c3d31034160d5d2b9205eae9983e385">unique_2</a>;       
<a name="l00617"></a>00617 } <a class="code" href="structjack__position__t.html">jack_position_t</a>;
<a name="l00618"></a>00618 
<a name="l00640"></a>00640 <span class="keyword">typedef</span> int (*JackSyncCallback)(jack_transport_state_t state,
<a name="l00641"></a>00641                                 <a class="code" href="structjack__position__t.html">jack_position_t</a> *pos,
<a name="l00642"></a>00642                                 <span class="keywordtype">void</span> *arg);
<a name="l00643"></a>00643 
<a name="l00644"></a>00644 
<a name="l00674"></a>00674 <span class="keyword">typedef</span> void (*JackTimebaseCallback)(jack_transport_state_t state,
<a name="l00675"></a>00675                                      jack_nframes_t nframes,
<a name="l00676"></a>00676                                      <a class="code" href="structjack__position__t.html">jack_position_t</a> *pos,
<a name="l00677"></a>00677                                      <span class="keywordtype">int</span> new_pos,
<a name="l00678"></a>00678                                      <span class="keywordtype">void</span> *arg);
<a name="l00679"></a>00679 
<a name="l00680"></a>00680 <span class="comment">/*********************************************************************</span>
<a name="l00681"></a>00681 <span class="comment">    * The following interfaces are DEPRECATED.  They are only provided</span>
<a name="l00682"></a>00682 <span class="comment">    * for compatibility with the earlier JACK transport implementation.</span>
<a name="l00683"></a>00683 <span class="comment">    *********************************************************************/</span>
<a name="l00684"></a>00684 
<a name="l00690"></a>00690 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00691"></a>00691 
<a name="l00692"></a>00692     JackTransportState = 0x1,   
<a name="l00693"></a>00693     JackTransportPosition = 0x2,        
<a name="l00694"></a>00694     JackTransportLoop = 0x4,    
<a name="l00695"></a>00695     JackTransportSMPTE = 0x8,   
<a name="l00696"></a>00696     JackTransportBBT = 0x10     
<a name="l00698"></a>00698 } jack_transport_bits_t;
<a name="l00699"></a>00699 
<a name="l00706"></a><a class="code" href="structjack__transport__info__t.html">00706</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00707"></a>00707 
<a name="l00708"></a>00708     <span class="comment">/* these two cannot be set from clients: the server sets them */</span>
<a name="l00709"></a>00709 
<a name="l00710"></a><a class="code" href="structjack__transport__info__t.html#ab9dcc731355c88c22554ccd18fdcacc0">00710</a>     jack_nframes_t <a class="code" href="structjack__transport__info__t.html#ab9dcc731355c88c22554ccd18fdcacc0">frame_rate</a>;          
<a name="l00711"></a><a class="code" href="structjack__transport__info__t.html#afa8d37eda78c4ce47469157674aaa7e3">00711</a>     jack_time_t <a class="code" href="structjack__transport__info__t.html#afa8d37eda78c4ce47469157674aaa7e3">usecs</a>;          
<a name="l00713"></a><a class="code" href="structjack__transport__info__t.html#a69fc58b6d2004fd243186255acc7292e">00713</a>     jack_transport_bits_t <a class="code" href="structjack__transport__info__t.html#a69fc58b6d2004fd243186255acc7292e">valid</a>;        
<a name="l00714"></a>00714     jack_transport_state_t transport_state;
<a name="l00715"></a>00715     jack_nframes_t frame;
<a name="l00716"></a>00716     jack_nframes_t loop_start;
<a name="l00717"></a>00717     jack_nframes_t loop_end;
<a name="l00718"></a>00718 
<a name="l00719"></a><a class="code" href="structjack__transport__info__t.html#ad04a7477cc221e0dec25b0e207352a2e">00719</a>     <span class="keywordtype">long</span> <a class="code" href="structjack__transport__info__t.html#ad04a7477cc221e0dec25b0e207352a2e">smpte_offset</a>;  
<a name="l00720"></a><a class="code" href="structjack__transport__info__t.html#a62b6bea05fdb499ca5945a5a32a64350">00720</a>     <span class="keywordtype">float</span> <a class="code" href="structjack__transport__info__t.html#a62b6bea05fdb499ca5945a5a32a64350">smpte_frame_rate</a>;     
<a name="l00722"></a>00722     <span class="keywordtype">int</span> bar;
<a name="l00723"></a>00723     <span class="keywordtype">int</span> beat;
<a name="l00724"></a>00724     <span class="keywordtype">int</span> tick;
<a name="l00725"></a>00725     <span class="keywordtype">double</span> bar_start_tick;
<a name="l00726"></a>00726 
<a name="l00727"></a>00727     <span class="keywordtype">float</span> beats_per_bar;
<a name="l00728"></a>00728     <span class="keywordtype">float</span> beat_type;
<a name="l00729"></a>00729     <span class="keywordtype">double</span> ticks_per_beat;
<a name="l00730"></a>00730     <span class="keywordtype">double</span> beats_per_minute;
<a name="l00731"></a>00731 
<a name="l00732"></a>00732 } <a class="code" href="structjack__transport__info__t.html">jack_transport_info_t</a>;
<a name="l00733"></a>00733 
<a name="l00734"></a>00734 
<a name="l00735"></a>00735 <span class="preprocessor">#endif </span><span class="comment">/* __jack_types_h__ */</span>
</pre></div></div>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated for Jack2 by <a href="http://www.doxygen.org/
index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>
1.7.3</small></address>
</body>
</html>