Merge branch 'master' of git.shadowcat.co.uk:SDL-Site
[sdlgit/SDL-Site.git] / pages / SDL-CD.html-inc
CommitLineData
b82df135 1<div class="pod">
2<!-- INDEX START -->
3<h3 id="TOP">Index</h3>
4
5<ul><li><a href="#NAME">NAME</a></li>
37af21e0 6<li><a href="#CATEGORY">CATEGORY</a></li>
7<li><a href="#SYNOPSIS">SYNOPSIS</a></li>
d0dca200 8<li><a href="#CONSTANTS">CONSTANTS</a></li>
37af21e0 9<li><a href="#METHOD">METHOD</a>
d0dca200 10<ul><li><a href="#new">new</a></li>
11<li><a href="#status">status</a></li>
12<li><a href="#play_tracks">play_tracks</a></li>
13<li><a href="#play">play</a></li>
14<li><a href="#pause">pause </a></li>
15<li><a href="#resume">resume</a></li>
16<li><a href="#stop">stop</a></li>
17<li><a href="#eject">eject</a></li>
37af21e0 18<li><a href="#id">id</a></li>
19<li><a href="#num_tracks">num_tracks</a></li>
20<li><a href="#cur_track">cur_track </a></li>
21<li><a href="#track">track</a></li>
d0dca200 22<li><a href="#FRAMES_TO_MSF">FRAMES_TO_MSF</a></li>
23<li><a href="#MSF_TO_FRAMES">MSF_TO_FRAMES</a></li>
37af21e0 24</ul>
25</li>
c7e8d3c6 26<li><a href="#SEE_ALSO">SEE ALSO</a></li>
27<li><a href="#AUTHORS">AUTHORS</a>
b82df135 28</li>
29</ul><hr />
30<!-- INDEX END -->
31
32<h1 id="NAME">NAME</h1><p><a href="#TOP" class="toplink">Top</a></p>
33<div id="NAME_CONTENT">
34<p>SDL::CD -- SDL Bindings for structure SDL_CD</p>
35
36</div>
37<h1 id="CATEGORY">CATEGORY</h1><p><a href="#TOP" class="toplink">Top</a></p>
38<div id="CATEGORY_CONTENT">
37af21e0 39<p>Core, CDROM, Structure</p>
40
41</div>
42<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
43<div id="SYNOPSIS_CONTENT">
3549ee6a 44<pre> use SDL;
37af21e0 45 use SDL::CDROM;
46 use SDL::CD;
47
48 SDL::init(SDL_INIT_CDROM);
49
50 my $drives = SDL::CDROM::num_drives;
51
52 if( $drives &gt; 0 )
53 {
54 my $CD = SDL::CD-&gt;new( 0 );
55
d0dca200 56 if($CD)
37af21e0 57 {
58 ...
59 }
60
61 }
62
d0dca200 63</pre>
64
65</div>
66<h1 id="CONSTANTS">CONSTANTS</h1><p><a href="#TOP" class="toplink">Top</a></p>
67<div id="CONSTANTS_CONTENT">
3549ee6a 68<p>The constants are exported by default. You can avoid this by doing:</p>
69<pre> use SDL::CD ();
d0dca200 70
71</pre>
3549ee6a 72<p>and access them directly:</p>
d0dca200 73<pre> SDL::CD::CD_TRAYEMPTY;
74
75</pre>
76<p>or by choosing the export tags below:</p>
77<p>Export tag: ':status'</p>
78<pre> CD_TRAYEMPTY
79 CD_STOPPED
80 CD_PLAYING
81 CD_PAUSED
82 CD_ERROR
83
84</pre>
85<p>Export tag: ':defaults'</p>
86<pre> CD_FPS
87 SDL_MAX_TRACKS
37af21e0 88
89</pre>
90
91</div>
92<h1 id="METHOD">METHOD</h1><p><a href="#TOP" class="toplink">Top</a></p>
93<div id="METHOD_CONTENT">
94
95</div>
d0dca200 96<h2 id="new">new</h2>
97<div id="new_CONTENT">
98<pre> my $CD = SDL::CD-&gt;new($drive)
37af21e0 99
100</pre>
d0dca200 101<p>Makes a new SDL::CD object. Returns <code>undef</code> if the drive is busy or inaccessible. </p>
37af21e0 102
103</div>
104<h2 id="status">status</h2>
105<div id="status_CONTENT">
106<pre> my $status = $CD-&gt;status();
107
108</pre>
109<p>Returns the current status of the CD tray </p>
d0dca200 110<p>Returns on of the following constants:</p>
111<ul>
112 <li>CD_TRAYEMPTY </li>
113 <li>CD_STOPPED </li>
114 <li>CD_PLAYING </li>
115 <li>CD_PAUSED </li>
116 <li>CD_ERROR</li>
117</ul>
37af21e0 118
119
120</div>
121<h2 id="play_tracks">play_tracks</h2>
122<div id="play_tracks_CONTENT">
123<pre> $CD-&gt;play_tracks($start_track, $start_frame, $ntracks, $nframes)
124
125</pre>
126<p>Plays the given SDL::CD starting at track $start_track, for $ntracks tracks. </p>
d0dca200 127<p>$start_frame is the frame offset, from the beginning of the $start_track, at which to start. $nframes is the frame offset, from the
128beginning of the last track ($start_track+$ntracks), at which to end playing.</p>
1dbe1697 129<p>play_tracks() should only be called after calling <a href="http://search.cpan.org/perldoc?">http://search.cpan.org/perldoc?</a> to get information about the CD.</p>
37af21e0 130<p><strong>Note: Data tracks are ignored.</strong></p>
d0dca200 131<p>Returns <code>0</code>, or <code>-1</code> if there was an error. </p>
37af21e0 132
133</div>
134<h2 id="play">play</h2>
135<div id="play_CONTENT">
d0dca200 136<pre> $CD-&gt;play($start, $length);
37af21e0 137
138</pre>
139<p>Plays the given SDL::CD , starting a frame $start for $length frames. </p>
d0dca200 140<p>Returns <code>0</code> on success, <code>-1</code> on error</p>
37af21e0 141
142</div>
143<h2 id="pause">pause </h2>
144<div id="pause_CONTENT">
145<pre> $CD-&gt;pause();
146
147</pre>
148<p>Pauses play on CD</p>
d0dca200 149<p>Returns <code>0</code> on success, or <code>-1</code> on an error. </p>
37af21e0 150
151</div>
152<h2 id="resume">resume</h2>
153<div id="resume_CONTENT">
154<pre> $CD-&gt;resume();
155
156</pre>
d0dca200 157<p>Returns <code>0</code> on success, or <code>-1</code> on an error. </p>
37af21e0 158
159</div>
160<h2 id="stop">stop</h2>
161<div id="stop_CONTENT">
162<pre> $CD-&gt;stop();
163
164</pre>
165<p>Stops play on the CD. </p>
d0dca200 166<p>Returns <code>0</code> on success, or <code>-1</code> on an error. </p>
37af21e0 167
168</div>
169<h2 id="eject">eject</h2>
170<div id="eject_CONTENT">
171<pre> $CD-&gt;eject();
172
173</pre>
174<p>Ejects the CD.</p>
d0dca200 175<p>Returns <code>0</code> on success, or <code>-1</code> on an error. </p>
37af21e0 176
177</div>
178<h2 id="id">id</h2>
179<div id="id_CONTENT">
180<pre> $CD-&gt;id();
181
182</pre>
183<p>Private drive identifier</p>
184
185</div>
186<h2 id="num_tracks">num_tracks</h2>
187<div id="num_tracks_CONTENT">
188<pre> $CD-&gt;num_tracks();
189
190</pre>
191<p>Number of tracks on the CD</p>
192
193</div>
194<h2 id="cur_track">cur_track </h2>
195<div id="cur_track_CONTENT">
196<pre> $CD-&gt;cur_track();
197
198</pre>
199<p>Current track on the CD;</p>
200
201</div>
202<h2 id="track">track</h2>
203<div id="track_CONTENT">
204<pre> my $track = $CD-&gt;track($number);
205
206</pre>
55bbf7a2 207<p>Retrives track description of track $number in CD. See <a href="SDL-CDTrack.html">SDL::CDTrack</a>.</p>
37af21e0 208
d0dca200 209</div>
210<h2 id="FRAMES_TO_MSF">FRAMES_TO_MSF</h2>
211<div id="FRAMES_TO_MSF_CONTENT">
212<pre> my ($min, $sec, $fra) = FRAMES_TO_MSF($frames);
37af21e0 213
d0dca200 214</pre>
215<p>Conversion functions from frames to Minute/Second/Frames</p>
37af21e0 216
d0dca200 217</div>
218<h2 id="MSF_TO_FRAMES">MSF_TO_FRAMES</h2>
219<div id="MSF_TO_FRAMES_CONTENT">
220<pre> my $frames = MSF_TO_FRAMES($min, $sec, $fra);
37af21e0 221
d0dca200 222</pre>
37af21e0 223
224</div>
225<h1 id="SEE_ALSO">SEE ALSO</h1><p><a href="#TOP" class="toplink">Top</a></p>
226<div id="SEE_ALSO_CONTENT">
55bbf7a2 227<p><a href="SDL-CDROM.html">SDL::CDROM</a>, <a href="SDL-CDTrack.html">SDL::CDTrack</a></p>
b82df135 228
229</div>
c7e8d3c6 230<h1 id="AUTHORS">AUTHORS</h1><p><a href="#TOP" class="toplink">Top</a></p>
231<div id="AUTHORS_CONTENT">
1dbe1697 232<p>See <a href="/SDL.html#AUTHORS">/SDL.html#AUTHORS</a>.</p>
c7e8d3c6 233
234</div>
b82df135 235</div>