Work-in-progress repo for ambisonics extensions for OM-SoX
Marlon Schumacher
4 days ago 143f4eb8ddad49d79430a2f4ad75122ecc14cc5e
1
2
3
4
5
6
; OM File Header - Saved 2025/03/05 15:53:26
; (7.05 :patc (om-make-point 238 218) (om-make-point 508 304) (om-make-point 697 517) "" 183 0 "2025/03/01 00:57:08" "2025/03/05 15:53:26")
; End File Header
; External resources 
; (list (list (quote :picture) "#P\"../../../../resources/pict/omsox\"") (list (quote :sound) "#P\"../../../../../../../../../../../../../Shared/_Development/OM-SoX/Alexander Ng/OM-SoX hoaencode/resources/sounds/clarinet-multi-mono.aif\"") (list (quote :abstraction) "#P\"../distance-cue rendering.omp\"" "#P\"sox-pan continuous.omp\""))
(in-package :om)(load-lib-for (quote ("OM-SoX")))(setf *om-current-persistent* (om-load-patch1 "sox-pan" (quote ((let ((box (om-load-boxcomment "comment 4" (om-make-point 188 72) (quote "SoX-PAN $does not render distance natively.$ $Check out this example $for distance cue rendering") "" (om-make-point 423 200) nil (om-make-color 0.0 0.0 1.0) (om-make-font "Verdana" 10.0 :family "Verdana" :style (quote (:italic)) :mode (quote nil))))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcall (quote patch-box) "distance-cue rendering" (quote ("elements" "OM-SoX-tutorial-patches" "support" "distance-cue rendering")) (quote nil) (om-make-point 428 267) nil nil nil nil 0))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcomment "comment 3" (om-make-point 139 60) (quote "planned future features:$$- spread$- panning function") "" (om-make-point 210 395) nil (om-make-color 1.1086464E-4 0.0017602444 0.9982184) (om-make-font "Verdana" 10.0D0 :family "Verdana" :style (quote (:italic)) :mode (quote nil))))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcomment "comment 2" (om-make-point 148 39) (quote "check out this example $for continuous panning") "" (om-make-point 430 363) nil (om-make-color 0.0 0.0 1.0) (om-make-font "Verdana" 11.0D0 :family "Verdana" :style (quote (:italic)) :mode (quote nil))))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcall (quote patch-box) "sox-pan continuous" (quote ("elements" "OM-SoX-tutorial-patches" "support" "input-combiners" "sox-pan continuous")) (quote nil) (om-make-point 432 395) nil nil nil nil 0))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcall (quote bastype) "aux 2" (quote t) (quote nil) (om-make-point 256 225) (om-make-point 27 30) 4 "4" nil))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcall (quote bastype) "aux" (quote t) (quote nil) (om-make-point 207 207) (om-make-point 38 30) 2.5 "2.5" nil))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcall (quote bastype) "aux 3" (quote t) (quote nil) (om-make-point 170 187) (om-make-point 32 30) -3 "-3" nil))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-editor-box1 "clarinet-multi-mono.aif" (quote sound) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "a track index for multichannel mixing" "tracknum" 0) (om-load-inputfun (quote input-funbox) "a list of markers (s)" "markers" nil))) (om-make-point 74 174) (om-make-point 80 50) (let ((newobj (let ((thesound (load-sound (om-make-pathname :directory (quote (:absolute "Users" "Shared" "_Development" "OM-SoX" "Alexander Ng" "OM-SoX hoaencode" "resources" "sounds")) :device nil :host nil :name "clarinet-multi-mono" :type "aif") 0 1.0 0))) (when thesound (setf (markers thesound) (quote nil))) thesound))) (load-port-info newobj (quote nil)) (init-mus-color newobj (quote nil)) (set-extra-pairs newobj (quote nil)) (set-patch-pairs newobj (quote nil)) (set-name newobj "clarinet-multi-mono.aif") (set-tonalite newobj nil) newobj) "x" nil (pairlis (quote (measure onset :show-spectrum approx fontsize staff cmnpref deltapict outport inport player zoom notechancolor? grillestep mode winsize winpos score-mode obj-mode show-stems scale palette-mode)) (list nil nil (quote t) 2 24 (quote g) (let ((newobj (make-instance (quote edition-values)))) (setf (paper-size newobj) (om-make-point 600 800)) (setf (top-margin newobj) 2) (setf (left-margin newobj) 1) (setf (right-margin newobj) 1) (setf (bottom-margin newobj) 1) (setf (orientation newobj) nil) (setf (scale newobj) nil) (setf (system-space newobj) (quote (1))) (setf (system-color newobj) (quote nil)) (setf (line-space newobj) 1) (setf (title newobj) nil) (setf (show-title? newobj) nil) (setf (show-page? newobj) nil) (setf (sheet-id newobj) nil) (setf (page-mode newobj) nil) newobj) (om-make-point 0 0) nil 0 (quote :soxplayer) 1 nil 1000 0 (om-make-point 540 306) (om-make-point 400 38) 0 1 (quote t) nil 0)) t nil nil nil (quote nil)))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-editor-box1 "SOX-PAN" (quote sox-pan) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "Audio input for sox input modules. [sound object, pathname, string/pipe]" "sound" nil) (om-load-inputfun (quote input-funbox) "Gain value for audio input before processing (dBFS). [float, list]" "gains" nil) (om-load-inputfun (quote input-funbox) "Panning value (decimal number) for panning audio between adjacent channels. [float, list]" "panning" nil) (om-load-inputfun (quote input-funbox) "Number of available output channels for panning." "numchannels" nil))) (om-make-point 94 256) (om-make-point 70 50) (if (find-class (quote sox-pan) nil) (make-instance (quote sox-pan) :sound (om-make-pathname :directory (quote (:absolute "Users" "Shared" "_Development" "OM-SoX" "Alexander Ng" "OM-SoX hoaencode" "resources" "sounds")) :device nil :host nil :name "clarinet-multi-mono" :type "aif") :gains (list -3) :panning 2.5 :numchannels 4 :from-file t)) nil nil (pairlis (quote (winpos winsize)) (list (om-make-point 10 40) (om-make-point 104 200))) nil nil nil nil (quote nil)))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-editor-box1 "" (quote sound) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "a track index for multichannel mixing" "tracknum" 0) (om-load-inputfun (quote input-funbox) "a list of markers (s)" "markers" nil))) (om-make-point 121 412) (om-make-point 80 50) (let ((newobj nil)) (load-port-info newobj (quote nil)) (init-mus-color newobj (quote nil)) (set-extra-pairs newobj (quote nil)) (set-patch-pairs newobj (quote nil)) (set-name newobj "") (set-tonalite newobj nil) newobj) nil nil (pairlis (quote (approx fontsize staff cmnpref deltapict outport inport player zoom notechancolor? grillestep mode winsize winpos score-mode obj-mode show-stems scale palette-mode onset measure)) (list 2 24 (quote g) (let ((newobj (make-instance (quote edition-values)))) (setf (paper-size newobj) (om-make-point 600 800)) (setf (top-margin newobj) 2) (setf (left-margin newobj) 1) (setf (right-margin newobj) 1) (setf (bottom-margin newobj) 1) (setf (orientation newobj) nil) (setf (scale newobj) nil) (setf (system-space newobj) (quote (1))) (setf (system-color newobj) (quote nil)) (setf (line-space newobj) 1) (setf (title newobj) nil) (setf (show-title? newobj) nil) (setf (show-page? newobj) nil) (setf (sheet-id newobj) nil) (setf (page-mode newobj) nil) newobj) (om-make-point 0 0) nil 0 (quote :soxplayer) 1 nil 1000 0 (om-make-point 559 303) (om-make-point 400 38) 0 1 (quote t) nil 0 nil nil)) t nil nil nil (quote nil)))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcomment "comment 2" (om-make-point 209 26) (quote "-> Double-click to open the editor.") "" (om-make-point 167 270) nil (om-make-color 0.0 0.0 1.0) (om-make-font "Verdana" 11.0D0 :family "Verdana" :style (quote (:italic)) :mode (quote nil))))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcomment "comment" (om-make-point 446 60) (quote "Pan audio between adjacent output audio channels specified $as a floating point number. Gain (db) value before panning and $number of channels in the multichannel audio output can be specified. ") "" (om-make-point 61 67) nil (om-make-color 0.0 0.0 1.0) (om-make-font "Verdana" 12.0D0 :family "Verdana" :style (quote (:plain)) :mode (quote nil))))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcall (quote genfun) "SOX-PROCESS" (quote sox-process) (quote ((om-load-inputfun (quote input-funbox) "" "INPUT" nil) (om-load-inputfun (quote input-funbox) "" "COMMANDS" ""))) (om-make-point 106 320) nil nil nil nil 1))) (when (fboundp (quote set-active)) (set-active box nil)) box) (let ((box (om-load-boxcomment "comment" (om-make-point 79 34) (quote "SoX-PAN") "" (om-make-point 135 18) nil (om-make-color 0.0 0.0 0.0) (om-make-font "Verdana" 14.0 :family "Verdana" :style (quote (:plain)) :mode (quote nil))))) (when (fboundp (quote set-active)) (set-active box nil)) box))) (quote ((8 0 9 1 nil 0) (7 0 9 2 nil 0) (6 0 9 3 nil 0) (5 0 9 4 nil 0) (13 0 10 0 nil 0) (9 0 13 0 nil 0))) (list (let ((newpict (make-instance (quote patch-picture) :name "omsox" :source (quote user) :pict-pathname (restore-pict-path (restore-path nil)) :thepict (om-get-picture "omsox" (quote user)) :storemode :external :draw-params (quote (p 0 0 100 100)) :extraobjs nil))) (setf (pict-pos newpict) (om-make-point 60 8)) (setf (pict-size newpict) (om-make-point 63 48)) newpict)) 7.05))