Skip to content

Commit 9499660

Browse files
committed
Add constructor argument and method to SoundFile to control caching (implements #47)
1 parent 2fe3a10 commit 9499660

File tree

3 files changed

+150
-46
lines changed

3 files changed

+150
-46
lines changed

docs/processing/sound/AudioSample.html

+74-39
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
catch(err) {
2727
}
2828
//-->
29-
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10};
29+
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10};
3030
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
3131
var altColor = "altColor";
3232
var rowColor = "rowColor";
@@ -147,10 +147,6 @@ <h2 title="Class AudioSample" class="title">Class AudioSample</h2>
147147

148148
If you want to pre-load your audio sample with an audio file from disk you
149149
can do so using the SoundFile subclass.</div>
150-
<dl>
151-
<dt><span class="seeLabel">See Also:</span></dt>
152-
<dd><a href="../../processing/sound/SoundFile.html" title="class in processing.sound"><code>SoundFile</code></a></dd>
153-
</dl>
154150
</li>
155151
</ul>
156152
</div>
@@ -213,6 +209,12 @@ <h3>Constructor Summary</h3>
213209
<div class="block">Allocate a new audiosample buffer with the given number of frames.</div>
214210
</td>
215211
</tr>
212+
<tr class="rowColor">
213+
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#AudioSample-processing.core.PApplet-int-int-">AudioSample</a></span>&#8203;(processing.core.PApplet&nbsp;parent,
214+
int&nbsp;frames,
215+
int&nbsp;frameRate)</code></th>
216+
<td class="colLast">&nbsp;</td>
217+
</tr>
216218
</table>
217219
</li>
218220
</ul>
@@ -272,43 +274,50 @@ <h3>Method Summary</h3>
272274
</td>
273275
</tr>
274276
<tr id="i6" class="altColor">
277+
<td class="colFirst"><code>boolean</code></td>
278+
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#isPlaying--">isPlaying</a></span>&#8203;()</code></th>
279+
<td class="colLast">
280+
<div class="block">Check whether this audiosample is currently playing.</div>
281+
</td>
282+
</tr>
283+
<tr id="i7" class="rowColor">
275284
<td class="colFirst"><code>void</code></td>
276285
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#jump-float-">jump</a></span>&#8203;(float&nbsp;time)</code></th>
277286
<td class="colLast">
278287
<div class="block">Jump to a specific position in the audiosample without interrupting playback.</div>
279288
</td>
280289
</tr>
281-
<tr id="i7" class="rowColor">
290+
<tr id="i8" class="altColor">
282291
<td class="colFirst"><code>void</code></td>
283292
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#jumpFrame-int-">jumpFrame</a></span>&#8203;(int&nbsp;frameNumber)</code></th>
284293
<td class="colLast">
285294
<div class="block">Jump to a specific position in the audiosample without interrupting playback.</div>
286295
</td>
287296
</tr>
288-
<tr id="i8" class="altColor">
297+
<tr id="i9" class="rowColor">
289298
<td class="colFirst"><code>void</code></td>
290299
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#loop--">loop</a></span>&#8203;()</code></th>
291300
<td class="colLast">&nbsp;</td>
292301
</tr>
293-
<tr id="i9" class="rowColor">
302+
<tr id="i10" class="altColor">
294303
<td class="colFirst"><code>void</code></td>
295304
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#loop-float-">loop</a></span>&#8203;(float&nbsp;rate)</code></th>
296305
<td class="colLast">&nbsp;</td>
297306
</tr>
298-
<tr id="i10" class="altColor">
307+
<tr id="i11" class="rowColor">
299308
<td class="colFirst"><code>void</code></td>
300309
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#loop-float-float-">loop</a></span>&#8203;(float&nbsp;rate,
301310
float&nbsp;amp)</code></th>
302311
<td class="colLast">&nbsp;</td>
303312
</tr>
304-
<tr id="i11" class="rowColor">
313+
<tr id="i12" class="altColor">
305314
<td class="colFirst"><code>void</code></td>
306315
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#loop-float-float-float-">loop</a></span>&#8203;(float&nbsp;rate,
307316
float&nbsp;pos,
308317
float&nbsp;amp)</code></th>
309318
<td class="colLast">&nbsp;</td>
310319
</tr>
311-
<tr id="i12" class="altColor">
320+
<tr id="i13" class="rowColor">
312321
<td class="colFirst"><code>void</code></td>
313322
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#loop-float-float-float-float-">loop</a></span>&#8203;(float&nbsp;rate,
314323
float&nbsp;pos,
@@ -318,61 +327,61 @@ <h3>Method Summary</h3>
318327
<div class="block">Starts playback which loops from the beginning to the end of the sample.</div>
319328
</td>
320329
</tr>
321-
<tr id="i13" class="rowColor">
330+
<tr id="i14" class="altColor">
322331
<td class="colFirst"><code>void</code></td>
323332
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#pan-float-">pan</a></span>&#8203;(float&nbsp;pos)</code></th>
324333
<td class="colLast">
325334
<div class="block">Move the sound in a stereo panorama.</div>
326335
</td>
327336
</tr>
328-
<tr id="i14" class="altColor">
337+
<tr id="i15" class="rowColor">
329338
<td class="colFirst"><code>void</code></td>
330339
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#pause--">pause</a></span>&#8203;()</code></th>
331340
<td class="colLast">
332341
<div class="block">Stop the playback of the sample, but cue it to the current position.</div>
333342
</td>
334343
</tr>
335-
<tr id="i15" class="rowColor">
344+
<tr id="i16" class="altColor">
336345
<td class="colFirst"><code>float</code></td>
337346
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#percent--">percent</a></span>&#8203;()</code></th>
338347
<td class="colLast">
339348
<div class="block">Get current sound file playback position in percent.</div>
340349
</td>
341350
</tr>
342-
<tr id="i16" class="altColor">
351+
<tr id="i17" class="rowColor">
343352
<td class="colFirst"><code>void</code></td>
344353
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#play--">play</a></span>&#8203;()</code></th>
345354
<td class="colLast">
346355
<div class="block">Start the generator</div>
347356
</td>
348357
</tr>
349-
<tr id="i17" class="rowColor">
358+
<tr id="i18" class="altColor">
350359
<td class="colFirst"><code>void</code></td>
351360
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#play-float-">play</a></span>&#8203;(float&nbsp;rate)</code></th>
352361
<td class="colLast">&nbsp;</td>
353362
</tr>
354-
<tr id="i18" class="altColor">
363+
<tr id="i19" class="rowColor">
355364
<td class="colFirst"><code>void</code></td>
356365
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#play-float-float-">play</a></span>&#8203;(float&nbsp;rate,
357366
float&nbsp;amp)</code></th>
358367
<td class="colLast">&nbsp;</td>
359368
</tr>
360-
<tr id="i19" class="rowColor">
369+
<tr id="i20" class="altColor">
361370
<td class="colFirst"><code>void</code></td>
362371
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#play-float-float-float-">play</a></span>&#8203;(float&nbsp;rate,
363372
float&nbsp;pos,
364373
float&nbsp;amp)</code></th>
365374
<td class="colLast">&nbsp;</td>
366375
</tr>
367-
<tr id="i20" class="altColor">
376+
<tr id="i21" class="rowColor">
368377
<td class="colFirst"><code>void</code></td>
369378
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#play-float-float-float-float-">play</a></span>&#8203;(float&nbsp;rate,
370379
float&nbsp;pos,
371380
float&nbsp;amp,
372381
float&nbsp;add)</code></th>
373382
<td class="colLast">&nbsp;</td>
374383
</tr>
375-
<tr id="i21" class="rowColor">
384+
<tr id="i22" class="altColor">
376385
<td class="colFirst"><code>void</code></td>
377386
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#play-float-float-float-float-float-">play</a></span>&#8203;(float&nbsp;rate,
378387
float&nbsp;pos,
@@ -383,12 +392,12 @@ <h3>Method Summary</h3>
383392
<div class="block">Starts the playback of the audiosample.</div>
384393
</td>
385394
</tr>
386-
<tr id="i22" class="altColor">
395+
<tr id="i23" class="rowColor">
387396
<td class="colFirst"><code>void</code></td>
388397
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#playFor-float-">playFor</a></span>&#8203;(float&nbsp;duration)</code></th>
389398
<td class="colLast">&nbsp;</td>
390399
</tr>
391-
<tr id="i23" class="rowColor">
400+
<tr id="i24" class="altColor">
392401
<td class="colFirst"><code>void</code></td>
393402
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#playFor-float-float-">playFor</a></span>&#8203;(float&nbsp;duration,
394403
float&nbsp;cue)</code></th>
@@ -397,40 +406,40 @@ <h3>Method Summary</h3>
397406
end of the audiosample, whichever comes first.</div>
398407
</td>
399408
</tr>
400-
<tr id="i24" class="altColor">
409+
<tr id="i25" class="rowColor">
401410
<td class="colFirst"><code>float</code></td>
402411
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#position--">position</a></span>&#8203;()</code></th>
403412
<td class="colLast">
404413
<div class="block">Get current sound file playback position in seconds.</div>
405414
</td>
406415
</tr>
407-
<tr id="i25" class="rowColor">
416+
<tr id="i26" class="altColor">
408417
<td class="colFirst"><code>int</code></td>
409418
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#positionFrame--">positionFrame</a></span>&#8203;()</code></th>
410419
<td class="colLast">
411420
<div class="block">Get frame index of current sound file playback position.</div>
412421
</td>
413422
</tr>
414-
<tr id="i26" class="altColor">
423+
<tr id="i27" class="rowColor">
415424
<td class="colFirst"><code>void</code></td>
416425
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#rate-float-">rate</a></span>&#8203;(float&nbsp;rate)</code></th>
417426
<td class="colLast">
418427
<div class="block">Set the playback rate of the audiosample.</div>
419428
</td>
420429
</tr>
421-
<tr id="i27" class="rowColor">
430+
<tr id="i28" class="altColor">
422431
<td class="colFirst"><code>void</code></td>
423432
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#read-float:A-">read</a></span>&#8203;(float[]&nbsp;data)</code></th>
424433
<td class="colLast">
425434
<div class="block">Get the current sample data and write it into the given array.</div>
426435
</td>
427436
</tr>
428-
<tr id="i28" class="altColor">
437+
<tr id="i29" class="rowColor">
429438
<td class="colFirst"><code>float</code></td>
430439
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#read-int-">read</a></span>&#8203;(int&nbsp;index)</code></th>
431440
<td class="colLast">&nbsp;</td>
432441
</tr>
433-
<tr id="i29" class="rowColor">
442+
<tr id="i30" class="altColor">
434443
<td class="colFirst"><code>void</code></td>
435444
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#read-int-float:A-int-int-">read</a></span>&#8203;(int&nbsp;startFrame,
436445
float[]&nbsp;data,
@@ -440,12 +449,12 @@ <h3>Method Summary</h3>
440449
<div class="block">Read some frames of this audio sample into an array.</div>
441450
</td>
442451
</tr>
443-
<tr id="i30" class="altColor">
452+
<tr id="i31" class="rowColor">
444453
<td class="colFirst"><code>void</code></td>
445454
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#resize-int-">resize</a></span>&#8203;(int&nbsp;frames)</code></th>
446455
<td class="colLast">&nbsp;</td>
447456
</tr>
448-
<tr id="i31" class="rowColor">
457+
<tr id="i32" class="altColor">
449458
<td class="colFirst"><code>void</code></td>
450459
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#resize-int-boolean-">resize</a></span>&#8203;(int&nbsp;frames,
451460
boolean&nbsp;stereo)</code></th>
@@ -454,14 +463,14 @@ <h3>Method Summary</h3>
454463
frames.</div>
455464
</td>
456465
</tr>
457-
<tr id="i32" class="altColor">
466+
<tr id="i33" class="rowColor">
458467
<td class="colFirst"><code>int</code></td>
459468
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#sampleRate--">sampleRate</a></span>&#8203;()</code></th>
460469
<td class="colLast">
461470
<div class="block">Returns the underlying sample rate of the audiosample.</div>
462471
</td>
463472
</tr>
464-
<tr id="i33" class="rowColor">
473+
<tr id="i34" class="altColor">
465474
<td class="colFirst"><code>void</code></td>
466475
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#set-float-float-float-float-">set</a></span>&#8203;(float&nbsp;rate,
467476
float&nbsp;pos,
@@ -471,27 +480,27 @@ <h3>Method Summary</h3>
471480
<div class="block">Set multiple parameters at once</div>
472481
</td>
473482
</tr>
474-
<tr id="i34" class="altColor">
483+
<tr id="i35" class="rowColor">
475484
<td class="colFirst"><code>void</code></td>
476485
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#stop--">stop</a></span>&#8203;()</code></th>
477486
<td class="colLast">
478487
<div class="block">Stops the playback.</div>
479488
</td>
480489
</tr>
481-
<tr id="i35" class="rowColor">
490+
<tr id="i36" class="altColor">
482491
<td class="colFirst"><code>void</code></td>
483492
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#write-float:A-">write</a></span>&#8203;(float[]&nbsp;data)</code></th>
484493
<td class="colLast">
485494
<div class="block">Overwrite the sample with the data from the given array.</div>
486495
</td>
487496
</tr>
488-
<tr id="i36" class="altColor">
497+
<tr id="i37" class="rowColor">
489498
<td class="colFirst"><code>void</code></td>
490499
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#write-int-float-">write</a></span>&#8203;(int&nbsp;index,
491500
float&nbsp;value)</code></th>
492501
<td class="colLast">&nbsp;</td>
493502
</tr>
494-
<tr id="i37" class="rowColor">
503+
<tr id="i38" class="altColor">
495504
<td class="colFirst"><code>void</code></td>
496505
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../processing/sound/AudioSample.html#write-int-float:A-int-int-">write</a></span>&#8203;(int&nbsp;startFrame,
497506
float[]&nbsp;data,
@@ -514,7 +523,7 @@ <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
514523
<!-- -->
515524
</a>
516525
<h3>Methods inherited from class&nbsp;processing.sound.<a href="../../processing/sound/SoundObject.html" title="class in processing.sound">SoundObject</a></h3>
517-
<code><a href="../../processing/sound/SoundObject.html#add-float-">add</a>, <a href="../../processing/sound/SoundObject.html#isPlaying--">isPlaying</a></code></li>
526+
<code><a href="../../processing/sound/SoundObject.html#add-float-">add</a></code></li>
518527
</ul>
519528
</li>
520529
</ul>
@@ -572,6 +581,17 @@ <h4>AudioSample</h4>
572581
</dl>
573582
</li>
574583
</ul>
584+
<a name="AudioSample-processing.core.PApplet-int-int-">
585+
<!-- -->
586+
</a>
587+
<ul class="blockList">
588+
<li class="blockList">
589+
<h4>AudioSample</h4>
590+
<pre>public&nbsp;AudioSample&#8203;(processing.core.PApplet&nbsp;parent,
591+
int&nbsp;frames,
592+
int&nbsp;frameRate)</pre>
593+
</li>
594+
</ul>
575595
<a name="AudioSample-processing.core.PApplet-float:A-">
576596
<!-- -->
577597
</a>
@@ -630,6 +650,23 @@ <h4>AudioSample</h4>
630650
<!-- -->
631651
</a>
632652
<h3>Method Detail</h3>
653+
<a name="isPlaying--">
654+
<!-- -->
655+
</a>
656+
<ul class="blockList">
657+
<li class="blockList">
658+
<h4>isPlaying</h4>
659+
<pre>public&nbsp;boolean&nbsp;isPlaying&#8203;()</pre>
660+
<div class="block">Check whether this audiosample is currently playing.</div>
661+
<dl>
662+
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
663+
<dd><code><a href="../../processing/sound/SoundObject.html#isPlaying--">isPlaying</a></code>&nbsp;in class&nbsp;<code><a href="../../processing/sound/SoundObject.html" title="class in processing.sound">SoundObject</a></code></dd>
664+
<dt><span class="returnLabel">Returns:</span></dt>
665+
<dd>`true` if this sound object is currently playing, `false` if it is
666+
not.</dd>
667+
</dl>
668+
</li>
669+
</ul>
633670
<a name="amp-float-">
634671
<!-- -->
635672
</a>
@@ -715,8 +752,6 @@ <h4>frames</h4>
715752
<dl>
716753
<dt><span class="returnLabel">Returns:</span></dt>
717754
<dd>The number of frames of the audiosample.</dd>
718-
<dt><span class="seeLabel">See Also:</span></dt>
719-
<dd><a href="../../processing/sound/AudioSample.html#duration--"><code>duration()</code></a></dd>
720755
</dl>
721756
</li>
722757
</ul>

0 commit comments

Comments
 (0)