From bil at ccrma.Stanford.EDU Sun Dec 1 04:41:19 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sun, 1 Dec 2002 04:41:19 -0800 Subject: [CM] more about CLM/CMUCL problem In-Reply-To: <002401c29662$e813d350$87197e82@music.uiuc.edu> References: <3DE4EBB5.E8D24F54@bright.net> <3DE527B8.7BD72637@bright.net> <002401c29662$e813d350$87197e82@music.uiuc.edu> Message-ID: <200212011241.EAA19152@cmn14.stanford.edu> If CMUCL becomes too tedious, it is possible to load CM into Snd (be sure to give the full path for cm.scm); def-clm-struct now has full run-macro support in Snd, and I finally added sound-let to ws.scm, so CLM-in-Scheme is fully functional; Michael Scholz has implemented most of the Ruby side -- perhaps CLM's name should be CL&SRM and the logo should be an old steam locomotive? Anyway, you can now get CM+CLM+Snd in one image. From taube at uiuc.edu Sun Dec 1 09:29:53 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 1 Dec 2002 11:29:53 -0600 Subject: [CM] more about CLM/CMUCL problem In-Reply-To: <200212011241.EAA19152@cmn14.stanford.edu> References: <3DE4EBB5.E8D24F54@bright.net> <3DE527B8.7BD72637@bright.net> <002401c29662$e813d350$87197e82@music.uiuc.edu> <200212011241.EAA19152@cmn14.stanford.edu> Message-ID: thats very cool! At 4:41 AM -0800 12/1/02, Bill Schottstaedt wrote: >If CMUCL becomes too tedious, it is possible to load CM >into Snd (be sure to give the full path for cm.scm); >def-clm-struct now has full run-macro support in Snd, and >I finally added sound-let to ws.scm, so CLM-in-Scheme >is fully functional; Michael Scholz has implemented most From lt at westnet.com Sun Dec 1 19:12:35 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 01 Dec 2002 22:12:35 -0500 Subject: [CM] CM csound f-statements and variable # of params Message-ID: <3DEACFA3.18C9AC8A@westnet.com> Hello again. For the most part I have been having good luck switching from CM 2.3.4 to 2.4.0. However, there is on patch that I applied to 2.3.4 that I'm having difficulting applying to 2.4.0. In csound f-table statements, there is typically a variable number of parameters. For example, there could be an arbitrary number of parameters specifying the amplitudes for an arbitrary number of harmonics. So I think the most natural thing is to make it possible for a parameter to be a list of values, and have the output function spread this out appropriately. If this is not the best approach, I'm interested in hearing how this might better be accomplished. In 2.3.4 I modified the write method for the csound object and I'm trying to do something similar in 2.4.0. I'm having problems because I'm not sure what's going on and I'm confused by all the backquoting, being a relative newbie at lisp. I think I have to modify #'sco-par-print, but I keep getting errors when I try (again I think because I don't have a handle on the backqouting stuff). Can someone help out? Larry Troxler From taube at uiuc.edu Mon Dec 2 03:47:19 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 2 Dec 2002 05:47:19 -0600 Subject: [CM] CM csound f-statements and variable # of params In-Reply-To: <3DEACFA3.18C9AC8A@westnet.com> References: <3DEACFA3.18C9AC8A@westnet.com> Message-ID: >In csound f-table statements, there is typically a variable number of >parameters. >For example, there could be an arbitrary number of parameters specifying >the amplitudes for an arbitrary number of harmonics. > >So I think the most natural thing is to make it possible for a parameter >to be a list of values, and have the output function spread this out >appropriately. If this is not the best approach, I'm interested in >hearing how this might better be accomplished. THis will actually work with one small mod to the csound code. I guess I should also add back the old "i" and "f" classes while im at it even though they are no longer necessary. give these you will do (defobject f3 (f) ((env :initform '())) (:parameters time &rest env) ill add this today and put a new tarball on the server with some cmn and cmucl fixes as well. >In 2.3.4 I modified the write method for the csound object and I'm >trying to do something similar in 2.4.0. I'm having problems because I'm >not sure what's going on and I'm confused by all the backquoting, being >a relative newbie at lisp. > >I think I have to modify #'sco-par-print, but I keep getting errors when >I try (again I think because I don't have a handle on the backqouting >stuff). > >Can someone help out? > >Larry Troxler >_______________________________________________ >Cmdist mailing list >Cmdist at ccrma.stanford.edu >http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From bil at ccrma.Stanford.EDU Mon Dec 2 03:53:39 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 2 Dec 2002 03:53:39 -0800 Subject: [CM] CLM/Snd problems In-Reply-To: <3DE62970.BE3FEFB8@bright.net> References: <3DE62970.BE3FEFB8@bright.net> Message-ID: <200212021153.DAA20448@cmn14.stanford.edu> > * (snd-edit () (with-sound () (mix (snd-sound)) (fm-violin .1 .1 660 .1))) > Unbound variable: snd-edit "unbound variable" is a Scheme error indication -- somehow Snd has taken over the lisp listener -- this happens in ACL as well. And if you call start-snd from an emacs subjob, emacs hangs! This gets the worst-bug-of-the-year award for 2002. I've added the Snd invocation switch -nostdin, and changed sc.c (the CLM side of the business) to use it. I notice that CLM/Snd error handling is pessimal. From taube at uiuc.edu Mon Dec 2 04:43:40 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 2 Dec 2002 06:43:40 -0600 Subject: [CM] new tar of cm-2.4.0 Message-ID: ive put a new tar file of the candidate 2.4.0 on the ccrma server ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz o fixed the CMN clef problem and changed the staffing setup to work on a per score basis as it did in the past. see intro.cm -- the example has changed to reflect this. o added back the i and f classes for csound. the f class has an "env" slot you can set to a list of data. look at the end of src/sco.scm for an example. o &rest parameter declaration in defobject now works for csound as well as clm. this allows subclasses of f to "spread" their envelopes in the sco file . o cm.lisp prints better information at end of compiles. o cm now imports ext:load-foreign in CMUCL so hopefull you can compile/load .ins files again. please note: i dont have time to test now (ill do alot of testing at the end f december...) so let me know if/what problems you encounter with the new cmn/csound stuff and ill fix it asap. From dlphilp at bright.net Mon Dec 2 07:07:12 2002 From: dlphilp at bright.net (Dave Phillips) Date: Mon, 02 Dec 2002 10:07:12 -0500 Subject: [CM] CLM/Snd problems References: <3DE62970.BE3FEFB8@bright.net> <200212021153.DAA20448@cmn14.stanford.edu> Message-ID: <3DEB7720.EF15AE67@bright.net> Bill Schottstaedt wrote: > > * (snd-edit () (with-sound () (mix (snd-sound)) (fm-violin .1 .1 660 .1))) > > Unbound variable: snd-edit > > "unbound variable" is a Scheme error indication -- somehow Snd has > taken over the lisp listener -- this happens in ACL as well. And > if you call start-snd from an emacs subjob, emacs hangs! This gets > the worst-bug-of-the-year award for 2002. I've added the Snd invocation > switch -nostdin, and changed sc.c (the CLM side of the business) to > use it. I notice that CLM/Snd error handling is pessimal. Hi Bill: I'm working with Rick's latest 2.4.0, and the latest CCRMA stuff. Things are getting better, but I'm still running into some troubles. I've built the cm.core according to the new instructions, and things are much improved. However, I'm still having problems with the CLM/Snd connectivity. Here's the breakdown: [dlphilp at localhost CCRMA]$ lisp -core /home/dlphilp/CCRMA/cm-2.4.0/bin/cm.core -init /home/dlphilp/CCRMA/cm-2.4.0/bin/cminit.lisp ; Loading #p"/home/dlphilp/CCRMA/cm-2.4.0/bin/cminit.lisp". * (load "/home/dlphilp/CCRMA/clm-2/v.cmucl") ; Loading #p"/home/dlphilp/CCRMA/clm-2/v.cmucl". ;;; Running /usr/bin/ld... ;;; Done. ;; Loading #p"/home/dlphilp/CCRMA/clm-2/v.x86f". Error in function C::BYTE-INTERPRET-BYTE: Unbound variable: *INS-FILE-LOADING* Restarts: 0: [CONTINUE] Return NIL from load of "/home/dlphilp/CCRMA/clm-2/v". 1: Return NIL from load of "/home/dlphilp/CCRMA/clm-2/v.cmucl". 2: [ABORT ] Return to Top-Level. Debug (type H for help) (C::BYTE-INTERPRET-BYTE # 162 4 229) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/byte-interp.lisp. 0] 2 * (in-package :clm) # * (load "/home/dlphilp/CCRMA/clm-2/v.cmucl") ; Loading #p"/home/dlphilp/CCRMA/clm-2/v.cmucl". ;;; Running /usr/bin/ld... ;;; Done. ;; Loading #p"/home/dlphilp/CCRMA/clm-2/v.x86f". T * (send-snd "(open-sound \"/home/dlphilp/comment_instr.wav\")") -1 ;;; <--- Snd does start here but without loading the soundfile * (start-snd) NIL ;;; <--- Snd opens as expected * (send-snd "(open-sound \"/home/dlphilp/comment_instr.wav\")") NIL ;;; <--- file loads as expected * (snd-edit () (with-sound () (mix (snd-sound)) (fm-violin .1 .1 660 .1))) Error in KERNEL::UNDEFINED-SYMBOL-ERROR-HANDLER: the function CLM-RECEIVE-SND is undefined. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (KERNEL::UNDEFINED-SYMBOL-ERROR-HANDLER "" #.(SYSTEM:INT-SAP #x3FFFE9BC) # (14)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/interr.lisp. 0] 0 * Am I missing anything obvious ? == dp From taube at uiuc.edu Mon Dec 2 07:50:27 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 2 Dec 2002 09:50:27 -0600 Subject: [CM] CLM/Snd problems In-Reply-To: <3DEB7720.EF15AE67@bright.net> References: <3DE62970.BE3FEFB8@bright.net> <200212021153.DAA20448@cmn14.stanford.edu> <3DEB7720.EF15AE67@bright.net> Message-ID: >Error in function C::BYTE-INTERPRET-BYTE: Unbound variable: >*INS-FILE-LOADING* my guess is this might be another package gotcha: > (find-symbol "*INS-FILE-LOADING*" :cm) NIL NIL > (find-symbol "*INS-FILE-LOADING*" :clm) CLM::*INS-FILE-LOADING* :INTERNAL This is an internal symbol in the CLM package. CM does not specifically reference this variable anywhere but my guess is its somehow appearing in the complied file that you are loading into the cm package. maybe this is a clm variable i should explicitly import?? i dont know... From lt at westnet.com Mon Dec 2 18:02:53 2002 From: lt at westnet.com (Larry Troxler) Date: Mon, 02 Dec 2002 21:02:53 -0500 Subject: Mostly csound / Re: [CM] new tar of cm-2.4.0 References: Message-ID: <3DEC10CD.4EC0A7B3@westnet.com> Rick, this is really great! Some of the csound-related modifications were exactly those I was thinking that would help. Here's my initial comments in no particular order, except that suspected bugs are first: o A typo I think in sco.lisp - the object-name method on f should probably use "f~a" not "i~a" ! Ok that was the only bug - now some mostly positive comments: o What does the :writers slot do in defobject? I notice this in the new sco.lisp. o I think having the "i" and "f" base classes are a good idea. As you say, you aren't required to use them if you don't like them (since they're so simple) o I like that unlike the base classes store only the number and not the "i" or "f" slot in the ins or num slot respectively. It makes for a lot less external manipulation in my composition code to have only the object-name method use the string. o About the "i" and "f" classes. I wonder whether they might as well include the duration slot for instruments and the size and gen slots for functions. This is because as far as I'm aware (and the csound manual seems to agree), that for "i" statements, the third parameter (p3) is always duration; and for "f" statements, p3 is always the function table size, and p4 is always the gen number. Well, that's it for now, with the caveat that I haven't yet actually converted my composition yet. I just noticed that typo I mentioned while scanning the source. Regards Larry Troxler From lt at westnet.com Mon Dec 2 18:37:36 2002 From: lt at westnet.com (Larry Troxler) Date: Mon, 02 Dec 2002 21:37:36 -0500 Subject: &rest not working in csound? / Re: [CM] new tar of cm-2.4.0 References: Message-ID: <3DEC18F0.34C05359@westnet.com> Oh no! I can't get the &rest thingy to work in csound: ; Loading #p"/root/cm-2.4.0/bin/cminit.lisp". * (defobject ff (f) (args) (:parameters time num &rest args)) * (setf foo (new ff time 0 num 10 args (list 1 2 3))) Warning: Declaring FOO special. #i(FF TIME 0 NUM 10 ARGS (1 2 3)) * (events foo "test.sco") Warning: These variables are undefined: OBJV PAR Error in KERNEL::UNBOUND-SYMBOL-ERROR-HANDLER: the variable OBJV is unbound. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (EVAL::LEAF-VALUE #> 0 #()) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:compiler/eval.lisp. 0] backtrace 0: (EVAL::LEAF-VALUE #> 0 #()) 1: ((PCL::FAST-METHOD WRITE-EVENT (FF SCO-FILE T)) (#(NIL 2 1) . #()) #S(PCL::FAST-METHOD-CALL :FUNCTION # :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (3)) #i(FF TIME 0 NUM 10 ARGS (1 2 3)) # ...) 2: (SCHEDULE-EVENTS # #i(FF TIME 0 NUM 10 ARGS (1 2 3)) 0) 3: (EVENTS #i(FF TIME 0 NUM 10 ARGS (1 2 3)) "test.sco") 4: (EXTENSIONS:INTERACTIVE-EVAL (EVENTS FOO "test.sco")) 5: (COMMON-LISP::%TOP-LEVEL) 6: ("DEFUN SAVE-CM") 7: (COMMON-LISP::RESTART-LISP) 0] From cewing at u.washington.edu Mon Dec 2 18:58:12 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Mon, 2 Dec 2002 18:58:12 -0800 (PST) Subject: [CM] A question about def-clm-struct Message-ID: Folks, Does def-clm-struct also allow the types of defstruct options that are allowed by defstruct? Specifically, I am wondering if the :print-funtion option may be used. I have a clm-struct that creates a moveable x,y point and uses envs to move the x or y position of the point in time. This structure is used in the run loop, so it seems it must be a clm-struct, but I'm getting tired of having to see the entire printed representation of the envelopes that control x and y, when all I really need to see are the current values of x and y right now. I'd like to define it similarly to the following, which works fine as a lisp struct: (defstruct (foo (:print-function (lambda (f s k) (format s "" (foo-bar f))))) (bar 'baz)) When I run this in lisp, it works well, and if I evaluate CM(27): (setf f (make-foo)) I get Which is exactly what I'd expect. But if I try to create the foo as a clm-struct i get: CM(29): Error: Received signal number 11 (Segmentation violation) [condition type: SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL] Restart actions (select using :continue): 0: Return to Top Level (an "abort" restart). 1: Abort entirely from this process. Now, when I have gotten results like this before, it always means that I am doing something that isn't working on the C-code side of things. I'm sure that must be that case here as well, but I don't get why def-clm-struct can't work exactly like defstruct with the added benefit of setting up the structure names in C. I know this is not a vital issue, I can certainly continue to look at the well-formatted info that comes out of the def-clm-struct print function, but I'd love to be able to control what I have to see. Any suggestions? Thanks a million, C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* From dlphilp at bright.net Tue Dec 3 06:03:09 2002 From: dlphilp at bright.net (Dave Phillips) Date: Tue, 03 Dec 2002 09:03:09 -0500 Subject: [CM] where I'm at now with the CLM/CMN/CM image (+ Snd) Message-ID: <3DECB99D.BB29BE5@bright.net> Greetings: I think I'm making progress. Using a cm.core image I can compile and load CLM instruments, and I can create MIDI files and CMN scores simultaneously (Thank you, Anders!), but I'm stuck at two important points. 1. The CLM/Snd connection is broken. start-snd doesn't work, nor do any of the other Snd calls. This is weird, because I swear it was working two days ago. I'm losing it... 2. (with-sound) doesn't work either. Here are the error messages: dlphilp at localhost:~/CCRMA$ lisp -core /home/dlphilp/CCRMA/cm-2.4.0/bin/cm.core -init /home/dlphilp/CCR ; Loading #p"/home/dlphilp/CCRMA/cm-2.4.0/bin/cminit.lisp". * (list-all-packages) (# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #) * (in-package :clm) # * (start-snd) Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x402C4250. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (UNIX::SIGSEGV-HANDLER # # #.(SYSTEM:INT-SAP #x3FFFEAE0)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] 0 * (compile-file "/home/dlphilp/CCRMA/clm-2/v.ins") Python version 1.0, VM version Intel x86 on 03 DEC 02 08:48:25 am. Compiling: /home/dlphilp/CCRMA/clm-2/v.ins 02 DEC 02 06:49:57 am Converted BIT20. Compiling DEFUN BIT20: Converted MAKE-FROBBER-FUNCTION. Compiling DEFUN MAKE-FROBBER-FUNCTION: ; Writing "/home/dlphilp/CCRMA/clm-2/clm_lnxcmu_FM-VIOLIN.c" ; Compiling "/home/dlphilp/CCRMA/clm-2/clm_lnxcmu_FM-VIOLIN.c" ; Creating shared object file "/home/dlphilp/CCRMA/clm-2/clm_lnxcmu_FM-VIOLIN_0.so" Converted |clm_lnxcmu_fm_violin3|. Compiling DEFINSTRUMENT FM-VIOLIN: Converted |clm_lnxcmu_fm_violin2|. Compiling DEFINSTRUMENT FM-VIOLIN: Converted FM-VIOLIN. Compiling DEFINSTRUMENT FM-VIOLIN: Converted FM-VIOLIN1. Compiling DEFINSTRUMENT FM-VIOLIN: Byte Compiling Top-Level Form: /home/dlphilp/CCRMA/clm-2/v.x86f written. Compilation finished in 0:00:10. #p"/home/dlphilp/CCRMA/clm-2/v.x86f" NIL NIL * (load "/home/dlphilp/CCRMA/clm-2/v.cmucl") ; Loading #p"/home/dlphilp/CCRMA/clm-2/v.cmucl". ;;; Running /usr/bin/ld... ;;; Done. ;; Loading #p"/home/dlphilp/CCRMA/clm-2/v.x86f". T * (with-sound () (fm-violin 0 3 440 .3)) Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x402BE7E4. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (UNIX::SIGSEGV-HANDLER # # #.(SYSTEM:INT-SAP #x3FFFE960)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] 0 * (with-sound (:output "fm-test.snd") (fm-violin 0 3 440 .3)) Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x402BE7E4. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (UNIX::SIGSEGV-HANDLER # # #.(SYSTEM:INT-SAP #x3FFFE960)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] 0 * Btw, my build of cm.core was made by following Rick's advice explicitly. There you have it... Let me know if there's any particular quick fix. Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Tue Dec 3 07:49:25 2002 From: taube at uiuc.edu (Rick Taube) Date: Tue, 3 Dec 2002 07:49:25 -0800 Subject: &rest not working in csound? / Re: [CM] new tar of cm-2.4.0 References: <3DEC18F0.34C05359@westnet.com> Message-ID: <002101c29ae3$8f42ab40$77197e82@music.uiuc.edu> > Oh no! I can't get the &rest thingy to work in csound: its a copy paste bug when i pulled the code from clm.lisp. sorry, ill put a new tarball on the server with the fix later today. ----- Original Message ----- From: "Larry Troxler" To: ; Sent: Monday, December 02, 2002 6:37 PM Subject: &rest not working in csound? / Re: [CM] new tar of cm-2.4.0 > Oh no! I can't get the &rest thingy to work in csound: > > ; Loading #p"/root/cm-2.4.0/bin/cminit.lisp". > * (defobject ff (f) (args) (:parameters time num &rest args)) > > * (setf foo (new ff time 0 num 10 args (list 1 2 3))) > > Warning: Declaring FOO special. > > #i(FF TIME 0 NUM 10 ARGS (1 2 3)) > > * (events foo "test.sco") > > Warning: These variables are undefined: > OBJV PAR > > Error in KERNEL::UNBOUND-SYMBOL-ERROR-HANDLER: the variable OBJV is > unbound. > > Restarts: > 0: [ABORT] Return to Top-Level. > > Debug (type H for help) > > (EVAL::LEAF-VALUE > # LEAF= #> > 0 > #()) > Source: Error finding source: > Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer > exists: target:compiler/eval.lisp. > > 0] backtrace > > 0: (EVAL::LEAF-VALUE > # LEAF= #> > 0 > #()) > 1: ((PCL::FAST-METHOD WRITE-EVENT (FF SCO-FILE T)) (#(NIL 2 1) . #()) > #S(PCL::FAST-METHOD-CALL > :FUNCTION # {112ADA99}> > :PV-CELL NIL > :NEXT-METHOD-CALL NIL > :ARG-INFO (3)) > #i(FF TIME 0 NUM 10 ARGS (1 2 3)) # ...) > 2: (SCHEDULE-EVENTS # > #i(FF TIME 0 NUM 10 ARGS (1 2 3)) > 0) > 3: (EVENTS #i(FF TIME 0 NUM 10 ARGS (1 2 3)) "test.sco") > 4: (EXTENSIONS:INTERACTIVE-EVAL (EVENTS FOO "test.sco")) > 5: (COMMON-LISP::%TOP-LEVEL) > 6: ("DEFUN SAVE-CM") > 7: (COMMON-LISP::RESTART-LISP) > > 0] > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From taube at uiuc.edu Tue Dec 3 11:40:26 2002 From: taube at uiuc.edu (Rick Taube) Date: Tue, 3 Dec 2002 13:40:26 -0600 Subject: [CM] new tar of cm-2.4.0 Message-ID: ive put a new tar file of 2.4.0 on the ccrma server ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz this fixes a problem with CMN file versioning and the &rest parameters for csound events. It also added a 'dur' parameter to the i object and 'size' and 'gen' to the f object. it also changes object-name to always return csound instrument names in lower case letters. i also made sure that i could actually write i1 and f1 events to a score file before making this tar! btw, i would be very grateful if someone out there that understands csound syntax could translate my etc/examples/fm.ins file into a fm.orc file. i would lke to have one example of csound output in the later chapters. i also need an output hook function that will call csound with a file and an orchestra if anyone already has done this. From lt at westnet.com Tue Dec 3 12:14:09 2002 From: lt at westnet.com (Larry Troxler) Date: Tue, 3 Dec 2002 15:14:09 -0500 (EST) Subject: [CM] new tar of cm-2.4.0 In-Reply-To: References: Message-ID: On Tue, 3 Dec 2002, Rick Taube wrote: > btw, i would be very grateful if someone out there that understands > csound syntax could translate my etc/examples/fm.ins file into a fm.orc > file. i would lke to have one example of csound output in the later > chapters. Ok, I can do this. > i also need an output hook function that will call csound with > a file and an orchestra if anyone already has done this. > I've done this, so when I get to that machine I'll email what I have. Larry Troxler From bil at ccrma.Stanford.EDU Wed Dec 4 04:45:35 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 4 Dec 2002 04:45:35 -0800 Subject: [CM] CLM/Snd problems In-Reply-To: <3DEB7720.EF15AE67@bright.net> References: <3DE62970.BE3FEFB8@bright.net> <200212021153.DAA20448@cmn14.stanford.edu> <3DEB7720.EF15AE67@bright.net> Message-ID: <200212041245.EAA23129@cmn14.stanford.edu> > *INS-FILE-LOADING* I always refer to this as clm::*ins-file-loading*, so it should not need to be explicitly imported into CM. Did you compile v.ins while in the CLM package? This may have caused the compiler to strip off the package reference. I never work in the CLM package itself -- I can't think of any reason to use (in-package :clm) in the listener. > CLM-RECEIVE-SND is undefined. This was caused by a typo in ffi.lisp. > * (send-snd "(open-sound \"/home/dlphilp/comment_instr.wav\")") > -1 ;;; <--- Snd does start here but without loading the soundfile I bet this is a timing problem -- when CLM has to start Snd itself, it has to wait for it to get started before sending any commands. I currently wait 1 second, just as a wild guess. I suppose I could add (yet another) layer of handshakes, but this entire part of CLM is problematic. From bil at ccrma.Stanford.EDU Wed Dec 4 04:46:12 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 4 Dec 2002 04:46:12 -0800 Subject: [CM] A question about def-clm-struct In-Reply-To: References: Message-ID: <200212041246.EAA23133@cmn14.stanford.edu> > Does def-clm-struct also allow the types of defstruct options that are > allowed by defstruct? No -- sorry; each such option requires Lisp->C translation support. Currently in CL def-clm-struct piggybacks on the existing array support. To add specialized print functions, it needs to register a new type for the struct, then add an entry to mus_print_object. You could get the same effect by defining a macro that does the printing you want (but, of course, a value like 'baz isn't going to work -- I don't try to support symbols in any version of the run macro). (def-clm-struct foo (bar 1.0)) (defmacro print-foo (f) `(clm-print "" (foo-bar ,f))) From dlphilp at bright.net Wed Dec 4 05:32:29 2002 From: dlphilp at bright.net (Dave Phillips) Date: Wed, 04 Dec 2002 08:32:29 -0500 Subject: [CM] CLM/Snd problems References: <3DE62970.BE3FEFB8@bright.net> <200212021153.DAA20448@cmn14.stanford.edu> <3DEB7720.EF15AE67@bright.net> <200212041245.EAA23129@cmn14.stanford.edu> Message-ID: <3DEE03ED.CC4048FF@bright.net> Bill Schottstaedt wrote: > > * (send-snd "(open-sound \"/home/dlphilp/comment_instr.wav\")") > > -1 ;;; <--- Snd does start here but without loading the soundfile > > I bet this is a timing problem -- when CLM has to start Snd itself, > it has to wait for it to get started before sending any commands. > I currently wait 1 second, just as a wild guess. I suppose I could > add (yet another) layer of handshakes, but this entire part of CLM > is problematic. I can start-snd and send-snd okay now, but only in standalone-CLM mode, still not via the cm.core image. (As of this morning 4 Dec 02). Btw, I'm not sure my problems with with-sound are due to a fault in CLM. For some reason it segfaults on my laptop but not on the desktop machine. The machines do differ: desktop: 800 MHz Duron 512 MB RAM 15 GB hd Linux kernel 2.4.5 ALSA 0.9.0beta10 SBLive laptop: 366 MHz PII 256 MB RAM 6 GB hd Linux kernel 2.4.18 ALSA 0.9.0beta10 CS4232 audio chipset Both systems use the same CCRMA apps and the same version of CMUCL. Both also use the same window manager (Blackbox). The sound systems differ greatly though: the CS4232 is barely do-able, but since the ALSA versions are the same I'm not sure if there's the problem. == dp From cewing at u.washington.edu Wed Dec 4 10:01:13 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Wed, 4 Dec 2002 10:01:13 -0800 (PST) Subject: [CM] A question about def-clm-struct In-Reply-To: <200212041246.EAA23133@cmn14.stanford.edu> Message-ID: Bill, Thanks, that's sort of what I had figured. I didn't think of defining my own macro to print though. The reason being that I wanted something that would work whenever I typed the name of the struct, without having to ask it to print a special way. So if I had created a struct like so: > (setf joe (make-foo)) I would qutomatically see foo printed the way I wanted to see it. And if I entered > foo at any time, the listener would return the printed representation of foo that I wanted to see, rather than the generic representation used for all structs. I understand the bit about the struct needing to be compatible with C structs, but would there be a way to piggy-back this functionality on the def-clm-struct macro such that LISP-related functionality could be maintained, but not passed on to the C side of things? I'm going to dig around in the source a bit to see if I can come to a better understanding of how the whole FFI thing works. Where exactly can I find the definition of 'def-clm-struct'? Thanks again for the answer. C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* On Wed, 4 Dec 2002, Bill Schottstaedt wrote: > > Does def-clm-struct also allow the types of defstruct options that are > > allowed by defstruct? > > No -- sorry; each such option requires Lisp->C translation support. > Currently in CL def-clm-struct piggybacks on the existing array > support. To add specialized print functions, it needs to register a > new type for the struct, then add an entry to mus_print_object. You > could get the same effect by defining a macro that does the printing > you want (but, of course, a value like 'baz isn't going to work -- I > don't try to support symbols in any version of the run macro). > > (def-clm-struct foo (bar 1.0)) > (defmacro print-foo (f) `(clm-print "" (foo-bar ,f))) > From dlphilp at bright.net Wed Dec 4 22:08:04 2002 From: dlphilp at bright.net (Dave Phillips) Date: Thu, 05 Dec 2002 01:08:04 -0500 Subject: [CM] quick note at the end of the day Message-ID: <3DEEED44.3A256320@bright.net> Greetings: Before staggering off to bed I want to report that after building the latest everything (CLM/CMN/CM/Snd) it all works perfectly from the cm.core image. All the CLM/Snd has tested fine, as has compile/loads from CLM and CMN. Tests of the CM examples are fine too. Very cool... I'm going to sleep now... Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Thu Dec 5 13:32:36 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 5 Dec 2002 15:32:36 -0600 Subject: [CM] new cm-2.4.0.tar Message-ID: ive updated 2.4.0 on the ccrma server ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz this tarfile fixes some old bugs and adds some new ones: the :reflect mode for 'drunk' now refects within both bounds args you specify to 'events' are now passed to the hook fixed printing bug in 'markov-analyze' new stuff: new :avoid arg to 'drunk' avoids that number when the increment is selected new :stop value for drunk's :mode arg causes it to return false instead of a value if the bounds are exceeded markov pattern now allows subpatterns and other things to be returned in the chain. values normally returned from the transition rules can be "overridden" using the new :produce option. the value of :produce should be a list ( ...) which causes the pattern to return (next ) instead of . for example this returns a subpattern whenever 2 is produced > (define x (new markov :of '((1 -> 1 2 3) (2 -> 3) (3 -> 1 2)) :produce (list 2 (new cycle :of '(a b c))))) > (next x 34) (1 3 A B C 3 1 A B C 3 A B C 3 A B C 3 1 A B C 3 A B C 3 A B C 3 1 3) From dlphilp at bright.net Fri Dec 6 07:56:51 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 06 Dec 2002 10:56:51 -0500 Subject: [CM] uh-oh Message-ID: <3DF0C8C3.1084704@bright.net> Greetings: I rebuilt everything using Rick's latest CM package. Alas, some things headed south again. The CLM/Snd stuff is broken again, but weirder is this stuff: * (compile-file "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm") Python version 1.0, VM version Intel x86 on 06 DEC 02 10:49:48 am. Compiling: /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm 02 DEC 02 09:26:25 am Converted TESTIT. Compiling DEFINE (TESTIT STF LEN NTS): Compiling Creation Form for #: Compiling Creation Form for #: Compiling Creation Form for #: Compiling Creation Form for #: Byte Compiling Top-Level Form: /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f written. Compilation finished in 0:00:00. #p"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f" NIL NIL * (load "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f" ) ; Loading #p"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f". Unknown keyword: :SIZE Restarts: 0: [CONTINUE] Return NIL from load of "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f". 1: [ABORT ] Return to Top-Level. Debug (type H for help) ("DEFUN LOAD" "testit.cmn" 268433968 4)[:OPTIONAL] Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/load.lisp. 0] 1 * (in-package :clm) # * (start-snd) Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x40338BF8. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (UNIX::SIGSEGV-HANDLER # # #.(SYSTEM:INT-SAP #x3FFFEAE0)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] 0 * Here's the cmn-test.cm code I'm running. It's been working fine until this build : (define (testit stf len nts) (let ((nts (new heap :notes nts)) ;; choose half, quarter, or two eighths ;; the repetition 'weights' the selection (rhy (new random :of (list 2 1 1 1 (new cycle :of '(1/2 1/2)) (new cycle :of '(1/2 1/2)) )))) (process while (< (now) len) for n = (next nts) for r = (next rhy) output (new midi :time (now) :duration r :keynum n :channel stf) wait r))) (define staffs '((0 :name "Viola" :clef :alto :meter (4 4)) (1 :name "Oboe" :clef :treble :meter (4 4)) (2 :name "Flute" :clef :treble :meter (4 4)))) (events (list (testit 0 32 '(g2 a bf c3 d f)) (testit 1 32 '(a3 bf c4 d e g)) (testit 2 32 '(bf4 c5 d f g a))) (new seq :name 'two-ways)) (events #!two-ways "cmn-test.cmn" :staffing staffs :size 20 :title "Trio") (events #!two-ways "cmn-test.mid") Has something significant changed ? I'll check the CCRMA ftp for updates... Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Fri Dec 6 08:15:55 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 10:15:55 -0600 Subject: [CM] uh-oh In-Reply-To: <3DF0C8C3.1084704@bright.net> References: <3DF0C8C3.1084704@bright.net> Message-ID: your example works fine on my machine so ill have to try it in cmu. im very sorry for the confuion -- i dont have time to do full testing until the "actual release" when the book is done. the book example will also be used to generte a test suite for cm that i can just run all all possible macine/lisp combos to find problems. this test suite has been needed for years. but until then im totally swamped. From taube at uiuc.edu Fri Dec 6 08:40:10 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 10:40:10 -0600 Subject: [CM] uh-oh In-Reply-To: <3DF0C8C3.1084704@bright.net> References: <3DF0C8C3.1084704@bright.net> Message-ID: > I rebuilt everything using Rick's latest CM package. Alas, some things >headed south again. The CLM/Snd stuff is broken again, but weirder is your CMN example also works fine in my CMU image (18d) with CLM and CMN loaded. I tried the example both compling and loading and also evalling from Xemacs. It works both ways -- i get a .cmn file and a .midi file. So im stumped. i think ill re-put the tarfile im using on the ccrma server again, maybe i didnt copy it over correctly or something. check in an hour or so -- i wont message the group. i dont knwo whats going on with the snd segmentation error. i dont refernece any snd or clm internals. From dlphilp at bright.net Fri Dec 6 08:47:55 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 06 Dec 2002 11:47:55 -0500 Subject: [CM] fun with CM + Linux Message-ID: <3DF0D4BB.E9D38FE9@bright.net> Greetings: In cm-2.4.0/src/midi2.lisp this line provides the direction to the Linux playmidi MIDI file player : (shell "/usr/bin/playmidi~a ~a > /dev/null &" opts file) This will work well enough, but I've changed it here to this line : (shell "timidity -ig -c /home/dlphilp/timidity-sf2.cfg~a ~a > /dev/null &" opts file) That will call TiMidity with its Gtk interface and utilize a configuration file that references the Fluid soundfonts. The TiMidity config file is quite simple: soundfont /home/dlphilp/soundfiles/sfonts/FluidR3_20GM.SF2 I get transport control over the MIDI player, plus I get a nicer-sounding rendition of the MIDI file. I do have one question: rather than changing this line each time I compile CM, is there a way to override the default, perhaps via the cminit.lisp ? Sorry if that's a simple question, I'm a simple man... ;) Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Fri Dec 6 09:01:07 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 11:01:07 -0600 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF0D4BB.E9D38FE9@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> Message-ID: I think your Timidity hook is what I should use as the default on linux. but before i take your example, look at sco.lisp for a hook that tobias wrote called play-sco-file. his hook allows options etc to get passed to the hook. if you want you do a simlar function for midi/timidiity you can adapt his csound example and ill use it. > I do have one question: rather than changing this line each time I >compile CM, is there a way to override the default, perhaps via the >cminit.lisp ? Sorry if that's a simple question, I'm a simple man... ;) > yes for now just put your definition: (define (linux-play-midi-file ...) ...) in your cmiinit.lisp file. but ill make yours the default. From taube at uiuc.edu Fri Dec 6 09:07:56 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 11:07:56 -0600 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF0D4BB.E9D38FE9@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> Message-ID: oooh i should use timidity to render audio files of all the .midi example file in the html version of the book! hey send me your hook! From dlphilp at bright.net Fri Dec 6 09:59:45 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 06 Dec 2002 12:59:45 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> Message-ID: <3DF0E591.48396DD4@bright.net> Rick Taube wrote: > I think your Timidity hook is what I should use as the default on linux. Maybe not. Playmidi is straightforward and included on every mainstream Linux distribution, but I'm not sure about TiMidity's distro status. Also, TiMidity requires either a set of PAT or SF2 patches and a configuration file. And if you want a GUI you have to build it for your resources. Fortunately the GUI can be based on Gtk, Motif, Tk, curses, and other kits, and you can assume their existence in all the mainstream distros. Of course you could just provide the whole thing on the CD, though I'm not sure about what soundfonts are freely redistributable. > but before i take your example, look at sco.lisp for a hook that tobias wrote called play-sco-file. his hook allows options > etc to get passed to the hook. if you want you do a simlar function for midi/timidiity you can adapt his csound example and > ill use it. I'll take a look... > yes for now just put your definition: > > (define (linux-play-midi-file ...) ...) > > in your cmiinit.lisp file. Btw, here's what I have in cminit.lisp now: (set-midi-output-hook! #'oss-play-midi-file) (set-cmn-output-hook! #'load) Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Fri Dec 6 10:49:42 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 12:49:42 -0600 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF0E591.48396DD4@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> Message-ID: >Btw, here's what I have in cminit.lisp now: > > (set-midi-output-hook! #'oss-play-midi-file) > (set-cmn-output-hook! #'load) > AHA, thats what the problem is in your bug report! Dont use #'load directly as the hook. Try this in your init file. (defun cmn-load (file &rest args) args (load file)) (set-cmn-output-hook! #'cmn-load) From dlphilp at bright.net Fri Dec 6 11:46:48 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 06 Dec 2002 14:46:48 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> Message-ID: <3DF0FEA8.142A7501@bright.net> Rick Taube wrote: > > (set-midi-output-hook! #'oss-play-midi-file) > > (set-cmn-output-hook! #'load) > > > > AHA, thats what the problem is in your bug report! > Dont use #'load directly as the hook. Try this in your init file. > > (defun cmn-load (file &rest args) > args > (load file)) > > (set-cmn-output-hook! #'cmn-load) I'm a dolt. Thanks, Rick, that took care of that problem. The problem with start-snd is possibly a real bear. I get intermittent success with it (which I've reported), but most of the time I get this error: * (start-snd) Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x40338BF8. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (UNIX::SIGSEGV-HANDLER # # #.(SYSTEM:INT-SAP #x3FFFEAE0)) Any debugging tips or other suggestions ? == dp From taube at uiuc.edu Fri Dec 6 14:11:50 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 14:11:50 -0800 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <3DF0FEA8.142A7501@bright.net> Message-ID: <001501c29d74$7ad9b390$0f1e7e82@music.uiuc.edu> > Any debugging tips or other suggestions ? > my guess is that this has nothing to do with cm directly. it may have sometig to do with saved images. you can disable the save in cm.lisp by commenting this out at the end of src/cm.lisp: (apply (find-symbol (string 'save-cm) :cm) cm-bin-directory args) then load cm.lisp and when its done do (in-package :cm) (start-snd) and see if you can start-snd relaiably several times. if then the priblem is with the image saving or its heap size or.... From taube at uiuc.edu Fri Dec 6 15:18:16 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 6 Dec 2002 15:18:16 -0800 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <3DF0FEA8.142A7501@bright.net> <001501c29d74$7ad9b390$0f1e7e82@music.uiuc.edu> <3DF11318.E8F2179F@bright.net> Message-ID: <000901c29d7d$c4d2fe30$0b1c7e82@music.uiuc.edu> if you dont save a cm image then you have to set the package and the read table by hand: (in-package :cm) (setf *readtable* *cm-readtable*) that should do it. of course you will also have to load your cminit.lisp by hand if you want that active as well. (load "/whatever/cminit.lisp") but you should track down what the problem is in the saved imag,. im sure its fixable somehow-- maybe the cmu man page will say something useful ----- Original Message ----- From: "Dave Phillips" To: "Rick Taube" Sent: Friday, December 06, 2002 1:14 PM Subject: Re: [CM] fun with CM + Linux > Rick Taube wrote: > > > my guess is that this has nothing to do with cm directly. it may have > > sometig to do with saved images. you can disable the save in cm.lisp by > > commenting this out at the end of src/cm.lisp: > > > > (apply (find-symbol (string 'save-cm) :cm) > > cm-bin-directory > > args) > > > > then load cm.lisp and when its done do > > (in-package :cm) > > (start-snd) > > > > and see if you can start-snd relaiably several times. if then the priblem is > > with the image saving or its heap size or.... > > This seems to help. I started and restarted Snd a number of times, it > seems to like things when I just load CLM, CMN, and finally CM. However, > of course a new problem creeps in. When I try running my cmn-test file I > get this error again: > > > * (load "/home/dlphilp/CCRMA/clm-2/all.lisp") > * [snip] > * (load "/home/dlphilp/CCRMA/cmn/cmn-all.lisp") > * [snip] > * (load "/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp") > * [snip] > > * (in-package :cm) > # > * (start-snd) > T > > * (compile-file "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm") > > Python version 1.0, VM version Intel x86 on 06 DEC 02 04:11:48 pm. > Compiling: /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm 06 DEC > 02 02:50:17 pm > > Converted TESTIT. > Compiling DEFINE (TESTIT STF LEN NTS): > Compiling Creation Form for #: > Compiling Creation Form for #: > Compiling Creation Form for #: > Compiling Creation Form for #: > > Error: Read error at 913: > "(events #!/\two-ways "cmn-test.mid")" > Reader error at 938 on # "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm">: > No dispatch function defined for #\!. > > Byte Compiling Top-Level Form: > Byte Compiling Creation Form for #: > > Error: Read error at 948: > "(events #!/\two-ways "cmn-test.cmn" :staffing staffs :size 20 :title > "Triad")" > Reader error at 1014 on # "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm">: > No dispatch function defined for #\!. > > Compilation unit finished. > 2 errors > > /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f written. > Compilation finished in 0:00:00. > > #p"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f" > T > T > * > > > Bummer. I looked for the fix to this problem but didn't find it in my > mail (too much mail). Any suggestions ? > > == dp > From t at fictive.com Fri Dec 6 15:10:05 2002 From: t at fictive.com (Tobias Kunze =?ISO-8859-1?B?QnJpc2Xxbw==?=) Date: Sat, 7 Dec 2002 00:10:05 +0100 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF0FEA8.142A7501@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <3DF0FEA8.142A7501@bright.net> Message-ID: <20021207001005.40895bb9.t@fictive.com> > Error [...] Segmentation Violation [...] Debug (type H for help) [...] > Any debugging tips or other suggestions ? did you type H? there's gotta be a way to backtrace and search for that NULL pointer. if not, i'd try to somehow reset the segv handler to the system default or otherwise dump core and run a debugger on it. From lt at westnet.com Fri Dec 6 16:53:01 2002 From: lt at westnet.com (Larry Troxler) Date: Fri, 6 Dec 2002 19:53:01 -0500 (EST) Subject: [CM] fun with CM + Linux In-Reply-To: References: <3DF0D4BB.E9D38FE9@bright.net> Message-ID: On Fri, 6 Dec 2002, Rick Taube wrote: > I think your Timidity hook is what I should use as the default on linux. Unless I'm missing something, this doesn't make sense. Timidity as far as I understand, is a "soft-synth" that happens to be able to take MIDI input. Shouldn't the default be instead to write to a MIDI device, instead of being hardwired to a specific program? Larry Troxler From lt at westnet.com Fri Dec 6 17:00:17 2002 From: lt at westnet.com (Larry Troxler) Date: Fri, 6 Dec 2002 20:00:17 -0500 (EST) Subject: [CM] fun with CM + Linux In-Reply-To: <3DF0E591.48396DD4@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> Message-ID: On Fri, 6 Dec 2002, Dave Phillips wrote: > Rick Taube wrote: > > > I think your Timidity hook is what I should use as the default on linux. > > Maybe not. Playmidi is straightforward and included on every mainstream > Linux distribution, but I'm not sure about TiMidity's distro status. > Also, TiMidity requires either a set of PAT or SF2 patches and a > configuration file. And if you want a GUI you have to build it for your > resources. Fortunately the GUI can be based on Gtk, Motif, Tk, curses, > and other kits, and you can assume their existence in all the mainstream > distros. I'm glad you agree. But I feel like I've been just been transported into an alternate universe, because isn't Timidity a soft-synth? Even if it can redirect its output to a MIDI port instead of generating a sound file, why not use "playmidi" and if you want to use a soft-synth instead of a hardware MIDI port, then do what ever ALSA or Timidity magic is needed for that (I've never used MIDI soft-synths so I don't know the details). I'm just not sure why in this case the default shouldn't be to play the MIDI to a MIDI device. Larry Troxler From dlphilp at bright.net Fri Dec 6 17:13:02 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 06 Dec 2002 20:13:02 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> Message-ID: <3DF14B1E.B37BBAA4@bright.net> Larry Troxler wrote: > On Fri, 6 Dec 2002, Rick Taube wrote: > > > I think your Timidity hook is what I should use as the default on linux. > > Unless I'm missing something, this doesn't make sense. Timidity as far as > I understand, is a "soft-synth" that happens to be able to take MIDI > input. > > Shouldn't the default be instead to write to a MIDI device, instead of > being hardwired to a specific program? I agree with Larry, it would be best if the MIDI output were realtime. I suggest TiMidity for reasons of sound quality in lieu of support for /dev/midi and its offspring. So what has to happen for CM in Linux to route MIDI to the appropriate devices ? Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From lt at westnet.com Fri Dec 6 17:39:44 2002 From: lt at westnet.com (Larry Troxler) Date: Fri, 06 Dec 2002 20:39:44 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF14B1E.B37BBAA4@bright.net> Message-ID: <3DF15160.6F0E63F4@westnet.com> Dave Phillips wrote: > > Larry Troxler wrote: > > > On Fri, 6 Dec 2002, Rick Taube wrote: > > > > > I think your Timidity hook is what I should use as the default on linux. > > > > Unless I'm missing something, this doesn't make sense. Timidity as far as > > I understand, is a "soft-synth" that happens to be able to take MIDI > > input. > > > > Shouldn't the default be instead to write to a MIDI device, instead of > > being hardwired to a specific program? > > I agree with Larry, it would be best if the MIDI output were realtime. I > suggest TiMidity for reasons of sound quality in lieu of support for > /dev/midi and its offspring. > Ok, it could be that again I'm misunderstanding something, but I was assuming we were talking about output to a midi file. In fact I don't know (and Dave and I were wondering) if real-time MIDI output was supported yet on Linux. But even if real-time MIDI output works, isn't that really up to the piping mechanisms in ALSA devices, to redirect MIDI output to a program instead of an actual MIDI port, if that's what you want? What I'm saying is (and maybe I should have shut up before I started since I'm not actually using MIDI in CM) that shouldn't the output hook for MIDI, assuming it gets passed a MIDI file, simply play the MIDI file to a specified MIDI port, rather than calling a specific soft-synth? Larry Troxler From dlphilp at bright.net Fri Dec 6 18:37:38 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 06 Dec 2002 21:37:38 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF14B1E.B37BBAA4@bright.net> <3DF15160.6F0E63F4@westnet.com> Message-ID: <3DF15EF2.918E8A6F@bright.net> Larry Troxler wrote: > What I'm saying is (and maybe I should have shut up before I started > since I'm not actually using MIDI in CM) that shouldn't the output hook > for MIDI, assuming it gets passed a MIDI file, simply play the MIDI file > to a specified MIDI port, rather than calling a specific soft-synth? You can't just cat a MIDI file to /dev/midi, it needs a player that understands the format and correctly sequences the data in time. I think it might be sweetest to have both MIDI file creation/playback (via iiwusynth or TiMidity) and realtime output to MIDI ports (real or virtual). One advantage I do enjoy when using TiMidity with CM: I have transport controls for playback... Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From t at fictive.com Fri Dec 6 19:12:56 2002 From: t at fictive.com (Tobias Kunze =?ISO-8859-1?B?QnJpc2Xxbw==?=) Date: Sat, 7 Dec 2002 04:12:56 +0100 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF15160.6F0E63F4@westnet.com> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF14B1E.B37BBAA4@bright.net> <3DF15160.6F0E63F4@westnet.com> Message-ID: <20021207041256.79df3d2a.t@fictive.com> imho there should be no hardcoded defaults whatsoever, for any output syntax. instead, output data should be only generated and placed in a pre-defined location (a file, dac, port, socket, whatever), in some pre-defined manner (all at once, chunked, ring-bufferd, whatever). the user should then see to it that a suitable renderer is called upon that data. of course, as a matter of convenience, a hook mechanism should also be provided that allows the user to have his renderer called automatically. and here is where defaults can make sense, in addition to direct specification. likewise, a global preference should be provided to indicate whether or not external data such as the user's and the system's settings for specific, pre-defined MIME types (e.g., audio/midi) should be perused to derive hook definitions. finally, to assist the user in setting up a hook, sensible, hardcoded 'default' values could be offered as starting points for user adjustments. this, however, is a user interface issue, not an issue of functionality. From bil at ccrma.Stanford.EDU Mon Dec 9 03:51:13 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 9 Dec 2002 03:51:13 -0800 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF0E591.48396DD4@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> Message-ID: <200212091151.DAA00322@cmn14.stanford.edu> It might be significant that the segfault happens at: #.(SYSTEM:INT-SAP #x3FFFEAE0)) This is in CMUCL, and is called only in ffi.lisp when I'm trying to pass an array from Lisp to C (or vice versa?). But that doesn't happen at all in start-snd! In the best of all worlds, you'd be able to run cmucl under gdb, fall into gdb upon the segfault, then look at the stack and locals to see what has gone awry (there's an example in clm.html), but that trick rarely works in cmucl -- you'll just see a bunch of question marks or completely bogus entries. From dlphilp at bright.net Mon Dec 9 05:00:39 2002 From: dlphilp at bright.net (Dave Phillips) Date: Mon, 09 Dec 2002 08:00:39 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <200212091151.DAA00322@cmn14.stanford.edu> Message-ID: <3DF493F7.35CD7920@bright.net> Bill Schottstaedt wrote: > It might be significant that the segfault happens at: > > #.(SYSTEM:INT-SAP #x3FFFEAE0)) > > This is in CMUCL, and is called only in ffi.lisp when I'm trying to > pass an array from Lisp to C (or vice versa?). But that doesn't happen > at all in start-snd! In the best of all worlds, you'd be able to run > cmucl under gdb, fall into gdb upon the segfault, then look at the > stack and locals to see what has gone awry (there's an example in > clm.html), but that trick rarely works in cmucl -- you'll just see a > bunch of question marks or completely bogus entries. Hi Bill: I tried a suggestion from Rick that works perfectly, and I think it might narrow down the problem source. I did the following: 1. I commented out the 'save'cm' lines from cm.lisp as per Rick's advice. 2. I load CLM, CMN, CM, in that order, without quitting between. 3. Then I add this stuffL in-package :cm) (set-midi-output-hook! #'oss-play-midi-file) (defun cmn-load (file &rest args) args (load file)) (set-cmn-output-hook! #'cmn-load) (setf *readtable* *cm-readtable*) 4. At this point everything works flawlessly: CLM .ins files compile/load/play correctly with with-sound or with-psound, CMN .cmn files load and display correctly, and the various CM examples work. 5. I can now load the CLM/CMN/CM fast-load files (again in that order), add in the stuff from step #3 again, and again everything works fine. So the problem appears only when I save everything in the cm.core image. Rick suggested that it shouldn't be too hard to debug from there, but I'm truly a novice at debugging Lisp apps. I'll try your method today and see what I come up with. Btw, the combined environment of CLM/CMN/CM/Snd just rocks ! Today I'll try adding a flag to the TiMidity call (in CM's midi2.lisp and midi2.scm) that will output a WAV file as well as producing the realtime audio rendering. That way I can call Snd and load the new file into it via Lisp. I know it's a kludgy approach, I just want to see if I can do it. :) Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From csr21 at cam.ac.uk Mon Dec 9 05:10:32 2002 From: csr21 at cam.ac.uk (Christophe Rhodes) Date: Mon, 9 Dec 2002 13:10:32 +0000 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF493F7.35CD7920@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <200212091151.DAA00322@cmn14.stanford.edu> <3DF493F7.35CD7920@bright.net> Message-ID: <20021209131032.GA18744@cam.ac.uk> On Mon, Dec 09, 2002 at 08:00:39AM -0500, Dave Phillips wrote: > Bill Schottstaedt wrote: > > > It might be significant that the segfault happens at: > > > > #.(SYSTEM:INT-SAP #x3FFFEAE0)) > > > > This is in CMUCL, and is called only in ffi.lisp when I'm trying to > > pass an array from Lisp to C (or vice versa?). But that doesn't happen > > at all in start-snd! In the best of all worlds, you'd be able to run > > cmucl under gdb, fall into gdb upon the segfault, then look at the > > stack and locals to see what has gone awry (there's an example in > > clm.html), but that trick rarely works in cmucl -- you'll just see a > > bunch of question marks or completely bogus entries. > > Hi Bill: > > I tried a suggestion from Rick that works perfectly, and I think it > might narrow down the problem source. > > I did the following: > > 1. I commented out the 'save'cm' lines from cm.lisp as per Rick's > advice. I haven't been following terribly closely, but are you linking foreign (i.e. "C") code and saving in a core? Until very recently (after the most recent official CMUCL release) this caused segmentation faults, as the foreign references weren't saved (and so weren't loaded at startup). Until now, the workaround has been to do as you did -- to load from fasl files rather than from core; however, recently the cmucl team added the functionality needed to make this work. Sorry if this is barking up the wrong tree, but let me know if there's more information I can provide. Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge) From dlphilp at bright.net Mon Dec 9 05:20:10 2002 From: dlphilp at bright.net (Dave Phillips) Date: Mon, 09 Dec 2002 08:20:10 -0500 Subject: [CM] fun with CM + Linux References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <200212091151.DAA00322@cmn14.stanford.edu> <3DF493F7.35CD7920@bright.net> <20021209131032.GA18744@cam.ac.uk> Message-ID: <3DF4988A.B08A1E10@bright.net> Christophe Rhodes wrote: > I haven't been following terribly closely, but are you linking foreign > (i.e. "C") code and saving in a core? Until very recently (after the > most recent official CMUCL release) this caused segmentation faults, as > the foreign references weren't saved (and so weren't loaded at startup). Well, there is C code compiled into CLM (is that correct, Bill ?), maybe that could be the problem. Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From nando at ccrma.Stanford.EDU Mon Dec 9 11:37:41 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: 09 Dec 2002 11:37:41 -0800 Subject: [CM] fun with CM + Linux In-Reply-To: <3DF4988A.B08A1E10@bright.net> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <200212091151.DAA00322@cmn14.stanford.edu> <3DF493F7.35CD7920@bright.net> <20021209131032.GA18744@cam.ac.uk> <3DF4988A.B08A1E10@bright.net> Message-ID: <1039462661.3728.59.camel@cmn37.Stanford.EDU> > > I haven't been following terribly closely, but are you linking foreign > > (i.e. "C") code and saving in a core? Until very recently (after the > > most recent official CMUCL release) this caused segmentation faults, as > > the foreign references weren't saved (and so weren't loaded at startup). > > Well, there is C code compiled into CLM (is that correct, Bill ?), maybe > that could be the problem. That would be sndlib, I think. I did not follow the thread too closely as well, but I assume you are initializing the clm package by evaluating (restart-clm) after loading everything? I have that added to the startup script for my cmucl rpms in Planet CCRMA: exec /usr/bin/lisp -core /usr/lib/lisp/lib/cm-clm-cmn.core -eval "(restart-clm)\" $@ I had an additional problem that required a hack to make the Planet CCRMA cm/clm/cmn rpms work corectly in cmucl. Everything would work fine on the machine where the whole thing was compiled and saved but the load of the clm ffi code would fail on a slightly different machine. I had to rebuild the ffi code when the rpm is installed and reload it at startup time and that fixed the problem (but is a gross hack :-) Maybe a newer version of cmucl would fix that as well, I'll have to try. -- Fernando From bil at ccrma.Stanford.EDU Tue Dec 10 04:29:33 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 10 Dec 2002 04:29:33 -0800 Subject: [CM] fun with CM + Linux In-Reply-To: <20021209131032.GA18744@cam.ac.uk> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <200212091151.DAA00322@cmn14.stanford.edu> <3DF493F7.35CD7920@bright.net> <20021209131032.GA18744@cam.ac.uk> Message-ID: <200212101229.EAA01760@cmn14.stanford.edu> > Until now, the workaround has been to do as you did -- to load from fasl > files rather than from core; however, recently the cmucl team added the > functionality needed to make this work. I don't immediately find a version later than 18d -- could you send a url for a fixed version? Thanks! From csr21 at cam.ac.uk Tue Dec 10 04:36:33 2002 From: csr21 at cam.ac.uk (Christophe Rhodes) Date: Tue, 10 Dec 2002 12:36:33 +0000 Subject: [CM] fun with CM + Linux In-Reply-To: <200212101229.EAA01760@cmn14.stanford.edu> References: <3DF0D4BB.E9D38FE9@bright.net> <3DF0E591.48396DD4@bright.net> <200212091151.DAA00322@cmn14.stanford.edu> <3DF493F7.35CD7920@bright.net> <20021209131032.GA18744@cam.ac.uk> <200212101229.EAA01760@cmn14.stanford.edu> Message-ID: <20021210123633.GA26435@cam.ac.uk> On Tue, Dec 10, 2002 at 04:29:33AM -0800, Bill Schottstaedt wrote: > > Until now, the workaround has been to do as you did -- to load from fasl > > files rather than from core; however, recently the cmucl team added the > > functionality needed to make this work. > > I don't immediately find a version later than 18d -- could you send > a url for a fixed version? Thanks! There hasn't been a release since then; however, there are probably binaries in the experimental directory available from the links in . To be honest, I'm not entirely sure how it works; specifically, I don't know whether you have to reload foreign objects at startup, or whether that's done for you. I'd advise you to ask on a cmucl mailing list about this "linkage table" feature, and how much work needs to be done at startup time after saving a core. But I am assured by a developer that "dumping cores with foreign code does work, just not automatic reloading of foreign libraries on startup". So at a guess you'll need something in a ~/.cmucl-init file to reload the libraries, at least for now. Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge) From drkrause at mindspring.com Tue Dec 10 19:45:37 2002 From: drkrause at mindspring.com (Drew Krause) Date: Tue, 10 Dec 2002 22:45:37 -0500 Subject: [CM] concert in NYC 12/12 Message-ID: <3DF6B4E1.3000008@mindspring.com> For any of you in the NY area, here's a concert this Thursday ... most of the work was done using CM and Snd (with some Csound and pv scripting thrown in). Hope you can come! please join me for an evening of piano & computer-sound "Tick Tock" a metronomic suite Drew Krause, pianist & composer Thursday, Dec. 12 8:30pm Roulette 228 W. Broadway $10 (members free) From bil at ccrma.Stanford.EDU Wed Dec 11 05:12:38 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 11 Dec 2002 05:12:38 -0800 Subject: [CM] mobile sound? Message-ID: <200212111312.FAA03175@cmn14.stanford.edu> I was goofing around with ptree-channel and noticed a new way of using Snd: if the accessor has, for example, randomness, each time you look at the sound it is different, so (ptree-channel (lambda (y) (+ y (random .01)))) gives a slightly different take on the sound on each change of view or redisplay. But if the details of the noise don't matter, this change is also ok -- you're editing a sort of mobile in sound (analogous to mobile sculpture -- was it Calder who made these?). I could extend this to handle any function, so you could embed Common Music processes or whatever in the sample accessors, so each time you look at it, you get a new version of the compositional algorithm -- Snd could be used as the algorithm editor. If copy/paste maintained the parse-trees, you'd be pushing bits of compositional processes around, rather than something mundane like samples. From dlphilp at bright.net Wed Dec 11 05:30:44 2002 From: dlphilp at bright.net (Dave Phillips) Date: Wed, 11 Dec 2002 08:30:44 -0500 Subject: [CM] mobile sound? References: <200212111312.FAA03175@cmn14.stanford.edu> Message-ID: <3DF73E04.5002CC5F@bright.net> Bill Schottstaedt wrote: > I was goofing around with ptree-channel and noticed a new way of > using Snd: if the accessor has, for example, randomness, each > time you look at the sound it is different, so > > (ptree-channel (lambda (y) (+ y (random .01)))) > > gives a slightly different take on the sound on each change > of view or redisplay. But if the details of the noise don't > matter, this change is also ok -- you're editing a sort > of mobile in sound (analogous to mobile sculpture -- was > it Calder who made these?). I could extend this to handle > any function, so you could embed Common Music processes > or whatever in the sample accessors, so each time you > look at it, you get a new version of the compositional > algorithm -- Snd could be used as the algorithm editor. > If copy/paste maintained the parse-trees, you'd be > pushing bits of compositional processes around, rather > than something mundane like samples. Very cool idea. On a tenuously related topic I was just playing around with some VST plugins that have randomization functions built-in: for instance, the dfx Transverb has a randomize button that came up with some pretty bizarre stuff, so I started thinking about how Snd could incorporate such routines. It should be fairly straightforward even now from the Listener, yes ? But I was also thinking about wiring in a randomize switch for some of the effects. Any thoughts on this notion ? (And yes, it was Calder. Didn't Earle Brown take Calder as an inspiration too ?) Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From anders.vinjar at notam02.no Wed Dec 11 08:32:08 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 11 Dec 2002 17:32:08 +0100 Subject: [CM] mobile sound? In-Reply-To: <200212111312.FAA03175@cmn14.stanford.edu> References: <200212111312.FAA03175@cmn14.stanford.edu> Message-ID: BS> I could extend this to handle any function, so you could BS> embed Common Music processes or whatever in the sample BS> accessors, so each time you look at it, you get a new BS> version of the compositional algorithm -- Snd could be BS> used as the algorithm editor. These kinds of abstractions seem extremely powerful. How to have the trees displayed in a meaningful manner, especially related to common-music type work? Maybe the edits could be given optional names? ie. "inversed", "prolongue-1", "scale-1" etc. - and a more specialised graphing system put together. If all this is based on closures, doing "Select-All", should it write out a temp-file of the state as now? And how to import it into some arbitrary place in the tree again? Would pasting it in be analogous to take a certain stage of the edit-history and append the rest? Getting Snd with CLM and CM even more tightly integrated seems to be almost inconceivably powerful. The display and state-mechanisms of Snd would be very useful to CM-work (and interactive Scheme-programming as such) as well. -anders From bil at ccrma.Stanford.EDU Sat Dec 14 03:10:57 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sat, 14 Dec 2002 03:10:57 -0800 Subject: [CM] snd 6.4 Message-ID: <200212141110.DAA07334@cmn14.stanford.edu> Snd 6.4: inf-snd.el from Michael Scholz: fancy emacs support for Snd in Guile/Ruby. v.rb and examp.rb improvements from Michael Scholz plugins-menu.scm improvements from Dave Phillips. control-click of mark's play triangle plays all chans from that point. make-region chan arg = #t includes all chans following sync in the new region. gtkglext bindings for gl.c matching paren underlined in gtk listener (motif version already worked). removed Chebyshev and Hankel transforms (a re-implementation in scheme is on my TODO list). run macro in Snd now has full support for def-clm-struct. new-sound-hook and sound-let (ws.scm). init-func arg added to ptree-channel, implementing closures for these virtual edits. sndlib configuration process now writes libsndlib.a and .so, installs a script named sndlib-config. Snd's configure script has the matching --with-shared-sndlib switch. checked: Ruby 1.6.8 (Nov 18 version). Autoconf 2.56 with much help from: Dave Phillips, Fernando Lopez-Lezcano, Michael Scholz, Claus Brunzema, Judy Hawkins, Michael Klingbeil, David Friedman From igadget at earthlink.net Sun Dec 15 09:28:54 2002 From: igadget at earthlink.net (Ruven Gottlieb) Date: Sun, 15 Dec 2002 12:28:54 -0500 Subject: [CM] cmn-mode.el for emacs? Message-ID: <3DFCBBD6.1010104@earthlink.net> Hi, I'd like to use CMN within emacs. Has anyone got a CMN-mode.el they'd care to share? Lilypond works well that way, and I looked at the Lilypond-mode.el to see how it's done, but I'm not even an amateur Lisp hacker, so I can't figure out how to modify it for CMN. Thanks to Bill Schottstaedt, I use CMN because it can generate very large print sheet music. Thanks, Ruven Gottlieb From igadget at earthlink.net Sun Dec 15 10:02:56 2002 From: igadget at earthlink.net (Ruven Gottlieb) Date: Sun, 15 Dec 2002 13:02:56 -0500 Subject: [CM] Ways of interacting with CMN? Hockers: You heard it here first :-) Message-ID: <3DFCC3D0.7030500@earthlink.net> Hi, I'd like to know how members of the list interact with CMN? Hopefully not just within lisp. It seems awfully inefficient, typing '(load "filename")' all the time -that's how I do it right now, and it sucks. I'm trying to set CMN up so that non-hackers (and "hockers*" like me :-) can use it to generate large-print, and Braille sheet music. In another post I mentioned I'd like to use CMN within emacs, so I can easily edit and reload a file I'm working on. I don't see anything in the distribution. How do you all do it? Pardon my density, Ruven Gottlieb, Hocker in Gantzen * "Hocker" -from the Yiddish "hock: to bang or pound (on)", as in "hock mir nisht ah chainick! (lit. Don't bang at me on a teakettle)" = "Stop bugging me!" - is my term for those of us who like to do the things "Hackers" like to do, but who have to substitute trial-and-error, and dint-of-will for mastery and elegance, e.g. "I'm hocking on qmail; I ought to have if figured out in a week or two." I hope that was fun. :-) From lt at westnet.com Sun Dec 15 15:59:30 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 15 Dec 2002 18:59:30 -0500 Subject: [CM] import-events in CM 2.4.0? Message-ID: <3DFD1762.1952378A@westnet.com> Hi, I'm trying to import a Midi file into CM. However, #'import-events isn't working for me in CM-2.4.0. All I can see in the sources is a recursive call that translates the string into an io parameter. My guess is that this function isn't implemented yet. Is this correct? The weird thing is that I know that midi import worked on earlier CM versions (I used it quite a lot). I think the function was named something else, but the functionality was there. My apologies if this subject was already covered on this list and I wasn't listening at the time. And most of all, what is an interim method to translate a midi file into a CM sequence? Larry Troxler From igadget at earthlink.net Sun Dec 15 17:25:45 2002 From: igadget at earthlink.net (Ruven Gottlieb) Date: Sun, 15 Dec 2002 20:25:45 -0500 Subject: [CM] Landscape printing in CMN? Message-ID: <3DFD2B99.4070109@earthlink.net> Hi, I'm printing large size music, and I'd like to be able to set CMN up to rotate the PostScript output for landscape printing? Can I do it within CMN? Thanks, Ruven Gottlieb From marco at centrotemporeale.it Mon Dec 16 04:20:17 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Mon, 16 Dec 2002 08:20:17 -0400 Subject: [CM] Ways of interacting with CMN? Hockers: You heard it here first :-) In-Reply-To: <3DFCC3D0.7030500@earthlink.net> References: <3DFCC3D0.7030500@earthlink.net> Message-ID: <20021216122017.GD19766@centrotemporeale.it> Il 15/12/2002 alle 13:02:56, -0500, Ruven Gottlieb ha scritto: > another post I mentioned I'd like to use CMN within emacs, so I can > easily edit and reload a file I'm working on. I don't see anything in > the distribution. How do you all do it? > Maybe you should try to use ILISP http://ilisp.cons.org or in general http://www.cons.org It is a general emacs lisp/scheme mode very useful. ciao, marco -- ************************************************************************ * marco trevisani * * http://trevisani.mine.nu marco at centrotemporeale.it * * http://www.agnula.org -- A GNU/Linux Audio Distribution * * Neither MS-Word nor MS-PowerPoint attachments please: * * See http://www.fsf.org/philosophy/no-word-attachments.html * * Gpg Fingerprint = 6096 84B8 046C A5C9 B538 255E 9FFF 1121 3AFB FFA6 * ************************************************************************ From anders.vinjar at notam02.no Mon Dec 16 00:30:33 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 16 Dec 2002 09:30:33 +0100 Subject: [CM] Landscape printing in CMN? In-Reply-To: <3DFD2B99.4070109@earthlink.net> References: <3DFD2B99.4070109@earthlink.net> Message-ID: >>> "RG" == Ruven Gottlieb writes: RG> Hi, I'm printing large size music, and I'd like to be RG> able to set CMN up to rotate the PostScript output for RG> landscape printing? Try setting the 'matrix-slot in the overall score-attributes. Something like (cmn (matrix '(0 1 -1 0 650 32)) (page-width 29.7)) ; A4-paper-size (page-height 21.0) ...) - should get you somewhere near (the last two numbers are just offsetting the score x- and y-wise). There used to be a point about this in cmn.html, maybe its moved to some example-files. -anders From lt at westnet.com Sun Dec 15 16:21:37 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 15 Dec 2002 19:21:37 -0500 Subject: [CM] cmdist archive? Message-ID: <3DFD1C91.1A79479F@westnet.com> I know this question has been asked before, but this is what we in the US call a "catch 22". Is there an archive of this mailing list anywhere? I can't find one using google. Larry Troxler From taube at uiuc.edu Mon Dec 16 06:58:58 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 16 Dec 2002 08:58:58 -0600 Subject: [CM] import-events in CM 2.4.0? In-Reply-To: <3DFD1762.1952378A@westnet.com> References: <3DFD1762.1952378A@westnet.com> Message-ID: import is not there yet, its on my list but i need a week or so to get to it. >Hi, I'm trying to import a Midi file into CM. > >However, #'import-events isn't working for me in CM-2.4.0. > >All I can see in the sources is a recursive call that translates the >string into an io parameter. > >My guess is that this function isn't implemented yet. Is this correct? > >The weird thing is that I know that midi import worked on earlier CM >versions (I used it quite a lot). I think the function was named >something else, but the functionality was there. > >My apologies if this subject was already covered on this list and I >wasn't listening at the time. > >And most of all, what is an interim method to translate a midi file into >a CM sequence? > >Larry Troxler >_______________________________________________ >Cmdist mailing list >Cmdist at ccrma.stanford.edu >http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From nando at ccrma.Stanford.EDU Mon Dec 16 10:05:12 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: 16 Dec 2002 10:05:12 -0800 Subject: [CM] cmdist archive? In-Reply-To: <3DFD1C91.1A79479F@westnet.com> References: <3DFD1C91.1A79479F@westnet.com> Message-ID: <1040061913.6437.4.camel@cmn37.Stanford.EDU> > Is there an archive of this mailing list anywhere? I can't find one > using google. For stuff posted since April or so (when we moved to Mailman): http://ccrma-mail.stanford.edu/pipermail/cmdist/ For older posts: ftp://ccrma-ftp.stanford.edu:/pub/Lisp/old-cmdist.html -- Fernando From igadget at earthlink.net Mon Dec 16 17:30:04 2002 From: igadget at earthlink.net (Ruven Gottlieb) Date: Mon, 16 Dec 2002 20:30:04 -0500 Subject: [CM] pedal problems Message-ID: <3DFE7E1C.3010506@earthlink.net> Hi, I'm having trouble using pedal notation in CMN. I'm using the "cmucl-cm-clm-cmn" package, 1.0-12 from CCRMA. I used one of the examples in pedal.lisp to try to debug my trouble, but it fails. Without pedal notation in the sample, it's OK: ------------------------ test.cmn --------------------------------- ;;;-*-lisp-*- (in-package :cmn) ;;;(cmn staff treble (c4 q pedal-) (d4 q -pedal-) (e4 q -pedal)) (cmn staff treble (c4 q) (d4 q) (e4 q)) -------------------------------------------------------------------- ------------------------ begin screendump --------------------------- * (load "test") ; Loading #p"/home/gadget/test". ;; Loading #p"/home/gadget/music/cmn/test.cmn". T ----------------------- end screendump -------------------------------- However, when I uncomment the line with pedal notation, it fails like this: ------------------------ test.cmn --------------------------------- ;;;-*-lisp-*- (in-package :cmn) (cmn staff treble (c4 q pedal-) (d4 q -pedal-) (e4 q -pedal)) ;;;(cmn staff treble (c4 q) (d4 q) (e4 q)) -------------------------------------------------------------------- -------------------------- begin screendump --------------------------- * (load "test") ; Loading #p"/home/gadget/test". ;; Loading #p"/home/gadget/music/cmn/test.cmn". Warning: -pedal- called, but no corresponding pedal- to connect to.: recently evaluated note: (c4 q (setf pedal-2 (pedal- ))) # in (d4 q) No matching method for the generic-function #, when called with arguments (NIL). Restarts: 0: [CONTINUE] Retry call to :FUNCTION 1: Return NIL from load of "/home/gadget/music/cmn/test.cmn". 2: Return NIL from load of "test". 3: [ABORT ] Return to Top-Level. Debug (type H for help) (PCL::|(FAST-METHOD NO-APPLICABLE-METHOD (T))| # # # (NIL)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:pcl/braid.lisp. ----------------------- end screendump ------------------------------------ From bil at ccrma.Stanford.EDU Wed Dec 18 03:47:12 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 18 Dec 2002 03:47:12 -0800 Subject: [CM] pedal problems In-Reply-To: <3DFE7E1C.3010506@earthlink.net> References: <3DFE7E1C.3010506@earthlink.net> Message-ID: <200212181147.DAA13017@cmn14.stanford.edu> That example works for me (in ACL): CMN(3): (cmn staff treble (c4 q pedal-) (d4 q -pedal-) (e4 q -pedal)) # Send me your test.cmn file -- perhaps there's some simple explanation. From taube at uiuc.edu Wed Dec 18 08:33:24 2002 From: taube at uiuc.edu (Rick Taube) Date: Wed, 18 Dec 2002 10:33:24 -0600 Subject: [CM] new tarball of cm-2.4.0 Message-ID: ive updated the candidate 2.4.0 on the ccrma server ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz much of the work was bug fixes and compatibility but there are two nice new things: o new 'each' clause in the process macro defines an iteration over an action, ie each x in foo as y in bif output (baz x y) see dictonary and last example in intro.cm o new 'join' pattern resurrects the old defmultiple-item from cm-1.4 except that you dont have actually define anything you just use join. see new dictinary entry other stuff: o added plotter back in macos 9.2/mcl but no sound output (yet). o added MIDI user constants and data back (formally mu.lisp now midix.lisp) o added defprocess back but undocumented o added copy-object back o fixed :channel-tuning bug in events o fixed :ratios tuning bug o improved dictionary (better layout, missing entries, typos) From dlphilp at bright.net Wed Dec 18 10:13:43 2002 From: dlphilp at bright.net (Dave Phillips) Date: Wed, 18 Dec 2002 13:13:43 -0500 Subject: [CM] a Snd/Scheme question Message-ID: <3E00BAD7.C7120733@bright.net> Greetings: In Snd I can apply the Chowning reverb via the Listener with this code: (jc-reverb 2.5 #f .3 '(0 0 1 1)) I'd like to scale the reverb decay (2.5) through the sound in the same manner as the amplitude is scaled (.3 '(0 0 1 1)). This seems like it should be simple enough to do, but I'm drawing blanks. Is there an easy way to achieve what I'm trying to do ? I've already discovered that something like (* 2.5 '(0 0 1 1)) doesn't work so I guess I've made some progress... Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From dlphilp at bright.net Wed Dec 18 12:37:58 2002 From: dlphilp at bright.net (Dave Phillips) Date: Wed, 18 Dec 2002 15:37:58 -0500 Subject: [CM] new CM-2.4.0 problem Message-ID: <3E00DCA6.E42B2D6D@bright.net> Hi Rick: I downloaded and built the latest CM. Everything seems to go okay, but when I restart Lisp and do this: dlphilp at localhost:~$ lisp CMU Common Lisp 18d, running on localhost.localdomain Send questions to cmucl-help at cons.org. and bug reports to cmucl-imp at cons.org. Loaded subsystems: Python 1.0, target Intel x86 CLOS based on PCL version: September 16 92 PCL (f) * (load "/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp") ; Loading #p"/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp". Warning: This variable is undefined: CM-SRC-DIRECTORY Warning: This variable is undefined: CM-BIN-DIRECTORY In: LET ((COMPILED? NIL)) (LET ((ARGS 'NIL) (NEW #)) (UNLESS (PROBE-FILE NEW) (LET # #))) Note: Variable ARGS defined but never used. Type-error in COMMON-LISP::PACKAGE-OR-LOSE: "CLM" is not of type PACKAGE Restarts: 0: [CONTINUE] Make this package. 1: Return NIL from load of "/home/dlphilp/CCRMA/cm-2.4.0/bin/pkg.x86f". 2: Return NIL from load of "/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp". 3: [ABORT ] Return to Top-Level. Debug (type H for help) (COMMON-LISP::PACKAGE-OR-LOSE "CLM") Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/package.lisp. 0] 3 ; Loading "/home/dlphilp/CCRMA/cm-2.4.0/bin/pkg.x86f". * You may recall that you suggested I comment out the save-cm lines in cm.lisp, which I've done. Any suggestions for resolving this error ? Am I missing something obvious ? Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Wed Dec 18 14:32:23 2002 From: taube at uiuc.edu (Rick Taube) Date: Wed, 18 Dec 2002 14:32:23 -0800 Subject: [CM] new CM-2.4.0 problem References: <3E00DCA6.E42B2D6D@bright.net> Message-ID: <000b01c2a6e5$5a79f9a0$81197e82@music.uiuc.edu> hmm. it seems as if the problem has to do with a clm package identifier. i tested in cmu before i made the tarfile and it built fine. i even loaded clm and cmn first. do you have clm loaded before you load cm.lisp ?? it doesnt seem so from your trace and maybe its picking up an old cm fasl with a clm symbol in it. maybe you should delete all the cm binaries and try building again. > > I downloaded and built the latest CM. Everything seems to go okay, but > when I restart Lisp and do this: > > dlphilp at localhost:~$ lisp > CMU Common Lisp 18d, running on localhost.localdomain > Send questions to cmucl-help at cons.org. and bug reports to > cmucl-imp at cons.org. > Loaded subsystems: > Python 1.0, target Intel x86 > CLOS based on PCL version: September 16 92 PCL (f) > * (load "/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp") > > ; Loading #p"/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp". > > Warning: This variable is undefined: > CM-SRC-DIRECTORY > > Warning: This variable is undefined: > CM-BIN-DIRECTORY > > In: LET ((COMPILED? NIL)) > (LET ((ARGS 'NIL) (NEW #)) > (UNLESS (PROBE-FILE NEW) > (LET # > #))) > Note: Variable ARGS defined but never used. > > Type-error in COMMON-LISP::PACKAGE-OR-LOSE: "CLM" is not of type > PACKAGE > > Restarts: > 0: [CONTINUE] Make this package. > 1: Return NIL from load of > "/home/dlphilp/CCRMA/cm-2.4.0/bin/pkg.x86f". > 2: Return NIL from load of > "/home/dlphilp/CCRMA/cm-2.4.0/src/cm.lisp". > 3: [ABORT ] Return to Top-Level. > > Debug (type H for help) > > (COMMON-LISP::PACKAGE-OR-LOSE "CLM") From lt at westnet.com Wed Dec 18 18:27:06 2002 From: lt at westnet.com (Larry Troxler) Date: Wed, 18 Dec 2002 21:27:06 -0500 Subject: [CM] CMN key signature, bar lines, and accidentals Message-ID: <3E012E7A.DD964DFC@westnet.com> I'm a bit confused at the moment as to how CMN handles accidentals and note-names in the context of key-signature and barlines. The version I am using is dated 12-november. For example, in cmn.html there is this: (cmn staff treble (meter 2 4) (chord (notes f5 af4 df5) (rq 5/4)) (chord (notes f5 ef5 df5 a4) (rq 3/2)) (chord (notes f4 gf4 af4 d5) (rq 5/4) stem-down)) Now, from the graphic output that is directly below this, I see that the "a4" in the second chord is actually interpreted as an a-flat, because the second chord lies in the first measure and the second instance of the note does not have a natural sign in front of it (the flat from the first a-flat is not canceled). I've also run across similar problems in my efforts to use CMN: sharps and flats seem to be redundantly indicated within the same meaure, accidentals are notated even if they are the "default" for the current key signature, and accidentals are not canceled properly if a natural is placed later in the measure. I have a hunch then, that I have a basic misunderstanding of what note names mean in CMN. Am I correct in thinking that, as opposed to Common Music, an "A4" in CMN does not mean a 440 hz note, but rather an A on the staff with no sharp, flat, or natural sign in front of it? Do accidentals/naturals on note names in CMN correspond to what is notated, and not the frequency of the note? If that is so, for me it is not very intuitive. For example, the leading tone of the G-major scale to me is not called an "f", it is an "f-sharp". For me, it seems strange to have to say "F4" instead of "FS4" when adding an f-sharp to a G-major staff. Also, it means that to change bar-line placement or key signature and notate the same music would require one to go through all the notes and adjust their accidentals by hand. So, is there a way to change this behavior so that the note name reflects the actual frequency, and then CMN would decide how to notate it based on the current key and measure history? I ask this because I see that there are several global parameters related to accidentals, but they don't seem to be explained in cmn.html. Looking forward to any explanations or counter opinions. Hopefully there's just a couple of those global setting that need to be changed. Larry Troxler From dlphilp at bright.net Wed Dec 18 19:35:02 2002 From: dlphilp at bright.net (Dave Phillips) Date: Wed, 18 Dec 2002 22:35:02 -0500 Subject: [CM] a new/old CM problem Message-ID: <3E013E66.E0003136@bright.net> Hi Rick: When I compile the attached code with the last CM 2.4.0 I receive this error: * (compile-file "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm") Python version 1.0, VM version Intel x86 on 18 DEC 02 10:23:40 pm. Compiling: /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm 06 DEC 02 01:19:24 pm Converted TESTIT. Compiling DEFINE (TESTIT STF LEN NTS): Compiling Creation Form for #: Compiling Creation Form for #: Compiling Creation Form for #: Compiling Creation Form for #: Error: Read error at 913: "(events #!/\two-ways "cmn-test.cmn" :staffing staffs :size 20 :title "Trio")" Reader error at 978 on #: No dispatch function defined for #\!. Byte Compiling Top-Level Form: Byte Compiling Creation Form for #: Error: Read error at 988: "(events #!/\two-ways "cmn-test.mid")" Reader error at 1013 on #: No dispatch function defined for #\!. Compilation unit finished. 2 errors /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f written. Compilation finished in 0:00:00. #p"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f" T T * (quit) It's that #! problem again. Any suggestions ? Here's the test file: (in-package :cm) (define (testit stf len nts) (let ((nts (new heap :notes nts)) ;; choose half, quarter, or two eighths ;; the repetition 'weights' the selection (rhy (new random :of (list 2 1 1 1 (new cycle :of '(1/2 1/2)) (new cycle :of '(1/2 1/2)) )))) (process while (< (now) len) for n = (next nts) for r = (next rhy) output (new midi :time (now) :duration r :keynum n :channel stf) wait r))) (define staffs '((0 :name "Viola" :clef :alto :meter (4 4)) (1 :name "Oboe" :clef :treble :meter (4 4)) (2 :name "Flute" :clef :treble :meter (4 4)))) (events (list (testit 0 32 '(g2 a bf c3 d f)) (testit 1 32 '(a3 bf c4 d e g)) (testit 2 32 '(bf4 c5 d f g a))) (new seq :name 'two-ways)) (events #!two-ways "cmn-test.cmn" :staffing staffs :size 20 :title "Trio") (events #!two-ways "cmn-test.mid") Btw, should #! have a dictionary entry ? Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From finnendahl at folkwang-hochschule.de Thu Dec 19 00:21:02 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Thu, 19 Dec 2002 09:21:02 +0100 Subject: [CM] appending sequences Message-ID: <20021219082102.GA1359@finnendahl.de> Hi, trying to append two sequences fails with the new cm-2.4.0 on my machine (using cm with guile). It used to work with an older version of cm-2.4.0 (from November) Following is an excerpt of my printout: Defined are two tracks, called 'ger_tr0_a and 'ger_tr0_b they can be listed: (list-subobjects (find-object 'ger_tr0_a)) -> 0. #i(midi time 0 keynum 75 duration 0.125 amplitude 90 channel 0) 1. #i(midi time 0.125 keynum 74 duration 0.125 amplitude 64 channel 0) 2. #i(midi time 0.25 keynum 72 duration 0.25 amplitude 64 channel 0) 3. #i(midi time 0.5 keynum 74 duration 0.25 amplitude 90 channel 0) <...> 21. #i(midi time 3.25 keynum 72 duration 0.25 amplitude 64 channel 0) (list-subobjects (find-object 'ger_tr0_b)) -> 0. #i(midi time 0 keynum 75 duration 0.125 amplitude 90 channel 0) 1. #i(midi time 0.125 keynum 74 duration 0.125 amplitude 64 channel 0) 2. #i(midi time 0.25 keynum 72 duration 0.25 amplitude 64 channel 0) 3. #i(midi time 0.5 keynum 74 duration 0.25 amplitude 90 channel 0) <...> 21. #i(midi time 3.125 keynum 67 duration 0.375 amplitude 90 channel 0) Trying to append them: (new seq name 'ger_tr0_ab) (events (list #!ger_tr0_a #!ger_tr0_b ) #!ger_tr0_ab '(0 3.5)) No reaction from guile (I have to cancel with Ctl-D). The object Listing also seems to be in a different format (it used to be with colons between the slots and the slot-values). Am I missing something? -- Orm From bil at ccrma.Stanford.EDU Thu Dec 19 03:13:53 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 19 Dec 2002 03:13:53 -0800 Subject: [CM] a Snd/Scheme question In-Reply-To: <3E00BAD7.C7120733@bright.net> References: <3E00BAD7.C7120733@bright.net> Message-ID: <200212191113.DAA14403@cmn14.stanford.edu> > (jc-reverb 2.5 #f .3 '(0 0 1 1)) > I'd like to scale the reverb decay (2.5) through the sound in the same > manner as the amplitude is scaled (.3 '(0 0 1 1)). This seems like it > should be simple enough to do, but I'm drawing blanks. Is there an easy > way to achieve what I'm trying to do ? I think the amp env is applied to the entire reverb duration (that is, it already includes the extra time at the end). I'm not sure what you want here. "decay dur" here refers to how long the reverb is left on at the end of the sound. To change the reverb characteristics during the sound, you can change the feedback coefficients, gains, or the delay lengths (using "zdelays" presumably) -- I haven't experimented with this much. The simplest and most foolproof method would probably be to run jlrev (or nrev, etc) at the same time, and use an envelope to pan between reverbs. To change the reverb amount, you could put an envelope on the incoming signal. From taube at uiuc.edu Thu Dec 19 07:46:45 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 19 Dec 2002 07:46:45 -0800 Subject: [CM] new tarball of cm-2.4.0 References: <004401c2a726$1b148280$bde27ad1@laptop> Message-ID: <003101c2a775$d8c3fb90$78197e82@music.uiuc.edu> > Rick, > > The doc/dict folder in the new tar seems to be missing the file > dictionary.html. Is that still the name of the entry file to the dictionary? > the "top" of the dictionary is now called dict/index.html. i made this change so browsers can simply point to the dict/ directory and the dictionary should load. ill make a note of this in the main CM readme. > > Carl Edwards > > From taube at uiuc.edu Thu Dec 19 07:58:14 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 19 Dec 2002 07:58:14 -0800 Subject: [CM] a new/old CM problem References: <3E013E66.E0003136@bright.net> Message-ID: <003501c2a777$711825f0$78197e82@music.uiuc.edu> > Hi Rick: > > When I compile the attached code with the last CM 2.4.0 I receive this > error: [...] > No dispatch function defined for #\!. > > Compilation unit finished. this is becaus compiling the CM sources does not set *readtable* to *cm-readtable*. so if you do not save an image then you have to do this by hand: (setf *readtable* *cm-readtable*) maybe i should explicitly set *readtable* in cm.lisp. > Btw, should #! have a dictionary entry ? it turns out that GUILE claims #! so I cant use that for CM in GUile. It seems as if #$ works in both Guile and CLTL and thats the one that now appears in the dictioary. But #! will still continue to work in CLTL. I wont remove it. Maybe i should add a note to that affect in the dictionary or let the user control what dispatch character is used. Im trying very hard to reach a "standardized" look for CM that is the same in both scheme and cl so that the docs and book are not confusing. From taube at uiuc.edu Thu Dec 19 08:15:00 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 19 Dec 2002 08:15:00 -0800 Subject: [CM] appending sequences References: <20021219082102.GA1359@finnendahl.de> Message-ID: <003b01c2a779$c92ebcc0$78197e82@music.uiuc.edu> ouch! this is the #! problem -- I forgot to make note of this to the changelog.text file my apologies!! try #$ instead of #! (new seq name 'foo) #$foo Guile uses the #! character for scripts (i think that is why your guile is hanging....) so CM cant claim it as a dispatch character. my solution was to standardize to #$ for the dispatch in both CLTL and Scheme but to still support #! in CLTL. The only other option is to get rid of it altogether or else allow this to be user settable. if you have an opinion please let me know. > The object Listing also seems to be in a different format (it used to > be with colons between the slots and the slot-values). If I display keywords in object printing then it looks different in cltl and scheme and Im trying as much as possible to make thigs look the same to avoid confusion. so the #i printing shows the slot names not keywords because these look the same in cltl and scheme. its also less text on the screen. this change is cosmetic only -- the #i reader will work the same for either slot names or slot initializations (keywords). > Am I missing something? only documentation! From dlphilp at bright.net Thu Dec 19 07:21:25 2002 From: dlphilp at bright.net (Dave Phillips) Date: Thu, 19 Dec 2002 10:21:25 -0500 Subject: [CM] appending sequences References: <20021219082102.GA1359@finnendahl.de> <003b01c2a779$c92ebcc0$78197e82@music.uiuc.edu> Message-ID: <3E01E3F5.4AC4E24A@bright.net> Rick Taube wrote: > ouch! this is the #! problem -- I forgot to make note of this to the > changelog.text file > my apologies!! > > try #$ instead of #! This works fine on my desktop machine but is still failing on the laptop. No fear, I'm pretty sure my lack of sleep and overconsumption of caffeine have conspired to rob me of my intuitive grasp of the obvious... I'll get it figured out, it's the same software on both machines... > maybe i should explicitly set *readtable* in cm.lisp. If it would eliminate one more manually-added option I'm all for it... Best regards, == Dave Phillips The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm The Linux Soundapps Site at http://linux-sound.org From taube at uiuc.edu Thu Dec 19 09:23:42 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 19 Dec 2002 09:23:42 -0800 Subject: [CM] appending sequences References: <20021219082102.GA1359@finnendahl.de> <003b01c2a779$c92ebcc0$78197e82@music.uiuc.edu> <3E01E3F5.4AC4E24A@bright.net> Message-ID: <000f01c2a783$61825140$981e7e82@music.uiuc.edu> > > maybe i should explicitly set *readtable* in cm.lisp. > > If it would eliminate one more manually-added option I'm all for it... > ok the next tarfile will do this.i will also add a varible to not save an image so you dont have to edit the code to stop this. From dlphilp at bright.net Thu Dec 19 07:54:14 2002 From: dlphilp at bright.net (Dave Phillips) Date: Thu, 19 Dec 2002 10:54:14 -0500 Subject: [CM] appending sequences References: <20021219082102.GA1359@finnendahl.de> <003b01c2a779$c92ebcc0$78197e82@music.uiuc.edu> <3E01E3F5.4AC4E24A@bright.net> <000f01c2a783$61825140$981e7e82@music.uiuc.edu> Message-ID: <3E01EBA6.B1936616@bright.net> Rick Taube wrote: [re: setting *readtable*] > ok the next tarfile will do this.i will also add a varible to not save an > image so you dont have to edit the code to stop this. Thank you ! :) == dp From finnendahl at folkwang-hochschule.de Thu Dec 19 10:11:10 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Thu, 19 Dec 2002 19:11:10 +0100 Subject: [CM] new tarball of cm-2.4.0 In-Reply-To: <003101c2a775$d8c3fb90$78197e82@music.uiuc.edu> References: <004401c2a726$1b148280$bde27ad1@laptop> <003101c2a775$d8c3fb90$78197e82@music.uiuc.edu> Message-ID: <20021219181110.GA2013@finnendahl.de> Am Donnerstag, den 19. Dezember 2002 um 07:46:45 Uhr (-0800) schrieb Rick Taube: > > Rick, > > > > The doc/dict folder in the new tar seems to be missing the file > > dictionary.html. Is that still the name of the entry file to the > dictionary? > > > > the "top" of the dictionary is now called dict/index.html. i made this > change so browsers can simply point to the dict/ directory and the > dictionary should load. ill make a note of this in the main CM readme. The link from them main cm page still points to /dict/dictionary. I fixed it by putting a symlink to index.html into /dict/. It would probably be a good idea to change the reference in cm.html -- Orm From taube at uiuc.edu Thu Dec 19 14:17:01 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 19 Dec 2002 16:17:01 -0600 Subject: [CM] fixed doc links Message-ID: i ran the docs through a link checker and updated the tarfile on ccrma with the fixed links. ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz there is also a new build parameter 'save-cm' that, if nil, will cause CM to not save any image. i havent done anything about *readtable* in cm.lisp yet. finally, on the #! business -- it appears that MCL has already taken #$ so even that isnt useable. im sorry for this confusion, i did test all the lisps before i chose it but obviouly i screwed up somehow. so just keep using #! when i can find an alterate that works everywhere , otherwise you can just use (find-object 'name) which will always work! From bil at ccrma.Stanford.EDU Fri Dec 20 03:10:09 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 20 Dec 2002 03:10:09 -0800 Subject: [CM] pedal problem In-Reply-To: <3DFD2B99.4070109@earthlink.net> References: <3DFD2B99.4070109@earthlink.net> Message-ID: <200212201110.DAA15796@cmn14.stanford.edu> > (cmn staff treble (c4 q pedal-) (d4 q -pedal-) (e4 q -pedal)) > Warning: -pedal- called, but no corresponding pedal- to connect to.: This appears to be a bug in CMUCL's defclass :allocation :class support. Clisp has the same bug. From paul_kirk at pacbell.net Fri Dec 20 15:33:05 2002 From: paul_kirk at pacbell.net (Paul Kirk) Date: Fri, 20 Dec 2002 15:33:05 -0800 Subject: [CM] Building CLM on Windows XP & ACL6.2 Message-ID: I'm running into some load and compile problems trying to build CLM on Windows XP Professional using Allegro CL 6.2. I have tracked down that the basic command line built in all.lisp need some editing for the MS C/C++ 6.0 compiler in order to produce a command line that will build libclm.dll. However, before going into a lot of rewrite effort I was wondering if anyone has recently built and executed CLM in a windows environment similar to mine: XP, C/C++ 6.0, ACL 6.2. And insights would be greatly appreciated. Thanks, Paul Paul_kirk at pacbell.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From lt at westnet.com Fri Dec 20 17:43:15 2002 From: lt at westnet.com (Larry Troxler) Date: Fri, 20 Dec 2002 20:43:15 -0500 Subject: [CM] CMN key signature, bar lines, and accidentals References: <3E012E7A.DD964DFC@westnet.com> <200212201109.DAA15792@cmn14.stanford.edu> Message-ID: <3E03C733.B57C4F92@westnet.com> (CC'd to list) Bill Schottstaedt wrote: > > > Do accidentals/naturals on note names in CMN correspond to what is > > notated, and not the frequency of the note? > > "A4" says nothing about an accidental and is ambiguous. Look for > "automatic naturals" in cmn.html. Ok, so I assume that the effect of "automatic naturals" is to add a "n" onto the specification of notes that don't specify any accidental? Although that helped, unfortunately as it turns out, I still have either a basic problem or basic misunderstanding. Consider this: (cmn (redundant-accidentals nil) staff treble g-major (meter 2 4) cs4 cs4 fs4 fn4 ds4 dn4 dn4 ds4) Setting "redundant-accidentals" to nil helps in that the second cs4 is not notated with a sharp sign. However, there are other problems: The first fs4 (in measure 2) is notated with a redundant sharp sign even though the key signature is g-major. The second dn4 (in measure 4) is notated with a redundant natural sign even though the key signature is g-major. Could someone enlighten me on this? This is _not_ a complaint about CMN, just a question about how it works. And I know that this is not a great problem if one is writing a CMN score directly, but it is a problem if we're using CMN to make a quick draft notation of Common Music output (for example). Not a fatal problem either, but just makes the output difficult to read. Larry Troxler From taube at uiuc.edu Sat Dec 21 11:38:52 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 21 Dec 2002 11:38:52 -0800 Subject: [CM] ccrma holiday Message-ID: <001c01c2a928$9840ba40$aa197e82@music.uiuc.edu> from what i gather ccrma is totally closed down over the holidays, which means tha Bill may not be able to read or respond to messages during this holiday period. so if anyone knows an anwer to a post, they should chime in! -rick -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Sat Dec 21 11:43:45 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 21 Dec 2002 11:43:45 -0800 Subject: [CM] Building CLM on Windows XP & ACL6.2 References: Message-ID: <002601c2a929$47255f20$aa197e82@music.uiuc.edu> Building CLM on Windows XP & ACL6.2you might consider trying the cygwin tookit instead of xp directly. my guess is that would be the easiest way to get clm compiled and running on windows ----- Original Message ----- From: Paul Kirk To: cmdist at ccrma.Stanford.EDU Sent: Friday, December 20, 2002 3:33 PM Subject: [CM] Building CLM on Windows XP & ACL6.2 I'm running into some load and compile problems trying to build CLM on Windows XP Professional using Allegro CL 6.2. I have tracked down that the basic command line built in all.lisp need some editing for the MS C/C++ 6.0 compiler in order to produce a command line that will build libclm.dll. However, before going into a lot of rewrite effort I was wondering if anyone has recently built and executed CLM in a windows environment similar to mine: XP, C/C++ 6.0, ACL 6.2. And insights would be greatly appreciated. Thanks, Paul Paul_kirk at pacbell.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From terekita at yahoo.com Sat Dec 21 13:44:30 2002 From: terekita at yahoo.com (Dha Terekita) Date: Sat, 21 Dec 2002 13:44:30 -0800 (PST) Subject: [CM] algorithm woes Message-ID: <20021221214430.39300.qmail@web9601.mail.yahoo.com> Apologies if this is a repost. Also, apologies for the formatting - the properly formatted version is at : http://stripe.colorado.edu/~theodorm/algo.html Hello there, I'm trying to implement an alogorithm for someone, and I can tell that I'm going about it the hard way (the *real* hard way!). It's working as it is, but it's longer than I've actually shown, and my way isn't going to scale terribly well. I'm actually using CM 1.3! (had lots of things that worked in 1.3 that didn't in 1.4, and have been stuck there ever since - I'll join the rest of the world as soon as I time to fix everything...). Any help would be deeply deeply appreciated! (I have two tickets waiting to the fountain of eternal youth for the helful respondent.....) best regards, Michael ALGORITHM: 1) Begin with strand 1 (1), repeat 9x 2) Insert strand 2 (2) in between each element of strand 1, until 9x of strand 2 3) considering all prior strands as an ongoing single strand, insert strand 3 (3), until 9x 4) considering all prior strands as an ongoing single strand (creating the composite 3 1 3 2), insert the first element of strand 4 (4a), until 9x 5) considering all prior strands as an ongoing single strand, insert the second element of strand 4 (4b), alternating with the first element of strand 4, until 9x 4b 6) considering all prior strands as an ongoing single strand, insert the third element of strand 4 (4c), maintaing the 4a 4b 4c cycle of strand 4, until 9x 4c SAMPLE OUTPUT: Stella [Top-Level]: mix bob Start time offset:(=None) 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 4A 3 4A 1 4A 3 4A 2 4A 3 4A 1 4A 3 4A 2 4A ;;; 1 3 2 3 strand picks up where it was in the cycle 3 4B 1 4A 3 4B 2 4A 3 4B 1 4A 3 4B 2 4A 3 4B 1 4A 3 4B 2 4A 3 4B 1 4A 3 4B 2 4A 3 4B 1 4C 3 4A 2 4B 3 4C 1 4A 3 4B 2 4C 3 4A 1 4B 3 4C 2 4A 3 4B 1 4C 3 4A 2 4B 3 4C 1 4A 3 4B 2 4C 3 4A 1 4B 3 4C 2 4A 3 4B 1 4C 3 4A 2 4B 3 4C 1 5A 4A 5A 3 5A 4B 5A 2 5A 4C 5A 3 5A 4A 5A 1 5A 3 5B 4B 5A 2 5B 4C 5A 3 5B 4A 5A 1 5B 4B 5A 3 5B 4C 5A 2 5B 4A 5A 3 5B 4B 5A 1 5B 4C 5A 3 5B CODE FOLLOWS: (let ((mess 0)(times 0)) (algorithm bob midi-note (start 0 length 213 amplitude 0.9 channel 0) (setf note 60) (setf mess (item (items (items "beginning") ;;for printing purposes (items 1 for 9) ;;;; 1 (items "start") ;;for printing purposes (items (items (items 1) ;;; 1 (items 2)) for 9) ;;2 (items "start") (items (items (items 1 2 for 1) ;;;1 2 (items 3 for 1)) for 9) ;;3 (items "start") (items (items (items (items (items 2 1 for 1) ;;1 2 (items 3 for 1)) ; 3 for 1 counting values) (items 4a)) for 9) (items "start") (items (items (items (items (items 3 1 3 2 for 1)) ; previous strands collapsed into a single strand for 1 counting values) (items 4b 4a for 1)) for 34 counting values) (items "start") (items (items (items 1 3 2 3 for 1) ;;1 2 (items 4c 4a 4b for 1)) for 56 counting values) (items "start") (items (items (items (items (items 1 3 2 3 for 1) ;;1 2 (items 4a 4b 4c for 1)) for 1 counting values) (items 5a) for 18 counting values)) (items "start") (items (items (items (items (items 3 2 3 1 for 1) ;;1 2 (items 4b 4c 4a for 1)) for 1 counting values) (items 5b 5a for 1) for 34 counting values))))) ;;;etc (if (or (equal mess "start")(equal mess "beginning")) ;; if beginning of pattern, newline (progn (format t "~&") (setf times 1)) (setf times (+ times 1))) (if (= (mod times 60) 0) ;;; if pattern is longer than 60 (format t "~& ")) ;;; wrap the lines (if (not (or (equal mess "start")(equal mess "beginning"))) (format t "~S " mess)) (setf rhythm 1.0) (setf duration rhythm))) __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From lt at westnet.com Sun Dec 22 11:26:07 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 22 Dec 2002 14:26:07 -0500 Subject: [CM] Minor nitpick - tab chars in CMN source Message-ID: <3E0611CF.CF84D6A6@westnet.com> Hardly worth mentioning, but since I'm bored I'll mention it anyway :-) The CMN source code seems to have hard tabs in it, which makes the indentation all strange. I mention this in case it is unintentional. Happy Holidays everyone. Larry Troxler From lt at westnet.com Sun Dec 22 12:47:31 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 22 Dec 2002 15:47:31 -0500 Subject: [CM] algorithm woes References: <20021221214430.39300.qmail@web9601.mail.yahoo.com> Message-ID: <3E0624E3.5E9A649D@westnet.com> Dha Terekita wrote: > > Apologies if this is a repost. Also, apologies > for the formatting - the properly formatted version > is at : > http://stripe.colorado.edu/~theodorm/algo.html > > Hello there, > I'm trying to implement an alogorithm for someone, and > I can tell that I'm > going about it the hard way (the *real* hard way!). > It's working as it is, > but it's longer than I've actually shown, and my way > isn't going to scale > terribly well. I'm actually using > CM 1.3! (had lots of things that worked in 1.3 that > didn't in 1.4, and have > been stuck there ever since - I'll join the rest of > the world as soon as > I time to fix everything...) Yup, I miss Stella (and Midi import) :-) Anyhow, without requoting the code, since you have the URL above there, a couple of thoughts come to mind, in case you haven't considered them: 1) Forget using CM patterns. At each stage, write the output to a sequence, then for the next stage write a function to generate the next sequence based on reading the previous sequence and inserting the new events (well maybe you can still use patterns here) 2) Write some code that progrmatically generates the nested pattern code Apologies in advance if these ideas are obvious, or if I'm misunderstanding the scaling problem. Larry Troxler From taube at uiuc.edu Mon Dec 23 03:24:43 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 23 Dec 2002 05:24:43 -0600 Subject: [CM] algorithm woes In-Reply-To: <20021221214430.39300.qmail@web9601.mail.yahoo.com> References: <20021221214430.39300.qmail@web9601.mail.yahoo.com> Message-ID: >Apologies if this is a repost. Also, apologies >for the formatting - the properly formatted version >is at : > http://stripe.colorado.edu/~theodorm/algo.html > you might consider using the :name feature to reference specific subpatterns in the pattern. im sorry i dont have time to get it all thought out for you right now, but something like what i have below may work, at any rate it seems to be using much less code than what you currently have. this is in 2.4.0, but there is an equivanent nameing feature in 1.3: (new cycle name 'a of 1 for 1) (new cycle name 'b of (list #!a 2) for 1) (new cycle name 'c of (list #!b 3) for 1) (new cycle name 'd of '4a for 1) (new cycle name 'e of (list #!c #!d) for 1) (setf x (new cycle of (list (new cycle of #!a for 9) (new cycle of #!b for 18) (new cycle of #!c for 18) (new cycle of #!e for 18) ))) (next x t) (1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 4A 3 4A 1 4A 3 4A 2 4A 3 4A 1 4A 3 4A 2 4A) the other approach would be to write a function that does the interleaving for you. you can put that function in a 'function' item stream if you need the series to be generated inside a pattern. From terekita at yahoo.com Mon Dec 23 20:58:11 2002 From: terekita at yahoo.com (Dha Terekita) Date: Mon, 23 Dec 2002 20:58:11 -0800 (PST) Subject: [CM] Creating larger stack size in 1.3 Message-ID: <20021224045811.93433.qmail@web9604.mail.yahoo.com> Many thanks to Larry and Rick, My thinking just needed a nudge in the right direction - I think I'm almost there. However, I'm working w. large lists, etc, and wondering what the voodoo is for increasing the stack size in 1.3? thanks very much, Michael __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From terekita at yahoo.com Tue Dec 24 13:07:52 2002 From: terekita at yahoo.com (Dha Terekita) Date: Tue, 24 Dec 2002 13:07:52 -0800 (PST) Subject: [CM] stack size in 1.3 *Mac*, that is Message-ID: <20021224210752.53251.qmail@web9607.mail.yahoo.com> Hello again, Forgot to mention that I'm looking to increase the stack size in 1.3 running on a Mac (left out the platform in my last message). thanks much!, Michael __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From carl.boingie at rcn.com Thu Dec 26 19:52:08 2002 From: carl.boingie at rcn.com (Carl Edwards) Date: Thu, 26 Dec 2002 22:52:08 -0500 Subject: [CM] Building CLM on Windows XP & ACL6.2 References: <002601c2a929$47255f20$aa197e82@music.uiuc.edu> Message-ID: <000601c2ad5d$9f69f3c0$dbe37ad1@laptop> Pardon my ignorance but what does Cygwin do when you install it on Windoze? I understand that it provides a set of Unix tools to Win users, but does it interfere with any normal Windows operations? Is it replacing anything or simply providing additional commands to a DOS type shell? Do you have to load those extra facilities each tome you use them or are they simply a set of commands available through a path link to executables? Do you have to build/compile it once you've downloaded it? Do you need to be an accomplished C/C++ user to use it? I'm just worried about it interferring with normal operations. It would be nice to run CM in Guile, though. Sorry about all the questions. I did read the FAQ but it assumed I knew more already than I did. Thanks in advance! Signed, Nervous Nellie aka Carl Edwards ------------snip-------------- Subject: Re: [CM] Building CLM on Windows XP & ACL6.2 Rick said: Building CLM on Windows XP & ACL6.2you might consider trying the cygwin tookit instead of xp directly. my guess is that would be the easiest way to get clm compiled and running on windows From lt at westnet.com Fri Dec 27 21:03:41 2002 From: lt at westnet.com (Larry Troxler) Date: Sat, 28 Dec 2002 00:03:41 -0500 Subject: [CM] CMN key signature, bar lines, and accidentals References: <3E012E7A.DD964DFC@westnet.com> <200212201109.DAA15792@cmn14.stanford.edu> <3E03C733.B57C4F92@westnet.com> Message-ID: <3E0D30AD.E188531@westnet.com> Hi all and sorry for the top-posting. I'm still trying to figure out why my CM to CMN renderings always have redundant accidental and natural signs, even though I use (automatic-naturals t) and (redundant-accidentals nil). I'm trying to sort this out this weekend by looking through the CMN source code. It certainly seems as though the framework is there in CMN to keep track of key-signature accidentals, current measure accidentals, and the like. So it would help me though to hear from people who have used CM for example, to generate a CMN score. I know in years past there was a section in the CM doc about this. Was the result correct with respect to avoiding redundant accidental signs, or not? In other words, did this work in the past, or was it never the intention that the CM -> CMN rendition was this knowledgeable about eliminating redundant accidentals, and it was the intention that someone would tweak the CMN output by hand if they wanted real notation output? I just want to know if I'm dealing with a recently introduced bug, or if it never worked this way to begin with, and people always tweaked the CMN output manually before publishing it in Computer Music Journal or the like. Thanks in advance! Larry Troxler Larry Troxler wrote: > > (CC'd to list) > > Bill Schottstaedt wrote: > > > > > Do accidentals/naturals on note names in CMN correspond to what is > > > notated, and not the frequency of the note? > > > > "A4" says nothing about an accidental and is ambiguous. Look for > > "automatic naturals" in cmn.html. > > Ok, so I assume that the effect of "automatic naturals" is to add a "n" > onto the specification of notes that don't specify any accidental? > > Although that helped, unfortunately as it turns out, I still have either > a basic problem or basic misunderstanding. Consider this: > > (cmn (redundant-accidentals nil) staff treble g-major (meter 2 4) > cs4 cs4 fs4 fn4 ds4 dn4 dn4 ds4) > > Setting "redundant-accidentals" to nil helps in that the second cs4 is > not notated with a sharp sign. However, there are other problems: > > The first fs4 (in measure 2) is notated with a redundant sharp sign even > though the key signature is g-major. > > The second dn4 (in measure 4) is notated with a redundant natural sign > even though the key signature is g-major. > > Could someone enlighten me on this? > > This is _not_ a complaint about CMN, just a question about how it works. > > And I know that this is not a great problem if one is writing a CMN > score directly, but it is a problem if we're using CMN to make a quick > draft notation of Common Music output (for example). > Not a fatal problem either, but just makes the output difficult to read. > > Larry Troxler > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Sat Dec 28 08:01:24 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 28 Dec 2002 08:01:24 -0800 Subject: [CM] CMN key signature, bar lines, and accidentals References: <3E012E7A.DD964DFC@westnet.com> <200212201109.DAA15792@cmn14.stanford.edu> <3E03C733.B57C4F92@westnet.com> <3E0D30AD.E188531@westnet.com> Message-ID: <004b01c2ae8a$63011390$9c197e82@music.uiuc.edu> the way to debug this is to generate a foo.cmn file, then tweek its score :initargs until you get it working correctly. then regenreate th file from cm using those score init values in the call to events. but you should first debug in cmn alone. ----- Original Message ----- From: "Larry Troxler" To: Sent: Friday, December 27, 2002 9:03 PM Subject: Re: [CM] CMN key signature, bar lines, and accidentals > Hi all and sorry for the top-posting. I'm still trying to figure out why > my CM to CMN renderings always have redundant accidental and natural > signs, even though I use (automatic-naturals t) and > (redundant-accidentals nil). > > I'm trying to sort this out this weekend by looking through the CMN > source code. > It certainly seems as though the framework is there in CMN to keep track > of key-signature accidentals, current measure accidentals, and the like. > > So it would help me though to hear from people who have used CM for > example, to generate a CMN score. I know in years past there was a > section in the CM doc about this. > Was the result correct with respect to avoiding redundant accidental > signs, or not? > > In other words, did this work in the past, or was it never the intention > that the CM -> CMN rendition was this knowledgeable about eliminating > redundant accidentals, and it was the intention that someone would tweak > the CMN output by hand if they wanted real notation output? > > I just want to know if I'm dealing with a recently introduced bug, or if > it never worked this way to begin with, and people always tweaked the > CMN output manually before publishing it in Computer Music Journal or > the like. > > Thanks in advance! > > Larry Troxler > > Larry Troxler wrote: > > > > (CC'd to list) > > > > Bill Schottstaedt wrote: > > > > > > > Do accidentals/naturals on note names in CMN correspond to what is > > > > notated, and not the frequency of the note? > > > > > > "A4" says nothing about an accidental and is ambiguous. Look for > > > "automatic naturals" in cmn.html. > > > > Ok, so I assume that the effect of "automatic naturals" is to add a "n" > > onto the specification of notes that don't specify any accidental? > > > > Although that helped, unfortunately as it turns out, I still have either > > a basic problem or basic misunderstanding. Consider this: > > > > (cmn (redundant-accidentals nil) staff treble g-major (meter 2 4) > > cs4 cs4 fs4 fn4 ds4 dn4 dn4 ds4) > > > > Setting "redundant-accidentals" to nil helps in that the second cs4 is > > not notated with a sharp sign. However, there are other problems: > > > > The first fs4 (in measure 2) is notated with a redundant sharp sign even > > though the key signature is g-major. > > > > The second dn4 (in measure 4) is notated with a redundant natural sign > > even though the key signature is g-major. > > > > Could someone enlighten me on this? > > > > This is _not_ a complaint about CMN, just a question about how it works. > > > > And I know that this is not a great problem if one is writing a CMN > > score directly, but it is a problem if we're using CMN to make a quick > > draft notation of Common Music output (for example). > > Not a fatal problem either, but just makes the output difficult to read. > > > > Larry Troxler > > _______________________________________________ > > Cmdist mailing list > > Cmdist at ccrma.stanford.edu > > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From renueden at earthlink.net Sat Dec 28 13:12:50 2002 From: renueden at earthlink.net (Ken) Date: Sat, 28 Dec 2002 13:12:50 -0800 Subject: [CM] computor controller Message-ID: <000e01c2aeb5$e20ea780$4bd0aec7@KenLaptop> hi all, i've been playing with keykit and a function called typo which turns the computor keyboard into a midi controller controlling a midi controlled instance of csound and i love it. i was wondering if there is a way to do this in cm and to to hook up multiple, say usb, keyboards as additional "controllers" or how i might go about implementing that. also, is there a way to use a joystick(s) as a midi controller(s). see where i'm going with all this?! thanks for any info/help. Ken Locarnini From lt at westnet.com Sat Dec 28 14:05:23 2002 From: lt at westnet.com (Larry Troxler) Date: Sat, 28 Dec 2002 17:05:23 -0500 Subject: [CM] computor controller References: <000e01c2aeb5$e20ea780$4bd0aec7@KenLaptop> Message-ID: <3E0E2023.D7B29D67@westnet.com> Ken wrote: > > hi all, > i've been playing with keykit and a function called typo which turns the > computor keyboard into a midi controller controlling a midi controlled > instance of > csound and i love it. i was wondering if there is a way to do this in cm > and to to hook up > multiple, say usb, keyboards as additional "controllers" or how i might go > about implementing that. > also, is there a way to use a joystick(s) as a midi controller(s). see > where i'm going with all this?! > thanks for any info/help. > > Ken Locarnini This depends on which operating system you're using! Larry From lt at westnet.com Sat Dec 28 14:10:04 2002 From: lt at westnet.com (Larry Troxler) Date: Sat, 28 Dec 2002 17:10:04 -0500 Subject: [CM] Fixed(?) :CMN key signature, bar lines, and accidentals References: <3E012E7A.DD964DFC@westnet.com> <200212201109.DAA15792@cmn14.stanford.edu> <3E03C733.B57C4F92@westnet.com> <3E0D30AD.E188531@westnet.com> Message-ID: <3E0E213C.A55A7BDC@westnet.com> I think I got this thing working - here's a modified CMN function that seems to work for me, in case anybody is doing CM to CMN transcriptions or the like. Of course this is just a temporary patch because I don't understand how the accidental notation is actually intended to work. Larry ~ ~ ~ (in-package cmn) (defun check-note-for-needed-natural (object current-accidentals current-key-signature-accidentals current-durations cancel octaves) (let ((this-cclass (cclass object)) (this-sign (note-sign object)) (tied (and (ties object) (find :right (ties object) :key #'tie-type)))) (when (not tied) (if (aref current-accidentals this-cclass) (if (not this-sign) (if (not (eq (aref current-key-signature-accidentals this-cclass) (aref current-accidentals this-cclass))) (if (not (aref current-key-signature-accidentals this-cclass)) (if (not (eq (aref current-accidentals this-cclass) natural)) (setf (note-sign object) natural)) (setf (note-sign object) (aref current-key-signature-accidentals this-cclass)))) (if (and cancel ;; now look for redundant accidental -- the problem with this version is that ;; it will leave in accidentals that are technically redundant if the same ;; pitch occurs in a different octave in between, and that makes (for example) ;; repeated octave jumps kinda fussy looking. (eq this-sign (aref current-accidentals this-cclass)) (/= (aref octaves this-cclass) -1) (= (aref octaves this-cclass) (octave object))) (setf (note-sign object) nil))) (progn ;;; From Larry Troxler: I don't understand what this form does; I leave it in ;;; because for my personal use, it will never get hit. (if (and (aref current-key-signature-accidentals this-cclass) (not this-sign)) (progn ;; bug fix thanks to Jin S. Choi 3-Nov-96 ;; (setf this-sign natural) ;; (setf (note-sign object) natural)))) (setf this-sign (or (aref current-key-signature-accidentals this-cclass) natural)) (if (not cancel) (setf (note-sign object) this-sign)))) ;;; From Larry Troxler: This seems to fix my problem of accidentals being redundantly ;;; notated although they are in the current key signature. (if (and cancel this-sign (eq (or (aref current-key-signature-accidentals this-cclass) natural) this-sign)) (setf (note-sign object) nil))))) (setf (aref octaves this-cclass) (octave object)) (setf (aref current-durations this-cclass) 0) (setf (aref current-accidentals this-cclass) this-sign))) (defun cmn-acc-test () (cmn (automatic-naturals t) (redundant-accidentals nil) staff treble g-major (meter 4 4) cs4 cs4 cs5 cs4 fs5 fn5 ef5 fs4 dn4 ds4 dn4 fs4 ds4 dn4 dn4 ds4)) ~ ~ ~ From taube at uiuc.edu Sat Dec 28 14:12:10 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 28 Dec 2002 16:12:10 -0600 Subject: [CM] Building CLM on Windows XP & ACL6.2 In-Reply-To: <000601c2ad5d$9f69f3c0$dbe37ad1@laptop> References: <002601c2a929$47255f20$aa197e82@music.uiuc.edu> <000601c2ad5d$9f69f3c0$dbe37ad1@laptop> Message-ID: >I understand that it provides a set of Unix tools to Win users, but does it >interfere with any normal Windows operations? Is it replacing anything or >simply providing additional commands to a DOS type shell? I had no problem installing cygwin on a windows xp machine, and everything works fine. i much prefer the cygwin terminal to the piece of junk you get from MS. >Do you have to load those extra facilities each tome you use them or are >they simply a set of commands available through a path link to executables? once you install it, cygwin lives under its own directory, mine is c:\cygwin. they provide is a Terminal app that you can put on your desktop, when you start it up its automatically sets the Unix root / to be c:\cygwin or whereever you have installed it. but i actually run the cygwin guile/cm under XEmacs in windows, so its really the same for me as working on unix/xemacs >Do you have to build/compile it once you've downloaded it? no you can download executables. their download tool is quite good, you can install just the things you want. i think you will find Guile 1.6.0 in the Interpreters list. >Do you need to be an accomplished C/C++ user to use it? no, but you should learn some unix commands since thats what you will be typing in their terminal. From lt at westnet.com Sun Dec 29 18:32:46 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 29 Dec 2002 21:32:46 -0500 Subject: [CM] MIDI Note-ons/offs -> Midi events? Message-ID: <3E0FB04E.DBD65812@westnet.com> I just thought I'd ask (although not expecting much) if anybody has done anything with importing MIDI events into CM 2.4.x. Rather than reading a MIDI file, I've had some success in recording MIDI through PD and saving the resulting sequence as a scheme form, which I can then read into CM. But it's in the note-on/note-off form, and I am thereby wondering if anyone has a a reducing function for CM. Larry From taube at uiuc.edu Mon Dec 30 02:55:47 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 30 Dec 2002 04:55:47 -0600 Subject: [CM] MIDI Note-ons/offs -> Midi events? In-Reply-To: <3E0FB04E.DBD65812@westnet.com> References: <3E0FB04E.DBD65812@westnet.com> Message-ID: ill try to finish importing this week. i started last week but ran out of time. At 9:32 PM -0500 12/29/02, Larry Troxler wrote: >I just thought I'd ask (although not expecting much) if anybody has done >anything with importing MIDI events into CM 2.4.x. > >Rather than reading a MIDI file, I've had some success in recording MIDI >through PD and saving the resulting sequence as a scheme form, which I >can then read into CM. > >But it's in the note-on/note-off form, and I am thereby wondering if >anyone has a a reducing function for CM. > >Larry >_______________________________________________ >Cmdist mailing list >Cmdist at ccrma.stanford.edu >http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From lt at westnet.com Mon Dec 30 17:22:29 2002 From: lt at westnet.com (Larry Troxler) Date: Mon, 30 Dec 2002 20:22:29 -0500 Subject: [CM] MIDI Note-ons/offs -> Midi events? References: <3E0FB04E.DBD65812@westnet.com> Message-ID: <3E10F155.3B5B833B@westnet.com> Rick Taube wrote: > > ill try to finish importing this week. i started last week but ran out of time. > Sorry, I was asking if any third parties had already done something along these lines. I certainly didn't mean to rush you - it's a slow time of year after all. I know I don't get much done at my day job for these two weeks, especially this year with Christmass and New Years Day smack in the middle of the week. BTW I hear the New Years Day falls on the First this year ;-) Larry > At 9:32 PM -0500 12/29/02, Larry Troxler wrote: > >I just thought I'd ask (although not expecting much) if anybody has done > >anything with importing MIDI events into CM 2.4.x. > > > >Rather than reading a MIDI file, I've had some success in recording MIDI > >through PD and saving the resulting sequence as a scheme form, which I > >can then read into CM. > > > >But it's in the note-on/note-off form, and I am thereby wondering if > >anyone has a a reducing function for CM. > > > >Larry > >_______________________________________________ > >Cmdist mailing list > >Cmdist at ccrma.stanford.edu > >http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From cewing at u.washington.edu Tue Dec 31 16:42:12 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Tue, 31 Dec 2002 16:42:12 -0800 (PST) Subject: [CM] DC Blocking? Message-ID: Sorry for the newbie question. Does CLM have a DC-block generator built in? Thanks, C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* From i.a.uemlianin at celtic.co.uk Thu Dec 19 06:40:28 2002 From: i.a.uemlianin at celtic.co.uk (Ivan Uemlianin) Date: Thu, 19 Dec 2002 14:40:28 +0000 Subject: [CM] new snd user: questions Message-ID: <3E01DA5C.2000401@celtic.co.uk> Dear all I've just started using snd to edit speech files. I'm having the following 'experiences'. I haven't investigated these in any depth and I come here for clues as to whether any of these are actual bugs or (more probably) config issues I can clear up. I have Read The FM. Apart from the issue with long files, snd is perfectly usable (better than that). I'm running snd 5.8 on Debian GNU/Linux 3.0 :$ snd --version This is Snd version 5.8 of 13-Mar-02: Xen: 1.2, Guile: 1.4 OSS 3.8.2 Sndlib 15.0 (11-Mar-02, int24 samples) CLM 1.62 (6-Mar-02) Gtk+ 1.2.10, Glib 1.2.10 gtkextra: 0.99.16 with LADSPA Compiled Mar 19 2002 10:54:56 C: 2.95.4 (Debian prerelease) Libc: 2.2.5.stable - there was no ~/.snd file and I couldn't find a default config anywhere (e.g. /etc/snd, etc/defaults/snd, ...). I've set up a basic one, just with window size. - I get occasional segfaults when I use Alt-O/Alt-C to open/close a file. Mostly they just mean Alt-O doesn't work, but sometimes snd crashes. - Apart from the gui-based keyboard commands (e.g. Alt-O), the keys don't work. The emacs-style keyboard commands (e.g. Cx Cf to load a file, etc) just don't do anything, and snd will only listen to the gui. I'd love to get this working as my fingers are already configured for emacs. - Long files (e.g. more than a few minutes) don't seem to be fully loaded - only about the first quarter. I'd like to edit audio files up to around 20mins (maybe longer - presumably there's a limit?) Best wishes Ivan From kerenaka at yahoo.com Sat Dec 21 13:31:07 2002 From: kerenaka at yahoo.com (Michael Theodore) Date: Sat, 21 Dec 2002 13:31:07 -0800 (PST) Subject: [CM] algorithm issues Message-ID: <20021221213107.45076.qmail@web12907.mail.yahoo.com> (Sorry for the formatting of this message - it's properly formatted at: http://stripe.colorado.edu/~theodorm/algo.html) Hello there, I'm trying to implement an alogorithm for someone, and I can tell that I'm going about it the hard way (the *real* hard way!). It's working as it is, but it's longer than I've actually shown, and my way isn't going to scale terribly well. I'm actually using CM 1.3! (had lots of things that worked in 1.3 that didn't in 1.4, and have been stuck there ever since - I'll join the rest of the world as soon as I time to fix everything...). Any help would be deeply deeply appreciated! (I have two tickets waiting to the fountain of eternal youth for the helful respondant.....) best regards, Michael ALGORITHM: 1) Begin with strand 1 (1), repeat 9x 2) Insert strand 2 (2) in between each element of strand 1, until 9x of strand 2 3) considering all prior strands as an ongoing single strand, insert strand 3 (3), until 9x 4) considering all prior strands as an ongoing single strand (creating the composite 3 1 3 2), insert the first element of strand 4 (4a), until 9x 5) considering all prior strands as an ongoing single strand, insert the second element of strand 4 (4b), alternating with the first element of strand 4, until 9x 4b 6) considering all prior strands as an ongoing single strand, insert the third element of strand 4 (4c), maintaing the 4a 4b 4c cycle of strand 4, until 9x 4c SAMPLE OUTPUT: Stella [Top-Level]: mix bob Start time offset:(=None) 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 4A 3 4A 1 4A 3 4A 2 4A 3 4A 1 4A 3 4A 2 4A ;;; 1 3 2 3 strand picks up where it was in the cycle 3 4B 1 4A 3 4B 2 4A 3 4B 1 4A 3 4B 2 4A 3 4B 1 4A 3 4B 2 4A 3 4B 1 4A 3 4B 2 4A 3 4B 1 4C 3 4A 2 4B 3 4C 1 4A 3 4B 2 4C 3 4A 1 4B 3 4C 2 4A 3 4B 1 4C 3 4A 2 4B 3 4C 1 4A 3 4B 2 4C 3 4A 1 4B 3 4C 2 4A 3 4B 1 4C 3 4A 2 4B 3 4C 1 5A 4A 5A 3 5A 4B 5A 2 5A 4C 5A 3 5A 4A 5A 1 5A 3 5B 4B 5A 2 5B 4C 5A 3 5B 4A 5A 1 5B 4B 5A 3 5B 4C 5A 2 5B 4A 5A 3 5B 4B 5A 1 5B 4C 5A 3 5B CODE FOLLOWS: (let ((mess 0)(times 0)) (algorithm bob midi-note (start 0 length 213 amplitude 0.9 channel 0) (setf note 60) (setf mess (item (items (items "beginning") ;;for printing purposes (items 1 for 9) ;;;; 1 (items "start") ;;for printing purposes (items (items (items 1) ;;; 1 (items 2)) for 9) ;;2 (items "start") (items (items (items 1 2 for 1) ;;;1 2 (items 3 for 1)) for 9) ;;3 (items "start") (items (items (items (items (items 2 1 for 1) ;;1 2 (items 3 for 1)) ; 3 for 1 counting values) (items 4a)) for 9) (items "start") (items (items (items (items (items 3 1 3 2 for 1)) ; previous strands collapsed into a single strand for 1 counting values) (items 4b 4a for 1)) for 34 counting values) (items "start") (items (items (items 1 3 2 3 for 1) ;;1 2 (items 4c 4a 4b for 1)) for 56 counting values) (items "start") (items (items (items (items (items 1 3 2 3 for 1) ;;1 2 (items 4a 4b 4c for 1)) for 1 counting values) (items 5a) for 18 counting values)) (items "start") (items (items (items (items (items 3 2 3 1 for 1) ;;1 2 (items 4b 4c 4a for 1)) for 1 counting values) (items 5b 5a for 1) for 34 counting values))))) ;;;etc (if (or (equal mess "start")(equal mess "beginning")) ;; if beginning of pattern, newline (progn (format t "~&") (setf times 1)) (setf times (+ times 1))) (if (= (mod times 60) 0) ;;; if pattern is longer than 60 (format t "~& ")) ;;; wrap the lines (if (not (or (equal mess "start")(equal mess "beginning"))) (format t "~S " mess)) (setf rhythm 1.0) (setf duration rhythm))) __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From testcase at asu.edu Mon Dec 23 13:08:29 2002 From: testcase at asu.edu (todd ingalls) Date: Mon, 23 Dec 2002 14:08:29 -0700 Subject: [CM] working with MCL beta 5 Message-ID: Hi all, Recently I have switched from clisp on Mac OSX over to openmcl and have had a fairly stable setup with cm/clm/cmn. I also now have the MCL 5.0 beta and have been trying to compile these programs. I see many problems with trap calls which need to be carbonized and with just a few minor modifications have cm up and running with the plotter (but minus any cm specific menus). I am just wondering if anyone else has had success with MCL and what changes they had to make? I *would* actually prefer to use openmcl except for the better UI building stuff in MCL, although it seems that openmcl may be heading towards this as well.