<!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 <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>File 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'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 <jack/systemdeps.h></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 "32 bit float mono audio"</span> <a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor">#define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"</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>