refactor synth.buffers to gen-buffer on send rather than on create
parent
b43854d72d
commit
e8365a795f
|
@ -3,20 +3,20 @@
|
||||||
USING: accessors alien.c-types combinators kernel locals math math.constants math.functions math.ranges openal sequences sequences.merged sequences.repeating ;
|
USING: accessors alien.c-types combinators kernel locals math math.constants math.functions math.ranges openal sequences sequences.merged sequences.repeating ;
|
||||||
IN: synth.buffers
|
IN: synth.buffers
|
||||||
|
|
||||||
TUPLE: buffer sample-freq 8bit? sent? id ;
|
TUPLE: buffer sample-freq 8bit? id ;
|
||||||
|
|
||||||
: <buffer> ( sample-freq 8bit? -- buffer )
|
: <buffer> ( sample-freq 8bit? -- buffer )
|
||||||
f gen-buffer buffer boa ;
|
f buffer boa ;
|
||||||
|
|
||||||
TUPLE: mono-buffer < buffer data ;
|
TUPLE: mono-buffer < buffer data ;
|
||||||
|
|
||||||
: <mono-buffer> ( sample-freq 8bit? -- buffer )
|
: <mono-buffer> ( sample-freq 8bit? -- buffer )
|
||||||
f gen-buffer f mono-buffer boa ;
|
f f mono-buffer boa ;
|
||||||
|
|
||||||
TUPLE: stereo-buffer < buffer left-data right-data ;
|
TUPLE: stereo-buffer < buffer left-data right-data ;
|
||||||
|
|
||||||
: <stereo-buffer> ( sample-freq 8bit? -- buffer )
|
: <stereo-buffer> ( sample-freq 8bit? -- buffer )
|
||||||
f gen-buffer f f stereo-buffer boa ;
|
f f f stereo-buffer boa ;
|
||||||
|
|
||||||
PREDICATE: 8bit-buffer < buffer 8bit?>> ;
|
PREDICATE: 8bit-buffer < buffer 8bit?>> ;
|
||||||
PREDICATE: 16bit-buffer < buffer 8bit?>> not ;
|
PREDICATE: 16bit-buffer < buffer 8bit?>> not ;
|
||||||
|
@ -59,15 +59,14 @@ M: 16bit-stereo-buffer buffer-data
|
||||||
|
|
||||||
: send-buffer ( buffer -- buffer )
|
: send-buffer ( buffer -- buffer )
|
||||||
{
|
{
|
||||||
[ id>> ]
|
[ gen-buffer dup [ >>id ] dip ]
|
||||||
[ buffer-format ]
|
[ buffer-format ]
|
||||||
[ buffer-data ]
|
[ buffer-data ]
|
||||||
[ sample-freq>> alBufferData ]
|
[ sample-freq>> alBufferData ]
|
||||||
[ t >>sent? ]
|
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
||||||
: ?send-buffer ( buffer -- buffer )
|
: ?send-buffer ( buffer -- buffer )
|
||||||
dup sent?>> [ send-buffer ] unless ;
|
dup id>> [ send-buffer ] unless ;
|
||||||
|
|
||||||
: (sine-wave) ( samples/wave n-samples -- seq )
|
: (sine-wave) ( samples/wave n-samples -- seq )
|
||||||
pi 2 * pick / swapd [ * sin ] curry map swap <repeating> ;
|
pi 2 * pick / swapd [ * sin ] curry map swap <repeating> ;
|
||||||
|
|
Loading…
Reference in New Issue