-- OSS output device for OAK. #INCLUDE "oak.inc" #INCLUDE "oss.inc" --{{{ PROC oss.out (CHAN SIGNAL left?, right?) PROC oss.out (CHAN SIGNAL left?, right?) [BLOCK.SIZE * 2]INT16 buf: SEQ C.oss.init (INT ROUND SAMPLE.RATE) WHILE TRUE SIGNAL l.sig, r.sig: SEQ PAR left ? l.sig right ? r.sig --{{{ convert to correct format SEQ i = 0 FOR BLOCK.SIZE SEQ buf[i * 2] := (INT16 ROUND (l.sig[i] * 32767.0)) buf[(i * 2) + 1] := (INT16 ROUND (r.sig[i] * 32767.0)) --}}} B.oss.play (buf) : --}}}