New patches: [unrevert anonymous**20071203015011] < > { move ./buffer/signal.scm ./buffer/signal.ss move ./collection/list.scm ./collection/list.ss move ./collection/mapw.scm ./collection/mapw.ss move ./collection/series.scm ./collection/series.ss move ./collection/tree.scm ./collection/tree.ss move ./graphdef/control.scm ./graphdef/control.ss move ./graphdef/graphdef.scm ./graphdef/graphdef.ss move ./graphdef/id.scm ./graphdef/id.ss move ./graphdef/input.scm ./graphdef/input.ss move ./graphdef/letc.scm ./graphdef/letc.ss move ./graphdef/mce.scm ./graphdef/mce.ss move ./graphdef/mrg.scm ./graphdef/mrg.ss move ./graphdef/output.scm ./graphdef/output.ss move ./graphdef/proxy.scm ./graphdef/proxy.ss move ./graphdef/rate-of.scm ./graphdef/rate-of.ss move ./graphdef/rate.scm ./graphdef/rate.ss move ./graphdef/ugen.scm ./graphdef/ugen.ss move ./math/clip.scm ./math/clip.ss move ./math/common.scm ./math/common.ss move ./math/constants.scm ./math/constants.ss move ./math/exact.scm ./math/exact.ss move ./math/gain.scm ./math/gain.ss move ./math/log.scm ./math/log.ss move ./math/pitch.scm ./math/pitch.ss move ./ntp/ntp.scm ./ntp/ntp.ss move ./osc/decode.scm ./osc/decode.ss move ./osc/display.scm ./osc/display.ss move ./osc/encode.scm ./osc/encode.ss move ./osc/purify.scm ./osc/purify.ss move ./osc/transport.scm ./osc/transport.ss move ./osc/type.scm ./osc/type.ss move ./osc/verify.scm ./osc/verify.ss move ./random/choose.scm ./random/choose.ss move ./random/distribution.scm ./random/distribution.ss move ./random/range.scm ./random/range.ss move ./random/shuffle.scm ./random/shuffle.ss move ./server/add-action.scm ./server/add-action.ss move ./server/command.scm ./server/command.ss move ./server/done-action.scm ./server/done-action.ss move ./server/gen.scm ./server/gen.ss move ./server/server.scm ./server/server.ss move ./server/status.scm ./server/status.ss move ./structure/structure.scm ./structure/structure.ss move ./supercollider/envelope.scm ./supercollider/envelope.ss move ./supercollider/in.scm ./supercollider/in.ss move ./supercollider/klang.scm ./supercollider/klang.ss move ./supercollider/mix.scm ./supercollider/mix.ss move ./supercollider/name.scm ./supercollider/name.ss move ./supercollider/play.scm ./supercollider/play.ss move ./supercollider/quantize.scm ./supercollider/quantize.ss move ./supercollider/range.scm ./supercollider/range.ss move ./supercollider/score.scm ./supercollider/score.ss move ./supercollider/sndfile.scm ./supercollider/sndfile.ss move ./supercollider/spec.scm ./supercollider/spec.ss move ./supercollider/synthdef.scm ./supercollider/synthdef.ss move ./supercollider/warp.scm ./supercollider/warp.ss move ./u8/int.scm ./u8/int.ss move ./u8/np.scm ./u8/np.ss move ./u8/u8.scm ./u8/u8.ss move ./u8/u8l.scm ./u8/u8l.ss move ./u8/u8v.scm ./u8/u8v.ss move ./ugen/constructor.scm ./ugen/constructor.ss move ./ugen/filter.scm ./ugen/filter.ss move ./ugen/graph.scm ./ugen/graph.ss move ./ugen/implicit.scm ./ugen/implicit.ss move ./ugen/input.scm ./ugen/input.ss move ./ugen/mce.scm ./ugen/mce.ss move ./ugen/operator.scm ./ugen/operator.ss move ./ugen/oscillator.scm ./ugen/oscillator.ss move ./ugen/proxied.scm ./ugen/proxied.ss move ./ugen/specialized.scm ./ugen/specialized.ss hunk ./buffer/signal.ss 1 -;; signal.scm - (c) rohan drape, 2005-2007 +;; signal.ss - (c) rohan drape, 2005-2007 hunk ./buffer/signal.ss 3 -(module signal scheme/base - -(require (only-in "../collection/list.scm" - splice) - (only-in "../collection/mapw.scm" - mapw - mapw*)) - -(provide wavetable->signal - signal->wavetable) +(library (rsc3 buffer signal) +(export wavetable->signal signal->wavetable) +(import (rnrs) + (only (rsc3 collection list) splice) + (only (rsc3 collection mapw) mapw mapw*)) ;; A Signal is half the size of a Wavetable, each element is the sum ;; of two adjacent elements of the Wavetable. hunk ./collection/list.ss 1 -;; list.scm - (c) rohan drape, 2000-2007 +;; list.ss - (c) rohan drape, 2000-2007 hunk ./collection/list.ss 3 -(module list scheme/base - -(require (only-in srfi/1 - append-map - drop - iota - make-list - take)) - -(provide list-ref/wrap - length* - geom - filter-index - drop* - concat - foldr - foldl - foldl1 - maximum - splice - interleave - intersperse - lace - extend - extend-all - rotate - invert - cycles - take-cycle) +(library (rsc3 collection list) +(export concat cycles + drop* + extend extend-all + filter-index foldl foldl1 foldr + geom + interleave intersperse invert + lace length* list-ref/wrap + maximum + rotate + splice + take-cycle) +(import (rnrs) + (only (rnrs r5rs) modulo) + (rnrs lists) + (only (SRFI-1) append-map drop iota make-list take)) ;; list-ref variant where n is taken modulo the list length. hunk ./collection/list.ss 58 ;; [Haskell Prelude] -;; (define (foldr f z l) -;; (if (null? l) -;; z -;; (f (car l) (foldr f z (cdr l))))) +(define (foldr f z l) + (if (null? l) + z + (f (car l) (foldr f z (cdr l))))) (define (concat l) (foldr append '() l)) hunk ./collection/list.ss 66 -;; (define (foldl f z l) -;; (if (null? l) -;; z -;; (foldl f (f z (car l)) (cdr l)))) +(define (foldl f z l) + (if (null? l) + z + (foldl f (f z (car l)) (cdr l)))) (define (foldl1 f l) (foldl f (car l) (cdr l))) hunk ./collection/mapw.ss 1 -;; mapw.scm - (c) rohan drape, 2000-2007 +;; mapw.ss - (c) rohan drape, 2000-2007 hunk ./collection/mapw.ss 3 -(module mapw scheme/base - -(require (only-in "list.scm" - extend) - (only-in srfi/1 - drop - take) - (only-in srfi/23 - error)) - -(provide mapw - mapw*) +(library (rsc3 collection mapw) +(export mapw mapw*) +(import (rnrs) + (only (rsc3 collection list) extend) + (only (SRFI-1) drop take)) ;; [R5RS+] Windowed map. Apply 'f' to 'n' element windows with 'm' ;; separation at `l' having 'z' elements. hunk ./collection/series.ss 1 -;; series.scm - (c) rohan drape, 2000-2007 +;; series.ss - (c) rohan drape, 2000-2007 hunk ./collection/series.ss 3 -(module series scheme/base - -(require (only-in srfi/1 - unfold)) - -(provide dx->d - d->dx - d->dx**) +(library (rsc3 collection series) +(export dx->d d->dx d->dx**) +(import (rnrs) + (rsc3 collection list) + (only (SRFI-1) unfold)) ;; Predicate to determine if `l' is a one element list. hunk ./collection/tree.ss 1 -;; tree.scm - (c) rohan drape, 2000-2007 +;; tree.ss - (c) rohan drape, 2000-2007 hunk ./collection/tree.ss 3 -(module tree scheme/base - -(provide flatten - mapt) +(library (rsc3 collection tree) +(export flatten mapt) +(import (rnrs)) ;; A not entirely naive flatten - ie. does not use append. hunk ./graphdef/control.ss 1 -;; control.scm - (c) rohan drape, 2003-2007 +;; control.ss - (c) rohan drape, 2003-2007 hunk ./graphdef/control.ss 3 -(module control scheme/base - -(require (only-in "../structure/structure.scm" - define-structure) - (only-in "../u8/np.scm" - i16 - pstr)) -(provide make-control - control-name - make-control* - control*? - control*-rate - control*-default - control*-name - control->npt) +(library (rsc3 graphdef control) +(export make-control control-name + make-control* control*? control*-rate control*-default control*-name + control->npt) +(import (rnrs) + (only (rsc3 u8 np) i16 pstr)) ;; A is accessed by a name and an index. hunk ./graphdef/control.ss 12 -(define-structure control name index) +(define-record-type control (fields name index)) (define (control->npt c) (list (pstr (control-name c)) hunk ./graphdef/control.ss 20 ;; A is a place holder for a . -(define-structure control* name default rate lag) +(define-record-type control* (fields name default rate lag)) ) hunk ./graphdef/graphdef.ss 1 -;; graphdef.scm - (c) rohan drape, 2003-2007 +;; graphdef.ss - (c) rohan drape, 2003-2007 hunk ./graphdef/graphdef.ss 3 -(module graphdef scheme/base - -(require (only-in "../structure/structure.scm" - define-structure) - (only-in "../u8/np.scm" - u8 i16 i32 f32 pstr npt->u8l) - (only-in "control.scm" - control->npt) - (only-in "ugen.scm" - ugen->npt)) - -(provide graphdef - graphdef? - make-graphdef - graphdef-name - graphdef-defaults - graphdef-controls - graphdef-constant - graphdef-ugen - graphdef-ugens - graphdef->u8l) +(library (rsc3 graphdef graphdef) +(export graphdef? make-graphdef graphdef->u8l graphdef-name) +(import (rnrs) + (only (rsc3 u8 np) u8 i16 i32 f32 pstr npt->u8l) + (only (rsc3 graphdef control) control->npt) + (only (rsc3 graphdef ugen) ugen->npt)) ;; A represents a UGen graph. hunk ./graphdef/graphdef.ss 12 -(define-structure graphdef name constants defaults controls ugens) +(define-record-type graphdef (fields name constants defaults controls ugens)) (define (graphdef-ugen g n) (list-ref (graphdef-ugens g) n)) hunk ./graphdef/id.ss 1 -;; id.scm - (c) rohan drape, 2005-2007 +;; id.ss - (c) rohan drape, 2005-2007 hunk ./graphdef/id.ss 3 -(module id scheme/base +(library (rsc3 graphdef id) +(export make-uid uid? unique-uid) +(import (rnrs)) hunk ./graphdef/id.ss 7 -(require (only-in "../structure/structure.scm" - define-structure)) - -(provide make-uid - uid? - unique-uid) - -(define-structure uid value) +(define-record-type uid (fields value)) ;; Counting from 1... hunk ./graphdef/input.ss 1 -;; input.scm - (c) rohan drape, 2003-2007 +;; input.ss - (c) rohan drape, 2003-2007 hunk ./graphdef/input.ss 3 -(module input scheme/base - -(require (only-in "../structure/structure.scm" - define-structure) - (only-in "../u8/np.scm" - i16)) - -(provide input - make-input - input-ugen - input-port - input->npt) +(library (rsc3 graphdef input) +(export input make-input input-ugen input-port input->npt) +(import (rnrs) + (only (rsc3 u8 np) i16)) ;; An represents a UGen input signal in a UGen graph, an ;; 'Input Specification'. The ugen is the index of the hunk ./graphdef/input.ss 12 ;; UGen, the port is an output port at ugen. -(define-structure input ugen port) +(define-record-type input (fields ugen port)) (define (input->npt i) (list (i16 (input-ugen i)) hunk ./graphdef/letc.ss 1 -;; letc.scm - (c) rohan drape, 2005-2007 +;; letc.ss - (c) rohan drape, 2005-2007 hunk ./graphdef/letc.ss 3 -(module letc scheme/base - -(require (only-in "../structure/structure.scm" - define-structure) - (only-in "control.scm" - make-control*) - (only-in "rate.scm" - kr)) -(provide letc) +(library (rsc3 graphdef letc) +(export letc) +(import (rnrs) + (only (rsc3 graphdef control) make-control*) + (only (rsc3 graphdef rate) kr)) ;; Syntax for defining values. Does not implement rate or ;; lag variants. See deleted file control-set.scm for details. hunk ./graphdef/mce.ss 1 -;; mce.scm - (c) rohan drape, 2005-2007 +;; mce.ss - (c) rohan drape, 2005-2007 hunk ./graphdef/mce.ss 3 -(module mce scheme/base +(library (rsc3 graphdef mce) +(export Mce make-mce mce? mce-channels mce-channel) +(import (rnrs)) hunk ./graphdef/mce.ss 7 -(require (only-in "../structure/structure.scm" - define-structure)) - -(provide Mce - make-mce - mce? - mce-channels - mce-channel) - -(define-structure mce channels) +(define-record-type mce (fields channels)) (define (Mce . channels) (if (null? channels) hunk ./graphdef/mrg.ss 1 -;; mrg.scm - (c) rohan drape, 2006-2007 +;; mrg.ss - (c) rohan drape, 2006-2007 hunk ./graphdef/mrg.ss 3 -(module mrg scheme/base +(library (rsc3 graphdef mrg) +(export Mrg make-mrg mrg? mrg-roots) +(import (rnrs)) hunk ./graphdef/mrg.ss 7 -(require (only-in "../structure/structure.scm" - define-structure)) - -(provide Mrg - make-mrg - mrg? - mrg-roots) - -(define-structure mrg roots) +(define-record-type mrg (fields roots)) (define (Mrg . roots) (if (null? roots) hunk ./graphdef/output.ss 1 -;; output.scm - (c) rohan drape, 2003-2007 +;; output.ss - (c) rohan drape, 2003-2007 hunk ./graphdef/output.ss 3 -(module output scheme/base - -(require (only-in srfi/1 - make-list) - (only-in "../structure/structure.scm" - define-structure) - (only-in "../u8/np.scm" - u8) - (only-in "rate.scm" - rate-value)) - -(provide make-outputs - make-output - output? - output-rate - output->npt) +(library (rsc3 graphdef output) +(export make-outputs make-output output? output-rate output->npt) +(import (rnrs) + (only (SRFI-1) make-list) + (only (rsc3 u8 np) u8) + (only (rsc3 graphdef rate) rate-value)) ;; An represents a UGen output signal in a UGen graph. hunk ./graphdef/output.ss 12 -(define-structure output rate) +(define-record-type output (fields rate)) (define (output->npt o) (u8 (rate-value (output-rate o)))) hunk ./graphdef/proxy.ss 1 -;; proxy.scm - (c) rohan drape, 2003-2007 +;; proxy.ss - (c) rohan drape, 2003-2007 hunk ./graphdef/proxy.ss 3 -(module proxy scheme/base - -(require (only-in "../structure/structure.scm" - define-structure)) - -(provide make-proxy - proxy? - proxy-ugen - proxy-port) +(library (rsc3 graphdef proxy) +(export make-proxy proxy? proxy-ugen proxy-port) +(import (rnrs)) ;; An of records represents a UGen with multiple ;; outputs. hunk ./graphdef/proxy.ss 10 -(define-structure proxy ugen port) +(define-record-type proxy (fields ugen port)) ) hunk ./graphdef/rate-of.ss 1 -;; rate-of.scm - (c) rohan drape, 2005-2007 +;; rate-of.ss - (c) rohan drape, 2005-2007 hunk ./graphdef/rate-of.ss 3 -(module rate-of scheme/base - -(require (only-in "../mzscheme/r6rs.ss") - (only-in "control.scm" - control*? - control*-rate) - (only-in "mce.scm" - mce? - mce-channels) - (only-in "mrg.scm" - mrg?) - (only-in "proxy.scm" - proxy? - proxy-ugen) - (only-in "rate.scm" - ir - rate-select) - (only-in "ugen.scm" - ugen? - ugen-rate)) - -(provide rate-of) +(library (rsc3 graphdef rate-of) +(export rate-of) +(import (rnrs) + (only (rsc3 graphdef control) control*? control*-rate) + (only (rsc3 graphdef mce) mce? mce-channels) + (only (rsc3 graphdef mrg) mrg?) + (only (rsc3 graphdef proxy) proxy? proxy-ugen) + (only (rsc3 graphdef rate) ir rate-select) + (only (rsc3 graphdef ugen) ugen? ugen-rate)) (define (rate-of o) (cond ((number? o) ir) hunk ./graphdef/rate-of.ss 24 ) - hunk ./graphdef/rate.ss 3 ;; rate.scm - (c) rohan drape, 2005-2007 -(module rate scheme/base +(library (rsc3 graphdef rate) +(export rate? rate-select rate-value ar kr ir dr) +(import (rnrs) + (only (rsc3 collection list) foldl1)) hunk ./graphdef/rate.ss 8 -(require (only-in "../structure/structure.scm" - define-structure) - (only-in "../collection/list.scm" - foldl1)) - -(provide rate? - rate-select - rate-value - ar - kr - ir - dr) - -(define-structure rate value) +(define-record-type rate (fields value)) (define ir (make-rate 0)) (define kr (make-rate 1)) hunk ./graphdef/ugen.ss 1 -;; ugen.scm - (c) rohan drape, 2003-2007 +;; ugen.ss - (c) rohan drape, 2003-2007 hunk ./graphdef/ugen.ss 3 -(module ugen scheme/base - -(require (only-in srfi/1 - every - iota) - (only-in "../structure/structure.scm" - define-structure) - (only-in "../u8/np.scm" - u8 - i16 - pstr) - (only-in "id.scm" - uid? - unique-uid) - (only-in "input.scm" - input->npt) - (only-in "control.scm" - control*?) - (only-in "mce.scm" - mce? - make-mce) - (only-in "output.scm" - output? - output->npt) - (only-in "proxy.scm" - proxy?) - (only-in "rate.scm" - rate? - rate-value)) - -(provide ugen - make-ugen - ugen? - ugen-inputs - ugen-name - ugen-rate - ugen-outputs - ugen-special - ugen-id - ugen-output - ugen-validate - ugen-transform - dupn - ugen->npt) +(library (rsc3 graphdef ugen) +(export ugen make-ugen ugen? + ugen-inputs ugen-name ugen-rate ugen-outputs ugen-special ugen-id + ugen-output ugen-validate ugen-transform dupn ugen->npt) +(import (rnrs) + (only (SRFI-1) every iota) + (only (rsc3 u8 np) u8 i16 pstr) + (only (rsc3 graphdef id) uid? unique-uid) + (only (rsc3 graphdef input) input->npt) + (only (rsc3 graphdef control) control*?) + (only (rsc3 graphdef mce) mce? make-mce) + (only (rsc3 graphdef output) output? output->npt) + (only (rsc3 graphdef proxy) proxy?) + (only (rsc3 graphdef rate) rate? rate-value)) ;; A represents a UGen in a UGen graph. The name ;; names the C level UGen. Each value at the inputs is either hunk ./graphdef/ugen.ss 23 ;; a , a , a , a or a . Each ;; value at the outputs is a an . The id is an . -(define-structure ugen name rate inputs outputs special id) +(define-record-type ugen (fields name rate inputs outputs special id)) (define (ugen-output u n) (list-ref (ugen-outputs u) n)) hunk ./math/clip.ss 1 -;; clip.scm - (c) rohan drape, 2005-2007 +;; clip.ss - (c) rohan drape, 2005-2007 hunk ./math/clip.ss 3 -(module clip scheme/base - -(provide clip) +(library (rsc3 math clip) +(export clip) +(import (rnrs)) ;; Clip `n' between a and b. hunk ./math/common.ss 1 -;; common.scm - (c) rohan drape, 2005-2007 +;; common.ss - (c) rohan drape, 2005-2007 hunk ./math/common.ss 3 -(module common scheme/base - -(provide squared - cubed - recip) +(library (rsc3 math common) +(export squared cubed recip) +(import (rnrs)) (define (squared n) (* n n)) hunk ./math/constants.ss 1 -;; constants.scm - (c) rohan drape, 2001-2007 +;; constants.ss - (c) rohan drape, 2001-2007 hunk ./math/constants.ss 3 -(module constants scheme/base - -(provide pi half-pi two-pi) +(library (rsc3 math constants) +(export pi half-pi two-pi) +(import (rnrs)) (define e (exp 1.0)) (define pi (* 4 (atan 1))) hunk ./math/exact.ss 1 -;; exact.scm - (c) rohan drape, 2004-2007 +;; exact.ss - (c) rohan drape, 2004-2007 hunk ./math/exact.ss 3 -(module exact scheme/base - -(provide floor-exact round-exact) +(library (rsc3 math exact) +(export floor-exact round-exact) +(import (rnrs) + (only (rnrs r5rs) inexact->exact)) ;; Exact integer constructors and predicate. hunk ./math/gain.ss 1 -;; gain.scm - (c) rohan drape, 2000-2007 +;; gain.ss - (c) rohan drape, 2000-2007 hunk ./math/gain.ss 3 -(module gain scheme/base - -(require (only-in "log.scm" log10)) - -(provide ampdb dbamp) +(library (rsc3 math gain) +(export ampdb dbamp) +(import (rnrs) + (only (rsc3 math log) log10)) ;; Convert a linear rms gain value to a decibel value and the inverse. ;; Zero decibels is unity gain. These algorithms are from SC3. hunk ./math/log.ss 1 -;; log.scm - (c) rohan drape, 2001-2007 +;; log.ss - (c) rohan drape, 2001-2007 hunk ./math/log.ss 3 -(module log scheme/base - -(provide log2 log10) +(library (rsc3 math log) +(export log2 log10) +(import (rnrs)) (define (log* n) (if (zero? n) n (log n))) (define (log2 x) (/ (log (abs x)) (log 2))) hunk ./math/pitch.ss 1 -;; pitch.scm - (c) rohan drape, 2005-2007 +;; pitch.ss - (c) rohan drape, 2005-2007 hunk ./math/pitch.ss 3 -(module pitch scheme/base - -(require (only-in "../collection/list.scm" - list-ref/wrap) - (only-in "log.scm" - log2)) - -(provide midicps - cpsmidi - octcps - cpsoct - midiratio - ratiomidi - degree->key) +(library (rsc3 math pitch) +(export cpsmidi cpsoct degree->key midicps midiratio octcps ratiomidi) +(import (rnrs) + (only (rnrs r5rs) quotient) + (only (rsc3 collection list) list-ref/wrap) + (only (rsc3 math log) log2)) (define (midicps note) (* 440.0 (expt 2.0 (* (- note 69.0) 0.083333333333)))) hunk ./ntp/ntp.ss 1 -;; ntp.scm - (c) rohan drape, 2000-2007 +;; ntp.ss - (c) rohan drape, 2000-2007 hunk ./ntp/ntp.ss 3 -(module ntp scheme/base - -(require (only-in srfi/19 - make-time - time-second - time-nanosecond - time-utc) - (only-in "../mzscheme/r6rs.ss" - fxior - fxand - fxarithmetic-shift-left - fxarithmetic-shift-right) - (only-in "../collection/list.scm" - list-ref/wrap) - (only-in "../math/exact.scm" - round-exact)) - -(provide ntp->utc. - utc->ntp) +(library (rsc3 ntp ntp) +(export ntp->utc. utc->ntp) +(import (rnrs) + (only (rsc3 math exact) round-exact)) ;; NTP is the Network Time Protocol. NTP time is represented by a 64 ;; bit fixed point number. The first 32 bits specify the number of hunk ./ntp/ntp.ss 19 ;; NTP is measured from the former, UTC from the latter. There are 17 ;; leap years in this period. -(define 2^32 (expt 2 32)) -(define 2^32. (exact->inexact 2^32)) +;; 2^32 = 4294967296 (define seconds-from-1900-to-1970 (+ (* 70 365 24 60 60) (* 17 24 60 60))) hunk ./ntp/ntp.ss 22 -(define (seconds-to-ntp i) (round-exact (* i 2^32))) -(define (ntp-to-seconds i) (/ i 2^32)) -(define (ntp-to-seconds. i) (/ i 2^32.)) -(define (nanoseconds-to-ntp i) (round-exact (* i (/ 2^32 (expt 10 9))))) -(define (ntp-to-nanoseconds i) (* i (/ (expt 10 9) 2^32))) +(define (seconds-to-ntp i) (round-exact (* i 4294967296))) +(define (ntp-to-seconds i) (/ i 4294967296)) +(define (ntp-to-seconds. i) (/ i 4294967296.0)) +(define (nanoseconds-to-ntp i) (round-exact (* i (/ 4294967296 (expt 10 9))))) +(define (ntp-to-nanoseconds i) (* i (/ (expt 10 9) 4294967296))) ;; Convert between time intervals in seconds and NTP intervals. hunk ./ntp/ntp.ss 54 (define (ntp->utc. ntp) (- (ntp-to-seconds. ntp) seconds-from-1900-to-1970)) -;; Evaluate to an integer representing the NTP time of the SRFI-19 -;; time object `time', which must be in UTC format. - -(define (utc-time->ntp time) - (let ((seconds (time-second time)) - (nanoseconds (time-nanosecond time))) - (fxior (fxarithmetic-shift-left (+ seconds seconds-from-1900-to-1970) - 32) - (nanoseconds-to-ntp nanoseconds)))) - -;; Evaluate to an SRFI-19 time object representing UTC time of the NTP -;; time `ntp'. - -(define (ntp->utc-time ntp) - (let ((seconds (- (fxarithmetic-shift-right ntp 32) seconds-from-1900-to-1970)) - (nanoseconds (ntp-to-nanoseconds (fxand ntp #xFFFFFFFF)))) - (make-time time-utc nanoseconds seconds))) - ) hunk ./osc/decode.ss 1 -;; decode.scm - (c) rohan drape, 2002-2007 +;; decode.ss - (c) rohan drape, 2002-2007 hunk ./osc/decode.ss 3 -(module decode scheme/base - -(require (only-in "../mzscheme/r6rs.ss" - lookahead-u8) - "../ntp/ntp.scm" - (only-in "../u8/u8l.scm" - read-i32 - read-i64 - read-u64 - read-f32 - read-f64 - read-bstr - read-cstr - with-input-from-u8l) - (only-in "encode.scm" - cstring-length) - "type.scm") - -(provide u8l->osc) +(library (rsc3 osc decode) +(export u8l->osc) +(import (rnrs) + (only (rnrs r5rs) modulo) + (rsc3 ntp ntp) + (only (rsc3 u8 u8l) + read-i32 read-i64 read-u64 + read-f32 read-f64 + read-bstr read-cstr + with-input-from-u8l) + (only (rsc3 osc encode) cstring-length) + (rsc3 osc type)) ;; OSC strings are C strings padded to a four byte boundary. hunk ./osc/display.ss 1 -;; display.scm - (c) rohan drape, 2005-2007 +;; display.ss - (c) rohan drape, 2005-2007 hunk ./osc/display.ss 3 -(module display scheme/base - -(require (only-in srfi/1 - iota) -;; (only-in srfi/48 -;; format) - ) - -(provide osc-display) +(library (rsc3 osc display) +(export osc-display) +(import (rnrs) + (only (rnrs r5rs) modulo) + (only (ikarus) format) + (only (SRFI-1) iota)) ;; Write a text representation of the OSC u8l `l'. The format is that ;; used throughout the OSC specification. hunk ./osc/encode.ss 1 -;; encode.scm - (c) rohan drape, 2002-2007 +;; encode.ss - (c) rohan drape, 2002-2007 hunk ./osc/encode.ss 3 -(module encode scheme/base - -(require (only-in srfi/1 - make-list) - "../ntp/ntp.scm" - "../u8/np.scm" - "../u8/u8l.scm" - (only-in "verify.scm" - bundle? - message?)) - -(provide cstring-length - osc->u8l) +(library (rsc3 osc encode) +(export cstring-length osc->u8l) +(import (rnrs) + (only (rnrs r5rs) modulo) + (only (SRFI-1) make-list) + (rsc3 ntp ntp) + (rsc3 u8 np) + (rsc3 u8 u8l) + (only (rsc3 osc verify) bundle? message?)) (define (padding-of n) (make-list n (u8 0))) hunk ./osc/encode.ss 43 ;; or a double is non-trivial and not undertaken here, all s are ;; written as floats. -;; (define (exact-integer? n) -;; (and (integer? n) (exact? n))) +(define (exact-integer? n) + (and (integer? n) (exact? n))) (define (encode-value e) (cond ((exact-integer? e) (i32 e)) hunk ./osc/encode.ss 53 ((u8l? e) (encode-bytes e)) (else (error 'encode-value "illegal value" e)))) -;; Encode the type string for the Evaluates to the OSC indicating the types of the elements of -;; the list `l'. +;; Encode the type string for the Evaluates to the OSC +;; indicating the types of the elements of the list `l'. (define (encode-types l) (encode-string hunk ./osc/purify.ss 1 -;; purify.scm - (c) rohan drape, 2005-2007 +;; purify.ss - (c) rohan drape, 2005-2007 hunk ./osc/purify.ss 3 -(module purify scheme/base - -(require (only-in "../u8/u8l.scm" - u8l?)) - -(provide purify) +(library (rsc3 osc purify) +(export purify) +(import (rnrs) + (only (rsc3 u8 u8l) u8l?)) ;; Evaluates to a type-correct form of the OSC data `e'. This ;; procedure does not verify that `e' is syntactically correct. hunk ./osc/transport.ss 1 -;; transport.scm - (c) rohan drape, 2004-2007 +;; transport.ss - (c) rohan drape, 2004-2007 hunk ./osc/transport.ss 3 -(module transport scheme/base +(library (rsc3 osc transport) +(export osc-send osc-recv osc-request) +(import (rnrs) + (only (rsc3 osc decode) u8l->osc) + (only (rsc3 osc encode) osc->u8l) + (only (rsc3 u8 u8l) u32->u8l u8l->u32)) hunk ./osc/transport.ss 10 -(require (only-in "decode.scm" - u8l->osc) - (only-in "encode.scm" - osc->u8l) - (only-in "../u8/u8l.scm" - u32->u8l - u8l->u32) - (only-in "../mzscheme/udp.ss" - udp*? - udp*-send - udp*-recv)) - -(provide osc-send - osc-recv - osc-request) +(define udp*? #f) +(define udp*-send #f) +(define udp*-recv #f) ;; 'u' is a , 't' is a timeout in seconds. hunk ./osc/type.ss 1 -;; type.scm - (c) rohan drape, 2005-2007 +;; type.ss - (c) rohan drape, 2005-2007 hunk ./osc/type.ss 3 -(module type scheme/base - -(provide oI32 oI64 oU64 oF32 oF64 oStr oByt) +(library (rsc3 osc type) +(export oI32 oI64 oU64 oF32 oF64 oStr oByt) +(import (rnrs)) (define oI32 #\i) (define oI64 #\h) hunk ./osc/verify.ss 1 -;; verify.scm - (c) rohan drape, 2005-2007 +;; verify.ss - (c) rohan drape, 2005-2007 hunk ./osc/verify.ss 3 -(module verify scheme/base - -(require (only-in srfi/1 - find-tail)) - -(provide message - message? - bundle - bundle?) +(library (rsc3 osc verify) +(export message message? bundle bundle?) +(import (rnrs) + (only (SRFI-1) find-tail)) ;; Validating constructors. hunk ./random/choose.ss 3 ;; choose.scm - (c) rohan drape, 2005-2007 -(module choose scheme/base - -(require (only-in srfi/1 - iota - last - list-index) - (only-in "../collection/series.scm" - dx->d) - (only-in "../collection/list.scm" - foldl1) - (only-in "range.scm" - rand - randi)) - -(provide choose choosel pchoose) +(library (rsc3 random choose) +(export choose choosel pchoose) +(import (rnrs) + (only (SRFI-1) + iota + last + list-index) + (only (rsc3 collection series) dx->d) + (only (rsc3 collection list) foldl1) + (only (rsc3 random range) rand randi)) ;; Return a randomly selected element of the 'l'. hunk ./random/distribution.ss 3 ;; distribution.scm - (c) rohan drape, 2000-2007 -(module distribution scheme/base +(library (rsc3 random distribution) +(export random) +(import (rnrs) + (prefix (ikarus) i:) + (only (SRFI-1) iota) + (only (rsc3 math clip) clip) + (only (rsc3 math constants) pi)) hunk ./random/distribution.ss 11 -(require (only-in srfi/1 - iota) - (only-in srfi/27 - random-real) - (only-in "../math/clip.scm" - clip) - (only-in "../math/constants.scm" - pi)) - -(provide random) - -;; Alias SRFI-27 name - -;; (define random random-real) +(define (random) + (let ((n (expt 2 32))) + (/ (i:random n) n))) ;; Linearly distributed in [0,1) with a mean value of 0.2929. The ;; density function is given by 'f(x) = 2 * (1 - x)'. hunk ./random/range.ss 3 ;; range.scm - (c) rohan drape, 2005-2007 -(module range scheme/base - -(require (only-in srfi/1 - iota) - (only-in srfi/39 - make-parameter) - (only-in "../math/exact.scm" - floor-exact) - (only-in "distribution.scm" - random)) - -(provide rand - _rand - rand2 - randi - randx - randl - randxl - randb) +(library (rsc3 random range) +(export rand _rand rand2 randi randx randl randxl randb) +(import (rnrs) + (only (ikarus) make-parameter) + (only (SRFI-1) iota) + (only (rsc3 math exact) floor-exact) + (only (rsc3 collection list) foldl1) + (only (rsc3 random distribution) random)) ;; Parameter to control distribution. hunk ./random/shuffle.ss 3 ;; shuffle.scm - (c) rohan drape, 2005-2007 -(module shuffle scheme/base - -(require (only-in "../mzscheme/r6rs.ss" - list-sort) - (only-in "range.scm" - rand)) - -(provide shuffle) +(library (rsc3 random shuffle) +(export shuffle) +(import (rnrs) + (only (rsc3 random range) rand)) ;; Return a random permutation of the `l'. This is not a ;; mutation operation. For a critique of this method see hunk ./rsc3.ss 3 ;; rsc3.ss - (c) rohan drape, 2004-2007 -(module rsc3 scheme/base +(library (rsc3) +(export) +(import (rsc3 buffer signal) + (rsc3 collection list) + (rsc3 collection mapw) + (rsc3 collection series) + (rsc3 collection tree) + (rsc3 graphdef control) + (rsc3 graphdef graphdef) + (rsc3 graphdef id) + (rsc3 graphdef input) + (rsc3 graphdef letc) + (rsc3 graphdef mce) + (rsc3 graphdef mrg) + (rsc3 graphdef output) + (rsc3 graphdef proxy) + (rsc3 graphdef rate) + (rsc3 graphdef rate-of) + (rsc3 graphdef ugen) + (rsc3 math clip) + (rsc3 math common) + (rsc3 math constants) + (rsc3 math exact) + (rsc3 math gain) + (rsc3 math log) + (rsc3 math pitch) + (rsc3 ntp ntp) + (rsc3 osc type) + (rsc3 osc decode) + (rsc3 osc display) + (rsc3 osc encode) + (rsc3 osc purify) + (rsc3 osc verify) + (rsc3 osc transport) + (rsc3 random distribution) + (rsc3 random range) + (rsc3 random choose) + (rsc3 random shuffle) + (rsc3 server command) + (rsc3 server add-action) + (rsc3 server done-action) + (rsc3 server gen) + (rsc3 server server) + (rsc3 server status) + (rsc3 structure structure) + (rsc3 supercollider in) + (rsc3 supercollider envelope) + (rsc3 supercollider klang) + (rsc3 supercollider mix) + (rsc3 supercollider name) + (rsc3 supercollider play) + (rsc3 supercollider quantize) + (rsc3 supercollider range) + (rsc3 supercollider score) + (rsc3 supercollider spec) + (rsc3 supercollider synthdef) + (rsc3 supercollider warp) + (rsc3 supercollider sndfile) + (rsc3 u8 u8) + (rsc3 u8 int) + (rsc3 u8 u8l) + (rsc3 u8 u8v) + (rsc3 u8 np) + (rsc3 ugen constructor) + (rsc3 ugen filter) + (rsc3 ugen graph) + (rsc3 ugen implicit) + (rsc3 ugen input) + (rsc3 ugen mce) + (rsc3 ugen operator) + (rsc3 ugen oscillator) + (rsc3 ugen proxied) + (rsc3 ugen specialized) + ) +) hunk ./rsc3.ss 79 - (define-syntax require/provide - (syntax-rules () - ((_ m) (begin (require m) (provide (all-from-out m)))))) - - (require/provide "mzscheme/r6rs.ss") - (require/provide "mzscheme/udp.ss") - (require/provide "collection/list.scm") - (require/provide "collection/mapw.scm") - (require/provide "collection/series.scm") - (require/provide "collection/tree.scm") - (require/provide "structure/structure.scm") - (require/provide "random/distribution.scm") - (require/provide "random/range.scm") - (require/provide "random/choose.scm") - (require/provide "random/shuffle.scm") - (require/provide "math/clip.scm") - (require/provide "math/common.scm") - (require/provide "math/constants.scm") - (require/provide "math/exact.scm") - (require/provide "math/gain.scm") - (require/provide "math/log.scm") - (require/provide "math/pitch.scm") - (require/provide "ntp/ntp.scm") - (require/provide "u8/u8.scm") - (require/provide "u8/int.scm") - (require/provide "u8/u8l.scm") - (require/provide "u8/u8v.scm") - (require/provide "u8/np.scm") - (require/provide "graphdef/control.scm") - (require/provide "graphdef/graphdef.scm") - (require/provide "graphdef/id.scm") - (require/provide "graphdef/input.scm") - (require/provide "graphdef/letc.scm") - (require/provide "graphdef/mce.scm") - (require/provide "graphdef/mrg.scm") - (require/provide "graphdef/output.scm") - (require/provide "graphdef/proxy.scm") - (require/provide "graphdef/rate.scm") - (require/provide "graphdef/rate-of.scm") - (require/provide "graphdef/ugen.scm") - (require/provide "server/command.scm") - (require/provide "server/add-action.scm") - (require/provide "server/done-action.scm") - (require/provide "server/gen.scm") - (require/provide "server/server.scm") - (require/provide "server/status.scm") - (require/provide "buffer/signal.scm") - (require/provide "ugen/constructor.scm") - (require/provide "ugen/filter.scm") - (require/provide "ugen/graph.scm") - (require/provide "ugen/implicit.scm") - (require/provide "ugen/input.scm") - (require/provide "ugen/mce.scm") - (require/provide "ugen/operator.scm") - (require/provide "ugen/oscillator.scm") - (require/provide "ugen/proxied.scm") - (require/provide "ugen/specialized.scm") - (require/provide "supercollider/in.scm") - (require/provide "supercollider/envelope.scm") - (require/provide "supercollider/klang.scm") - (require/provide "supercollider/mix.scm") - (require/provide "supercollider/name.scm") - (require/provide "supercollider/play.scm") - (require/provide "supercollider/quantize.scm") - (require/provide "supercollider/range.scm") - (require/provide "supercollider/score.scm") - (require/provide "supercollider/spec.scm") - (require/provide "supercollider/synthdef.scm") - (require/provide "supercollider/warp.scm") - (require/provide "supercollider/sndfile.scm") - (require/provide "osc/type.scm") - (require/provide "osc/decode.scm") - (require/provide "osc/display.scm") - (require/provide "osc/encode.scm") - (require/provide "osc/purify.scm") - (require/provide "osc/verify.scm") - (require/provide "osc/transport.scm")) hunk ./server/add-action.ss 1 -;; add-action.scm - (c) rohan drape, 2006-2007 +;; add-action.ss - (c) rohan drape, 2006-2007 hunk ./server/add-action.ss 3 -(module add-action scheme/base - -(provide (all-defined-out)) +(library (rsc3 server add-action) +(export) +(import (rnrs)) ;; The addAction values are interpreted as follows: hunk ./server/command.ss 1 -;; command.scm - (c) rohan drape, 2005-2007 +;; command.ss - (c) rohan drape, 2005-2007 hunk ./server/command.ss 3 -(module command scheme/base - -(require (only-in "../collection/list.scm" - splice) - (only-in "../osc/verify.scm" - message)) - -(provide (all-defined-out)) +(library (rsc3 server command) +(export /clearSched /d_recv /g_freeAll /g_new /status /s_new) +(import (rnrs) + (only (rsc3 collection list) splice) + (only (rsc3 osc verify) message)) (define with-reply list) hunk ./server/done-action.ss 1 -;; done-action.scm - (c) rohan drape, 2003-2007 +;; done-action.ss - (c) rohan drape, 2003-2007 hunk ./server/done-action.ss 3 -(module done-action scheme/base - -(provide (all-defined-out)) +(library (rsc3 server done-action) +(export) +(import (rnrs)) ;; The doneAction values are interpreted as follows: hunk ./server/gen.ss 1 -;; gen.scm - (c) rohan drape, 2006-2007 +;; gen.ss - (c) rohan drape, 2006-2007 hunk ./server/gen.ss 3 -(module gen scheme/base - -(provide (all-defined-out)) +(library (rsc3 server gen) +(export) +(import (rnrs)) (define genNormalize 1) (define genWavetable 2) hunk ./server/server.ss 1 -;; server.scm - (c) rohan drape, 2003-2007 +;; server.ss - (c) rohan drape, 2003-2007 hunk ./server/server.ss 3 -(module server scheme/base - -(require ;; (only-in srfi/23 - ;; error) - (only-in srfi/39 - make-parameter) - (only-in "../osc/verify.scm" - bundle) - (only-in "../osc/transport.scm" - osc-send - osc-recv) - "command.scm") - -(provide (all-defined-out)) +(library (rsc3 server server) +(export -> <- -><) +(import (rnrs) + (only (ikarus) make-parameter) + (only (rsc3 osc verify) bundle) + (only (rsc3 osc transport) osc-send osc-recv) + (rsc3 server command)) (define -> osc-send) hunk ./server/status.ss 1 -;; status.scm - (c) rohan drape, 2006-2007 +;; status.ss - (c) rohan drape, 2006-2007 hunk ./server/status.ss 3 -(module status scheme/base - -(require (only-in "../collection/list.scm" - intersperse) - (only-in "command.scm" - /status) - (only-in "server.scm" - -><)) - -(provide (all-defined-out)) +(library (rsc3 server status) +(export) +(import (rnrs) + (only (rsc3 collection list) intersperse) + (only (rsc3 server command) /status) + (only (rsc3 server server) -><)) (define status-fields (list "# UGens " hunk ./structure/structure.ss 1 -;; structure.scm - (c) rohan drape, 2000-2007 +;; structure.ss - (c) rohan drape, 2000-2007 hunk ./structure/structure.ss 3 -(module structure scheme/base - -(provide define-structure) +(library (rsc3 structure structure) +(export define-structure) +(import (rnrs) + (rnrs records syntactic)) (define-syntax define-structure (syntax-rules () hunk ./structure/structure.ss 11 ((_ name field ...) - (define-struct name (field ...) #:mutable #:inspector (make-inspector))))) + (define-record-type name (fields field ...))))) ) hunk ./supercollider/envelope.ss 1 -;; envelope.scm - (c) rohan drape, 2003-2007 +;; envelope.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/envelope.ss 3 -(module envelope scheme/base - -(require (only-in "../collection/list.scm" - extend - splice - take-cycle) - (only-in "../collection/series.scm" - d->dx**) - "../graphdef/mce.scm" - (only-in "../ugen/operator.scm" - Mul - Sub)) - -(provide (all-defined-out)) +(library (rsc3 supercollider envelope) +(export env env/perc) +(import (rnrs) + (only (rsc3 collection list) extend splice take-cycle) + (only (rsc3 collection series) d->dx**) + (rsc3 graphdef mce) + (only (rsc3 ugen operator) Mul Sub)) ;; A curve specification is either a or a . If it is ;; a string it must name a known curve type. For numerical valued hunk ./supercollider/in.ss 1 -;; in.scm - (c) rohan drape, 2003-2007 +;; in.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/in.ss 3 -(module in scheme/base - -(require "../graphdef/mce.scm" - "../graphdef/rate.scm" - "../ugen/operator.scm" - "../ugen/oscillator.scm" - "../ugen/specialized.scm") - -(provide (all-defined-out)) +(library (rsc3 supercollider in) +(export audioin) +(import (rnrs) + (rsc3 graphdef mce) + (rsc3 graphdef rate) + (rsc3 ugen operator) + (rsc3 ugen oscillator) + (rsc3 ugen specialized)) ;; Audio input. Does not support MulAdd. hunk ./supercollider/klang.ss 1 -;; klang.scm - (c) rohan drape, 2003-2007 +;; klang.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/klang.ss 3 -(module klang scheme/base - -(require "../collection/list.scm" - "../graphdef/mce.scm") - -(provide klang-data klank-data) +(library (rsc3 supercollider klang) +(export klang-data klank-data) +(import (rnrs) + (rsc3 collection list) + (rsc3 graphdef mce)) ;; Generate a 'spec' list for a Klang UGen. `freqs' is a list that ;; determines the number of partials, `amps' and `phases' are possibly hunk ./supercollider/mix.ss 1 -;; mix.scm - (c) rohan drape, 2003-2007 +;; mix.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/mix.ss 3 -(module mix scheme/base - -(require (only-in srfi/1 - list-tabulate) - (only-in "../collection/list.scm" - foldl1) - (only-in "../graphdef/mce.scm" - make-mce - mce-channels - mce?) - (only-in "../ugen/operator.scm" - Add)) - -(provide (all-defined-out)) +(library (rsc3 supercollider mix) +(export mix mce/fill mix/fill) +(import (rnrs) + (only (SRFI-1) list-tabulate) + (only (rsc3 collection list) foldl1) + (only (rsc3 graphdef mce) make-mce mce-channels mce?) + (only (rsc3 ugen operator) Add)) ;; Mix the UGen at `inputs'. This is an idiom over the binary math ;; operator 'Add'. hunk ./supercollider/name.ss 3 ;; name.scm - (c) rohan drape, 2003-2007 -(module name scheme/base - -(provide (all-defined-out)) +(library (rsc3 supercollider name) +(export ugen-name/operator) +(import (rnrs)) (define unary-operator-names '(Neg Not IsNil NotNil BitNot Abs AsFloat AsInt Ceil Floor Frac Sign Squared Cubed Sqrt Exp Recip hunk ./supercollider/play.ss 1 -;; play.scm - (c) rohan drape, 2003-2007 +;; play.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/play.ss 3 -(module play scheme/base - -(require (only-in "../server/command.scm" - /d_recv - /s_new) - (only-in "../server/server.scm" - -> - -><) - (only-in "../graphdef/graphdef.scm" - graphdef? - graphdef->u8l - graphdef-name) - (only-in "synthdef.scm" - ugen->graphdef/out)) - -(provide (all-defined-out)) +(library (rsc3 supercollider play) +(export play) +(import (rnrs) + (only (rsc3 server command) /d_recv /s_new) + (only (rsc3 server server) -> -><) + (only (rsc3 graphdef graphdef) graphdef? graphdef->u8l graphdef-name) + (only (rsc3 supercollider synthdef) ugen->graphdef/out)) ;; Play the graph rooted at the `u' at the server `s'. hunk ./supercollider/quantize.ss 1 -;; quantize.scm - (c) rohan drape, 2005-2007 +;; quantize.ss - (c) rohan drape, 2005-2007 hunk ./supercollider/quantize.ss 3 -(module quantize scheme/base - -(require (only-in "../math/exact.scm" - round-exact)) - -(provide quantize) +(library (rsc3 supercollider quantize) +(export quantize) +(import (rnrs) + (only (rsc3 math exact) round-exact)) ;; Quantize `n' to the nearest multiple of `quanta'. hunk ./supercollider/range.ss 1 -;; range.scm - (c) rohan drape, 2006-2007 +;; range.ss - (c) rohan drape, 2006-2007 hunk ./supercollider/range.ss 3 -(module range scheme/base - -(require (only-in "../graphdef/ugen.scm" - ugen-name) - (only-in "../ugen/filter.scm" - LinExp - MulAdd) - (only-in "../ugen/operator.scm" - Sub - Mul - Add)) - -(provide (all-defined-out)) +(library (rsc3 supercollider range) +(export unipolar? range exprange) +(import (rnrs) + (only (rsc3 graphdef ugen) ugen-name) + (only (rsc3 ugen filter) LinExp MulAdd) + (only (rsc3 ugen operator) Add Mul Sub)) (define (unipolar? u) (member (ugen-name u) hunk ./supercollider/score.ss 1 -;; score.scm - (c) rohan drape, 2004-2007 +;; score.ss - (c) rohan drape, 2004-2007 hunk ./supercollider/score.ss 3 -(module score scheme/base - -(require (only-in "../collection/tree.scm" - flatten) - (only-in "../osc/encode.scm" - osc->u8l) - (only-in "../u8/u8l.scm" - i32->u8l)) - -(provide (all-defined-out)) +(library (rsc3 supercollider score) +(export score->u8l) +(import (rnrs) + (only (rsc3 collection tree) flatten) + (only (rsc3 osc encode) osc->u8l) + (only (rsc3 u8 u8l) i32->u8l)) ;; A score is a list of OSC bundles. The timestamps are given in ;; seconds where zero is the start of the score. An OSC file is a hunk ./supercollider/sndfile.ss 1 -;; sndfile.scm - (c) rohan drape, 2006-2007 +;; sndfile.ss - (c) rohan drape, 2006-2007 hunk ./supercollider/sndfile.ss 3 -(module sndfile scheme/base - -(require (only-in "../mzscheme/r6rs.ss" - put-u8) - (only-in srfi/1 - append-map) - (only-in "../u8/u8l.scm" - i32->u8l - f32->u8l - f64->u8l)) - -(provide (all-defined-out)) +(library (rsc3 supercollider sndfile) +(export write-snd-file au-f32) +(import (rnrs) + (only (SRFI-1) append-map) + (only (rsc3 collection tree) flatten) + (only (rsc3 osc encode) osc->u8l) + (only (rsc3 u8 u8l) i32->u8l f32->u8l f64->u8l)) (define au-magic #x2e736e64) hunk ./supercollider/spec.ss 1 -;; spec.scm - (c) rohan drape, 2004-2007 +;; spec.ss - (c) rohan drape, 2004-2007 hunk ./supercollider/spec.ss 3 -(module spec scheme/base - -(require (only-in "../structure/structure.scm" - define-structure) - "../math/clip.scm" - "../math/constants.scm" - "warp.scm") - -(provide (all-defined-out)) +(library (rsc3 supercollider spec) +(export make-spec* spec-map spec-unmap symbol->spec) +(import (rnrs) + (only (SRFI-1) append-map) + (only (rsc3 math clip) clip) + (only (rsc3 math constants) two-pi) + (rsc3 supercollider warp)) ;; An interface to the warp procedures. hunk ./supercollider/spec.ss 13 -(define-structure spec minima maxima warp range ratio) +(define-record-type spec (fields minima maxima warp range ratio)) (define (make-spec* minima maxima warp) (let ((w (if (symbol? warp) (symbol->warp warp) warp))) hunk ./supercollider/synthdef.ss 1 -;; synthdef.scm - (c) rohan drape, 2003-2007 +;; synthdef.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/synthdef.ss 3 -(module synthdef scheme/base - -(require (only-in "../server/command.scm" - /d_recv) - (only-in "../server/server.scm" - -><) - (only-in "../graphdef/graphdef.scm" - graphdef->u8l) - (only-in "../graphdef/letc.scm" - letc) - (only-in "../graphdef/mce.scm" - mce?) - (only-in "../graphdef/rate.scm" - kr) - (only-in "../graphdef/ugen.scm" - ugen? - ugen-outputs) - (only-in "../ugen/graph.scm" - graph->graphdef) - (only-in "../ugen/filter.scm" - Out)) - -(provide (all-defined-out)) +(library (rsc3 supercollider synthdef) +(export synthdef send-synth ugen->graphdef/out) +(import (rnrs) + (only (rsc3 server command) /d_recv) + (only (rsc3 server server) -><) + (only (rsc3 graphdef graphdef) graphdef->u8l) + (only (rsc3 graphdef letc) letc) + (only (rsc3 graphdef mce) mce?) + (only (rsc3 graphdef rate) kr) + (only (rsc3 graphdef ugen) ugen? ugen-outputs) + (only (rsc3 ugen graph) graph->graphdef) + (only (rsc3 ugen filter) Out)) ;; Transform a into a . hunk ./supercollider/synthdef.ss 37 ;; A large positive integer that can be used as an argument to ;; synthdefs. -(define +inf.sc 9.0e8) +(define inf.sc 9.0e8) ) hunk ./supercollider/warp.ss 1 -;; warp.scm - (c) rohan drape, 2003-2007 +;; warp.ss - (c) rohan drape, 2003-2007 hunk ./supercollider/warp.ss 3 -(module warp scheme/base - -(require "../math/constants.scm" - "../math/gain.scm" - "../math/exact.scm") - -(provide symbol->warp) +(library (rsc3 supercollider warp) +(export symbol->warp) +(import (rnrs) + (rsc3 math constants) + (rsc3 math gain) + (rsc3 math exact)) ;; A warp is a procedure of two arguments. The first is the ;; direction of the warp, which should be either 'map' or 'unmap'. addfile ./u8/decode.ss hunk ./u8/decode.ss 1 +;; decode.ss - (c) rohan drape, 2001-2007 + +(library (rsc3 u8 decode) +(export decode-i8 decode-i16 decode-i32 decode-i64 + decode-u8 decode-u16 decode-u32 decode-u64 + decode-f32 decode-f64 + decode-pstr decode-cstr + section) +(import (rnrs) + (rnrs bytevectors)) + +(define (decode-u8 v) (bytevector-u8-ref v 0)) +(define (decode-u16 v) (bytevector-u16-ref v 0)) +(define (decode-u32 v) (bytevector-u32-ref v 0)) +(define (decode-u64 v) (bytevector-u64-ref v 0)) +(define (decode-i8 v) (bytevector-s8-ref v 0)) +(define (decode-i16 v) (bytevector-s16-ref v 0)) +(define (decode-i32 v) (bytevector-s32-ref v 0)) +(define (decode-i64 v) (bytevector-s64-ref v 0)) +(define (decode-f32 v) (bytevector-ieee-single-ref v 0)) +(define (decode-f64 v) (bytevector-ieee-double-ref v 0)) + +;; inclusive, exclusive + +(define (section v l r) + (let* ((n (- r l)) + (w (make-bytevector n 0))) + (bytevector-copy! v l w 0 n) + w)) + +(define (decode-str v) + (let ((l (bytevector->u8-list v))) + (list->string (map integer->char l)))) + +(define (decode-pstr v) + (let* ((n (decode-u8 v)) + (w (section v 1 (+ n 1)))) + (decode-str w))) + +(define (index v x) + (letrec ((f (lambda (i) + (if (= (bytevector-u8-ref v i) x) + i + (f (+ i 1)))))) + (f 0))) + +(define (decode-cstr v) + (let* ((n (index v 0)) + (w (section v 0 n))) + (decode-str w))) + +) addfile ./u8/encode.ss hunk ./u8/encode.ss 1 +;; encode.ss - (c) rohan drape, 2001-2007 + +(library (rsc3 u8 encode) +(export encode-i8 encode-i16 encode-i32 encode-i64 + encode-u8 encode-u16 encode-u32 encode-u64 + encode-f32 encode-f64 + encode-cstr encode-pstr) +(import (rnrs) + (rnrs bytevectors)) + +(define be (endianness big)) +(define (bv n) (make-bytevector n 0)) + +(define (encode-u8 n) (bytevector-u8-set! (bv 1) 0 n be)) +(define (encode-u16 n) (bytevector-u16-set! (bv 2) 0 n be)) +(define (encode-u32 n) (bytevector-u32-set! (bv 4) 0 n be)) +(define (encode-u64 n) (bytevector-u64-set! (bv 8) 0 n be)) +(define (encode-i8 n) (bytevector-u8-set! (bv 1) 0 n be)) +(define (encode-i16 n) (bytevector-s16-set! (bv 2) 0 n be)) +(define (encode-i32 n) (bytevector-s32-set! (bv 4) 0 n be)) +(define (encode-i64 n) (bytevector-s64-set! (bv 8) 0 n be)) +(define (encode-f32 n) (bytevector-ieee-single-set! (bv 4) 0 n be)) +(define (encode-f64 n) (bytevector-ieee-double-set! (bv 8) 0 n be)) + +(define (encode-str s) + (u8-list->bytevector + (map char->integer (string->list s)))) + +(define (encode-pstr s) + (u8-list->bytevector + (cons (string-length s) (map char->integer (string->list s))))) + +(define (encode-cstr s) + (u8-list->bytevector + (append (map char->integer (string->list s)) (list 0)))) + +) hunk ./u8/int.ss 1 -;; int.scm - (c) rohan drape, 2006-2007 +;; int.ss - (c) rohan drape, 2006-2007 hunk ./u8/int.ss 3 -(module int scheme/base - -(require (only-in "../mzscheme/r6rs.ss" - fxand - fxarithmetic-shift-left - fxarithmetic-shift-right) - (only-in srfi/1 - fold - iota)) - -(provide int->u8l - u8l->int) +(library (rsc3 u8 int) +(export int->u8l u8l->int) +(import (rnrs) + (only (SRFI-1) fold iota)) (define (byte n i) (fxand (fxarithmetic-shift-right i n) #xFF)) hunk ./u8/np.ss 1 -;; np.scm - (c) rohan drape, 2005-2007 +;; np.ss - (c) rohan drape, 2005-2007 hunk ./u8/np.ss 3 -(module np scheme/base - -(require (only-in "../mzscheme/r6rs.ss" - get-u8 - put-u8) - (only-in "../collection/tree.scm" - flatten - mapt) - (only-in "../structure/structure.scm" - define-structure) - "u8l.scm") - -(provide u8 - u16 - i16 - u32 - i32 - u64 - i64 - f32 - f64 - read-u16 - read-i16 - read-u32 - read-i32 - read-u64 - read-i64 - read-f32 - read-f64 - pstr - cstr - bstr - read-pstr - read-cstr - np->u8l - npt->u8l) +(library (rsc3 u8 np) +(export u8 u16 i16 u32 i32 u64 i64 f32 f64 + read-u16 read-i16 read-u32 read-i32 read-u64 read-i64 read-f32 read-f64 + pstr cstr bstr + read-pstr read-cstr + np->u8l npt->u8l) +(import (rnrs) + (only (rsc3 collection tree) flatten mapt) + (rsc3 u8 u8l)) ;; Network protocol. hunk ./u8/np.ss 15 -(define-structure np tag value) +(define-record-type np (fields tag value)) ;; Tags :: symbol hunk ./u8/u8.ss 1 -;; u8.scm - (c) rohan drape, 2006-2007 +;; u8.ss - (c) rohan drape, 2006-2007 hunk ./u8/u8.ss 3 -(module u8 scheme/base - -(provide u8? - u8->i8 - i8->u8) +(library (rsc3 u8 u8) +(export u8? u8->i8 i8->u8) +(import (rnrs)) (define (u8? b) (and (integer? b) hunk ./u8/u8l.ss 1 -;; u8l.scm - (c) rohan drape, 2001-2007 +;; u8l.ss - (c) rohan drape, 2001-2007 hunk ./u8/u8l.ss 3 -(module u8l scheme/base - -(require (only-in "../mzscheme/r6rs.ss" - make-bytevector - bytevector-ieee-single-set! - bytevector-ieee-double-set! - bytevector->u8-list - u8-list->bytevector - bytevector-length - bytevector-ieee-single-ref - bytevector-ieee-double-ref - endianness - open-bytevector-input-port - call-with-bytevector-output-port - get-u8 - put-u8 - lookahead-u8) - (only-in srfi/1 - every - iota - list-index - take) - (only-in srfi/39 - parameterize) - (only-in "u8.scm" - i8->u8 - u8? - u8->i8) - (only-in "int.scm" - int->u8l - u8l->int)) - -(provide u8l? - u8l->int - int->u8l - i8->u8l - i16->u8l - i32->u8l - i64->u8l - u8->u8l - u16->u8l - u32->u8l - u64->u8l - f32->u8l - f64->u8l - u8l->i8 - u8l->i16 - u8l->i32 - u8l->i64 - u8l->u8 - u8l->u16 - u8l->u32 - u8l->u64 - u8l->f32 - u8l->f64 - cstr->u8l - pstr->u8l - u8l->pstr - u8l->cstr - str->u8l - u8l->str - read-u8l - read-cstr - read-pstr - read-i16 - read-i32 - read-i64 - read-u16 - read-u32 - read-u64 - read-f32 - read-f64 +(library (rsc3 u8 u8l) +(export u8l? u8l->int int->u8l + i8->u8l i16->u8l i32->u8l i64->u8l + u8->u8l u16->u8l u32->u8l u64->u8l + f32->u8l f64->u8l + u8l->i8 u8l->i16 u8l->i32 u8l->i64 + u8l->u8 u8l->u16 u8l->u32 u8l->u64 + u8l->f32 u8l->f64 + cstr->u8l pstr->u8l + u8l->pstr u8l->cstr + str->u8l u8l->str + read-u8l + read-cstr read-pstr + read-i16 read-i32 read-i64 + read-u16 read-u32 read-u64 + read-f32 read-f64 read-bstr write-u8l file->u8l hunk ./u8/u8l.ss 24 with-input-from-u8l with-output-to-u8l) +(import (rnrs) + (only (ikarus) parameterize) + (only (SRFI-1) every iota list-index take) + (only (rsc3 u8 u8) i8->u8 u8? u8->i8) + (only (rsc3 u8 int) int->u8l u8l->int)) (define (real->u8l x size) (let* ((n (/ size 8)) hunk ./u8/u8l.ss 34 (v (make-bytevector n 0))) (if (= n 4) - (bytevector-ieee-single-set! v 0 x (endianness 'big)) - (bytevector-ieee-double-set! v 0 x (endianness 'big))) + (bytevector-ieee-single-set! v 0 x (endianness big)) + (bytevector-ieee-double-set! v 0 x (endianness big))) (bytevector->u8-list v))) (define (u8l->real l) hunk ./u8/u8l.ss 41 (let ((v (u8-list->bytevector l))) (if (= (bytevector-length v) 4) - (bytevector-ieee-single-ref v (endianness 'big)) - (bytevector-ieee-double-ref v (endianness 'big))))) + (bytevector-ieee-single-ref v (endianness big)) + (bytevector-ieee-double-ref v (endianness big))))) (define (with-input-from-u8l l f) (parameterize hunk ./u8/u8v.ss 3 ;; u8v.scm - (c) rohan drape, 2006-2007 -(module u8v scheme/base +(library (rsc3 u8 u8v) +(export u8v? + i8->u8v i16->u8v i32->u8v i64->u8v + u8->u8v u16->u8v u32->u8v u64->u8v + f32->u8v f64->u8v + u8v->i8 u8v->i16 u8v->i32 u8v->i64 + u8v->u8 u8v->u16 u8v->u32 u8v->u64 + u8v->f32 u8v->f64 + u8v->str str->u8v + file->u8v) +(import (rnrs) + (only (SRFI-1) every) + (only (rsc3 u8 u8) u8? i8->u8 u8->i8) + (rsc3 u8 u8l)) hunk ./u8/u8v.ss 18 -(require (only-in srfi/43 - vector-every) - (only-in "u8.scm" - u8? - i8->u8 - u8->i8) - "u8l.scm") - -(provide u8v? - i8->u8v - i16->u8v - i32->u8v - i64->u8v - u8->u8v - u16->u8v - u32->u8v - u64->u8v - f32->u8v - f64->u8v - u8v->i8 - u8v->i16 - u8v->i32 - u8v->i64 - u8v->u8 - u8v->u16 - u8v->u32 - u8v->u64 - u8v->f32 - u8v->f64 - u8v->str - str->u8v - file->u8v) +(define (vector-every f v) + (every f (vector->list v))) (define (u8v? v) (and (vector? v) hunk ./ugen/constructor.ss 1 -;; constructor.scm - (c) rohan drape, 2005-2007 +;; constructor.ss - (c) rohan drape, 2005-2007 hunk ./ugen/constructor.ss 3 -(module constructor scheme/base - -(require (only-in srfi/1 - make-list) - "../graphdef/output.scm" - "../graphdef/rate.scm" - "../graphdef/rate-of.scm" - "../graphdef/ugen.scm" - "mce.scm" - "proxied.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen constructor) +(export construct-ugen) +(import (rnrs) + (only (SRFI-1) make-list) + (rsc3 graphdef output) + (rsc3 graphdef rate) + (rsc3 graphdef rate-of) + (rsc3 graphdef ugen) + (rsc3 ugen mce) + (rsc3 ugen proxied)) ;; name = | ;; rate? = | #f hunk ./ugen/filter.ss 1 -;; filter.scm - (c) rohan drape, 2005-2007 +;; filter.ss - (c) rohan drape, 2005-2007 hunk ./ugen/filter.ss 3 -(module filter scheme/base - -(require (only-in srfi/23 - error) - "../graphdef/id.scm" - "../graphdef/mce.scm" - "../graphdef/rate-of.scm" - "constructor.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen filter) +(export LinExp MulAdd Out) +(import (rnrs) + (rsc3 graphdef id) + (rsc3 graphdef mce) + (rsc3 graphdef rate-of) + (rsc3 ugen constructor)) (define-syntax define-filter (syntax-rules () hunk ./ugen/graph.ss 1 -;; graph.scm - (c) rohan drape, 2003-2007 +;; graph.ss - (c) rohan drape, 2003-2007 hunk ./ugen/graph.ss 3 -(module graph scheme/base - -(require (only-in srfi/1 - make-list - delete-duplicates) - (only-in srfi/23 - error) - "../collection/list.scm" - "../graphdef/graphdef.scm" - "../graphdef/mce.scm" - "../graphdef/mrg.scm" - "../graphdef/control.scm" - "../graphdef/proxy.scm" - "../graphdef/ugen.scm" - "implicit.scm" - "input.scm" - "mce.scm" - "proxied.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen graph) +(export graph->graphdef) +(import (rnrs) + (only (SRFI-1) make-list delete-duplicates) + (rsc3 collection list) + (rsc3 graphdef graphdef) + (rsc3 graphdef mce) + (rsc3 graphdef mrg) + (rsc3 graphdef control) + (rsc3 graphdef proxy) + (rsc3 graphdef ugen) + (rsc3 ugen implicit) + (rsc3 ugen input) + (rsc3 ugen mce) + (rsc3 ugen proxied)) ;; Return the of all elements of the UGen graph rooted at `u'. ;; Nodes are values of type |||. hunk ./ugen/implicit.ss 1 -;; implicit.scm - (c) rohan drape, 2005-2007 +;; implicit.ss - (c) rohan drape, 2005-2007 hunk ./ugen/implicit.ss 3 -(module implicit scheme/base - -(require (only-in srfi/1 - make-list) - "../graphdef/id.scm" - "../graphdef/output.scm" - "../graphdef/rate.scm" - "../graphdef/ugen.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen implicit) +(export implicit-ugen) +(import (rnrs) + (only (SRFI-1) make-list) + (rsc3 graphdef id) + (rsc3 graphdef output) + (rsc3 graphdef rate) + (rsc3 graphdef ugen)) ;; Gloss, k-rate only, no lag. hunk ./ugen/input.ss 1 -;; input.scm - (c) rohan drape, 2005-2006 +;; input.ss - (c) rohan drape, 2005-2007 hunk ./ugen/input.ss 3 -(module input scheme/base - -(require (only-in srfi/1 - make-list - list-index) - (only-in srfi/23 - error) - (only-in srfi/26 - cut) - "../graphdef/input.scm" - "../graphdef/control.scm" - "../graphdef/proxy.scm" - "../graphdef/mce.scm" - "../graphdef/mrg.scm" - "../graphdef/ugen.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen input) +(export input*->input control*->control) +(import (rnrs) + (only (SRFI-1) make-list list-index) + (rsc3 graphdef input) + (rsc3 graphdef graphdef) + (rsc3 graphdef control) + (rsc3 graphdef mce) + (rsc3 graphdef mrg) + (rsc3 graphdef proxy) + (rsc3 graphdef ugen)) ;; In the context of graphdef serialization inputs must be ;; re-written into an form. hunk ./ugen/input.ss 19 (define (calculate-index n nn) - (let ((i (list-index (cut equal? <> n) nn))) + (let ((i (list-index (lambda (e) (equal? e n)) nn))) (if (not i) (error "calculate-index: not located" n nn) i))) hunk ./ugen/mce.ss 1 -;; mce.scm - (c) rohan drape, 2005-2007 +;; mce.ss - (c) rohan drape, 2005-2007 hunk ./ugen/mce.ss 3 -(module mce scheme/base - -(require (only-in srfi/1 - make-list) - "../collection/list.scm" - "../graphdef/mce.scm" - "../graphdef/ugen.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen mce) +(export mced mce-l) +(import (rnrs) + (only (SRFI-1) make-list) + (rsc3 collection list) + (rsc3 graphdef mce) + (rsc3 graphdef ugen)) (define (mce-degree m) (length (mce-channels m))) hunk ./ugen/operator.ss 1 -;; operator.scm - (c) rohan drape, 2005-2007 +;; operator.ss - (c) rohan drape, 2005-2007 hunk ./ugen/operator.ss 3 -(module operator scheme/base - -(require "../collection/list.scm" - "../math/common.scm" - "../math/gain.scm" - "../math/log.scm" - "../math/pitch.scm" - "../graphdef/id.scm" - "../random/range.scm" - "constructor.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen operator) +(export Add Mul Sub) +(import (rnrs) + (rsc3 collection list) + (rsc3 math common) + (rsc3 math gain) + (rsc3 math log) + (rsc3 math pitch) + (rsc3 graphdef id) + (rsc3 ugen constructor)) ;; Operators may, when applied to numbers, yield numbers. hunk ./ugen/operator.ss 61 (define-unary-operator SinH 34 #f) (define-unary-operator CosH 35 #f) (define-unary-operator TanH 36 #f) -(define-unary-operator _Rand 37 _rand) -(define-unary-operator Rand2 38 rand2) +(define-unary-operator _Rand 37 #f) ;;_rand +(define-unary-operator Rand2 38 #f) ;;rand2 (define-unary-operator _LinRand 39 #f) (define-unary-operator BiLinRand 40 #f) (define-unary-operator Sum3Rand 41 #f) hunk ./ugen/oscillator.ss 1 -;; oscillator.scm - (c) rohan drape, 2005-2007 +;; oscillator.ss - (c) rohan drape, 2005-2007 hunk ./ugen/oscillator.ss 3 -(module oscillator scheme/base - -(require (only-in srfi/1 - drop - take) - (only-in srfi/23 - error) - "../graphdef/id.scm" - "constructor.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen oscillator) +(export In SinOsc) +(import (rnrs) + (only (SRFI-1) drop take) + (rsc3 graphdef id) + (rsc3 ugen constructor)) (define-syntax define-oscillator (syntax-rules () hunk ./ugen/proxied.ss 1 -;; proxied.scm - (c) rohan drape, 2005-2007 +;; proxied.ss - (c) rohan drape, 2005-2007 hunk ./ugen/proxied.ss 3 -(module proxied scheme/base - -(require (only-in srfi/1 - iota) - "../graphdef/mce.scm" - "../graphdef/proxy.scm" - "../graphdef/ugen.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen proxied) +(export proxied) +(import (rnrs) + (only (SRFI-1) iota) + (rsc3 graphdef mce) + (rsc3 graphdef proxy) + (rsc3 graphdef ugen)) (define (proxied u) (cond hunk ./ugen/specialized.ss 1 -;; specialized.scm - (c) rohan drape, 2005-2007 +;; specialized.ss - (c) rohan drape, 2005-2007 hunk ./ugen/specialized.ss 3 -(module specialized scheme/base - -(require (only-in srfi/23 - error) - "../graphdef/id.scm" - "../graphdef/rate.scm" - "constructor.scm") - -(provide (all-defined-out)) +(library (rsc3 ugen specialized) +(export NumOutputBuses) +(import (rnrs) + (rsc3 graphdef id) + (rsc3 graphdef rate) + (rsc3 ugen constructor)) (define-syntax define-specialized (syntax-rules () } Context: [Add further fields to info.ss Rohan Drape **20071121040024] [Minor edits to README Rohan Drape **20071121040004] [Delete Makefile Rohan Drape **20071121030849] [Edits to support mzscheme v3.99.0.2 Rohan Drape **20071114051227 The R5RS libraries use mutable cons cells, the SRFI libraries use immutable cons cells, and so cannot communicate. The core mzscheme modules (r6rs and udp) cannot be based on r5rs so the main modules were shifted to scheme/base. Also require forms are renamed. Other minor edits. ] [Edit emacs mode to look in ./Help (not ./help) Rohan Drape **20070722131345] [Use r6rs error form in place of srfi error form Rohan Drape **20070722015730] [Implement with-output-to-u8l Rohan Drape **20070722014651] [Use r6rs list-sort in place of mzscheme sort Rohan Drape **20070722014624] [Add further names to r6rs.ss Rohan Drape **20070722014602] [Add r6rs name for bitwise-xor Rohan Drape **20070721122557] [Simplify README file Rohan Drape **20070721025137] [Delete tcp.ss uses Rohan Drape **20070720124821] [Use mzscheme/r6rs.ss in place of bits.ss and bytes.ss Rohan Drape **20070720124724] [Delete mzscheme/tcp.ss Rohan Drape **20070720124712] [Implement mzscheme/r6rs.ss Rohan Drape **20070720124652] [Delete mzscheme/bytes.ss Rohan Drape **20070720124639] [Delete mzscheme/bits.ss Rohan Drape **20070720124628] [Modify imports to reflect directory layout changes Rohan Drape **20070719110729] [Delete ./rsc3 directory (emptied) Rohan Drape **20070719110711] [Delete ./audio directory and audio/metal.wav Rohan Drape **20070719110639] [Delete old and unused ChangeLog Rohan Drape **20070719110540] [Delete COPYING file, url is given in README Rohan Drape **20070719110458] [Move ./rsc3/* to ./ Rohan Drape **20070719110421] [Rename module to mzscheme Rohan Drape **20070719110400] [Rename help to Help Rohan Drape **20070719110347] [Delete rsc3/schedule, moved to separate package Rohan Drape **20070710125708] [Rename rsc to rsc3 Rohan Drape **20070710124220 Edits to file names, module names and emacs mode ] [Delete unused import at u8/np.scm Rohan Drape **20070709135100] [Fix SampleRate uses in help files, it is specialized to ir Rohan Drape **20070709122918] [Delete category level module re-exports Rohan Drape **20070709121609] [Fix encode-bundle to support nil timestamp Rohan Drape **20070709121230] [Refine import statements at scheme/graphdef Rohan Drape **20070628145118] [Edit clean rule at makefile to reflect module changes Rohan Drape **20070628101647] [Edit module/*.ss to reflect that all source files are now modules Rohan Drape **20070628101557] [Fix error in import list at graphdef/letc Rohan Drape **20070628094212] [scheme/supercollider: write as plt modules Rohan Drape **20070628094146] [scheme/ugen: write as plt modules Rohan Drape **20070628091636] [scheme/schedule: write as plt modules Rohan Drape **20070628081846] [Add scheme/graphdef/rate-of.scm module Rohan Drape **20070628081010] [scheme/graphdef: write as plt module Rohan Drape **20070628080820] [scheme/server: write as plt modules Rohan Drape **20070628074855] [scheme/osc: write as plt modules Rohan Drape **20070628074040] [scheme/math: write as plt modules Rohan Drape **20070628064521] [scheme/structure: write as plt module Rohan Drape **20070628064450] [scheme/u8: write as plt modules Rohan Drape **20070628064407] [scheme/random: write as plt modules Rohan Drape **20070628064306] [scheme/ntp: write as plt module Rohan Drape **20070628064159] [scheme/collection: write as plt modules Rohan Drape **20070628064100] [scheme/buffer: write as plt modules Rohan Drape **20070628063901] [Implement rsc-load-dot-rsc switch at rsc.el Rohan Drape **20070624041201] [Simplify definition of d->dx Rohan Drape **20070318044727] [Initial implementation of OSC over TCP (incomplete) Rohan Drape **20070309054826] [Edits to InFeedback help file, use private bus Rohan Drape **20070224025926] [Add definition for ControlRate information UGen Rohan Drape **20070224025846] [Track changes to sclang Compander help file Rohan Drape **20070223002006] [Fix error in SendTrig help file Rohan Drape **20070222014840] [Add example to b_query help file Rohan Drape **20070222014825] [Add remaining server command help files Rohan Drape **20061221014124] [Minor help file edits Rohan Drape **20061221014103] [Add example at RandID help file Rohan Drape **20061220075702] [Implement and add help file for SubsampleOffset Rohan Drape **20061220073857] [Add example at SampleDur help file Rohan Drape **20061220073831] [Add scheme/server/status.scm modelled on Sound.SC3.Server.Status Rohan Drape **20061220073742] [Edits to filter UGen help files Rohan Drape **20061220053114] [Use constants for doneAction at Line and XLine in help files Rohan Drape **20061220052343] [Add missing unary operator UGen help files Rohan Drape **20061220042638] [Add missing binary operator UGen help files Rohan Drape **20061220031151] [Tidy scheme/collection/list, delete unused procedures Rohan Drape **20061219023430] [Information UGens are specialized to initialization rate Rohan Drape **20061219012913] [Add COsc help file Rohan Drape **20061218231150] [PlayBuf is specialized to audio rate Rohan Drape **20061218230151] [InFeedback is specialized to audio rate Rohan Drape **20061218224856] [Implement LagIn and add help file Rohan Drape **20061218224523 LagIn is specialized to control rate ] [InTrig is specialized to control rate Rohan Drape **20061218223938] [Fix error in curve->shape Rohan Drape **20061218082753] [Trivial help file edits Rohan Drape **20061218055238] [Implement BufRd[CLN] variants Rohan Drape **20061218055202] [Add rate argument to oscillator UGen help files Rohan Drape **20061218044628] [Re-order channel count specifiers to front Rohan Drape **20061218043934 For UGens with variable numbers of output channels make the chanel count the first argument to the UGen constructor in all cases, prior to the rate argument for oscillators. ] [Add further binary operator UGen help files Rohan Drape **20061210095608] [Add Pow help file Rohan Drape **20061210094341] [Various minor help file edits Rohan Drape **20061209060503] [Edits to FFT UGen help files Rohan Drape **20061208134146] [Fix definition of Convolution2 Rohan Drape **20061208122021] [Add Convolution2 help file Rohan Drape **20061208121957] [Fix Convolution help file Rohan Drape **20061208121942] [Convolution2 is not a filter Rohan Drape **20061208115417] [Implement Convolution UGen Rohan Drape **20061208043837] [Edits to Latoocarfian help files Rohan Drape **20061203233319] [Add example indicating sharing decision at Dgeom Rohan Drape **20061203065833] [All demand rate UGens are unshared Rohan Drape **20061203065741] [Demand UGen help file edits Rohan Drape **20061203063118] [Demand is a keyed filter Rohan Drape **20061203062958 The UGen rate is determined by the rate of the trigger input. ] [Add partial help file for DemandEnvGen UGen Rohan Drape **20061203024840] [Provide scramble as an alias for shuffle Rohan Drape **20061203024755] [Fix definition of DemandEnvGen Rohan Drape **20061203021528] [Fix error in rate->ordinal Rohan Drape **20061203021342] [Add help file for Dbufrd UGen Rohan Drape **20061203013242] [Implement Dbufrd UGen Rohan Drape **20061203013229] [Implement randxl and choosel Rohan Drape **20061203013156] [Add help files for Standard[LN] UGens Rohan Drape **20061203010114] [Fix definitions of Standard[LN] UGens Rohan Drape **20061203010027] [Add help files for LinCong[CLN] UGens Rohan Drape **20061203005138] [Fix implementation of LinCong[CLN] UGens Rohan Drape **20061203005108] [Fixes to Latoocarfian[CLN] help files Rohan Drape **20061203004111] [Add Gbman[CLN] help files Rohan Drape **20061203003311] [Rename ATan2 help file to Atan2 Rohan Drape **20061202085501] [Edit Compander help file Rohan Drape **20061202085229] [Add BufWr help file Rohan Drape **20061202015635] [Edits to LFCub help file Rohan Drape **20061202015622] [Edits to Index and Shaper help files Rohan Drape **20061201114536] [Fix DiskIn help file Rohan Drape **20061201114520] [Fix definition of /b_close Rohan Drape **20061201114453] [Edit Gendy1 help file Rohan Drape **20061126023805] [Edit Normalizer help file Rohan Drape **20061126023746] [Edit FOS help file Rohan Drape **20061126023732] [Fix error in Drand help file Rohan Drape **20061118063531] [Add help files for d_free, u_cmd and nrt_end Rohan Drape **20061112034819] [Add notes on rate restrictions at LinLin and LinExp Rohan Drape **20061101125659] [Add Dust to list of unipolar UGens Rohan Drape **20061101113456] [Minor help file edits Rohan Drape **20061101113317] [Implement range and exprange UGen transformers Rohan Drape **20061101113156] [Add LinExp help file and fix example in LinLin help file Rohan Drape **20061101113119] [Add BRZ2 help file Rohan Drape **20061101105341] [Add help files for HenonN and variants Rohan Drape **20061031104440] [Define env/bp* for non-linear envelopes Rohan Drape **20061029101708] [Fix curve->shape to properly check input types Rohan Drape **20061029101608] [Fixes to LFTri help file Rohan Drape **20061029101446] [Export mce/fill variant of mix/fill Rohan Drape **20061028232318] [Delete unused font lock rules at rsc.edl Rohan Drape **20061028232251] [Provide randb Rohan Drape **20061028111438] [Fix example in Limiter help file Rohan Drape **20061028111405] [Add definition and help file for PV_Copy Rohan Drape **20061015073812] [Delete help file uses of rsc-file Rohan Drape **20061015062446] [Add IFFT help file Rohan Drape **20061015061246] [Make ->< timeout a parameter Rohan Drape **20061015030530] [Fix env/bp to allow non-constant inputs Rohan Drape **20061014112419] [Fix Saw help file Rohan Drape **20061014112402] [Fix Rand and variants to be specialized at i-Rate. Rohan Drape **20061014112208] [Fix to Klank help file Rohan Drape **20061014112156] [Fix to PV_MagSmear help file Rohan Drape **20061014112114] [Whitespace fix at PV_JensenAnderson help file Rohan Drape **20061014112059] [Additions to TDuty help file Rohan Drape **20061014112011] [Fixes to DegreeToKey help file Rohan Drape **20061014111934] [Additions to PV_HainsworthFoote help file Rohan Drape **20061014111751] [Various help file fixes and additions Rohan Drape **20061008104113] [Fix definition of K2A and add help file Rohan Drape **20061008071908] [Add DegreeToKey help file Rohan Drape **20061008070553] [Provide mce-channel from graphdef.ss Rohan Drape **20061008020334] [Implement mce-channel selector Rohan Drape **20061007122837] [Fixes to PV_ConformalMap help file Rohan Drape **20061007122750] [Translate PV_ConformalMap example from sclang help file Rohan Drape **20061003023602] [Add explanation of warp input to MouseX help file Rohan Drape **20061003023528] [Fix rate and add help files for PV_HainsworthFoote and PV_JensenAndersen Rohan Drape **20061003020128] [Fix error in OSC decoder Rohan Drape **20061002051049] [Fix implementation of TrigControl Rohan Drape **20061002034125] [Fix error in DetectSilence help file Rohan Drape **20061002034100] [Fix to VOsc help file Rohan Drape **20061001130200] [Add help files for TChoose and TWChoose Rohan Drape **20061001083940] [Fix naming error in bytes.ss Rohan Drape **20061001083804] [Fix BPF help file Rohan Drape **20061001083554] [Fix PV_BinScramble help file Rohan Drape **20061001083525] [Fix Pitch UGen definition and help file Rohan Drape **20061001083422] [Implement TChoose and TWChoose UGens Rohan Drape **20060926115438] [Fix Lag help file Rohan Drape **20060926115428] [Extend Linen help file Rohan Drape **20060926115402] [Fix errors in help file examples Rohan Drape **20060919134851] [Provide spawn module Rohan Drape **20060919134836] [Additions to EnvGen help file Rohan Drape **20060919134633] [Fixes to Ringz help file Rohan Drape **20060914130326] [Implement with-output-to-u8l Rohan Drape **20060912093548] [Delete duplicate entry in Poll help file Rohan Drape **20060911105407] [Correct ordering of BufWr inputs Rohan Drape **20060911105306] [Delete extraneous begin Rohan Drape **20060911105244] [Implement Poll UGen Rohan Drape **20060911105200] [Use +inf.sc in help files Rohan Drape **20060910114548] [Implement +inf.sc Rohan Drape **20060910113731] [Simplify README Rohan Drape **20060910113627] [Require foldl at ugen.ss Rohan Drape **20060826020519] [Add N-ary variants for Mul and Add Rohan Drape **20060723092554] [Add RunningMax UGen Rohan Drape **20060723092536] [Trigger related help file additions Rohan Drape **20060723092350] [Implement write-snd-file Rohan Drape **20060717102235] [Documentation for arguments to PlayBuf Rohan Drape **20060717102116] [Provide foldl, shiftR and shiftL Rohan Drape **20060715143539] [Fixes to help files Rohan Drape **20060715143442] [Make rsc-intepreter default to mzscheme Rohan Drape **20060711035921] [Fixes to help files Rohan Drape **20060702101503] [Reorder names at filter* definitions Rohan Drape **20060628072718] [Allow UGen name at constructor to be either a string or a symbol Rohan Drape **20060627132805] [Implement dupn and dup Rohan Drape **20060625021139] [Delete sclang mode requirement at rsc.el Rohan Drape **20060624041541] [Add Latch help file Rohan Drape **20060620075435] [Fixes to Rotate2 and DecodeB2 Rohan Drape **20060618152012] [Implement routine and at/r Rohan Drape **20060618081622] [Fix implementation of KeyState UGen Rohan Drape **20060618040442] [Implement send-synth Rohan Drape **20060616075826] [Provide randl Rohan Drape **20060616075811] [Provide degree->key Rohan Drape **20060616075752] [Provide Mrg Rohan Drape **20060616075729] [Add documentation for /b_gen commands Rohan Drape **20060616024943] [Implement /b_gen flag enumerations Rohan Drape **20060616024645] [Export server add action enumerations Rohan Drape **20060616024523] [Extend play to recognise graphdef values Rohan Drape **20060615073232] [Export randi, randx and pchoose Rohan Drape **20060615073118] [Export graphdef? Rohan Drape **20060615073033] [Explicit provide form at bytes.ss Rohan Drape **20060615053315] [Scheme implementation of u8l->int and int->u8l Rohan Drape **20060615053043] [Update copyright as required Rohan Drape **20060615041951] [Delete hash module Rohan Drape **20060615041857] [Move utc and channel definitions to seperate modules Rohan Drape **20060613080124] [Implement u8v in terms of u8l Rohan Drape **20060604035210] [Delete u8v, implement u8l Rohan Drape **20060604005743] [First pass at u8 simplification Rohan Drape **20060528123345] [Delete obsolete file osc/write.scm Rohan Drape **20060528105951] [Delete scheme/udp/ and contents Rohan Drape **20060528105636] [Add Mce to export list Rohan Drape **20060528105612] [Divide u8v into core and derived areas Rohan Drape **20060528094353] [Move udp* to udp.ss Rohan Drape **20060528093936] [Enumerate provide forms at graphdef.ss, math.ss and random.ss Rohan Drape **20060528093919] [Delete rsc-file procedure Rohan Drape **20060528084704] [Base modules at (lib "lang.ss" "r5rs") rather than mzscheme Rohan Drape **20060528082102] [Additions to FFT UGens and help files Rohan Drape **20060522130117] [Rename free-all to reset and reimplement Rohan Drape **20060522104705] [Export utc from schedule module Rohan Drape **20060522104644] [Simplify rsc emacs mode Rohan Drape **20060522104535] [/clearSched is a value not a function Rohan Drape **20060522101346] [MulAdd help file Rohan Drape **20060522101312] [Simplify server command implementation Rohan Drape **20060522095705] [Extend server command documentation Rohan Drape **20060520124123] [Name add actions as in SuperCollider Rohan Drape **20060516120223] [Partially enumerate provide forms Rohan Drape **20060515022749] [Delete define*, moved to rscI Rohan Drape **20060515010250] [Make emacs help lookup start at help, not root Rohan Drape **20060514151149] [Enumerate all module require statements Rohan Drape **20060514150647] [Define enumerations for add actions Rohan Drape **20060512051042] [Enumerate provide form at buffer.ss Rohan Drape **20060512050856] [Delete => Rohan Drape **20060511132852] [Implement message and bundle constructors Rohan Drape **20060511132841] [Fix definition of => Rohan Drape **20060511125836] [Implement constant optimizations for UGen operators Rohan Drape **20060508070825] [Add wchoose and pchoose Rohan Drape **20060508064038] [Fix error in concat Rohan Drape **20060508063902] [Delete UId from Noise UGen interfaces Rohan Drape **20060507004650] [Stepper help file edits Rohan Drape **20060507000322] [Add link to copyleft Rohan Drape **20060307084612] [Add osc module to export list Rohan Drape **20060220051136] [Add transform-uid, troublesome Rohan Drape **20060213055338] [Fix errors in choose and osc encoder Rohan Drape **20060212101005] [Ordinary scheme use of ! extension Rohan Drape **20060212033508] [Add ordinary schedule to rsc proper, rename r0 to R0 Rohan Drape **20060211110500] [Implement define* to replace defineM from rscB Rohan Drape **20060209110049] [Layout fixes Rohan Drape **20060208093058] [Additions to u8v library Rohan Drape **20060207102907] [Export define-structure Rohan Drape **20060202052420] [Move module declarations to top level Rohan Drape **20060202050731] [Make independant of rscB and rscO Rohan Drape **20060202050110] [Do not require lambdaH Rohan Drape **20060202000848] [Add ampdb and dbamp Rohan Drape **20060126030306] [DustR as UGen graph Rohan Drape **20060121234455] [Help file additions and fixes Rohan Drape **20060117140952] [Additions and fixes to Help files Rohan Drape **20060117044557] [Fix audioin and IO help files Rohan Drape **20060116123228] [Fix error in UGen constructor Rohan Drape **20060116005530] [Reorder MCE to occur prior to proxying Rohan Drape **20060115101828] [Delete obsolete files Rohan Drape **20060115002805] [Store UGens by constructor type Rohan Drape **20060115002648] [Implement support for multiple root UGen graphs Rohan Drape **20060110105527] [Fixes to Help files Rohan Drape **20060110101854] [Fixes to Linen and Done Rohan Drape **20060110041918] [Seperate Noise and Chaos UGens Rohan Drape **20060110040039] [Add UGen identifier support to demand UGens Rohan Drape **20060110003743] [Make UGen identifier a distinct type Rohan Drape **20060110002732] [Implement degree->key Rohan Drape **20060109081905] [Implement b_gen* variant Rohan Drape **20060109075546] [Delete UGen aliases Rohan Drape **20060109072946] [Fix Demand UGen implementations and add Help Rohan Drape **20060109064844] [Basic demand rate UGen support Rohan Drape **20060109045405] [Make rate value proper type Rohan Drape **20060109004029] [Fix mix definition Rohan Drape **20060108232124] [Clarify UGen input handling Rohan Drape **20060108212547] [Fix TGrains UGen declaration Rohan Drape **20060108211341] [Simplify UGen constructors Rohan Drape **20060108021723] [Delete envelope dependency on lambdaK Rohan Drape **20060107234857] [Fixes to FFT and PV UGens Rohan Drape **20060107224311] [Proper scheme like naming Rohan Drape **20060107052547] [Make Out UGens filters, specialize FFT UGens Rohan Drape **20060106232224] [Reorder ugen module declaration Rohan Drape **20060106110736] [Delete OBSOLETE files Rohan Drape **20060106110106] [Obsolete USpecs Rohan Drape **20060106103407] [Delete obsolete files, revise Help files Rohan Drape **20060106101527] [Make filter and operator UGens implicit rate (incomplete) Rohan Drape **20060105133614] [Modify UGen Help files Rohan Drape **20060103112552] [Delete rate specialized UGen constructors Rohan Drape **20060103110720] [Make UGen documentation style consistent Rohan Drape **20051101022012] [Add rscE naming support to rsc.el Rohan Drape **20051022133502] [Add .boring file Rohan Drape **20051022065323] [Initial record Rohan Drape **20051017012657] Patch bundle hash: 779c1dff54e98ad7051fa0660c5fd1555304f29c