audio.engine: dispose generator for streaming-audio-clip when it finishes
parent
1ca0b14235
commit
91e014ef96
|
@ -285,7 +285,7 @@ M: audio-engine dispose*
|
||||||
al-buffers [ clip swap queue-clip-buffer ] each
|
al-buffers [ clip swap queue-clip-buffer ] each
|
||||||
clip audio-engine clips>> push
|
clip audio-engine clips>> push
|
||||||
clip
|
clip
|
||||||
] [ f ] if ;
|
] [ generator dispose f ] if ;
|
||||||
|
|
||||||
M: audio-clip dispose*
|
M: audio-clip dispose*
|
||||||
[ dup audio-engine>> clips>> remove! drop ]
|
[ dup audio-engine>> clips>> remove! drop ]
|
||||||
|
@ -297,7 +297,8 @@ M: static-audio-clip dispose*
|
||||||
|
|
||||||
M: streaming-audio-clip dispose*
|
M: streaming-audio-clip dispose*
|
||||||
[ call-next-method ]
|
[ call-next-method ]
|
||||||
[ al-buffers>> [ length ] keep alDeleteBuffers ] bi ;
|
[ generator>> dispose ]
|
||||||
|
[ al-buffers>> [ length ] keep alDeleteBuffers ] tri ;
|
||||||
|
|
||||||
: play-clip ( audio-clip -- )
|
: play-clip ( audio-clip -- )
|
||||||
[ update-source ]
|
[ update-source ]
|
||||||
|
|
|
@ -14,12 +14,14 @@ M: noise-generator generate-audio
|
||||||
drop
|
drop
|
||||||
4096 [ -4096 4096 [a,b] random ] short-array{ } replicate-as
|
4096 [ -4096 4096 [a,b] random ] short-array{ } replicate-as
|
||||||
8192 ;
|
8192 ;
|
||||||
|
M: noise-generator dispose
|
||||||
|
drop ;
|
||||||
|
|
||||||
:: audio-engine-test ( -- )
|
:: audio-engine-test ( -- )
|
||||||
"vocab:audio/engine/test/loop.aiff" read-audio :> loop-sound
|
"vocab:audio/engine/test/loop.aiff" read-audio :> loop-sound
|
||||||
"vocab:audio/engine/test/once.wav" read-audio :> once-sound
|
"vocab:audio/engine/test/once.wav" read-audio :> once-sound
|
||||||
0 :> i!
|
0 :> i!
|
||||||
<standard-audio-engine> :> engine
|
f 4 <audio-engine> :> engine
|
||||||
engine start-audio*
|
engine start-audio*
|
||||||
|
|
||||||
engine T{ audio-source f { 1.0 0.0 0.0 } 1.0 { 0.0 0.0 0.0 } f } loop-sound t
|
engine T{ audio-source f { 1.0 0.0 0.0 } 1.0 { 0.0 0.0 0.0 } f } loop-sound t
|
||||||
|
|
Loading…
Reference in New Issue