Setting up new CLM for Linux/WAV
Larry Troxler
lt@westnet.com
Thu, 14 Aug 1997 20:56:42 -0400 (EDT)
Hmm, seems like there's some differences in the new CLM resulting in my
defaults.lisp customizations not working anymore, and I was wondering if
you might have a quick answer.
Here's what happens (hopefully it won't be too confusing to follow).
The main problem is that CLM says it can't write 16-bit linear to a RIFF
sound file. And I'd like to ask, why the #$%#$! not!!! :-)
It had no problems doing so before ;-)
here we go (the following session has been post-edited with comments):
:Starting image `/p2/usr/cm/cm'
with no arguments
in directory `/LOC/'
on machine `localhost'.
Allegro CL 4.3 [Linux/X86; R1] (12/11/96 1:33)
Copyright (C) 1985-1996, Franz Inc., Berkeley, CA, USA. All Rights
Reserved.
;; Starting socket daemon and emacs-lisp interface...
;; Optimization settings: safety 1, space 1, speed 1, debug 2.
;; For a complete description of all compiler switches given the current
;; optimization settings evaluate (EXPLAIN-COMPILER-SETTINGS).
[changing package from "COMMON-LISP-USER" to "COMMON-MUSIC"]
CM(1): :cl lt
; Fast loading lt.fasl
Warning: *SOUND-PLAYER*, :VARIABLE was defined in ./defaults.lisp and is
now
being defined in /p2/usr/local/cm/lt.lisp
; Foreign loading /p2/usr/local/cm/clm_lnxacl_RC-TEST.so.
; Foreign loading /p2/usr/local/cm/clm_lnxacl_EXPINS.so.
CM(2): ;; "lt.lisp" does some customizations, which I repeat below.
;; the following are the clm overrides I'm using:
(defvar *sound-player*
#'(lambda (nam &rest rest)
(declare (ignore rest))
(excl:run-shell-command
(concatenate 'string "wavplay " nam))))
(setq file-buffer-size (* 1024 1024))
(setq *clm-trace* nil)
(setf default-sound-file-name "test.wav")
;; actually I end up using test.snd because of CM confusion - see below.
(setf default-sound-file-type RIFF-sound-file)
Warning: *SOUND-PLAYER*, :VARIABLE was defined in /p2/usr/local/cm/lt.lisp
and
is now being defined at the top level
*SOUND-PLAYER*
CM(3): CM(3): 1048576
CM(4): NIL
CM(5): CM(5): "test.wav"
CM(6): 2
CM(7): CM(7): (stella)
Hang on a second...
Type ? for help.
Stella [Top-Level]: open test.snd
Stream: #<File: "test.snd">
Stella [Top-Level]: open test.wav
Error: Can't determine stream class for "test.wav".
;; ^ That's why I use test.snd even though I want a wav file.
;; Maybe Rick knows what the problem is here?
Restart actions (select using :continue):
0: Return to Top-Level.
1: Exit Top-Level.
[1] CM(8): :tl
Stella [Top-Level]: open test.snd
Stream: #<File: "test.snd">
Stella [Top-Level]: ;; I don't know why CM doesn't know about WAV files,
;; but that's why I've been using test.snd, even though it actually
;; gets written as a WAV (RIFF) file. This worked ok with the previous
;; CLM.
Stella [Top-Level]: cl my-badd ; Just some arbitrary instrument
; Fast loading /p2/usr/local/cm/my-badd.fasl
; Foreign loading /p2/usr/local/cm/clm_lnxacl_BADD.so.
Stella [Top-Level]: new badd 1
Slots and values: ;; irrelevant
New object position: (<cr>=Pasteboard) top-level
Stella [Top-Level]: list
Top-Level:
1. #<(BADD 1 1 440 0.2)>
Stella [Top-Level]: mix
Mix objects:
Mix objects: top-level
Start time offset:(<cr>=None)
CLM/RIFF unsupported sound data format type: 1
Warning: CLM can't write 16-bit linear data into a RIFF sound file
;;;; ^^^ BUT YOU COULD BEFORE!!!^^^
File: test.snd
Channels: 1
Srate: 22050.0
Reverb: None
;;; and then the lisp session either hangs or returns to the prompt.
-- Larry Troxler -- lt@westnet.com -- Patterson, NY USA --