From 197ce0f724aa567c7401f63dc889e7861ed8c0aa Mon Sep 17 00:00:00 2001 From: Marlon Schumacher <schumacher@hfm-karlsruhe.de> Date: Mon, 24 Feb 2025 16:12:45 +0100 Subject: [PATCH] fix: smaller fixes, comments and cleanups --- sources/sox-process.lisp | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/sources/sox-process.lisp b/sources/sox-process.lisp index da3a27b..4f5404c 100644 --- a/sources/sox-process.lisp +++ b/sources/sox-process.lisp @@ -181,11 +181,16 @@ ; === sox-hoaencode ============= (defmethod! sox-process ((sox-input sox-hoaencode) (sox-effect string) &key output filetype samplerate bitdepth recursive batch-mode) + +; would be more consistent with OO programming to have a function sox-hoaencode->sox-merge +; (consider how to deal with multiple sounds to be hoaencoded and mixed later on... sox-mix might be better done in an explicit way rather than via the class directly. +; in that case a 3DC would have to be used by using points (point-pairs) in a loop + (if (probe-file *sox-path*) (progn (when (not (listp (sound sox-input))) - (om-message-abort "sound must be a list.") + (om-message-abort "sound must be a list.") ; use list! instead ) (when (not @@ -236,7 +241,7 @@ (if (= (order sox-input) 0) ; case: order = 0 (progn - (setf str (string+ str " -m")) + (setf str (string+ str " -m")) ; this is the mixer. e.g. sox-mix (loop for filename in filenames do (setf str (string+ str (format nil " ~s" filename))) ) @@ -250,6 +255,11 @@ (loop for filename in filenames for position in positions-ae do + + ; in Object-Oriented Programming we would call-next-method i.e. set a sox-merge input class with the corresponding params. + ; e.g. (make-instance 'sox-merge ... (more redundancy and compactness, less error-prone) ... possible? + ; for multiple sound inputs if possible we would then call a sox-mix to mix the sox merge pipes. everything + (progn (setf str_component (format nil " ~s ~a -M" (namestring *sox-path*) *sox-options*)) (loop @@ -282,6 +292,11 @@ (setf str (string+ str sox-effect)) (print str) (sox-out str sox-input output outfile recursive) + + ;optional removal of temp file + ; (add-tmp-file outfile_tmp) + ; (when *delete-inter-file* (clean-tmp-files)) + ) ) ) @@ -516,7 +531,7 @@ ; === sox-mix-console ============= -; Notes +; Notes on polymorphism ; I could make this sox-mix-console (non-consistent) a method where a list of effects will be applied to each sound in the mix-console ; OR: keep this as an extra function for the player ; I can't use pipe-input to the mix-console as it makes sox-remix instances with pipe-outputs ->is a pipe in a pipe not possible? -- Gitblit v1.9.1