<!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>gavl: Time</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">gavl</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="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#groups">Modules</a> | <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>Time</h1> </div> </div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="groups"></a> Modules</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer.html">Software timer</a></td></tr> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gaf598353cbda9a5ad6878e368b6a15811">GAVL_TIME_SCALE</a>   1000000</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga98a13c407599f7fd3186396337f2a313">GAVL_TIME_UNDEFINED</a>   0x8000000000000000LL</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gae6ef0c903b29a7584c2213c07d07cb5d">GAVL_TIME_MAX</a>   0x7fffffffffffffffLL</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gaea115f2815e637bbcd60fbade805ef76">gavl_seconds_to_time</a>(s)   (<a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a>)((s)*(double)(GAVL_TIME_SCALE))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert seconds (as double) to a gavl time. <a href="#gaea115f2815e637bbcd60fbade805ef76"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gafe7168a31ad0b28ead955797a62a5ab2">gavl_time_to_seconds</a>(t)   ((double)(t)/(double)(GAVL_TIME_SCALE))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a gavl time to seconds (as double) <a href="#gafe7168a31ad0b28ead955797a62a5ab2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga49869e05d18cb1dfde4e80343ae37d50">GAVL_TIME_STRING_LEN</a>   11</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Length of the string passed to <a class="el" href="group__time.html#gafede1bf6bd567f8133f49291b1c91e46">gavl_time_prettyprint</a>. <a href="#ga49869e05d18cb1dfde4e80343ae37d50"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga0f4f6763633d6d42edd51b23017cfc37">GAVL_TIME_STRING_LEN_MS</a>   15</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Length of the string passed to <a class="el" href="group__time.html#ga5f5ae25902db97f374e1be584243a257">gavl_time_prettyprint_ms</a>. <a href="#ga0f4f6763633d6d42edd51b23017cfc37"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Times in gavl are 64 bit signed integers. <a href="#gaede83abbdd6102bd8683f4b94a7bd647"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga811bdb175fd50af21138857ca53f9d19">gavl_samples_to_time</a> (int samplerate, int64_t samples)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a number of samples to a time for a given samplerate. <a href="#ga811bdb175fd50af21138857ca53f9d19"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gae29e41e11252623db0588cd6b728bcf3">gavl_time_to_samples</a> (int samplerate, <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a time to a number of audio samples for a given samplerate. <a href="#gae29e41e11252623db0588cd6b728bcf3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga59df5a9311f8e15575c8a0f9414849af">gavl_frames_to_time</a> (int rate_num, int rate_den, int64_t frames)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a number of video frames to a time for a given framerate. <a href="#ga59df5a9311f8e15575c8a0f9414849af"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga2b8f1db0f226f1255afe2e0f21f47142">gavl_time_to_frames</a> (int rate_num, int rate_den, <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a time to a number of video frames for a given framerate. <a href="#ga2b8f1db0f226f1255afe2e0f21f47142"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga8b96d7ef34d17497a099fa8971eb5661">gavl_time_scale</a> (int scale, <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a gavl time to a time scaled by another base. <a href="#ga8b96d7ef34d17497a099fa8971eb5661"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga4de3b9f7b985519953f332fbc283f2f6">gavl_time_unscale</a> (int scale, int64_t time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a time scaled by another base to a gavl time. <a href="#ga4de3b9f7b985519953f332fbc283f2f6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gac2a78a7aa1330d94ac8c24882714ff2f">gavl_time_rescale</a> (int scale1, int scale2, int64_t time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a time scaled by one base to a time scaled by another base. <a href="#gac2a78a7aa1330d94ac8c24882714ff2f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga3e883859ff24aa7af3a30cd6b1e80364">gavl_time_delay</a> (<a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> *time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sleep for a specified time. <a href="#ga3e883859ff24aa7af3a30cd6b1e80364"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#gafede1bf6bd567f8133f49291b1c91e46">gavl_time_prettyprint</a> (<a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> time, char str[GAVL_TIME_STRING_LEN])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a time to a string. <a href="#gafede1bf6bd567f8133f49291b1c91e46"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__time.html#ga5f5ae25902db97f374e1be584243a257">gavl_time_prettyprint_ms</a> (<a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> time, char str[GAVL_TIME_STRING_LEN_MS])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a time to a string with millisecond precision. <a href="#ga5f5ae25902db97f374e1be584243a257"></a><br/></td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="gaf598353cbda9a5ad6878e368b6a15811"></a><!-- doxytag: member="gavltime.h::GAVL_TIME_SCALE" ref="gaf598353cbda9a5ad6878e368b6a15811" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_TIME_SCALE   1000000</td> </tr> </table> </div> <div class="memdoc"> <p>Generic time scale: Microsecond tics </p> </div> </div> <a class="anchor" id="ga98a13c407599f7fd3186396337f2a313"></a><!-- doxytag: member="gavltime.h::GAVL_TIME_UNDEFINED" ref="ga98a13c407599f7fd3186396337f2a313" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_TIME_UNDEFINED   0x8000000000000000LL</td> </tr> </table> </div> <div class="memdoc"> <p>Unknown or undefined time </p> </div> </div> <a class="anchor" id="gae6ef0c903b29a7584c2213c07d07cb5d"></a><!-- doxytag: member="gavltime.h::GAVL_TIME_MAX" ref="gae6ef0c903b29a7584c2213c07d07cb5d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_TIME_MAX   0x7fffffffffffffffLL</td> </tr> </table> </div> <div class="memdoc"> <p>Maximum possible value </p> </div> </div> <a class="anchor" id="gaea115f2815e637bbcd60fbade805ef76"></a><!-- doxytag: member="gavltime.h::gavl_seconds_to_time" ref="gaea115f2815e637bbcd60fbade805ef76" args="(s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define gavl_seconds_to_time</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">s</td><td>)</td> <td>   (<a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a>)((s)*(double)(GAVL_TIME_SCALE))</td> </tr> </table> </div> <div class="memdoc"> <p>Convert seconds (as double) to a gavl time. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>Seconds as double </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Integer time scaled by <a class="el" href="group__time.html#gaf598353cbda9a5ad6878e368b6a15811">GAVL_TIME_SCALE</a> </dd></dl> </div> </div> <a class="anchor" id="gafe7168a31ad0b28ead955797a62a5ab2"></a><!-- doxytag: member="gavltime.h::gavl_time_to_seconds" ref="gafe7168a31ad0b28ead955797a62a5ab2" args="(t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define gavl_time_to_seconds</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">t</td><td>)</td> <td>   ((double)(t)/(double)(GAVL_TIME_SCALE))</td> </tr> </table> </div> <div class="memdoc"> <p>Convert a gavl time to seconds (as double) </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">t</td><td>Integer time scaled by <a class="el" href="group__time.html#gaf598353cbda9a5ad6878e368b6a15811">GAVL_TIME_SCALE</a> </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Seconds as double </dd></dl> </div> </div> <a class="anchor" id="ga49869e05d18cb1dfde4e80343ae37d50"></a><!-- doxytag: member="gavltime.h::GAVL_TIME_STRING_LEN" ref="ga49869e05d18cb1dfde4e80343ae37d50" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_TIME_STRING_LEN   11</td> </tr> </table> </div> <div class="memdoc"> <p>Length of the string passed to <a class="el" href="group__time.html#gafede1bf6bd567f8133f49291b1c91e46">gavl_time_prettyprint</a>. </p> </div> </div> <a class="anchor" id="ga0f4f6763633d6d42edd51b23017cfc37"></a><!-- doxytag: member="gavltime.h::GAVL_TIME_STRING_LEN_MS" ref="ga0f4f6763633d6d42edd51b23017cfc37" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_TIME_STRING_LEN_MS   15</td> </tr> </table> </div> <div class="memdoc"> <p>Length of the string passed to <a class="el" href="group__time.html#ga5f5ae25902db97f374e1be584243a257">gavl_time_prettyprint_ms</a>. </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="gaede83abbdd6102bd8683f4b94a7bd647"></a><!-- doxytag: member="gavltime.h::gavl_time_t" ref="gaede83abbdd6102bd8683f4b94a7bd647" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int64_t <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>Times in gavl are 64 bit signed integers. </p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga811bdb175fd50af21138857ca53f9d19"></a><!-- doxytag: member="gavltime.h::gavl_samples_to_time" ref="ga811bdb175fd50af21138857ca53f9d19" args="(int samplerate, int64_t samples)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> gavl_samples_to_time </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>samplerate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> <td class="paramname"><em>samples</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a number of samples to a time for a given samplerate. </p> </div> </div> <a class="anchor" id="gae29e41e11252623db0588cd6b728bcf3"></a><!-- doxytag: member="gavltime.h::gavl_time_to_samples" ref="gae29e41e11252623db0588cd6b728bcf3" args="(int samplerate, gavl_time_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int64_t gavl_time_to_samples </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>samplerate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td> <td class="paramname"><em>time</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a time to a number of audio samples for a given samplerate. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">samplerate</td><td>Samplerate </td></tr> <tr><td class="paramname">time</td><td>Time </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Number of audio samples </dd></dl> </div> </div> <a class="anchor" id="ga59df5a9311f8e15575c8a0f9414849af"></a><!-- doxytag: member="gavltime.h::gavl_frames_to_time" ref="ga59df5a9311f8e15575c8a0f9414849af" args="(int rate_num, int rate_den, int64_t frames)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> gavl_frames_to_time </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>rate_num</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>rate_den</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> <td class="paramname"><em>frames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a number of video frames to a time for a given framerate. </p> </div> </div> <a class="anchor" id="ga2b8f1db0f226f1255afe2e0f21f47142"></a><!-- doxytag: member="gavltime.h::gavl_time_to_frames" ref="ga2b8f1db0f226f1255afe2e0f21f47142" args="(int rate_num, int rate_den, gavl_time_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int64_t gavl_time_to_frames </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>rate_num</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>rate_den</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td> <td class="paramname"><em>time</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a time to a number of video frames for a given framerate. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">rate_num</td><td>Numerator of the framerate </td></tr> <tr><td class="paramname">rate_den</td><td>Denominator of the framerate </td></tr> <tr><td class="paramname">time</td><td>Time </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Number of frames </dd></dl> </div> </div> <a class="anchor" id="ga8b96d7ef34d17497a099fa8971eb5661"></a><!-- doxytag: member="gavltime.h::gavl_time_scale" ref="ga8b96d7ef34d17497a099fa8971eb5661" args="(int scale, gavl_time_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int64_t gavl_time_scale </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>scale</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td> <td class="paramname"><em>time</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a gavl time to a time scaled by another base. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">scale</td><td>Time scale </td></tr> <tr><td class="paramname">time</td><td>Time scaled by <a class="el" href="group__time.html#gaf598353cbda9a5ad6878e368b6a15811">GAVL_TIME_SCALE</a> </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Time scaled by scale </dd></dl> </div> </div> <a class="anchor" id="ga4de3b9f7b985519953f332fbc283f2f6"></a><!-- doxytag: member="gavltime.h::gavl_time_unscale" ref="ga4de3b9f7b985519953f332fbc283f2f6" args="(int scale, int64_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC <a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> gavl_time_unscale </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>scale</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> <td class="paramname"><em>time</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a time scaled by another base to a gavl time. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">scale</td><td>Time scale </td></tr> <tr><td class="paramname">time</td><td>Time scaled by scale </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Time scaled by <a class="el" href="group__time.html#gaf598353cbda9a5ad6878e368b6a15811">GAVL_TIME_SCALE</a> </dd></dl> </div> </div> <a class="anchor" id="gac2a78a7aa1330d94ac8c24882714ff2f"></a><!-- doxytag: member="gavltime.h::gavl_time_rescale" ref="gac2a78a7aa1330d94ac8c24882714ff2f" args="(int scale1, int scale2, int64_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int64_t gavl_time_rescale </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>scale1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>scale2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> <td class="paramname"><em>time</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a time scaled by one base to a time scaled by another base. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">scale1</td><td>Initial time base </td></tr> <tr><td class="paramname">scale2</td><td>New time base </td></tr> <tr><td class="paramname">time</td><td>Time scaled by scale1 </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Time scaled by scale2 </dd></dl> </div> </div> <a class="anchor" id="ga3e883859ff24aa7af3a30cd6b1e80364"></a><!-- doxytag: member="gavltime.h::gavl_time_delay" ref="ga3e883859ff24aa7af3a30cd6b1e80364" args="(gavl_time_t *time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_time_delay </td> <td>(</td> <td class="paramtype"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> * </td> <td class="paramname"><em>time</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sleep for a specified time. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">time</td><td>Time after which execution of the current thread is resumed </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gafede1bf6bd567f8133f49291b1c91e46"></a><!-- doxytag: member="gavltime.h::gavl_time_prettyprint" ref="gafede1bf6bd567f8133f49291b1c91e46" args="(gavl_time_t time, char str[GAVL_TIME_STRING_LEN])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_time_prettyprint </td> <td>(</td> <td class="paramtype"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td> <td class="paramname"><em>time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>str</em>[GAVL_TIME_STRING_LEN] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a time to a string. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">time</td><td>Time to print </td></tr> <tr><td class="paramname">str</td><td>String</td></tr> </table> </dd> </dl> <p>This prints a gavl_time into ASCII string if a format suitable for player displays. The format is: -hhh:mm:ss </p> </div> </div> <a class="anchor" id="ga5f5ae25902db97f374e1be584243a257"></a><!-- doxytag: member="gavltime.h::gavl_time_prettyprint_ms" ref="ga5f5ae25902db97f374e1be584243a257" args="(gavl_time_t time, char str[GAVL_TIME_STRING_LEN_MS])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_time_prettyprint_ms </td> <td>(</td> <td class="paramtype"><a class="el" href="group__time.html#gaede83abbdd6102bd8683f4b94a7bd647">gavl_time_t</a> </td> <td class="paramname"><em>time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>str</em>[GAVL_TIME_STRING_LEN_MS] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert a time to a string with millisecond precision. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">time</td><td>Time to print </td></tr> <tr><td class="paramname">str</td><td>String</td></tr> </table> </dd> </dl> <p>This prints a gavl_time into ASCII string if a format suitable for player displays. The format is: -hhh:mm:ss.MMM</p> <p>Since 1.1.1 </p> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Sat Mar 26 2011 for gavl by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>