]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/synth/synth.factor
factor: trim using lists
[factor.git] / extra / synth / synth.factor
old mode 100755 (executable)
new mode 100644 (file)
index 2b9fd8d..acf668f
@@ -1,13 +1,14 @@
 ! Copyright (C) 2008 Alex Chapman
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel locals math math.constants math.functions memoize openal openal.alut synth.buffers sequences sequences.modified sequences.repeating ;
+USING: accessors kernel math math.constants math.functions
+sequences sequences.modified sequences.repeating ;
 IN: synth
 
 MEMO: single-sine-wave ( samples/wave -- seq )
-    pi 2 * over / [ * sin ] curry map ;
+    [ <iota> ] [ pi 2 * swap / [ * sin ] curry ] bi map ;
 
 : (sine-wave) ( samples/wave n-samples -- seq )
-    [ single-sine-wave ] dip <repeating> ;
+    [ single-sine-wave ] dip <cycles> ;
 
 : sine-wave ( sample-freq freq seconds -- seq )
     pick * >integer [ /i ] dip (sine-wave) ;
@@ -33,4 +34,3 @@ C: <note> note
 
 : >note ( harmonics note buffer -- buffer )
     [ [ note-harmonic-data ] 2curry map <summed> ] [ data<< ] [ ] tri ;
-