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  --