haiku-website/static/legacy-docs/bebook/BTimeCode.html

98 lines
36 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - Classes And Methods - The Media Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheMediaKit.html" title="The Media Kit" /><link rel="prev" href="BSoundPlayer.html" title="BSoundPlayer" /><link rel="next" href="BTimedEventQueue.html" title="BTimedEventQueue" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BSoundPlayer.html" title="BSoundPlayer"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheMediaKit.html" title="The Media Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="BTimedEventQueue.html" title="BTimedEventQueue"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - Classes And Methods - The Media Kit</div></div><div id="headerB">Prev: <a href="BSoundPlayer.html">BSoundPlayer</a>  Up: <a href="TheMediaKit.html">The Media Kit</a>  Next: <a href="BTimedEventQueue.html">BTimedEventQueue</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode"></a>BTimeCode</h2></div></div></div><a id="id1171548" class="indexterm"></a><div class="classheader"><table border="0"><colgroup><col /><col /></colgroup><tbody><tr><td><table width="100%" border="0"><colgroup><col /><col /></colgroup><tbody><tr><td>Derived From:</td><td></td></tr><tr><td>Mix-in Classes:</td><td></td></tr><tr><td>Declared In:</td><td><code class="filename">media/TimeCode.h</code></td></tr><tr><td>Library:</td><td><code class="filename">libmedia.so</code></td></tr><tr><td>Allocation:</td><td>Constructor only</td></tr></tbody></table></td><td>
<a class="link overview" href="BTimeCode_Overview.html" title="BTimeCode">Class Overview</a>
<div class="toc"><ul><li><span class="section"><a href="BTimeCode.html#BTimeCode_ConstructorDestructor">Constructor and Destructor</a></span></li><li><span class="section"><a href="BTimeCode.html#BTimeCode_MemberFunctions">Member Functions</a></span></li><li><span class="section"><a href="BTimeCode.html#BTimeCode_Operators">Operators</a></span></li><li><span class="section"><a href="BTimeCode.html#BTimeCode_Functions">Global C Functions</a></span></li><li><span class="section"><a href="BTimeCode.html#BTimeCode_Constants">Constants</a></span></li><li><span class="section"><a href="BTimeCode.html#BTimeCode_DefinedTypes">Defined Types</a></span></li></ul></div>
</td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_ConstructorDestructor"></a>Constructor and Destructor</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Constructor"></a>BTimeCode()</h4></div></div></div><div class="synopsisgroup">
<code class="constructorsynopsis cpp"><span class="methodname">BTimeCode</span>();</code>
<code class="constructorsynopsis cpp"><span class="methodname">BTimeCode</span>(<span class="methodparam"><span class="type">bigtime_t </span><span class="parameter">us</span></span>,<br />          <span class="methodparam"><span class="type">timecode_type </span><span class="parameter">type</span><span class="initializer"> = <span class="constant">B_TIMECODE_DEFAULT</span></span></span>);</code>
<code class="constructorsynopsis cpp"><span class="methodname">BTimeCode</span>(<span class="methodparam"><span class="type">int </span><span class="parameter">hours</span></span>,<br />          <span class="methodparam"><span class="type">int </span><span class="parameter">minutes</span></span>,<br />          <span class="methodparam"><span class="type">int </span><span class="parameter">seconds</span></span>,<br />          <span class="methodparam"><span class="type">int </span><span class="parameter">frames</span></span>,<br />          <span class="methodparam"><span class="type">timecode_type </span><span class="parameter">type</span><span class="initializer"> = <span class="constant">B_TIMECODE_DEFAULT</span></span></span>);</code>
<code class="constructorsynopsis cpp"><span class="methodname">BTimeCode</span>(<span class="methodparam"><span class="modifier">const </span><span class="type"><span class="classname">BTimeCode</span>&amp; </span><span class="parameter">clone</span></span>);</code>
</div><p>The constructor prepares the <code class="classname">BTimeCode</code> object for use. If you use the
first form of the constructor, without arguments, you'll have to call an
appropriate function to set the <code class="classname">BTimeCode</code>'s time information before using
it for translation purposes. This can be done by calling one or more of
<a class="link" href="BTimeCode.html#BTimeCode_SetData"><code class="methodname">SetData()</code></a>,
<a class="link" href="BTimeCode.html#BTimeCode_SetType"><code class="methodname">SetType()</code></a>,
<a class="link" href="BTimeCode.html#BTimeCode_SetMicroseconds"><code class="methodname">SetMicroseconds()</code></a>, or
<a class="link" href="BTimeCode.html#BTimeCode_SetLinearFrames"><code class="methodname">SetLinearFrames()</code></a>.</p><p>The second form of the constructor accepts as input a time in
microseconds, <code class="parameter">us</code>, and the timecode <code class="parameter">type</code>.</p><p>The third form accepts as input a time in <code class="parameter">hours</code>,
<code class="parameter">minutes</code>, <code class="parameter">seconds</code>, and
<code class="parameter">frames</code>, as well as the timecode <code class="parameter">type</code>.</p><p>The fourth form of the constructor duplicates an existing
<code class="classname">BTimeCode</code> object.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Destructor"></a>~BTimeCode()</h4></div></div></div><code class="destructorsynopsis cpp"><span class="methodname">~BTimeCode</span>();</code><p>A typical destructor</p></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_MemberFunctions"></a>Member Functions</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_GetData"></a><a id="BTimeCode_SetData"></a>
GetData(), SetData()</h4></div></div></div><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">GetData</span>(<span class="methodparam"><span class="type">int* </span><span class="parameter">outHours</span></span>,<br />             <span class="methodparam"><span class="type">int* </span><span class="parameter">outMinutes</span></span>,<br />             <span class="methodparam"><span class="type">int* </span><span class="parameter">outSeconds</span></span>,<br />             <span class="methodparam"><span class="type">int* </span><span class="parameter">outFrames</span></span>,<br />             <span class="methodparam"><span class="type">timecode_type* </span><span class="parameter">outType</span></span>);</code><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">SetData</span>(<span class="methodparam"><span class="type">int </span><span class="parameter">hours</span></span>,<br />             <span class="methodparam"><span class="type">int </span><span class="parameter">minutes</span></span>,<br />             <span class="methodparam"><span class="type">int </span><span class="parameter">seconds</span></span>,<br />             <span class="methodparam"><span class="type">int </span><span class="parameter">frames</span></span>);</code><p><code class="methodname">GetData()</code> returns the timecode's value
in <code class="parameter">hours</code>, <code class="parameter">minutes</code>, <code class="parameter">seconds</code>, and
<code class="parameter">frames</code>, and also returns the timecode type, if you specify a valid
pointer for <code class="parameter">outType</code>. <code class="methodname">SetData()</code>
lets you set the timecode's value.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_GetString"></a>GetString()</h4></div></div></div><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">GetString</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">str</span></span>) <span class="modifier">const</span>;</code><p>Fills <code class="parameter">str</code>, which must be at least 24 bytes long, with a string indicating
the current time in hours, minutes, seconds, and frames. The string is
formatted in a manner appropriate to the timecode type. A typical example
would be "01:24:09.18", which is 1 hour, 24 minutes, 9 seconds, and 18
frames.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Hours"></a><a id="BTimeCode_Minutes"></a>
<a id="BTimeCode_Seconds"></a>
<a id="BTimeCode_Frames"></a>
Hours(), Minutes(), Seconds(), Frames()</h4></div></div></div><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">Hours</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">Minutes</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">Seconds</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">Frames</span>() <span class="modifier">const</span>;</code><p>These functions return the time's hours, minutes, seconds, and frames
portions.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_LinearFrames"></a><a id="BTimeCode_SetLinearFrames"></a>
LinearFrames(), SetLinearFrames()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">LinearFrames</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">SetLinearFrames</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">linearFrames</span></span>);</code><p><code class="methodname">LinearFrames()</code> returns the
<code class="classname">BTimeCode</code> object's time in linear frames.
<code class="methodname">SetLinearFrames()</code> lets you change the time, specifying the new time in
linear frames.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Microseconds"></a><a id="BTimeCode_SetMicroseconds"></a>
Microseconds(), SetMicroseconds()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">bigtime_t </span><span class="methodname">LinearFrames</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">SetMicroseconds</span>(<span class="methodparam"><span class="type">bigtime_t </span><span class="parameter">us</span></span>);</code><p><code class="methodname">Microseconds()</code> returns the
<code class="classname">BTimeCode</code> object's time, in microseconds.
<code class="methodname">SetMicroseconds()</code> lets you change the time,
specifying the new time in microseconds.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Type"></a><a id="BTimeCode_SetType"></a>
Type(), SetType()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">timecode_type </span><span class="methodname">Type</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="type">status_t </span><span class="methodname">SetType</span>(<span class="methodparam"><span class="type">timecode_type </span><span class="parameter">type</span></span>);</code><p><code class="methodname">Type()</code> returns the <code class="classname">BTimeCode</code>
object's timecode type. <code class="methodname">SetType()</code> lets you
change the timecode type.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>The type was returned safely.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_ERROR</code></span></p></td><td><p>The timecode type specified is invalid.</p></td></tr></tbody></table></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Operators"></a>Operators</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_assignment"></a>= (assignment)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator =</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">clone</span></span>);</code><p>Makes the current <code class="classname">BTimeCode</code> identical to
the <code class="classname">BTimeCode</code> object specified</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_equality"></a>== (equality)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator ==</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">other</span></span>);</code><p>Determines whether or not the two <code class="classname">BTimeCode</code> objects are equal (their
times are the same, regardless of their timecode types).</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_lessthan"></a>&lt; (less than)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator &lt;</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">other</span></span>);</code><p>Indicates whether or not one <code class="classname">BTimeCode</code>'s time, in microseconds, is less
than the other's.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_expressionplus"></a>+= (expression plus)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator +=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">other</span></span>);</code><p>Adds the time of the <code class="classname">BTimeCode</code> object other
to the current <code class="classname">BTimeCode</code>'s time.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_expressionminus"></a>-= (expression minus)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator -=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">other</span></span>);</code><p>Subtracts the time of the <code class="classname">BTimeCode</code> object other from the current
<code class="classname">BTimeCode</code>'s time.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_plus"></a>+ (plus)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator +</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">other</span></span>);</code><p>Adds two <code class="classname">BTimeCode</code> values together, returning
a new <code class="classname">BTimeCode</code>.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_operator_minus"></a>- (minus)</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BTimeCode&amp; </span><span class="methodname">operator &lt;</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BTimeCode&amp; </span><span class="parameter">other</span></span>);</code><p>Subtracts two <code class="classname">BTimeCode</code> values, returning a new one.</p></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Functions"></a>Global C Functions</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="count_timecodes"></a>count_timecodes()</h4></div></div></div><a id="id1172876" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">count_timecodes</span>();</code><p>Returns the number of recognized time code types.</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="frames_to_timecode"></a><a id="timecode_to_frames"></a>
frames_to_timecode(), timecode_to_frames()</h4></div></div></div><a id="id1172917" class="indexterm"></a><a id="id1172925" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">frames_to_timecode</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">linearFrames</span></span>,<br />                            <span class="methodparam"><span class="type">int* </span><span class="parameter">hours</span></span>,<br />                            <span class="methodparam"><span class="type">int* </span><span class="parameter">minutes</span></span>,<br />                            <span class="methodparam"><span class="type">int* </span><span class="parameter">seconds</span></span>,<br />                            <span class="methodparam"><span class="type">int* </span><span class="parameter">frames</span></span>,<br />                            <span class="methodparam"><span class="modifier">const </span><span class="type">timecode_info </span><span class="parameter">code</span><span class="initializer"> = <span class="constant">NULL</span></span></span>);</code><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">timecode_to_frames</span>(<span class="methodparam"><span class="type">int </span><span class="parameter">hours</span></span>,<br />                            <span class="methodparam"><span class="type">int </span><span class="parameter">minutes</span></span>,<br />                            <span class="methodparam"><span class="type">int </span><span class="parameter">seconds</span></span>,<br />                            <span class="methodparam"><span class="type">int </span><span class="parameter">frames</span></span>,<br />                            <span class="methodparam"><span class="modifier">const </span><span class="type">timecode_info </span><span class="parameter">code</span><span class="initializer"> = <span class="constant">NULL</span></span></span>);</code><p><code class="function">frames_to_timecode()</code> converts the
frame offset <code class="parameter">linearFrames</code> into <code class="parameter">hours</code>,
<code class="parameter">minutes</code>, <code class="parameter">seconds</code>, and
<code class="parameter">frames</code>.</p><p><code class="function">timecode_to_frames()</code> converts the time from
<code class="parameter">hours</code>, <code class="parameter">minutes</code>, <code class="parameter">seconds</code>, and
<code class="parameter">frames</code> into a linear frame offset, storing the result
in <code class="parameter">linearFrames</code>.</p><p>The <span class="type">timecode_info</span> structure code is used to determine how the conversion
should be made, if you specify it. Otherwise <code class="constant">B_TIMECODE_DEFAULT</code> is
assumed.</p><p>Currently these functions always return <code class="constant">B_OK</code>, but you should still check
for errors because you'd hate it if your app broke in the future,
wouldn't you?</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="get_timecode_description"></a>get_timecode_description()</h4></div></div></div><a id="id1173154" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">get_timecode_description</span>(<span class="methodparam"><span class="type">timecode_type </span><span class="parameter">type</span></span>,<br />                                  <span class="methodparam"><span class="type">timecode_info* </span><span class="parameter">outTimeCode</span></span>);</code><p>Fills out the <span class="type">timecode_info</span> structure specified
by <code class="parameter">outTimeCode</code> with
information describing the specified timecode type.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>No error.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_ERROR</code></span></p></td><td><p>The specified timecode type isn't valid.</p></td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="us_to_timecode"></a><a id="timecode_to_us"></a>
us_to_timecode(), timecode_to_us()</h4></div></div></div><a id="id1173256" class="indexterm"></a><a id="id1173263" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">us_to_timecode</span>(<span class="methodparam"><span class="type">bigtime_t </span><span class="parameter">micros</span></span>,<br />                        <span class="methodparam"><span class="type">int* </span><span class="parameter">hours</span></span>,<br />                        <span class="methodparam"><span class="type">int* </span><span class="parameter">minutes</span></span>,<br />                        <span class="methodparam"><span class="type">int* </span><span class="parameter">seconds</span></span>,<br />                        <span class="methodparam"><span class="type">int* </span><span class="parameter">frames</span></span>,<br />                        <span class="methodparam"><span class="modifier">const </span><span class="type">timecode_info </span><span class="parameter">code</span><span class="initializer"> = <span class="constant">NULL</span></span></span>);</code><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">timecode_to_us</span>(<span class="methodparam"><span class="type">int </span><span class="parameter">hours</span></span>,<br />                        <span class="methodparam"><span class="type">int </span><span class="parameter">minutes</span></span>,<br />                        <span class="methodparam"><span class="type">int </span><span class="parameter">seconds</span></span>,<br />                        <span class="methodparam"><span class="type">int </span><span class="parameter">frames</span></span>,<br />                        <span class="methodparam"><span class="type">bigtime_t* </span><span class="parameter">micros</span></span>,<br />                        <span class="methodparam"><span class="modifier">const </span><span class="type">timecode_info </span><span class="parameter">code</span><span class="initializer"> = <span class="constant">NULL</span></span></span>);</code><p><code class="function">us_to_timecode()</code> converts the time
<code class="parameter">micros</code>, which is specified in
microseconds, into <code class="parameter">hours</code>, <code class="parameter">minutes</code>,
<code class="parameter">seconds</code>, and <code class="parameter">frames</code>.</p><p><code class="function">timecode_to_us()</code> converts the time from
<code class="parameter">hours</code>, <code class="parameter">minutes</code>, <code class="parameter">seconds</code>, and
<code class="parameter">frames</code> into microseconds, storing the result in <code class="parameter">micros</code>.</p><p>The <span class="type">timecode_info</span> structure code is used to determine how the conversion
should be made, if you specify it. Otherwise <code class="constant">B_TIMECODE_DEFAULT</code> is
assumed.</p><p>Currently these functions always return <code class="constant">B_OK</code>, but you should still check
for errors because you'd hate it if your app broke in the future,
wouldn't you?</p></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_Constants"></a>Constants</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Enums_timecode_type"></a>timecode_type</h4></div></div></div><p>Declared in: <code class="filename">media/TimeCode.h</code></p><table class="variablelist constants"><thead><tr><th>Constant</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_TIMECODE_DEFAULT</code></span></p></td><td><p>The default time code</p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_100</code></span></p></td><td><p>100 frames per second.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_75</code></span></p></td><td><p>CD audio</p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_30</code></span></p></td><td><p><acronym class="acronym" title="Musical Instrument Digital Interface">MIDI</acronym></p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_30_DROP_2</code></span></p></td><td><p><acronym class="acronym" title="National Television System Committee">NTSC</acronym></p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_30_DROP_4</code></span></p></td><td><p>Brazil</p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_25</code></span></p></td><td><p><acronym class="acronym" title="Phase Alternate Line">PAL</acronym></p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_24</code></span></p></td><td><p>Film</p></td></tr><tr><td><p><span class="term"><code class="constant">B_TIMECODE_18</code></span></p></td><td><p>Super8</p></td></tr></tbody></table><p>Constants identifying the various timecode types supported by
<code class="classname">BTimeCode</code>.</p></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BTimeCode_DefinedTypes"></a>Defined Types</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="timecode_info"></a>timecode_info</h4></div></div></div><a id="id1173712" class="indexterm"></a><p>Declared in: <code class="filename">media/TimeCode.h</code></p><pre class="programlisting definition c"><span class="type">struct timecode_info</span> {
<span class="type">timecode_type</span> type;
<span class="type">int</span> <code class="varname">drop_frames</code>;
<span class="type">int</span> <code class="varname">every_nth</code>;
<span class="type">int</span> <code class="varname">except_nth</code>;
<span class="type">int</span> <code class="varname">fps_div</code>;
<span class="type">char</span> <code class="varname">name</code>[32];
<span class="type">char</span> <code class="varname">format</code>[32];
<span class="type">char</span> <code class="varname">_reserved_</code>[64];
};</pre><p>The <span class="type">timecode_info</span> structure describes the attributes of a timecode type.
You probably should just use the <code class="classname">BTimeCode</code> class, or the global C
functions, though. It just makes your life easier.</p><table class="variablelist fields"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="varname">type</code></span></p></td><td><p>Indicates the timecode type described by the structure.</p></td></tr><tr><td><p><span class="term"><code class="varname">drop_frames</code></span></p></td><td><p>Indicates how many frames this timecode drops every
<code class="varname">every_nth</code> minute, <code class="varname">except_nth</code> minute.</p></td></tr><tr><td><p><span class="term"><code class="varname">fps_div</code></span></p></td><td><p>Indicates the nominal frame rate of the format.</p></td></tr><tr><td><p><span class="term"><code class="varname">name</code></span></p></td><td><p>Is a printable name that can be used in constructing user
interfaces.</p></td></tr><tr><td><p><span class="term"><code class="varname">format</code></span></p></td><td><p>Is a format to be used in calling <code class="function">sprintf()</code>; it's used by
<a class="link" href="BTimeCode.html#BTimeCode_GetString" title="GetString()"><code class="methodname">GetString()</code></a>.</p></td></tr></tbody></table></div></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BSoundPlayer.html">BSoundPlayer</a>  Up: <a href="TheMediaKit.html">The Media Kit</a>  Next: <a href="BTimedEventQueue.html">BTimedEventQueue</a> </div><div id="footerB"><div id="footerBL"><a href="BSoundPlayer.html" title="BSoundPlayer"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheMediaKit.html" title="The Media Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="BTimedEventQueue.html" title="BTimedEventQueue"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>