;********************************************************************* ; OM-SoX, (c) 2011-2013 Marlon Schumacher (CIRMMT/McGill University) * ; http://sourceforge.net/projects/omsox/ * ; * ; Multichannel Audio Manipulation and Functional Batch Processing. * ; DSP based on SoX - (c) C.Bagwell and Contributors * ; http://sox.sourceforge.net/ * ;********************************************************************* ; ;This program is free software; you can redistribute it and/or ;modify it under the terms of the GNU General Public License ;as published by the Free Software Foundation; either version 2 ;of the License, or (at your option) any later version. ; ;See file LICENSE for further informations on licensing terms. ; ;This program is distributed in the hope that it will be useful, ;but WITHOUT ANY WARRANTY; without even the implied warranty of ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;GNU General Public License for more details. ; ;You should have received a copy of the GNU General Public License ;along with this program; if not, write to the Free Software ;Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,10 USA. ; ;Authors: M. Schumacher (in-package :om) ; %%%%%%%%%% DOC for common class slots %%%%%%% (defparameter *sox-dur-doc* "Duration of output audio (sec). [float]") (defparameter *sox-input-doc* "Audio input for sox input modules. [sound object, pathname, string/pipe]") (defparameter *sox-gain-doc* "Gain value for audio input before processing (dBFS). [float, list]") (defparameter *sox-hoaencode-positions-doc* "Positions as 3dc object, or list of azimuth+elevation values, or list of x+y+z coordinates. [3dc, list]") (defparameter *sox-hoaencode-order-doc* "Ambisonics order. [int]") (defparameter *sox-panning-doc* "Panning value (decimal number) for panning audio between adjacent channels. [float, list]") (defparameter *sox-channel-matrix-doc* "Specify input channels as a list of lists (matrix). Each sublist contains the contributing input channels for an output channel. [list]") ;*sox-in-channels-doc* (defparameter *sox-gain-matrix-doc* "Specify gains as a list of lists (matrix). Each sublist contains the contributing gains of input channels forming an output channel. [list]") (defparameter *sox-channels-doc* "Specify input channels as a list of sublists (matrix). Each sublist contains the contributing input channels forming an output channel. [list]") ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; ==== SOX-INPUT ======================== ; superclass for sox-input-combiners ; sound might be called 'audio' instead (defclass! sox-input () ( (sound :type sound :accessor sound :initarg :sound :initform nil :documentation *sox-input-doc*) ) (:documentation "Abstract superclass for OM-SoX input classes") ) (defmethod get-fonde-pict ((self sox-input)) *sox-bg-pict*) (setq *sox-bg-pict* (om-load-and-store-picture "dibox" 'om-sox)) #| ;;; maquette interface (defmethod allowed-in-maq-p ((self sound)) (good-val-p? self)) (defmethod get-obj-dur ((self sound)) (extent self)) (defmethod allow-strech-p ((self sound) (factor number)) nil) |#