Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > dc9b9eb224888fd532330fad8ee0ffc5 > files > 126

audacious-devel-2.4.5-1.fc14.x86_64.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>Audacious: drct.c 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">Audacious&#160;<span id="projectnumber">$Id:Doxyfile42802007-03-2104:39:00Znenolod$</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="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>drct.c</h1>  </div>
</div>
<div class="contents">
<a href="drct_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * drct.c</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright 2009-2010 John Lindgren</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * This file is part of Audacious.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * Audacious is free software: you can redistribute it and/or modify it under</span>
<a name="l00008"></a>00008 <span class="comment"> * the terms of the GNU General Public License as published by the Free Software</span>
<a name="l00009"></a>00009 <span class="comment"> * Foundation, version 2 or version 3 of the License.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * Audacious is distributed in the hope that it will be useful, but WITHOUT ANY</span>
<a name="l00012"></a>00012 <span class="comment"> * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</span>
<a name="l00013"></a>00013 <span class="comment"> * A PARTICULAR PURPOSE. See the GNU 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 General Public License along with</span>
<a name="l00016"></a>00016 <span class="comment"> * Audacious. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
<a name="l00017"></a>00017 <span class="comment"> *</span>
<a name="l00018"></a>00018 <span class="comment"> * The Audacious team does not consider modular code linking to Audacious or</span>
<a name="l00019"></a>00019 <span class="comment"> * using our public API to be a derived work.</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;glib.h&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;libaudcore/hook.h&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;libaudcore/vfs.h&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;<a class="code" href="audconfig_8h.html">audconfig.h</a>&quot;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;<a class="code" href="compatibility_8h.html">compatibility.h</a>&quot;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &quot;config.h&quot;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="drct_8h.html">drct.h</a>&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="i18n_8h.html">i18n.h</a>&quot;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="main_8h.html">main.h</a>&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="playback_8h.html">playback.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="playlist_8h.html">playlist.h</a>&quot;</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="comment">/* --- PROGRAM CONTROL --- */</span>
<a name="l00036"></a>00036 
<a name="l00037"></a><a class="code" href="drct_8c.html#a2c355bae6814f113c352b4d2c1b3e7c7">00037</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a2c355bae6814f113c352b4d2c1b3e7c7">drct_quit</a> (<span class="keywordtype">void</span>)
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039     <a class="code" href="main_8c.html#ae8e6dca51f304e64a2d32c870195c625">aud_quit</a> ();
<a name="l00040"></a>00040 }
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 <span class="comment">/* --- PLAYBACK CONTROL --- */</span>
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="drct_8c.html#a8a6639554e6e7c5637b62b5474354e54">00044</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a8a6639554e6e7c5637b62b5474354e54">drct_play</a> (<span class="keywordtype">void</span>)
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046     <span class="keywordflow">if</span> (<a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ())
<a name="l00047"></a>00047     {
<a name="l00048"></a>00048         <span class="keywordflow">if</span> (<a class="code" href="playback_8c.html#a8e0588ead2bf5672fdb8520a4e9b2011">playback_get_paused</a> ())
<a name="l00049"></a>00049             <a class="code" href="playback_8c.html#aace8df4bed185e5e8ededbf13f206b1d">playback_pause</a> ();
<a name="l00050"></a>00050         <span class="keywordflow">else</span>
<a name="l00051"></a>00051             <a class="code" href="playback_8c.html#ab5f30a127d666a2dd44918ebb1e9c844">playback_seek</a> (0);
<a name="l00052"></a>00052     }
<a name="l00053"></a>00053     <span class="keywordflow">else</span>
<a name="l00054"></a>00054         <a class="code" href="playback_8c.html#a8ddcc8a2a037e189c10ecc7d51c0e224">playback_play</a> (0, FALSE);
<a name="l00055"></a>00055 }
<a name="l00056"></a>00056 
<a name="l00057"></a><a class="code" href="drct_8c.html#a4c5d4d21ae7748fca3ae90b72e3a31df">00057</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a4c5d4d21ae7748fca3ae90b72e3a31df">drct_pause</a> (<span class="keywordtype">void</span>)
<a name="l00058"></a>00058 {
<a name="l00059"></a>00059     <span class="keywordflow">if</span> (<a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ())
<a name="l00060"></a>00060         <a class="code" href="playback_8c.html#aace8df4bed185e5e8ededbf13f206b1d">playback_pause</a> ();
<a name="l00061"></a>00061 }
<a name="l00062"></a>00062 
<a name="l00063"></a><a class="code" href="drct_8c.html#ad6f5d3149d9ad30a0c6fc897ca0c0be7">00063</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#ad6f5d3149d9ad30a0c6fc897ca0c0be7">drct_stop</a> (<span class="keywordtype">void</span>)
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065     <span class="keywordflow">if</span> (<a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ())
<a name="l00066"></a>00066         <a class="code" href="playback_8c.html#a37316a2d8c857f7ee39ecf339f63a551">playback_stop</a> ();
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068 
<a name="l00069"></a><a class="code" href="drct_8c.html#a3934088c5adf233b98710235141267e1">00069</a> <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> <a class="code" href="drct_8c.html#a3934088c5adf233b98710235141267e1">drct_get_playing</a> (<span class="keywordtype">void</span>)
<a name="l00070"></a>00070 {
<a name="l00071"></a>00071     <span class="keywordflow">return</span> <a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ();
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073 
<a name="l00074"></a><a class="code" href="drct_8c.html#aa7f3891dde874e22fc2d7c061861875a">00074</a> <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> <a class="code" href="drct_8c.html#aa7f3891dde874e22fc2d7c061861875a">drct_get_paused</a> (<span class="keywordtype">void</span>)
<a name="l00075"></a>00075 {
<a name="l00076"></a>00076     <span class="keywordflow">return</span> <a class="code" href="playback_8c.html#a8e0588ead2bf5672fdb8520a4e9b2011">playback_get_paused</a> ();
<a name="l00077"></a>00077 }
<a name="l00078"></a>00078 
<a name="l00079"></a><a class="code" href="drct_8c.html#ab22476810a9d1669a6b875a79d0dd4c7">00079</a> gchar * <a class="code" href="drct_8c.html#ab22476810a9d1669a6b875a79d0dd4c7">drct_get_title</a> (<span class="keywordtype">void</span>)
<a name="l00080"></a>00080 {
<a name="l00081"></a>00081     <span class="keywordflow">return</span> <a class="code" href="playback_8c.html#ae69864be746bfc562b111da629637ecb">playback_get_title</a> ();
<a name="l00082"></a>00082 }
<a name="l00083"></a>00083 
<a name="l00084"></a><a class="code" href="drct_8c.html#a85182a395b86ba4c109292633eb4fa13">00084</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a85182a395b86ba4c109292633eb4fa13">drct_get_info</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * bitrate, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * samplerate, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * <a class="code" href="equalizer_8c.html#a321056aba52218c44e8b3e0ce010cb11">channels</a>)
<a name="l00085"></a>00085 {
<a name="l00086"></a>00086     <a class="code" href="playback_8c.html#a2c051daa5b1b94d87ba300822d32e29d">playback_get_info</a> (bitrate, samplerate, channels);
<a name="l00087"></a>00087 }
<a name="l00088"></a>00088 
<a name="l00089"></a><a class="code" href="drct_8c.html#ab4b3030551ff4bf17edde04ab14d40cd">00089</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#ab4b3030551ff4bf17edde04ab14d40cd">drct_get_time</a> (<span class="keywordtype">void</span>)
<a name="l00090"></a>00090 {
<a name="l00091"></a>00091     <span class="keywordflow">return</span> <a class="code" href="playback_8c.html#ad23a744953eca2b3b2ff96875d6955e2">playback_get_time</a> ();
<a name="l00092"></a>00092 }
<a name="l00093"></a>00093 
<a name="l00094"></a><a class="code" href="drct_8c.html#af8e1d7e39cf30d967ee8f7cadc3d1351">00094</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#af8e1d7e39cf30d967ee8f7cadc3d1351">drct_get_length</a> (<span class="keywordtype">void</span>)
<a name="l00095"></a>00095 {
<a name="l00096"></a>00096     <span class="keywordflow">return</span> <a class="code" href="playback_8c.html#aad15f8d0722a32cc37f01c0a0d85606d">playback_get_length</a> ();
<a name="l00097"></a>00097 }
<a name="l00098"></a>00098 
<a name="l00099"></a><a class="code" href="drct_8c.html#ae92b43c5bf8e648480a91f93ec8d8664">00099</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#ae92b43c5bf8e648480a91f93ec8d8664">drct_seek</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> time)
<a name="l00100"></a>00100 {
<a name="l00101"></a>00101     <a class="code" href="playback_8c.html#ab5f30a127d666a2dd44918ebb1e9c844">playback_seek</a> (time);
<a name="l00102"></a>00102 }
<a name="l00103"></a>00103 
<a name="l00104"></a>00104 <span class="comment">/* --- VOLUME CONTROL --- */</span>
<a name="l00105"></a>00105 
<a name="l00106"></a><a class="code" href="drct_8c.html#af190c757a6e7989e1544b64d4076d564">00106</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#af190c757a6e7989e1544b64d4076d564">drct_get_volume</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * left, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * right)
<a name="l00107"></a>00107 {
<a name="l00108"></a>00108     <a class="code" href="playback_8c.html#ade54e6821c078a3ddc61da309f5adab3">input_get_volume</a> (left, right);
<a name="l00109"></a>00109     * left = CLAMP (* left, 0, 100);
<a name="l00110"></a>00110     * right = CLAMP (* right, 0, 100);
<a name="l00111"></a>00111 }
<a name="l00112"></a>00112 
<a name="l00113"></a><a class="code" href="drct_8c.html#a2c336efe9d9d269fe4792ec217135342">00113</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a2c336efe9d9d269fe4792ec217135342">drct_set_volume</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> left, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> right)
<a name="l00114"></a>00114 {
<a name="l00115"></a>00115     <a class="code" href="playback_8c.html#a2b89165315b9b30283b743b0f637963c">input_set_volume</a> (CLAMP (left, 0, 100), CLAMP (right, 0, 100));
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117 
<a name="l00118"></a><a class="code" href="drct_8c.html#a66ebad21bc65a8939933c02b95c45774">00118</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a66ebad21bc65a8939933c02b95c45774">drct_get_volume_main</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * volume)
<a name="l00119"></a>00119 {
<a name="l00120"></a>00120     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> left, right;
<a name="l00121"></a>00121     <a class="code" href="drct_8c.html#af190c757a6e7989e1544b64d4076d564">drct_get_volume</a> (&amp; left, &amp; right);
<a name="l00122"></a>00122     * volume = MAX (left, right);
<a name="l00123"></a>00123 }
<a name="l00124"></a>00124 
<a name="l00125"></a><a class="code" href="drct_8c.html#a3e94b5744694409893e965b037ea1e80">00125</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a3e94b5744694409893e965b037ea1e80">drct_set_volume_main</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> volume)
<a name="l00126"></a>00126 {
<a name="l00127"></a>00127     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> left, right, current;
<a name="l00128"></a>00128     <a class="code" href="drct_8c.html#af190c757a6e7989e1544b64d4076d564">drct_get_volume</a> (&amp; left, &amp; right);
<a name="l00129"></a>00129     current = MAX (left, right);
<a name="l00130"></a>00130 
<a name="l00131"></a>00131     <span class="keywordflow">if</span> (current &gt; 0)
<a name="l00132"></a>00132         <a class="code" href="drct_8c.html#a2c336efe9d9d269fe4792ec217135342">drct_set_volume</a> (volume * left / current, volume * right / current);
<a name="l00133"></a>00133     <span class="keywordflow">else</span>
<a name="l00134"></a>00134         <a class="code" href="drct_8c.html#a2c336efe9d9d269fe4792ec217135342">drct_set_volume</a> (volume, volume);
<a name="l00135"></a>00135 }
<a name="l00136"></a>00136 
<a name="l00137"></a><a class="code" href="drct_8c.html#a322716767710d9fdc2c5dee10bb4e2ec">00137</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a322716767710d9fdc2c5dee10bb4e2ec">drct_get_volume_balance</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> * balance)
<a name="l00138"></a>00138 {
<a name="l00139"></a>00139     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> left, right;
<a name="l00140"></a>00140     <a class="code" href="drct_8c.html#af190c757a6e7989e1544b64d4076d564">drct_get_volume</a> (&amp; left, &amp; right);
<a name="l00141"></a>00141 
<a name="l00142"></a>00142     <span class="keywordflow">if</span> (left == right)
<a name="l00143"></a>00143         * balance = 0;
<a name="l00144"></a>00144     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (left &gt; right)
<a name="l00145"></a>00145         * balance = -100 + right * 100 / left;
<a name="l00146"></a>00146     <span class="keywordflow">else</span>
<a name="l00147"></a>00147         * balance = 100 - left * 100 / right;
<a name="l00148"></a>00148 }
<a name="l00149"></a>00149 
<a name="l00150"></a><a class="code" href="drct_8c.html#a4a627e360bdb4a74bbed5b24573f7941">00150</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a4a627e360bdb4a74bbed5b24573f7941">drct_set_volume_balance</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> balance)
<a name="l00151"></a>00151 {
<a name="l00152"></a>00152     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> left, right;
<a name="l00153"></a>00153     <a class="code" href="drct_8c.html#a66ebad21bc65a8939933c02b95c45774">drct_get_volume_main</a> (&amp; left);
<a name="l00154"></a>00154 
<a name="l00155"></a>00155     <span class="keywordflow">if</span> (balance &lt; 0)
<a name="l00156"></a>00156         right = left * (100 + balance) / 100;
<a name="l00157"></a>00157     <span class="keywordflow">else</span>
<a name="l00158"></a>00158     {
<a name="l00159"></a>00159         right = left;
<a name="l00160"></a>00160         left = right * (100 - balance) / 100;
<a name="l00161"></a>00161     }
<a name="l00162"></a>00162 
<a name="l00163"></a>00163     <a class="code" href="drct_8c.html#a2c336efe9d9d269fe4792ec217135342">drct_set_volume</a> (left, right);
<a name="l00164"></a>00164 }
<a name="l00165"></a>00165 
<a name="l00166"></a>00166 <span class="comment">/* --- PLAYLIST CONTROL --- */</span>
<a name="l00167"></a>00167 
<a name="l00168"></a><a class="code" href="drct_8c.html#a6717a1ae22044bcbd7a9d9e5212db277">00168</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#a6717a1ae22044bcbd7a9d9e5212db277">drct_pl_get_length</a> (<span class="keywordtype">void</span>)
<a name="l00169"></a>00169 {
<a name="l00170"></a>00170     <span class="keywordflow">return</span> <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ());
<a name="l00171"></a>00171 }
<a name="l00172"></a>00172 
<a name="l00173"></a><a class="code" href="drct_8c.html#af0747f01a4fb17eb879659149bebb736">00173</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#af0747f01a4fb17eb879659149bebb736">drct_pl_next</a> (<span class="keywordtype">void</span>)
<a name="l00174"></a>00174 {
<a name="l00175"></a>00175     <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> play = <a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ();
<a name="l00176"></a>00176     <span class="keywordflow">if</span> (<a class="code" href="playlist-new_8c.html#aed4ff077093e9de0240f44d403fb2124">playlist_next_song</a> (<a class="code" href="playlist-new_8c.html#a9148257b8f1ae313fc9176aea46221ee">playlist_get_playing</a> (), <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.repeat) &amp;&amp; play)
<a name="l00177"></a>00177         <a class="code" href="playback_8c.html#a8ddcc8a2a037e189c10ecc7d51c0e224">playback_play</a> (0, FALSE);
<a name="l00178"></a>00178 }
<a name="l00179"></a>00179 
<a name="l00180"></a><a class="code" href="drct_8c.html#a58edcd8353dd65439db004731e0816bf">00180</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a58edcd8353dd65439db004731e0816bf">drct_pl_prev</a> (<span class="keywordtype">void</span>)
<a name="l00181"></a>00181 {
<a name="l00182"></a>00182     <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> play = <a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ();
<a name="l00183"></a>00183     <span class="keywordflow">if</span> (<a class="code" href="playlist-new_8c.html#a91977416c90daef955ff487a0aba7471">playlist_prev_song</a> (<a class="code" href="playlist-new_8c.html#a9148257b8f1ae313fc9176aea46221ee">playlist_get_playing</a> ()) &amp;&amp; play)
<a name="l00184"></a>00184         <a class="code" href="playback_8c.html#a8ddcc8a2a037e189c10ecc7d51c0e224">playback_play</a> (0, FALSE);
<a name="l00185"></a>00185 }
<a name="l00186"></a>00186 
<a name="l00187"></a><a class="code" href="drct_8c.html#a52dafe7f8df52329b83540ee9fc8f45c">00187</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#a52dafe7f8df52329b83540ee9fc8f45c">drct_pl_get_pos</a> (<span class="keywordtype">void</span>)
<a name="l00188"></a>00188 {
<a name="l00189"></a>00189     <span class="keywordflow">return</span> <a class="code" href="playlist-new_8c.html#a090486085056d14c9cd85ed2472d7263">playlist_get_position</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ());
<a name="l00190"></a>00190 }
<a name="l00191"></a>00191 
<a name="l00192"></a><a class="code" href="drct_8c.html#a46f8fd434387f498cb6c6e6906417cf1">00192</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a46f8fd434387f498cb6c6e6906417cf1">drct_pl_set_pos</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> pos)
<a name="l00193"></a>00193 {
<a name="l00194"></a>00194     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structplaylist.html">playlist</a> = <a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ();
<a name="l00195"></a>00195     <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> play = <a class="code" href="playback_8c.html#aafc1a680d8f23633c84f247112715095">playback_get_playing</a> ();
<a name="l00196"></a>00196 
<a name="l00197"></a>00197     <a class="code" href="playlist-new_8c.html#af5363b67853811340e04abadac916756">playlist_set_position</a> (playlist, pos);
<a name="l00198"></a>00198 
<a name="l00199"></a>00199     <span class="keywordflow">if</span> (play)
<a name="l00200"></a>00200     {
<a name="l00201"></a>00201         <a class="code" href="playlist-new_8c.html#a899f846c0ea0d1ec3a44c891ddb5d1cc">playlist_set_playing</a> (playlist);
<a name="l00202"></a>00202         <a class="code" href="playback_8c.html#a8ddcc8a2a037e189c10ecc7d51c0e224">playback_play</a> (0, FALSE);
<a name="l00203"></a>00203     }
<a name="l00204"></a>00204 }
<a name="l00205"></a>00205 
<a name="l00206"></a><a class="code" href="drct_8c.html#a76abf7b82d949aacc70d2f6c828b4fee">00206</a> <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> <a class="code" href="drct_8c.html#a76abf7b82d949aacc70d2f6c828b4fee">drct_pl_repeat_is_enabled</a> (<span class="keywordtype">void</span>)
<a name="l00207"></a>00207 {
<a name="l00208"></a>00208     <span class="keywordflow">return</span> <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.repeat;
<a name="l00209"></a>00209 }
<a name="l00210"></a>00210 
<a name="l00211"></a><a class="code" href="drct_8c.html#a27725cd2209fa5e89cb99545df210fd8">00211</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a27725cd2209fa5e89cb99545df210fd8">drct_pl_repeat_toggle</a> (<span class="keywordtype">void</span>)
<a name="l00212"></a>00212 {
<a name="l00213"></a>00213     <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.repeat = ! <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.repeat;
<a name="l00214"></a>00214     <a class="code" href="hook_8c.html#a2db1ccd2efbd82b151393e3aedd42550">hook_call</a> (<span class="stringliteral">&quot;toggle repeat&quot;</span>, NULL);
<a name="l00215"></a>00215 }
<a name="l00216"></a>00216 
<a name="l00217"></a><a class="code" href="drct_8c.html#ad3746c4266eabd3d71652aaa6a885757">00217</a> <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> <a class="code" href="drct_8c.html#ad3746c4266eabd3d71652aaa6a885757">drct_pl_shuffle_is_enabled</a> (<span class="keywordtype">void</span>)
<a name="l00218"></a>00218 {
<a name="l00219"></a>00219     <span class="keywordflow">return</span> <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.shuffle;
<a name="l00220"></a>00220 }
<a name="l00221"></a>00221 
<a name="l00222"></a><a class="code" href="drct_8c.html#ab921d30f1ab8ee0c4d9efd310d388ae4">00222</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#ab921d30f1ab8ee0c4d9efd310d388ae4">drct_pl_shuffle_toggle</a> (<span class="keywordtype">void</span>)
<a name="l00223"></a>00223 {
<a name="l00224"></a>00224     <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.shuffle = ! <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.shuffle;
<a name="l00225"></a>00225     <a class="code" href="hook_8c.html#a2db1ccd2efbd82b151393e3aedd42550">hook_call</a> (<span class="stringliteral">&quot;toggle shuffle&quot;</span>, NULL);
<a name="l00226"></a>00226 }
<a name="l00227"></a>00227 
<a name="l00228"></a><a class="code" href="drct_8c.html#a5ce1e2dd9753be689ed594e7a531db89">00228</a> gchar * <a class="code" href="drct_8c.html#a5ce1e2dd9753be689ed594e7a531db89">drct_pl_get_file</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00229"></a>00229 {
<a name="l00230"></a>00230     <span class="keyword">const</span> gchar * <a class="code" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a> = <a class="code" href="playlist-new_8c.html#a87cc5b5c9270aefb2c09712afbb8d1e2">playlist_entry_get_filename</a>
<a name="l00231"></a>00231      (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (), entry);
<a name="l00232"></a>00232     <span class="keywordflow">return</span> (filename == NULL) ? NULL : g_strdup (filename);
<a name="l00233"></a>00233 }
<a name="l00234"></a>00234 
<a name="l00235"></a><a class="code" href="drct_8c.html#aae1ca63c5da3e8adfbe2cb5ff6422416">00235</a> gchar * <a class="code" href="drct_8c.html#aae1ca63c5da3e8adfbe2cb5ff6422416">drct_pl_get_title</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00236"></a>00236 {
<a name="l00237"></a>00237     <span class="keyword">const</span> gchar * <a class="code" href="structInfoRequest.html#a9f1708064f5193227ae945e74d775241">title</a> = <a class="code" href="playlist-new_8c.html#a10c6f4de1cca693ebe8d6c0e3aa96899">playlist_entry_get_title</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (),
<a name="l00238"></a>00238      entry, FALSE);
<a name="l00239"></a>00239     <span class="keywordflow">return</span> (title == NULL) ? NULL : g_strdup (title);
<a name="l00240"></a>00240 }
<a name="l00241"></a>00241 
<a name="l00242"></a><a class="code" href="drct_8c.html#a8e5b06c7a699fab0c73c9e0e2084604a">00242</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#a8e5b06c7a699fab0c73c9e0e2084604a">drct_pl_get_time</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> pos)
<a name="l00243"></a>00243 {
<a name="l00244"></a>00244     <span class="keywordflow">return</span> <a class="code" href="playlist-api_8h.html#ab992abcff93918543b2231f4e2267d68">playlist_entry_get_length</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (), pos, FALSE);
<a name="l00245"></a>00245 }
<a name="l00246"></a>00246 
<a name="l00247"></a><a class="code" href="drct_8c.html#a97a74146fe4034e73601ae6817e0f918">00247</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a97a74146fe4034e73601ae6817e0f918">add_list</a> (GList * <a class="code" href="misc-api_8h.html#a5b3afcdfb4bae9b4dd1b1ba8f2e6e638">list</a>, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="playlist-api_8h.html#af5e8b5caf7672073a7b6cc7131d1d809">at</a>, <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> play)
<a name="l00248"></a>00248 {
<a name="l00249"></a>00249     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structplaylist.html">playlist</a> = <a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ();
<a name="l00250"></a>00250 
<a name="l00251"></a>00251     <span class="keywordflow">if</span> (play)
<a name="l00252"></a>00252     {
<a name="l00253"></a>00253         <span class="keywordflow">if</span> (<a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.clear_playlist)
<a name="l00254"></a>00254             <a class="code" href="playlist-new_8c.html#a0f9dc152eb2c9f1c293e97397cfb90c5">playlist_entry_delete</a> (playlist, 0, <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (playlist));
<a name="l00255"></a>00255         <span class="keywordflow">else</span>
<a name="l00256"></a>00256             <a class="code" href="playlist-new_8c.html#ab709efe0da5c9307d4c94b4c65ecc7c5">playlist_queue_delete</a> (playlist, 0, <a class="code" href="playlist-new_8c.html#a09758f1ecda1297dca53713502403651">playlist_queue_count</a> (playlist));
<a name="l00257"></a>00257     }
<a name="l00258"></a>00258 
<a name="l00259"></a>00259     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> entries = <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (playlist);
<a name="l00260"></a>00260     <span class="keywordflow">if</span> (at &lt; 0)
<a name="l00261"></a>00261         at = entries;
<a name="l00262"></a>00262 
<a name="l00263"></a>00263     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> added = 0;
<a name="l00264"></a>00264     GQueue folders = <a class="code" href="compatibility_8h.html#a523cdd960666c428c666f061395b1989">G_QUEUE_INIT</a>;
<a name="l00265"></a>00265     <span class="keyword">struct </span><a class="code" href="structindex.html">index</a> * <a class="code" href="playlist-api_8h.html#a783ee3d36e78898c539e7cc7c266075e">filenames</a> = <a class="code" href="index_8c.html#afe2dfc539946e773d628de6dfb37dda5">index_new</a> ();
<a name="l00266"></a>00266 
<a name="l00267"></a>00267     <span class="keywordflow">for</span> (; list != NULL; list = list-&gt;next)
<a name="l00268"></a>00268     {
<a name="l00269"></a>00269         <span class="keywordflow">if</span> (<a class="code" href="playlist-utils_8c.html#aceb2432d2d85f17ae4c770eed0dcd4aa">filename_is_playlist</a> (list-&gt;data))
<a name="l00270"></a>00270         {
<a name="l00271"></a>00271             <a class="code" href="playlist-api_8h.html#a10834e1b204827d4ea161ff4ee83ff77">playlist_insert_playlist</a> (playlist, at + added, list-&gt;data);
<a name="l00272"></a>00272             added += <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (playlist) - entries;
<a name="l00273"></a>00273             entries = <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (playlist);
<a name="l00274"></a>00274         }
<a name="l00275"></a>00275         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="vfs_8c.html#a0657032b7f89495051c6be9936144418" title="Wrapper for g_file_test().">vfs_file_test</a> (list-&gt;data, G_FILE_TEST_IS_DIR))
<a name="l00276"></a>00276             g_queue_push_tail (&amp; folders, list-&gt;data);
<a name="l00277"></a>00277         <span class="keywordflow">else</span>
<a name="l00278"></a>00278             <a class="code" href="index_8c.html#ab6203e3c4c1d82a32ae22c772485ae54">index_append</a> (filenames, g_strdup (list-&gt;data));
<a name="l00279"></a>00279     }
<a name="l00280"></a>00280 
<a name="l00281"></a>00281     <a class="code" href="playlist-api_8h.html#a5d9a18d7268bc797fb1afd5c142e74d8">playlist_entry_insert_batch</a> (playlist, at + added, filenames, NULL);
<a name="l00282"></a>00282     added += <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (playlist) - entries;
<a name="l00283"></a>00283 
<a name="l00284"></a>00284     <span class="keywordflow">if</span> (added &amp;&amp; play)
<a name="l00285"></a>00285     {
<a name="l00286"></a>00286         <a class="code" href="playlist-new_8c.html#a899f846c0ea0d1ec3a44c891ddb5d1cc">playlist_set_playing</a> (playlist);
<a name="l00287"></a>00287         <span class="keywordflow">if</span> (! <a class="code" href="audconfig_8c.html#a98bd56a064259046a6cc6b1a620badf8">cfg</a>.shuffle)
<a name="l00288"></a>00288             <a class="code" href="playlist-new_8c.html#af5363b67853811340e04abadac916756">playlist_set_position</a> (playlist, at);
<a name="l00289"></a>00289         <a class="code" href="playback_8c.html#a8ddcc8a2a037e189c10ecc7d51c0e224">playback_play</a> (0, FALSE);
<a name="l00290"></a>00290         play = FALSE;
<a name="l00291"></a>00291     }
<a name="l00292"></a>00292 
<a name="l00293"></a>00293     <span class="keyword">const</span> gchar * folder;
<a name="l00294"></a>00294     <span class="keywordflow">while</span> ((folder = g_queue_pop_head (&amp; folders)) != NULL)
<a name="l00295"></a>00295     {
<a name="l00296"></a>00296         <a class="code" href="folder-add_8c.html#a832dd1ace628c5a17b300d9adc648e2b">playlist_insert_folder</a> (playlist, at + added, folder, play);
<a name="l00297"></a>00297         play = FALSE;
<a name="l00298"></a>00298     }
<a name="l00299"></a>00299 }
<a name="l00300"></a>00300 
<a name="l00301"></a><a class="code" href="drct_8c.html#a3001fd1003dff2f0026a24c82010c892">00301</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a3001fd1003dff2f0026a24c82010c892">drct_pl_add</a> (<span class="keyword">const</span> gchar * <a class="code" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="playlist-api_8h.html#af5e8b5caf7672073a7b6cc7131d1d809">at</a>)
<a name="l00302"></a>00302 {
<a name="l00303"></a>00303     GList * <a class="code" href="misc-api_8h.html#a5b3afcdfb4bae9b4dd1b1ba8f2e6e638">list</a> = g_list_prepend (NULL, (<span class="keywordtype">void</span> *) filename);
<a name="l00304"></a>00304     <a class="code" href="drct_8c.html#a97a74146fe4034e73601ae6817e0f918">add_list</a> (list, at, FALSE);
<a name="l00305"></a>00305     g_list_free (list);
<a name="l00306"></a>00306 }
<a name="l00307"></a>00307 
<a name="l00308"></a><a class="code" href="drct_8c.html#a8c5f307335391ab63477d7857a39dbf6">00308</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a8c5f307335391ab63477d7857a39dbf6">drct_pl_add_list</a> (GList * <a class="code" href="misc-api_8h.html#a5b3afcdfb4bae9b4dd1b1ba8f2e6e638">list</a>, <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="playlist-api_8h.html#af5e8b5caf7672073a7b6cc7131d1d809">at</a>)
<a name="l00309"></a>00309 {
<a name="l00310"></a>00310     <a class="code" href="drct_8c.html#a97a74146fe4034e73601ae6817e0f918">add_list</a> (list, at, FALSE);
<a name="l00311"></a>00311 }
<a name="l00312"></a>00312 
<a name="l00313"></a><a class="code" href="drct_8c.html#a304df3adf9b85b2f584500da60d98b10">00313</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a304df3adf9b85b2f584500da60d98b10">drct_pl_open</a> (<span class="keyword">const</span> gchar * <a class="code" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>)
<a name="l00314"></a>00314 {
<a name="l00315"></a>00315     GList * <a class="code" href="misc-api_8h.html#a5b3afcdfb4bae9b4dd1b1ba8f2e6e638">list</a> = g_list_prepend (NULL, (<span class="keywordtype">void</span> *) filename);
<a name="l00316"></a>00316     <a class="code" href="drct_8c.html#a97a74146fe4034e73601ae6817e0f918">add_list</a> (list, -1, TRUE);
<a name="l00317"></a>00317     g_list_free (list);
<a name="l00318"></a>00318 }
<a name="l00319"></a>00319 
<a name="l00320"></a><a class="code" href="drct_8c.html#a9514b4418c40d5600ed784854c3b6136">00320</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a9514b4418c40d5600ed784854c3b6136">drct_pl_open_list</a> (GList * <a class="code" href="misc-api_8h.html#a5b3afcdfb4bae9b4dd1b1ba8f2e6e638">list</a>)
<a name="l00321"></a>00321 {
<a name="l00322"></a>00322     <a class="code" href="drct_8c.html#a97a74146fe4034e73601ae6817e0f918">add_list</a> (list, -1, TRUE);
<a name="l00323"></a>00323 }
<a name="l00324"></a>00324 
<a name="l00325"></a><a class="code" href="drct_8c.html#a6ade6c3349d12f17e209a932b9f81072">00325</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a6ade6c3349d12f17e209a932b9f81072">activate_temp</a> (<span class="keywordtype">void</span>)
<a name="l00326"></a>00326 {
<a name="l00327"></a>00327     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="playlist-new_8c.html#ae9bb6d03717891be4859bb35adcea142">playlists</a> = <a class="code" href="playlist-new_8c.html#afe6f4255fa895b81dfc74ed09440a954">playlist_count</a> ();
<a name="l00328"></a>00328     <span class="keyword">const</span> gchar * title = <a class="code" href="i18n_8h.html#a32a3cf3d9dd914f5aeeca5423c157934">_</a>(<span class="stringliteral">&quot;Temporary Playlist&quot;</span>);
<a name="l00329"></a>00329 
<a name="l00330"></a>00330     <span class="keywordflow">for</span> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structplaylist.html">playlist</a> = 0; <a class="code" href="structplaylist.html">playlist</a> &lt; <a class="code" href="playlist-new_8c.html#ae9bb6d03717891be4859bb35adcea142">playlists</a>; <a class="code" href="structplaylist.html">playlist</a> ++)
<a name="l00331"></a>00331     {
<a name="l00332"></a>00332         <span class="keywordflow">if</span> (! strcmp (<a class="code" href="playlist-new_8c.html#ad4a7ded51091d0f3844022b2c4f8b764">playlist_get_title</a> (<a class="code" href="structplaylist.html">playlist</a>), title))
<a name="l00333"></a>00333         {
<a name="l00334"></a>00334             <a class="code" href="playlist-new_8c.html#af34d9eaa4d82c7878e86c8db6e69c7d7">playlist_set_active</a> (<a class="code" href="structplaylist.html">playlist</a>);
<a name="l00335"></a>00335             <span class="keywordflow">return</span>;
<a name="l00336"></a>00336         }
<a name="l00337"></a>00337     }
<a name="l00338"></a>00338 
<a name="l00339"></a>00339     <a class="code" href="playlist-new_8c.html#aafa0be01562188eeaa58139dba11a48f">playlist_insert</a> (playlists);
<a name="l00340"></a>00340     <a class="code" href="playlist-new_8c.html#a482306c73c14325dde96a440705b7f4a">playlist_set_title</a> (playlists, title);
<a name="l00341"></a>00341     <a class="code" href="playlist-new_8c.html#af34d9eaa4d82c7878e86c8db6e69c7d7">playlist_set_active</a> (playlists);
<a name="l00342"></a>00342 }
<a name="l00343"></a>00343 
<a name="l00344"></a><a class="code" href="drct_8c.html#a53183be972d579f4fc87e78ee19cef22">00344</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a53183be972d579f4fc87e78ee19cef22">drct_pl_open_temp</a> (<span class="keyword">const</span> gchar * <a class="code" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>)
<a name="l00345"></a>00345 {
<a name="l00346"></a>00346     <a class="code" href="drct_8c.html#a6ade6c3349d12f17e209a932b9f81072">activate_temp</a> ();
<a name="l00347"></a>00347     <a class="code" href="drct_8c.html#a304df3adf9b85b2f584500da60d98b10">drct_pl_open</a> (filename);
<a name="l00348"></a>00348 }
<a name="l00349"></a>00349 
<a name="l00350"></a><a class="code" href="drct_8c.html#a24c7fcdd27f6aeeff7e76eefd7c748f4">00350</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a24c7fcdd27f6aeeff7e76eefd7c748f4">drct_pl_open_temp_list</a> (GList * <a class="code" href="misc-api_8h.html#a5b3afcdfb4bae9b4dd1b1ba8f2e6e638">list</a>)
<a name="l00351"></a>00351 {
<a name="l00352"></a>00352     <a class="code" href="drct_8c.html#a6ade6c3349d12f17e209a932b9f81072">activate_temp</a> ();
<a name="l00353"></a>00353     <a class="code" href="drct_8c.html#a9514b4418c40d5600ed784854c3b6136">drct_pl_open_list</a> (list);
<a name="l00354"></a>00354 }
<a name="l00355"></a>00355 
<a name="l00356"></a><a class="code" href="drct_8c.html#aa8a6d371fb34e53073d8ceb83a8b9f53">00356</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#aa8a6d371fb34e53073d8ceb83a8b9f53">drct_pl_delete</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00357"></a>00357 {
<a name="l00358"></a>00358     <a class="code" href="playlist-new_8c.html#a0f9dc152eb2c9f1c293e97397cfb90c5">playlist_entry_delete</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (), entry, 1);
<a name="l00359"></a>00359 }
<a name="l00360"></a>00360 
<a name="l00361"></a><a class="code" href="drct_8c.html#a625975128058eb19ee2e66926ac0e259">00361</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a625975128058eb19ee2e66926ac0e259">drct_pl_clear</a> (<span class="keywordtype">void</span>)
<a name="l00362"></a>00362 {
<a name="l00363"></a>00363     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structplaylist.html">playlist</a> = <a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ();
<a name="l00364"></a>00364     <a class="code" href="playlist-new_8c.html#a0f9dc152eb2c9f1c293e97397cfb90c5">playlist_entry_delete</a> (playlist, 0, <a class="code" href="playlist-new_8c.html#af64b7c6ea43b1b56f85c348ddaf39bae">playlist_entry_count</a> (playlist));
<a name="l00365"></a>00365 }
<a name="l00366"></a>00366 
<a name="l00367"></a>00367 <span class="comment">/* --- PLAYLIST QUEUE CONTROL --- */</span>
<a name="l00368"></a>00368 
<a name="l00369"></a><a class="code" href="drct_8c.html#ad1862148e52ad117773453c2c0064904">00369</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#ad1862148e52ad117773453c2c0064904">drct_pq_get_length</a> (<span class="keywordtype">void</span>)
<a name="l00370"></a>00370 {
<a name="l00371"></a>00371     <span class="keywordflow">return</span> <a class="code" href="playlist-new_8c.html#a09758f1ecda1297dca53713502403651">playlist_queue_count</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ());
<a name="l00372"></a>00372 }
<a name="l00373"></a>00373 
<a name="l00374"></a><a class="code" href="drct_8c.html#a6a509ea5d7038b7f362411a53b974218">00374</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#a6a509ea5d7038b7f362411a53b974218">drct_pq_get_entry</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> queue_position)
<a name="l00375"></a>00375 {
<a name="l00376"></a>00376     <span class="keywordflow">return</span> <a class="code" href="playlist-new_8c.html#a26957f260d32201ae924d72c191b6ac7">playlist_queue_get_entry</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (), queue_position);
<a name="l00377"></a>00377 }
<a name="l00378"></a>00378 
<a name="l00379"></a><a class="code" href="drct_8c.html#a889b89da80fef1b02195bef0df4a2bf3">00379</a> <a class="code" href="configdb-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> <a class="code" href="drct_8c.html#a889b89da80fef1b02195bef0df4a2bf3">drct_pq_is_queued</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00380"></a>00380 {
<a name="l00381"></a>00381     <span class="keywordflow">return</span> (<a class="code" href="drct_8c.html#added081e646a5545dfbd7eaf5bd9c752">drct_pq_get_queue_position</a> (entry) &gt;= 0);
<a name="l00382"></a>00382 }
<a name="l00383"></a>00383 
<a name="l00384"></a><a class="code" href="drct_8c.html#added081e646a5545dfbd7eaf5bd9c752">00384</a> <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="drct_8c.html#added081e646a5545dfbd7eaf5bd9c752">drct_pq_get_queue_position</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00385"></a>00385 {
<a name="l00386"></a>00386     <span class="keywordflow">return</span> <a class="code" href="playlist-new_8c.html#a9783b82b47a5f763a763a6ecde2d786f">playlist_queue_find_entry</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (), entry);
<a name="l00387"></a>00387 }
<a name="l00388"></a>00388 
<a name="l00389"></a><a class="code" href="drct_8c.html#a3c3d3e34a7961459a885dc672763d38f">00389</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a3c3d3e34a7961459a885dc672763d38f">drct_pq_add</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00390"></a>00390 {
<a name="l00391"></a>00391     <a class="code" href="playlist-new_8c.html#a1acafab1110b6505e7b7f725cc26864d">playlist_queue_insert</a> (<a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> (), -1, entry);
<a name="l00392"></a>00392 }
<a name="l00393"></a>00393 
<a name="l00394"></a><a class="code" href="drct_8c.html#afe9aca18313c70bdba6fe8dab901f670">00394</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#afe9aca18313c70bdba6fe8dab901f670">drct_pq_remove</a> (<a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structentry.html">entry</a>)
<a name="l00395"></a>00395 {
<a name="l00396"></a>00396     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structplaylist.html">playlist</a> = <a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ();
<a name="l00397"></a>00397     <a class="code" href="playlist-new_8c.html#ab709efe0da5c9307d4c94b4c65ecc7c5">playlist_queue_delete</a> (playlist, <a class="code" href="playlist-new_8c.html#a9783b82b47a5f763a763a6ecde2d786f">playlist_queue_find_entry</a> (playlist,
<a name="l00398"></a>00398      entry), 1);
<a name="l00399"></a>00399 }
<a name="l00400"></a>00400 
<a name="l00401"></a><a class="code" href="drct_8c.html#a6a92ce72b8a575aa9121f44dcb23c5e6">00401</a> <span class="keywordtype">void</span> <a class="code" href="drct_8c.html#a6a92ce72b8a575aa9121f44dcb23c5e6">drct_pq_clear</a> (<span class="keywordtype">void</span>)
<a name="l00402"></a>00402 {
<a name="l00403"></a>00403     <a class="code" href="misc-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> <a class="code" href="structplaylist.html">playlist</a> = <a class="code" href="playlist-new_8c.html#a32abcfcf28e68da7c91b21db688e85f3">playlist_get_active</a> ();
<a name="l00404"></a>00404     <a class="code" href="playlist-new_8c.html#ab709efe0da5c9307d4c94b4c65ecc7c5">playlist_queue_delete</a> (playlist, 0, <a class="code" href="playlist-new_8c.html#a09758f1ecda1297dca53713502403651">playlist_queue_count</a> (playlist));
<a name="l00405"></a>00405 }
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sun Apr 17 2011 for Audacious by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>