From bil at ccrma.Stanford.EDU Tue Oct 1 04:09:41 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 1 Oct 2002 04:09:41 -0700 Subject: [CM] [CMN] gliss. strangeness In-Reply-To: <3D94B278.8000104@acsu.buffalo.edu> References: <3D94B278.8000104@acsu.buffalo.edu> Message-ID: <200210011109.EAA22597@cmn14.stanford.edu> > in glisses of > one step up (a line to its adjacent space, say) the line itself slants > down. the opposite case happens with downward glisses. I can't get this bug to happen -- it looks fine to me in ACL, cmucl, and clisp. To change the length of the gliss line, I added the variable *cmn-glissando-extension*. From bil at ccrma.Stanford.EDU Tue Oct 1 04:22:48 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 1 Oct 2002 04:22:48 -0700 Subject: some observations, was Re: [CM] a to-snd question In-Reply-To: <3D98441E.67C918D1@bright.net> References: <3D95F655.7A924300@bright.net> <200209301142.EAA21238@cmn14.stanford.edu> <3D98441E.67C918D1@bright.net> Message-ID: <200210011122.EAA22613@cmn14.stanford.edu> > I figured there must be some > .bashrc or .cshrc detail I'm missing WRT keyboard configuration. I religiously copy this line to all my .cshrc's -- I have no idea what it does -- it's probably completely irrelevant: stty erase '^H' intr '^C' > Bill, it would be great if you could make it happen in CMUCL! Done. I think openmcl and sbcl would also work, but I got sidetracked. > The xcmnw binary works fine, it's just not getting > called from any of the LISPs I've tried. Odd -- this is my standard way of testing cmn, so I'm sure it works in at least ACL -- I'll check cmucl. xcmnw uses pipes for interjob communication, so, once again, Clisp is not going to work. (In the best of all worlds, I'd make xen.h work in cmucl/acl, then the xm module could run in common lisp, and xcmnw could be written in lisp). > What version of LISP will be used in the AGNULA distro ? If it's clisp, then forget it -- use planetccrma. > I'm trying to understand the various setup and configuration details CLM > and CMN (CM to come soon too), and since my time is so limited I'm > undoubtedly missing much. Common Lisp in general needs a set of tools to parallel C's make and autoconf; I am resisting the urge to editorialize... I'll try to make that part of the documentation less dependent on the reader's knowledge of lisp. From dlphilp at bright.net Tue Oct 1 05:33:49 2002 From: dlphilp at bright.net (Dave Phillips) Date: Tue, 01 Oct 2002 08:33:49 -0400 Subject: some observations, was Re: [CM] a to-snd question References: <3D95F655.7A924300@bright.net> <200209301142.EAA21238@cmn14.stanford.edu> <3D98441E.67C918D1@bright.net> <200210011122.EAA22613@cmn14.stanford.edu> Message-ID: <3D99962D.EBA6FB75@bright.net> Bill Schottstaedt wrote: > I religiously copy this line to all my .cshrc's -- I have no idea > what it does -- it's probably completely irrelevant: > > stty erase '^H' intr '^C' If it's good enough for Bill, I'll try it. ;) [re: foreign function interface in CMUCL] > Done. I think openmcl and sbcl would also work, but I got sidetracked. Cool, I'll test it this morning. Thank you ! > > The xcmnw binary works fine, it's just not getting > > called from any of the LISPs I've tried. > > Odd -- this is my standard way of testing cmn, so I'm sure it works > in at least ACL -- I'll check cmucl... I know it worked with ACL 4.3 but the 6.2 trial version won't compile CMN (heap limitation) so I couldn't test it against that LISP. It didn't work for CMUCL or CLISP. [re: LISP in AGNULA] > If it's clisp, then forget it -- use planetccrma. I think it will be CMUCL. If I can get the foreign function thing happening in CLM and the call to xcmnw in CMN then we'll be set with a completely free LISP doing the job. > Common Lisp in general needs a set of tools to parallel C's make and autoconf; > I am resisting the urge to editorialize... I'll try to make that part of > the documentation less dependent on the reader's knowledge of lisp. Thanks, Bill. I really do plan on seriously trying to learn more about LISP. I should think the Guile background I've picked up working with Snd would help: am I correct in thinking so ? 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 marco at centrotemporeale.it Tue Oct 1 05:59:01 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Tue, 1 Oct 2002 08:59:01 -0400 Subject: some observations, was Re: [CM] a to-snd question In-Reply-To: <200210011122.EAA22613@cmn14.stanford.edu> References: <3D95F655.7A924300@bright.net> <200209301142.EAA21238@cmn14.stanford.edu> <3D98441E.67C918D1@bright.net> <200210011122.EAA22613@cmn14.stanford.edu> Message-ID: <20021001125901.GA946@centrotemporeale.it> Il 01/10/2002 alle 04:22:48, -0700, Bill Schottstaedt ha scritto: > > Bill, it would be great if you could make it happen in CMUCL! > > Done. I think openmcl and sbcl would also work, but I got sidetracked. > great!! > > > What version of LISP will be used in the AGNULA distro ? > Is going to be cmucl. It was cmucl also in last year demudi alpha release thanks Bill, 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 dlphilp at bright.net Tue Oct 1 08:33:36 2002 From: dlphilp at bright.net (Dave Phillips) Date: Tue, 01 Oct 2002 10:33:36 -0500 Subject: [CM] fm violin error Message-ID: <3D99C050.D125CC06@bright.net> Hi Bill: I'm testing the Oct. 1 CLM-2 with CMUCL. It builds without problems, but I'm hitting this error when I try to (load "v") after compiling the instrument : * (load "v") ; Loading #p"/home/dlphilp/clm-2/v.x86f". Error in function COMMON-LISP::FOREIGN-SYMBOL-ADDRESS-AUX: Unknown foreign symbol: "clm_lnxcmu_fm_violin2" Suggestions ? 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 Tue Oct 1 08:35:27 2002 From: dlphilp at bright.net (Dave Phillips) Date: Tue, 01 Oct 2002 10:35:27 -0500 Subject: [CM] woops Message-ID: <3D99C0BF.8076FD69@bright.net> Hi Bill: Sorry, I truncated the error message : * (load "v") ; Loading #p"/home/dlphilp/clm-2/v.x86f". Error in function COMMON-LISP::FOREIGN-SYMBOL-ADDRESS-AUX: Unknown foreign symbol: "clm_lnxcmu_fm_violin2" Restarts: 0: [CONTINUE] Return NIL from load of "v". 1: [ABORT ] Return to Top-Level. Debug (type H for help) (COMMON-LISP::FOREIGN-SYMBOL-ADDRESS-AUX "clm_lnxcmu_fm_violin2") Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/x86-vm.lisp. 0] 0 NIL * 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 marco at centrotemporeale.it Tue Oct 1 19:16:26 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Tue, 1 Oct 2002 22:16:26 -0400 Subject: some observations, was Re: [CM] a to-snd question In-Reply-To: <200210011122.EAA22613@cmn14.stanford.edu> References: <3D95F655.7A924300@bright.net> <200209301142.EAA21238@cmn14.stanford.edu> <3D98441E.67C918D1@bright.net> <200210011122.EAA22613@cmn14.stanford.edu> Message-ID: <20021002021626.GG7780@centrotemporeale.it> Il 01/10/2002 alle 04:22:48, -0700, Bill Schottstaedt ha scritto: > > The xcmnw binary works fine, it's just not getting > > called from any of the LISPs I've tried. > > Odd -- this is my standard way of testing cmn, so I'm sure it works > in at least ACL -- I'll check cmucl. xcmnw uses pipes for interjob > communication, so, once again, Clisp is not going to work. (In the > best of all worlds, I'd make xen.h work in cmucl/acl, then the > xm module could run in common lisp, and xcmnw could be written in > lisp). > Hi Bill, i downloaded the latest cmn (running cmucl and compiled xcmnw with no problems), i'm runnin a simple test (cmn (output-type :x) staff bass b3 q) and i dont see any preview. No error are reported, the is there ... if i launch, as a test, xcmnw it opens as a empty window, white background, so i guess that is OK. Any suggestion? I always use postscript...and worked ok...since the x-files... subject came out i gave a try... 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 bil at ccrma.Stanford.EDU Wed Oct 2 06:52:56 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 2 Oct 2002 06:52:56 -0700 Subject: [CM] Re: fm violin error In-Reply-To: <3D99C050.D125CC06@bright.net> References: <3D99C050.D125CC06@bright.net> Message-ID: <200210021352.GAA24140@cmn14.stanford.edu> > * (load "v") > ; Loading #p"/home/dlphilp/clm-2/v.x86f". > Error in function COMMON-LISP::FOREIGN-SYMBOL-ADDRESS-AUX: > Unknown foreign symbol: "clm_lnxcmu_fm_violin2" Due to what I think is a bug in cmucl's implementation of eval-when, you have to load "v.cmucl" (written when you compile v.ins") rather than the binary output v.x86f. From dlphilp at bright.net Wed Oct 2 07:24:57 2002 From: dlphilp at bright.net (Dave Phillips) Date: Wed, 02 Oct 2002 10:24:57 -0400 Subject: [CM] Re: fm violin error References: <3D99C050.D125CC06@bright.net> <200210021352.GAA24140@cmn14.stanford.edu> Message-ID: <3D9B01B9.20D64BA2@bright.net> Bill Schottstaedt wrote: > Due to what I think is a bug in cmucl's implementation of eval-when, > you have to load "v.cmucl" (written when you compile v.ins") rather > than the binary output v.x86f. Many thanks again, Bill ! The fm-violin loads correctly now, and I've continued delving into the CLM/Snd connection. Things work pretty well now, with the exception of to-snd. Actually it works fine too as long as start-snd has already been invoked. IIRC, ACL could start Snd and load the test instrument (the fm-violin) without having to invoke start-snd first... or am I dreaming ?? Anyway, it's working nicely now with CMUCL, and the AGNULA docs will reflect the info re: *.cmucl vs. *.x86f. Back to the hack... 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 bil at ccrma.Stanford.EDU Thu Oct 3 04:10:18 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 3 Oct 2002 04:10:18 -0700 Subject: [CM] Re: cmucl cmn xcmnw In-Reply-To: <20021002021626.GG7780@centrotemporeale.it> References: <3D95F655.7A924300@bright.net> <200209301142.EAA21238@cmn14.stanford.edu> <3D98441E.67C918D1@bright.net> <200210011122.EAA22613@cmn14.stanford.edu> <20021002021626.GG7780@centrotemporeale.it> Message-ID: <200210031110.EAA25349@cmn14.stanford.edu> > i'm runnin a simple test (cmn (output-type :x) staff > bass b3 q) and i dont see any preview. I broke this while porting cmn to sbcl -- now I see why Rick uses upper case in the *features* list. Should be ok now. From bil at ccrma.Stanford.EDU Thu Oct 3 04:13:27 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 3 Oct 2002 04:13:27 -0700 Subject: [CM] sf update (sound file collection) Message-ID: <200210031113.EAA25354@cmn14.stanford.edu> In case it's of interest, I've recently updated sf.tar.gz with about 20 new files. Also added a list in TODO.Snd of things I'm still looking for. From dlphilp at bright.net Thu Oct 3 09:33:25 2002 From: dlphilp at bright.net (Dave Phillips) Date: Thu, 03 Oct 2002 11:33:25 -0500 Subject: [CM] still have problem with xcmnw Message-ID: <3D9C7155.631896CB@bright.net> Hi Bill: I built the Oct. 2 CMN and ran this test : * (cmn (output-type :x) staff treble c4 q) Error in function UNIX::SIGPIPE-HANDLER: SIGPIPE at #x400CC4E4. Restarts: 0: [ABORT] Return to Top-Level. Debug (type H for help) (UNIX::SIGPIPE-HANDLER # # #.(SYSTEM:INT-SAP #x3FFFE778)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] Test run under CMUCL 18d, Linux kernel 2.4.18. Suggestions ? 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 rm at fabula.de Thu Oct 3 08:52:39 2002 From: rm at fabula.de (rm at fabula.de) Date: Thu, 3 Oct 2002 17:52:39 +0200 Subject: [CM] still have problem with xcmnw In-Reply-To: <3D9C7155.631896CB@bright.net> References: <3D9C7155.631896CB@bright.net> Message-ID: <20021003155239.GA16013@www> On Thu, Oct 03, 2002 at 11:33:25AM -0500, Dave Phillips wrote: > [...] > > > Test run under CMUCL 18d, Linux kernel 2.4.18. > That's rather strange, i just installed the latest Debian CMUCL and downloaded a new version of cmn just to try out the x-output (never worked for me since i usually use Clisp) and it actually worked pretty nicely. Ralf Mattes From dlphilp at bright.net Thu Oct 3 10:47:19 2002 From: dlphilp at bright.net (Dave Phillips) Date: Thu, 03 Oct 2002 12:47:19 -0500 Subject: [CM] still have problem with xcmnw References: <3D9C7155.631896CB@bright.net> <20021003155239.GA16013@www> Message-ID: <3D9C82A7.62FC1562@bright.net> rm at fabula.de wrote: > .... i just installed the latest Debian CMUCL and > downloaded a new version of cmn just to try out the x-output (never > worked for me since i usually use Clisp) and it actually worked pretty > nicely. I may have discovered what was going wrong. My first try failed because I hadn't compiled xcmnw, so I built it and tried the test again. I had not quit CMUCL after the first try, and when I ran it again I received the error I sent earlier. I quit CMUCL and restarted everything, ran the test, and there was my perfect xcmnw display. I was very happy, then I wondered about closing xcmnw. I did a kill-client from the xterm, ran the test file again, and got the same error as before. So I quit again, restarted everything, ran the test but did not kill the display. As long as xcmnw is up it will update with any call to (output-type :x), which is really cool. However, when I quit CMUCL I get a stream of 'got 0 bytes reading len?' messages that run until I explicitly kill xcmnw. So is there any recommended better way of handling xcmnw ? Btw, I got xemacs, I'm taking the plunge... 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 rm at fabula.de Thu Oct 3 10:31:42 2002 From: rm at fabula.de (rm at fabula.de) Date: Thu, 3 Oct 2002 19:31:42 +0200 Subject: [CM] still have problem with xcmnw In-Reply-To: <3D9C82A7.62FC1562@bright.net> References: <3D9C7155.631896CB@bright.net> <20021003155239.GA16013@www> <3D9C82A7.62FC1562@bright.net> Message-ID: <20021003173142.GA16566@www> On Thu, Oct 03, 2002 at 12:47:19PM -0500, Dave Phillips wrote: > [...] > So is there any recommended better way of handling xcmnw ? Yes, i had that 'feature' too. Looks like a bugglet in function 'GetCmnString(...)' -- the code should test for the special case of reading 0 characters, allmost (allways?) an indication that the file stream is empty, especially when called from 'XtAppAddInput(...)'. A quick fixup: n = read(*fd,buffer,4); if (0 == n) exit(0); I'm shure there's a more Xlibish way of doing this but i haven't written raw X code for quite a while. > Btw, I got xemacs, I'm taking the plunge... Have fun Ralf Mattes > 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 Thu Oct 3 12:54:23 2002 From: dlphilp at bright.net (Dave Phillips) Date: Thu, 03 Oct 2002 14:54:23 -0500 Subject: [CM] question about CM Message-ID: <3D9CA06F.45A51577@bright.net> Greetings: I'm trying to build my edit of all.lisp image in the $HOME/cm/etc/ but it fails here: ;;; Loading [snip] ;;; Loading #p"/home/dlphilp/cmn/quarter.x86f". Error in function "DEFMACRO SETF": Odd number of args to SETF. Restarts: 0: [CONTINUE] Return NIL from load of "etc/myall.lisp". 1: [ABORT ] Return to Top-Level. Debug (type H for help) ("DEFMACRO SETF" (SETF CM-PATH "/home/dlphilp/cm-2.3.4/" CM-BIN-PATH "/home/dlphilp/cm-2.3.4/bin/" ...) NIL) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/macros.lisp. 0] 0 NIL * Also, I followed the instructions and originally did (load "cm.lisp") which created a bunch of .x86f files in ~/cm/bin. When I started LISP (CMUCL) again and ran (load "cm.lisp") again it ran and apparently loaded the fast-load files but then just dumped me back to the xterm prompt. I'm obviously missing something(s). Any advice for the complete CM newbie ? 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 bil at ccrma.Stanford.EDU Fri Oct 4 04:35:18 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 4 Oct 2002 04:35:18 -0700 Subject: [CM] still have problem with xcmnw In-Reply-To: <20021003173142.GA16566@www> References: <3D9C7155.631896CB@bright.net> <20021003155239.GA16013@www> <3D9C82A7.62FC1562@bright.net> <20021003173142.GA16566@www> Message-ID: <200210041135.EAA26771@cmn14.stanford.edu> > n = read(*fd,buffer,4); > if (0 == n) > exit(0); Thanks! I'll merge this into my version (and maybe prettify that code finally -- it was written in "type-as-fast-as-you-can" mode) -- I think my intention was to call cmn-pclose in an exit method -- can't remember off the top of my head whether one is available in cmucl. There's also a commented-out block of code in cmn-all.lisp that builds xcmnw when cmn is built -- I think it needs to check that X/Motif are available, then fixup the various -I and -L values -- if I can find time, I'll look into running configure instead -- lisp itself doesn't need to know what's going on in this case. From dlphilp at bright.net Fri Oct 4 10:01:02 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 04 Oct 2002 12:01:02 -0500 Subject: [CM] some CM questions Message-ID: <3D9DC94E.8F1EA876@bright.net> Greetings: I'm using the latest CM with CMUCL 18d. It's pretty new to me, so I'm running into some dead ends and am looking for some help. Here are my immediate queries : 1) I open LISP, I run (load "src/cm.lisp") from ~/cm/ and everything goes perfectly. At the end of that load I read and obey the message that says : [snip] Byte Compiling Top-Level Form: ; Compiling "cm:src;html.lisp". ; Loading "cm:bin;HTML.x86f". ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/handlers.lisp". ; Sources were compiled. To save Common Music ; quit and restart Lisp, then reload cm.lisp. T * When I run (load "src/cm.lisp") again it creates a cm.core file in ~/cm/bin/ : ; [snip] ; Loading "cm:bin;HTML.x86f". ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/handlers.lisp". [Doing purification: Done.] [Undoing binding stack... done] [Saving current lisp image into /home/dlphilp/cm-2.3.4/bin/cm.core: Writing 19130936 bytes from the Read-Only space at 0x10000000. Writing 3456872 bytes from the Static space at 0x28000000. Writing 4096 bytes from the Dynamic space at 0x48000000. done.] 'file cm.core' says it's just data, and giving it executable status with chmod +x doesn't work. When I try to run it the shell complains that it "cannot execute binary file". Any advice on all this ? From the README gather that I should be creating a binary, is that correct ? Or is there some other way I'm supposed to run cm.core ? 2) How do I inform CM that I want it to provide CLM output if I specify it ? And how do I specify that I want the output going to a CLM file ? 3) Is it possible to send CM output directly to CLM or CMN ? If so, how ? 4) Docs on using CM are rather sparse. I notice that Tobias's home has links to material but the links are no longer active. Can anyone recommend more tutorial pages ? I also have Nicky Hind's pages, btw. Sorry for all the questions, I'm trying to get a lot of hands-on with CM and the other Common apps in a short time. Thanks for any and all assistance ! 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 Fri Oct 4 10:06:51 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 04 Oct 2002 12:06:51 -0500 Subject: [CM] yet one more... Message-ID: <3D9DCAAB.884E46EB@bright.net> 5) Will we see the plotter for X11 anytime soon ? (Sorry, I couldn't resist, it looks like such a great tool)... == dp From cewing at u.washington.edu Fri Oct 4 09:05:56 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Fri, 4 Oct 2002 09:05:56 -0700 (PDT) Subject: [CM] some CM questions In-Reply-To: <3D9DC94E.8F1EA876@bright.net> Message-ID: Dave, I use ACL and CLISP, and each of those creates a different cm.something file after you finish the second load. This file is NOT intended to be executable or binary. It is a LISP image file that you use to start up lisp. In ACL or CLISP, the command is something like this: ACL: alisp -I directory/where/file/lives/cm.dxl CLISP: clisp -M directory/where/file/lives/cm.mem I assume that the cm.core file that is being created by CMUCL is the equivalent of these .dxl or .mem files. All you need to find is the command-line flag for CMUCL that allows you to use a particular LISP image to start up. Hope this helps, C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* On Fri, 4 Oct 2002, Dave Phillips wrote: > Greetings: > > I'm using the latest CM with CMUCL 18d. It's pretty new to me, so I'm > running into some dead ends and am looking for some help. Here are my > immediate queries : > > 1) I open LISP, I run (load "src/cm.lisp") from ~/cm/ and everything > goes perfectly. At the end of that load I read and obey the message that > says : > > [snip] > Byte Compiling Top-Level Form: > ; Compiling "cm:src;html.lisp". > ; Loading "cm:bin;HTML.x86f". > ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/handlers.lisp". > > > ; Sources were compiled. To save Common Music > ; quit and restart Lisp, then reload cm.lisp. > T > * > > When I run (load "src/cm.lisp") again it creates a cm.core file in > ~/cm/bin/ : > > ; [snip] > ; Loading "cm:bin;HTML.x86f". > ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/handlers.lisp". > [Doing purification: Done.] > [Undoing binding stack... done] > [Saving current lisp image into /home/dlphilp/cm-2.3.4/bin/cm.core: > Writing 19130936 bytes from the Read-Only space at 0x10000000. > Writing 3456872 bytes from the Static space at 0x28000000. > Writing 4096 bytes from the Dynamic space at 0x48000000. > done.] > > > 'file cm.core' says it's just data, and giving it executable status > with chmod +x doesn't work. When I try to run it the shell complains > that it "cannot execute binary file". Any advice on all this ? From the > README gather that I should be creating a binary, is that correct ? Or > is there some other way I'm supposed to run cm.core ? > > 2) How do I inform CM that I want it to provide CLM output if I > specify it ? And how do I specify that I want the output going to a CLM > file ? > > 3) Is it possible to send CM output directly to CLM or CMN ? If so, > how ? > > 4) Docs on using CM are rather sparse. I notice that Tobias's home has > links to material but the links are no longer active. Can anyone > recommend more tutorial pages ? I also have Nicky Hind's pages, btw. > > Sorry for all the questions, I'm trying to get a lot of hands-on with > CM and the other Common apps in a short time. Thanks for any and all > assistance ! > > 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 > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From dlphilp at bright.net Fri Oct 4 10:30:08 2002 From: dlphilp at bright.net (Dave Phillips) Date: Fri, 04 Oct 2002 12:30:08 -0500 Subject: [CM] some CM questions References: <3D9DC94E.8F1EA876@bright.net> <20021004160224.GA7176@cam.ac.uk> Message-ID: <3D9DD020.65432DD9@bright.net> Hi Christophe : Yes, that did it, thank you for the tip and the URL ! 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 Christophe Rhodes wrote: > > On Fri, Oct 04, 2002 at 12:01:02PM -0500, Dave Phillips wrote: > > ; [snip] > > ; Loading "cm:bin;HTML.x86f". > > ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/handlers.lisp". > > [Doing purification: Done.] > > [Undoing binding stack... done] > > [Saving current lisp image into /home/dlphilp/cm-2.3.4/bin/cm.core: > > Writing 19130936 bytes from the Read-Only space at 0x10000000. > > Writing 3456872 bytes from the Static space at 0x28000000. > > Writing 4096 bytes from the Dynamic space at 0x48000000. > > done.] > > > > > > 'file cm.core' says it's just data, and giving it executable status > > with chmod +x doesn't work. When I try to run it the shell complains > > that it "cannot execute binary file". Any advice on all this ? From the > > README gather that I should be creating a binary, is that correct ? Or > > is there some other way I'm supposed to run cm.core ? > > Yes... run "lisp -core cm.core". You may wish to have a look at the > CMUCL FAQ for a little more background information; it's at > . > > 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 taube at uiuc.edu Fri Oct 4 09:58:07 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 4 Oct 2002 11:58:07 -0500 Subject: [CM] some CM questions In-Reply-To: <3D9DC94E.8F1EA876@bright.net> References: <3D9DC94E.8F1EA876@bright.net> Message-ID: Hi, First, I assume you are using the latest CM version 2.3.4 > 2) How do I inform CM that I want it to provide CLM output if I >specify it ? And how do I specify that I want the output going to a CLM >file ? just write to a .clm or .aiff file. Of course the objects you output need to be appriopriate for the output stream. so assumeing (foo) produced CLM objects you would do: (events (foo) "/tmp/foo.clm") or (events (foo) "/tmp/foo.aiff" 0 :srate 22050 :channels 2) or whatever. you may want to initailize the files first, ie (io "test.aiff" channels 2 srate 44100) (events (whatever) "test.aiff") if you compile any CLM .ins file then cm should automatically generate an object definition for you when you load the compied instument. so you dont have to do anything extra. look in cm/etc/examples/fm.ins and then try compiling and loading it into your saved cm image. then do (new fm frequency 440 amplitude .3) or whatever and you should see some sort of object printout. the just use the fm object like you would a midi note or whatever. i think there might be an example at the end of the fm.ins file (hope it still works...) > 4) Docs on using CM are rather sparse. >:( look in doc/ref for the documentation. im working on much better docs now but wont have anything more to say about this for several weeks. > 5) Will we see the plotter for X11 anytime soon ? (Sorry, I couldn't >resist, it looks like such a great tool)... i hope so. right now im finishing up integrating the new guile-influenced cm back into cltl. at that point i should have a really nice new kernel and can start to look at the guile-gtk interface to do a version of plotter and more things as well. of course, a little help would help! From kruhft at kruhft.dyndns.org Fri Oct 4 21:33:51 2002 From: kruhft at kruhft.dyndns.org (Burton Samograd) Date: Fri, 4 Oct 2002 21:33:51 -0700 Subject: [CM] can you disable undo in snd? Message-ID: <20021005043351.GB5285@kruhft.dyndns.org> Hi all, I was just wondering if it was possible to disable the undo feature in snd. I'm working on some very large files and snd, creating selections and then saving them without editing the file, but snd seems to be creating these very large undo temp files which are killing my harddrive and I can't seem to delete them until snd exits. Is there a variable which I can set which will set the undo buffer size to zero maybe, or just competely disable it? I searched the manual and cmdist archives with no luck so I thought someone here might be able to help. Thanks in advance, burton -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From bil at ccrma.Stanford.EDU Sat Oct 5 04:39:06 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sat, 5 Oct 2002 04:39:06 -0700 Subject: [CM] can you disable undo in snd? In-Reply-To: <20021005043351.GB5285@kruhft.dyndns.org> References: <20021005043351.GB5285@kruhft.dyndns.org> Message-ID: <200210051139.EAA28108@cmn14.stanford.edu> > I'm working on some very large files and snd, creating > selections and then saving them without editing the file, but snd > seems to be creating these very large undo temp files I bet these are "regions", not undo temp files (from your description, there's nothing to undo). (set! (selection-creates-region') #f) will turn them off. From bil at ccrma.Stanford.EDU Sat Oct 5 04:40:42 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sat, 5 Oct 2002 04:40:42 -0700 Subject: [CM] bess.rb from Michael Scholz Message-ID: <200210051140.EAA28112@cmn14.stanford.edu> Michael Scholz has translated bess.scm to Ruby, and added many improvements: contrib/bess.rb in the Snd tarball. From finnendahl at folkwang-hochschule.de Sat Oct 5 05:37:00 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sat, 5 Oct 2002 14:37:00 +0200 Subject: [CM] which lisp/scheme for future use? Message-ID: <20021005123700.GA1581@finnendahl.de> Hi Rick, Bill et.all, I'm teaching Common Music and Lisp at the Folkwang in Essen. Recently we got rid of all SGIs and most Macs in favor of Linux based PCs and I'm wondering about which LISP system to install in the long run. We didn't transfer our ACL subscription from the SGIs to the PCs since we would prefer to install something our students can also use on their own PCs at home (ACL is quite expensive and the free version doesn't really work sufficiently). Privately I'm using clisp but it seems that you're not very happy with it due to the lack of a proper foreign function interface. I don't mind to switch to something else and even start teaching scheme instead of CLTL. I gave CMUcl a try yesterday but got tons of errors trying to compile the lisp image (after 11000 lines of output). Rick and Bill, could you give me your five cents on that subject matter? I'd like Essen to be somewhat synchronous with the development. And although it seems to me that Rick is mainly using Macintoshes and Bill seems to favor ACL there should be an alternative on the Linux Platform. What about guile? I would participate in trying to make a joint effort to establish some documentation for a Unix based setup including emacs and some interpreter. I didn't look into the Planet CCRMA distro that much as I'm using Debian and in Essen they use SUSE but maybe it could somehow be part of that? It would be great if some distant day from now the whole procedure of getting Common (Lisp) Music and friends to work (including Realtime, Plotter and MIDI) is as simple on the Linux Platform as it is on the Mac right now. Yours, Orm From wsack at acsu.buffalo.edu Sat Oct 5 11:42:06 2002 From: wsack at acsu.buffalo.edu (Bill Sack) Date: Sat, 05 Oct 2002 14:42:06 -0400 Subject: [CM] more fun w. CMN: music-font Message-ID: <3D9F327E.5060703@acsu.buffalo.edu> hello all, i want to change a few things in cmn's default font - i want straight flags that are slanted opposite the stem direction, kind of like the stockhausen UE scores from the early sixties - anyway, it seemed the easiest thing to do was hack the cmn-glyphs file and make a new font as per the instructions in make-font.cl. so i did that, but can't get cmn to display the new font. if i put the music-font name in as is, a la: (cmn (music-font "bla") (staff treble, etc. gv displays the resulting .eps with letters and other characters in place of the glyphs (i'm guessing this is some kind of gs fall-through when it can't find the font). if i supply a full path name for the font: (cmn (music-font "/home/bsack/lisp/bla") (staff treble, etc. gv displays the staff lines, then urps the following error: Error: /undefined in -file- Operand stack: Execution stack: %interp_exit .runexec2 --nostringval-- etc. i don't know enough about postscript to figure this out ... has anyone had success using a user-defined font with cmn? thanks, bill -- _________ Bill Sack wsack at acsu.buffalo.edu ---------------------- From taube at uiuc.edu Sat Oct 5 15:19:08 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 5 Oct 2002 15:19:08 -0700 Subject: [CM] which lisp/scheme for future use? References: <20021005123700.GA1581@finnendahl.de> Message-ID: <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> >I'm wondering about which LISP system to install in the long run. We I don't think there is (or possibly ever will be) one free lisp that does everything. So on Linux I would install guile, cmucl and clisp and let people use whatever they want. If I had OSX then I would definately install Guile and OpenMCL and I would throw away clisp and cmucl. As far as CM goes, the next version will work the same in Guile and CLTL. Sources for CM are now in Scheme but I have written a scheme->cltl translator that moves the code to cltl automatically. This is now working so I'm within a week or two of the next release. As far as teaching CM goes, I would/will definately teach in Scheme. The next version of CM has an optional "scheme.lisp" file that you can load into a CLTL image to have access to most of Scheme. >Privately I'm using clisp but it seems that >ayou're not very happy with it due to the lack of a proper foreign CLISP is impossible to debug and its still missing a working LOOP and parts of CLOS. The new CM uses metaclasses so I dont know if I can even run in CLISP anymore. Anyway Guile now runs on both Linux and Windows (cygwin) so its a resonable alternative to CLISP for Intel machines. [...] >I gave CMUcl a try yesterday >but got tons of errors trying to compile the lisp image (after 11000 >lines of output). You can get a prebuilt version of cmucl. Check their site or planetccrma. When i last looked (several years ago) it seemed that building cmucl from scratch was a huge project and required someone with the chops of Nando at ccrma to do it. >it seems to me that Rick is mainly using >Macintoshes and Bill seems to favor ACL there should be an alternative >on the Linux Platform. What about guile? This was certainly true in the past but isn't anymore. If I had any money to buy a machine today I'd probably go with Intel/Linux. It would be a tough decision though, so I guess its a good thing that I'm broke and don't have to decide. >I would participate in trying to make a joint effort to establish some >documentation for a Unix based setup including emacs and some >interpreter. I didn't look into the Planet CCRMA distro that much as At some point soon CM will need a "./configure" and "make install" and I dont know how to do either! I need an install process so CM doesnt have to autoload eveything and keep track of its directories. The idea is that after doing a ./configure and make there would be a "cm" command that starts up CM in a dedicated Listener window inside Xemacs with a Help menu and everything, just like in MCL now. I have a good start on the Xemacs Listener (its in the file "listener.el" in the scm.tar tarball at CCRMA). With a little work it could be close to working in MCL. >It would be great if some distant day from now the whole procedure of >getting Common (Lisp) Music and friends to work (including Realtime, >aPlotter and MIDI) is as simple on the Linux Platform as it is on the >Mac right now. This is my hope, too! From finnendahl at folkwang-hochschule.de Sun Oct 6 03:38:18 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sun, 6 Oct 2002 12:38:18 +0200 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> Message-ID: <20021006103818.GB1151@finnendahl.de> Hi Rick, thanks for the extensive information! As far as I can see, guile seems to be a good way to go concerning CM. I already got a working guile interpreter on my system. I'll check later today whether there are any readmes in the sources about the installation process with guile. If I can get it running before Mid October I will start the new classes teaching scheme instead of lisp. If anybody has links to good tutorials/manuals concerning scheme/guile, I'd be happy to know about them. What about clm, cmn and scheme? -- Orm From taube at uiuc.edu Sun Oct 6 07:35:24 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 6 Oct 2002 07:35:24 -0700 Subject: [CM] which lisp/scheme for future use? References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> Message-ID: <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> > to be a good way to go concerning CM. I already got a working guile > interpreter on my system. I'll check later today whether there are you need guile 1.5.6 or later. the newest release is 1.6.0 i havent tested the cm code in that yet but it should work. > If I can get it running before Mid October I will start the new > classes teaching scheme instead of lisp. I thats pretty tight. you could try installing the current cm/scm.tar.gz and see if you can get it to do anything resonable. the code seems to be basically working but im sure there are bugs to be found... >if anybody has links to good > tutorials/manuals concerning scheme/guile, I'd be happy to know about > them. Im working on something... From finnendahl at folkwang-hochschule.de Sun Oct 6 06:09:29 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sun, 6 Oct 2002 15:09:29 +0200 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> Message-ID: <20021006130929.GA24784@finnendahl.de> Hi Rick and all, Am Sonntag, den 06. Oktober 2002 um 07:35:24 Uhr (-0700) schrieb Rick Taube: > you need guile 1.5.6 or later. the newest release is 1.6.0 i havent tested > the cm code in that yet but it should work. I just got the most recent guile 1.6.0 version, compiled it and then loaded load.scm successfully (except of a name mismatch between the referenced "objs.scm" in the load.scm file and the actual filename "objects.scm" in the scm directory). I don't know if I'll be able to make it do something useful but it seems to work. I'll now dig deeper into the scheme language and the guile implementation in order to translate the lisp only parts of my teaching material. There is a file called no_mid.scm Does that mean, midi is still NOT integrated into cm? If that's the case: I'm using MIDI for realtime inter-process-communication quite successfully. alsa support is quite advanced including virtual midiports for internal use and graphic patchbays and it seems to be easy to implement. It would be nice if cm could be used with built in softsynths or get interfaced with pd. -- Orm From taube at uiuc.edu Sun Oct 6 09:27:02 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 6 Oct 2002 09:27:02 -0700 Subject: [CM] which lisp/scheme for future use? References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> <20021006130929.GA24784@finnendahl.de> Message-ID: <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> >got the most recent guile 1.6.0 version, compiled it and then loaded > load.scm successfully (except of a name mismatch between the > referenced "objs.scm" in the load.scm file and the actual filename > "objects.scm" in the scm directory). No, You should be loading a file called "cm.scm" not load.scm. better read the readme.text... there is also an example file "examples.cm" that should get you started. > There is a file called no_mid.scm Does that mean, midi is still NOT > integrated into cm? If that's the case: I'm using MIDI for realtime No, MIDI is there but no real time connection. You can certainly write MIDI files and then use an external player to play them. But as far as I know Tobias has not ported MI_D to linux so there is currently no possibility of real-time MIDI connection in CM except on the Mac. And MI_D wont work on OSX so I dont know what to do about midi anymore except implement it myself at some point. Its very depressing. > inter-process-communication quite successfully. alsa support is quite > advanced including virtual midiports for internal use and graphic > patchbays and it seems to be easy to implement. It would be nice if cm > could be used with built in softsynths or get interfaced with pd. > yes. and this sort of thing is possible in Guile -- its got a very tight connection with C. But I dont have any time in the next few months to even think about it. From dlphilp at bright.net Sun Oct 6 09:52:20 2002 From: dlphilp at bright.net (Dave Phillips) Date: Sun, 06 Oct 2002 11:52:20 -0500 Subject: [CM] some CM questions (long) References: <3D9DC94E.8F1EA876@bright.net> Message-ID: <3DA06A44.E3B57FFD@bright.net> Rick Taube wrote: > ... I assume you are using the latest CM version 2.3.4 Yes, under Linux kernel 2.4.18 and CMUCL 18d. [re: how to specify output going to CLM] > just write to a .clm or .aiff file. Of course the objects you output need to be appriopriate for the > output stream. so assumeing (foo) produced CLM objects you would do: > > (events (foo) "/tmp/foo.clm") > or > (events (foo) "/tmp/foo.aiff" 0 :srate 22050 :channels 2) > > or whatever. you may want to initailize the files first, ie > > (io "test.aiff" channels 2 srate 44100) > (events (whatever) "test.aiff") Forgive my stupidity, Rick, but I'm unable to make most of these examples work. I'm unclear about a lot of things: After starting 'lisp -core 'cm.core' I run (in-package :cm) and everything appears okay. But if I try (load "/home/dlphilp/cm/src/clm.lisp") I receive this error : * (load "/home/dlphilp/cm/src/clm.lisp") ; Loading #p"/home/dlphilp/cm-2.3.4/src/clm.lisp". Reader error at 1471 on #: Package "CLM" not found. Restarts: 0: [CONTINUE] Return NIL from load of "/home/dlphilp/cm/src/clm.lisp". 1: [ABORT ] Return to Top-Level. Debug (type H for help) (COMMON-LISP::READ-TOKEN # #\c) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/reader.lisp. 0] Umm, the file is indeed right there, but what am I not doing first ? If I try loading CLM's own all.lisp I get this error : * (load "/home/dlphilp/clm/all.lisp") ; Loading #p"/home/dlphilp/clm-2/all.lisp". ;; Loading #p"/home/dlphilp/clm-2/special-form-for-cmu.cl". ;; Loading #p"/home/dlphilp/clm-2/clm-package.x86f". ;; Loading #p"/home/dlphilp/clm-2/initmus.x86f". ;;; Running /usr/bin/ld... ;;; Done. ;; Loading #p"/home/dlphilp/clm-2/sndlib2clm.x86f". ;; Loading #p"/home/dlphilp/clm-2/defaults.x86f". ;; Loading #p"/home/dlphilp/clm-2/ffi.x86f". ;; Loading #p"/home/dlphilp/clm-2/io.x86f". ;; Loading #p"/home/dlphilp/clm-2/mus.x86f". ;; Loading #p"/home/dlphilp/clm-2/run.x86f". ;; Loading #p"/home/dlphilp/clm-2/cmus.x86f". ;; Loading #p"/home/dlphilp/clm-2/sound.x86f". ;; Loading #p"/home/dlphilp/clm-2/clm-help.x86f". ;; Loading #p"/home/dlphilp/clm-2/defins.x86f". ;; Loading #p"/home/dlphilp/clm-2/env.x86f". ;; Loading #p"/home/dlphilp/clm-2/clm-snd.x86f". ;; Loading #p"/home/dlphilp/clm-2/rt.x86f". ;; Loading #p"/home/dlphilp/clm-2/export.x86f". ;; Loading #p"/home/dlphilp/clm-2/clm1.x86f". Error in function USE-PACKAGE: Use'ing package CLM results in name conflicts for these symbols: (DAC ENV GRAPH) Restarts: 0: [CONTINUE] Unintern the conflicting symbols in the CM package. 1: Return NIL from load of "/home/dlphilp/clm/all.lisp". 2: [ABORT ] Return to Top-Level. Debug (type H for help) (USE-PACKAGE :CLM #) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/package.lisp. 0] 0 T * I'm not sure what to do then so I opt for 0. Now I do (in-package :clm) and it seems okay, but when I try compiling ~/cm/etc/examples/fm.ins (written for AIFF output) here's what happens: * (compile-file "/home/dlphilp/cm/etc/examples/fm.ins") Python version 1.0, VM version Intel x86 on 06 OCT 02 11:37:05 am. Compiling: /home/dlphilp/cm-2.3.4/etc/examples/fm.ins 06 OCT 02 11:36:37 am ; Writing "/home/dlphilp/cm-2.3.4/etc/examples/clm_lnxcmu_FM.c" ; Compiling "/home/dlphilp/cm-2.3.4/etc/examples/clm_lnxcmu_FM.c" ; Creating shared object file "/home/dlphilp/cm-2.3.4/etc/examples/clm_lnxcmu_FM_1.so" Converted |clm_lnxcmu_fm6|. Compiling DEFINSTRUMENT FM: Converted |clm_lnxcmu_fm5|. Compiling DEFINSTRUMENT FM: Converted FM. Compiling DEFINSTRUMENT FM: Converted FM4. Compiling DEFINSTRUMENT FM: File: /home/dlphilp/cm-2.3.4/etc/examples/fm.ins In: DEFPROCESS RANDOM-FM (NEW FM TIME (NOW) AMPLITUDE ...) Error: (during macroexpansion) Error in function "DEFMACRO NEW": FM is not a valid class name. (PROCESS REPEAT N OUTPUT (NEW FM TIME (NOW) AMPLITUDE ...) ...) --> LET* FUNCTION BLOCK ==> (OUTPUT (NEW FM TIME (NOW) AMPLITUDE ...)) Note: The first argument never returns a value. Converted RANDOM-FM. Compiling DEFPROCESS RANDOM-FM: Compiling Load Time Value of (PCL::GET-MAKE-INSTANCE-FUNCTION-SYMBOL '(PROCESS # NIL)): Byte Compiling Top-Level Form: Compilation unit finished. 1 error 1 note /home/dlphilp/cm/etc/examples/fm.x86f written. Compilation finished in 0:00:01. #p"/home/dlphilp/cm-2.3.4/etc/examples/fm.x86f" T T * Attempting to load the instrument now results in this error : * (load "/home/dlphilp/cm/etc/examples/fm.cmucl") ; Loading #p"/home/dlphilp/cm-2.3.4/etc/examples/fm.cmucl". ;;; Running /usr/bin/ld... ;;; Done. ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/examples/fm.x86f". Error in function "DEFPROCESS RANDOM-FM": Execution of a form compiled with errors: (NEW FM TIME (NOW) AMPLITUDE 0.15 DURATION 0.1 FREQUENCY (BETWEEN 220 880) INDEX (INTERP (NOW) 0 0 10 10)) Restarts: 0: [CONTINUE] Return NIL from load of "/home/dlphilp/cm-2.3.4/etc/examples/fm". 1: Return NIL from load of "/home/dlphilp/cm/etc/examples/fm.cmucl". 2: [ABORT ] Return to Top-Level. Debug (type H for help) ("DEFPROCESS RANDOM-FM") Source: 0] > i think there might be an example at the end of the fm.ins file (hope it still works. See above... ;) > i hope so. right now im finishing up integrating the new guile-influenced cm back into cltl. at that point > i should have a really nice new kernel and can start to look at the guile-gtk interface to do a version > of plotter and more things as well. of course, a little help would help! Much as I would love to chip in I'm completely overwhelmed with doing the AGNULA docs (and learning a bunch of apps at the same time). Maybe someday soon though... Again my apologies if my questions are really obvious. I am going through all the available documentation, but I'm not understanding everything. TIA for any assistance you can render; meanwhile, I'm back to the hack... 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 carl.boingie at rcn.com Sat Oct 5 23:19:48 2002 From: carl.boingie at rcn.com (Carl Edwards) Date: Sun, 6 Oct 2002 02:19:48 -0400 Subject: [CM] newbie CLM question Message-ID: <000301c26d55$548debb0$f5ed7ad1@laptop> I'm trying to get clm-2 up and running on my system (a W2k laptop) and I'm having a bit of difficulty. I am using Clisp and I was attempting to build with the :just-lisp setting. So I started by doing this: (pushnew :bash *features*) (pushnew :just-lisp *features*) When I load all.lisp I get this far: ;; Loading file all.lisp ... Compiling file C:\clm-2\clm-loop.lisp ... Compilation of file C:\clm-2\clm-loop.lisp is finished. The following functions were used but are deprecated: GENTEMP 0 errors, 0 warnings ;; Loading file C:\clm-2\clm-loop.fas ... ;; Loading of file C:\clm-2\clm-loop.fas is finished. [%s:10790] *** - Win32 error 2 (ERROR_FILE_NOT_FOUND): The system cannot find the file specified. I'm not knowledgeable enough to figure out what it's looking for from reading through all.lisp. And-- do I need to use make-clm.cl before I try all.lisp? Any and all help greatly appreciated. TIA, Carl Edwards From rm at fabula.de Sun Oct 6 10:12:19 2002 From: rm at fabula.de (rm at fabula.de) Date: Sun, 6 Oct 2002 19:12:19 +0200 Subject: [CM] some CM questions In-Reply-To: References: <3D9DC94E.8F1EA876@bright.net> Message-ID: <20021006171219.GB7206@www> On Fri, Oct 04, 2002 at 11:58:07AM -0500, Rick Taube wrote: [...] > > 5) Will we see the plotter for X11 anytime soon ? (Sorry, I couldn't > >resist, it looks like such a great tool)... > > > i hope so. right now im finishing up integrating the new guile-influenced cm back into cltl. at that point i should have a really nice new kernel and can start to look at the guile-gtk interface to do a version of plotter and more things as well. of course, a little help would help! Hmm, did you see Marius Vollmer's new work on Guile/Gtk bindings? Pretty darn nice, if i might say. I'd really like to help but i have to admit that i'm not very eloquent in CM or LISP (but i have a Mac with the software in- stalled -- maybe i find some time to have a look at the plotter code). Where are places you could need some help? Ralf Mattes > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Sun Oct 6 11:48:15 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 6 Oct 2002 11:48:15 -0700 Subject: [CM] some CM questions (long) References: <3D9DC94E.8F1EA876@bright.net> <3DA06A44.E3B57FFD@bright.net> Message-ID: <001101c26d68$ee973af0$261e7e82@music.uiuc.edu> your problem is that you must load CLM before building CM, othewise CM cant have access to CLM symbols when it builds. Do this: 1 Delete all cm fasl files (compiled files) whereever they are. 2 start up the base cmucl image, ie without clm or cm already in it 3 load CLM: (setf clm-directory "/whatever/") (load "/whatever/all.lisp") 4 load CM: (load "/whatever/cm-2.3.4/src/cm.lisp") 5 wait until CM compiles its sources then quit CMUCL 6. Then do steps 2,3,4 again. This time only binary files will be loaded, ie no compiling and a lisp image file will be saved somewhere, perhaps in the cm/bin subdirectory. this is an image that you will start cmu up with. once cmu boots it will have clm and cm loaded into it/ 7. after booting the newly saved image try compiling and loading the ins file i suggested. (compile-file "/cm-2.3.4/etc/examples/fm.ins") (load ...) 8 At this point you should be able to do: (new fm ...) 9. DONT just load the examples file! I have no idea what will happen if you do this. the examples are meant to be used "interactively". if you dont use xemacs instead, then copy/paste each example into your lisp image to see if it works. go form by form. i cant stress enough how much Xemacs will help in this experimentation process. 10. send me the next problem list... ill check my cmu image when im at work tomorrow. From taube at uiuc.edu Sun Oct 6 11:53:35 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 6 Oct 2002 11:53:35 -0700 Subject: [CM] some CM questions References: <3D9DC94E.8F1EA876@bright.net> <20021006171219.GB7206@www> Message-ID: <001c01c26d69$ae063030$261e7e82@music.uiuc.edu> > i'm not very eloquent in CM or LISP (but i have a Mac with the software in- > stalled -- maybe i find some time to have a look at the plotter code). do yo mean to say you have Guile 1.5.6 or 1.6.0 running on a Mac? If so where can I get these souces? i assume you mean osx, too? > Where are places you could need some help? geez, dont get me started! From rm at fabula.de Sun Oct 6 10:44:04 2002 From: rm at fabula.de (rm at fabula.de) Date: Sun, 6 Oct 2002 19:44:04 +0200 Subject: [CM] some CM questions In-Reply-To: <001c01c26d69$ae063030$261e7e82@music.uiuc.edu> References: <3D9DC94E.8F1EA876@bright.net> <20021006171219.GB7206@www> <001c01c26d69$ae063030$261e7e82@music.uiuc.edu> Message-ID: <20021006174404.GC7206@www> On Sun, Oct 06, 2002 at 11:53:35AM -0700, Rick Taube wrote: > > i'm not very eloquent in CM or LISP (but i have a Mac with the software > in- > > stalled -- maybe i find some time to have a look at the plotter code). > > do yo mean to say you have Guile 1.5.6 or 1.6.0 running on a Mac? If so > where can I get these souces? i assume you mean osx, too? No, sorry - i have Linux with Guile 1.6 (and 1.7 preprealpha ;-) and a nice G4 with cm running - so i can have a look what the plotter does (but using Guile from OSX is one of my next tasks -- it shouldn't be _that_ hard and afaik there are others working on it too). > > Where are places you could need some help? > > geez, dont get me started! Well, from one of your last posts i read that you want to have a look at autoconf. I'm knee-deep in that kind of stuff right now (for my guile bindings code) and can offer some help with that, even so i'm not shure that autoconf will solve the problems you mentioned. One thing i did last week to ease LISP work on Linux was to create a small defsystem file for cmn so i can just '(require 'cmn)' from Xemacs ilisp. Maybe something similar for clm/cm would be a goog starting point? Ralf Mattes > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From dlphilp at bright.net Sun Oct 6 11:59:54 2002 From: dlphilp at bright.net (Dave Phillips) Date: Sun, 06 Oct 2002 13:59:54 -0500 Subject: [CM] some CM questions (long) References: <3D9DC94E.8F1EA876@bright.net> <3DA06A44.E3B57FFD@bright.net> <001101c26d68$ee973af0$261e7e82@music.uiuc.edu> Message-ID: <3DA0882A.9EE05AFF@bright.net> Rick Taube wrote: > your problem is that you must load CLM before building CM, othewise CM cant > have access to CLM symbols when it builds. Do this: > > 1 Delete all cm fasl files (compiled files) whereever they are. > 2 start up the base cmucl image, ie without clm or cm already in it > 3 load CLM: > (setf clm-directory "/whatever/") > (load "/whatever/all.lisp") > > 4 load CM: > (load "/whatever/cm-2.3.4/src/cm.lisp") > > 5 wait until CM compiles its sources then quit CMUCL > 6. Then do steps 2,3,4 again. > This time only binary files will be loaded, ie no compiling and a lisp image > file will be saved somewhere, perhaps in the cm/bin subdirectory. this is an > image that you will start cmu up with. once cmu boots it will have clm and > cm loaded into it/ > > 7. after booting the newly saved image try compiling and loading > the ins file i suggested. > (compile-file "/cm-2.3.4/etc/examples/fm.ins") Okay, everything's groovy up to this point. But there's a wreck on the highway starting here : * (load "etc/examples/fm.cmucl") ; Loading #p"/home/dlphilp/cm-2.3.4/etc/examples/fm.cmucl". ;;; Running /usr/bin/ld... ;;; Done. ;; Loading #p"/home/dlphilp/cm-2.3.4/etc/examples/fm.x86f". Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x100A4ABD. Restarts: 0: [CONTINUE] Return NIL from load of "/home/dlphilp/cm-2.3.4/etc/examples/fm". 1: Return NIL from load of "etc/examples/fm.cmucl". 2: [ABORT ] Return to Top-Level. Debug (type H for help) (UNIX::SIGSEGV-HANDLER # # #.(SYSTEM:INT-SAP #x28295FB8)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/signal.lisp. 0] And when I select 2 I receive an endless series of this message : *** Sigsegv in page not marked as write protected At this point I have to Ctrl-c until I get to the debugger which will finally let me quit (i.e., none of ABORT processes work). > go form by form. i cant stress enough how much Xemacs will help in this > experimentation process. I'd love to try Xemacs, but the version I've built won't load anything. It fails telling me : "Feature not yet implemented: insert-gui-button requires 'annotations' package" and it fails whether I try loading a file from the File/Open menu or pressing the Open button. ... I can load a file by specifying it at startup 'xemacs foo.lisp' but not from within the GUI. 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 Sun Oct 6 14:07:27 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 6 Oct 2002 14:07:27 -0700 Subject: [CM] some CM questions (long) References: <3D9DC94E.8F1EA876@bright.net> <3DA06A44.E3B57FFD@bright.net> <001101c26d68$ee973af0$261e7e82@music.uiuc.edu> <3DA0882A.9EE05AFF@bright.net> Message-ID: <002301c26d7c$614acea0$131e7e82@music.uiuc.edu> ok, ill look at cmucl tomorrow morning to see what could be going wrong. im not sure at this point . From finnendahl at folkwang-hochschule.de Sun Oct 6 12:21:03 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sun, 6 Oct 2002 21:21:03 +0200 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> <20021006130929.GA24784@finnendahl.de> <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> Message-ID: <20021006192102.GA3807@finnendahl.de> Hi Rick, all, Am Sonntag, den 06. Oktober 2002 um 09:27:02 Uhr (-0700) schrieb Rick Taube: > But as far as I know Tobias has not ported MI_D to linux so there is > currently no possibility of real-time MIDI connection in CM except > on the Mac. And MI_D wont work on OSX so I dont know what to do > about midi anymore except implement it myself at some point. Its > very depressing. It's not all that bad: After fiddling with the idea of writing the linux port of mi_d myself, I just found out that Tobias actually ported mi_d to linux/oss last year! I got it compiled and installed half an hour ago. It probably will need some tweaking to get it to work with alsa's virtual midi devices but it does look promising. On Tuesday afternoon I will have more time to check it out and will let you know about the progress. As far as I can see someone then has to write the glue between guile/cm and the library, right? -- Orm From taube at uiuc.edu Sun Oct 6 16:05:22 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 6 Oct 2002 16:05:22 -0700 Subject: [CM] which lisp/scheme for future use? References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> <20021006130929.GA24784@finnendahl.de> <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> <20021006192102.GA3807@finnendahl.de> Message-ID: <000b01c26d8c$da11e4d0$1e1e7e82@music.uiuc.edu> > work with alsa's virtual midi devices but it does look promising. On > Tuesday afternoon I will have more time to check it out and will let > you know about the progress. As far as I can see someone then has to > write the glue between guile/cm and the library, right? > oh good. i know he started to work oin it but i guess i lost track. anyway the glue is really qute simple and can be found in cm-2.3.4/src/midi/mi_d.lisp and mp.lisp hopefully the mi_d code on linux will allow both reading and writing midi messages. From marco at centrotemporeale.it Sun Oct 6 16:09:12 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Sun, 6 Oct 2002 19:09:12 -0400 Subject: [CM] some CM questions In-Reply-To: <20021006174404.GC7206@www> References: <3D9DC94E.8F1EA876@bright.net> <20021006171219.GB7206@www> <001c01c26d69$ae063030$261e7e82@music.uiuc.edu> <20021006174404.GC7206@www> Message-ID: <20021006230912.GA732@centrotemporeale.it> Il 06/10/2002 alle 19:44:04, +0200, rm at fabula.de ha scritto: > One thing i did last week to ease LISP work on Linux was to create a > small defsystem file for cmn so i can just '(require 'cmn)' from Xemacs > ilisp. Maybe something similar for clm/cm would be a goog starting point? > Yes to me it sounds the way to go, to use defsystem, for lisp applications. Would it be possible to see your cmn defsystem? and it is a good idea to do the same with clm and cm 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 markj at cloaked.freeserve.co.uk Sun Oct 6 15:02:13 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Sun, 06 Oct 2002 22:02:13 GMT Subject: [CM] which lisp/scheme for future use? References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> Message-ID: Orm Finnendahl wrote: > If I can get it running before Mid October I will start the new > classes teaching scheme instead of lisp. If anybody has links to good > tutorials/manuals concerning scheme/guile, I'd be happy to know about > them. Teaching it in general? I think, for starters, try http://www.schemers.org/ (and /Documents/ and /Tutorials/ too) http://www.gnu.org/software/guile/ http://www.glug.org/ http://www.htdp.org/ http://www.htus.org/ http://mjr.towers.org.uk/swn/ http://srfi.schemers.org/ -- MJR| v ---|--[ Luminas internet applications http://www.luminas.co.uk/ ]-----| `--[ http://mjr.towers.org.uk/ ]---------[ slef at jabber.at ]-----' From kruhft at kruhft.dyndns.org Sat Oct 5 12:00:44 2002 From: kruhft at kruhft.dyndns.org (Burton Samograd) Date: Sat, 5 Oct 2002 12:00:44 -0700 Subject: [CM] can you disable undo in snd? In-Reply-To: <200210051139.EAA28108@cmn14.stanford.edu> References: <20021005043351.GB5285@kruhft.dyndns.org> <200210051139.EAA28108@cmn14.stanford.edu> Message-ID: <20021005190044.GF5285@kruhft.dyndns.org> On Sat, Oct 05, 2002 at 04:39:06AM -0700, Bill Schottstaedt wrote: > I bet these are "regions", not undo temp files (from your description, > there's nothing to undo). > > (set! (selection-creates-region') #f) > > will turn them off. Yes, I thought it was rather odd that undo-type files were being created when I wasn't even doing any editing :) This makes more sense. Thanks for the tip. -- burton samograd kruhft at kruhft.dyndns.org http://kruhftwerk.dyndns.org -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: From anders.vinjar at notam02.no Mon Oct 7 04:17:59 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 07 Oct 2002 13:17:59 +0200 Subject: [CM] more fun w. CMN: music-font In-Reply-To: <3D9F327E.5060703@acsu.buffalo.edu> References: <3D9F327E.5060703@acsu.buffalo.edu> Message-ID: >>> "BS" == Bill Sack writes: BS> hello all, i want to change a few things in cmn's default BS> font - i want straight flags that are slanted opposite BS> the stem direction, kind of like the stockhausen UE BS> scores from the early sixties Heres a version of #'draw-flags in cmn2.lisp which accomodates these flags without changing any font. Adjust the variables 'rx1 and 'ry1 for various slanting and length of flags (set ry1 to 0.0 for cmns original straigh-flags mode). This could easily be made customisable with score-slots etc. (defun draw-flags (score note nflags up-stem stem-end x0) (let* ((y0 (if (not shorter-stems) (+ stem-end (if up-stem -.1 .05)) stem-end)) (incr (if up-stem (- *flag-vertical-spacing*) *flag-vertical-spacing*)) (ny0 (if (not shorter-stems) (+ stem-end (* incr nflags) (if up-stem .1 -.175)) (+ stem-end (* incr (1- nflags)))))) (if (member (note-head note) *centered-note-heads*) (incf x0 (- (note-head-x0-offset note up-stem *half-stem-width*) *half-stem-width*)) (if (and up-stem *curvy-flags*) (incf x0 (note-head-x0-offset note up-stem *stem-width*)))) (if *curvy-flags* (progn (if up-stem (show score flag-up :matrix (translate-matrix score note x0 ny0)) (show score flag-down :matrix (translate-matrix score note x0 ny0))) (loop for i from 1 below nflags and y from y0 by incr do (if up-stem (show score add-flag-up :matrix (translate-matrix score note x0 y)) (show score add-flag-down :matrix (translate-matrix score note x0 y))))) (let* ((bx0 (+ x0 (if up-stem (- .3 *stem-width*) *stem-width*))) (by0 (if up-stem (- stem-end .1) stem-end)) (rx1 0.3) ; adjust for length of flag (ry1 0.1)) ; adjust for slant of flag (loop for i from 0 below nflags and y from by0 by incr do (moveto score bx0 y) (rlineto score rx1 (if up-stem (- ry1) ry1)) (rlineto score 0.0 *beam-width*) (lineto score bx0 (+ y *beam-width*)) (lineto score bx0 y) (fill-in score)) )))) #| (cmn (curvy-flags nil) (automatic-beams nil) (beam-width 0.12) (c4 (rq 1/16)) (g5 (rq 5/16) (note-head :diamond-1)) (g5 e (note-head :x)) (d4 e) (f4 e) (a4 e) (b4 e) (c4 e)) |# From bil at ccrma.Stanford.EDU Mon Oct 7 06:14:14 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 7 Oct 2002 06:14:14 -0700 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <002701c26d45$9ccc9760$b2197e82@music.uiuc.edu> <20021006130929.GA24784@finnendahl.de> <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> Message-ID: <200210071314.GAA00972@cmn14.stanford.edu> On the Guile/OSX question, Guile 1.4.0 builds/works in OSX 10.2, but I haven't yet succeeded in getting 1.6 to build -- my current conjecture is that guile-snarf (or one of its friends) has changed in some way not compatible with either the shell or some program like sed -- anyway the (obvious) problem is in a script, not in the C code, and scripts can be hard to debug. I'd be wary of guile-gtk -- it has not been maintained in the past, and nothing I can see has changed recently; it's also, I think, gtk 1 only. For gtk 2 see xg.c (Snd/libxm); for low-level MIDI tie-ins that work in Linux, see midi.c (sndlib). From bil at ccrma.Stanford.EDU Mon Oct 7 06:24:04 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 7 Oct 2002 06:24:04 -0700 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <20021006103818.GB1151@finnendahl.de> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> Message-ID: <200210071324.GAA00985@cmn14.stanford.edu> > What about clm, cmn and scheme? clm already runs in scheme (via sndlib and a couple scm files in Snd); I should go through the CL version and see if anything important is missing. cmn could be translated to scheme; I'm hesitating because, frankly, I'm not sure what to do with cmn in general; it needs a user-interface, but that's a lot of work; I don't know what direction to push it in. What does the CM community want? From taube at uiuc.edu Mon Oct 7 06:28:57 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 7 Oct 2002 08:28:57 -0500 Subject: [CM] re: Mi_D Message-ID: Im forwading this note about mi_d from Tobias (who is busy moving into his new digs in Munich, lucky guy.) >i just saw that thread mentioning mi_d on cmdist. if i remember right, > it _does_ work on acl/linux/oss, but i've never tested input due to lack > of midi devices. the problem is the mac. the mac libraries are 5 years > and several versions older than sgi/linux. the project needs a mac > developer/maintainer more than an alsa port imo. > > what is the deal with guile now? does it have full thread/ipc support? > in that case real-time would become interesting again... but i doubt > it, not even Perl has full re-entrant thread support these days (they > try, but it's still not working). From bil at ccrma.Stanford.EDU Mon Oct 7 07:04:53 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 7 Oct 2002 07:04:53 -0700 Subject: [CM] examp.rb from Michael Scholz Message-ID: <200210071404.HAA01035@cmn14.stanford.edu> Michael Scholz has contributed more Ruby translations: contrib/examp.rb -- thanks a million! From bil at ccrma.Stanford.EDU Mon Oct 7 07:19:28 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 7 Oct 2002 07:19:28 -0700 Subject: [CM] newbie CLM question Message-ID: <200210071419.HAA01053@cmn14.stanford.edu> > ;; Loading of file C:\clm-2\clm-loop.fas is finished.[%s:10790] > *** - Win32 error 2 (ERROR_FILE_NOT_FOUND): The system cannot find the file > specified. I think it's at line 346 in all.lisp where (in Clisp) all of the C files are being renamed to protect them from Clisp; in the line: #+windoze (clisp-shell (format nil "move ~A ~A" name new-name)) I'd trace clisp-shell to see what it's actually asking windows to do, and go from there. > And-- do I need to use make-clm.cl before I try all.lisp? No, make-clm.lisp sets up various things dependent on which lisp is running (the lisp setup here at ccrma used to be complicated). From marco at centrotemporeale.it Mon Oct 7 07:18:54 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Mon, 7 Oct 2002 10:18:54 -0400 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <200210071324.GAA00985@cmn14.stanford.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> Message-ID: <20021007141854.GA17954@centrotemporeale.it> Il 07/10/2002 alle 06:24:04, -0700, Bill Schottstaedt ha scritto: > > cmn could be translated to scheme; I'm hesitating because, frankly, > I'm not sure what to do with cmn in general; it needs a user-interface, > but that's a lot of work; I don't know what direction to push it in. > > What does the CM community want? I have the impression that a very professional notation tool, does not gain much from a Graphical User Interface. Code writing is fatser than moving around the mouse. Maybe it would be less work to think about a common output format that allow users to import the score into another software (like rosegarden or similia), or from another software into cm.... I would see with great pleasure a good linux MIDI output and.... input... and, that is maybe useless, a possible interaction with clm, something like (cmn stff treble (clm-notep (violin ...)... this raise of course various problems, i.e. interpretation of symbols like legato etc....which make me think that such development would be **easier** by connecting cmn with cm first... so this would be a really tight connection between clm/cm/cmn. the second problem that this solution would raise would be about a more solid clm real time section -that's why clm-notep ..;-) - well i don't know how it works with other platform and lisps, with linux and cmucl, clm real time does not look like a completly developed feature. This is less than a suggestion...is what i would love to see, just out of my mouth without thinking deeply about possible technical problems. Certainly i think, on my side, that it would pay back more on developing these kind of features rather than working on a user interface tool. 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 taube at uiuc.edu Mon Oct 7 07:40:57 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 7 Oct 2002 09:40:57 -0500 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <20021007141854.GA17954@centrotemporeale.it> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> Message-ID: >I have the impression that a very professional notation tool, does not >gain much from a Graphical User Interface. Code writing is fatser than >moving around the mouse. >Maybe it would be less work to think about a common output format that Hmm, I dont think this is true for most composers. This war was actully fought years ago between Finale and Score. Finale won bigtime even though Score did _much_ more than Finale did (or does...) and Score had a text based input that was very easy to use. But composers still wanted to see and tweek their notation on the page so much that they were willing to put up with a piece of crap like Finale in order to do it. as far as i know there is still no standard notation exchange format that is actually used by the software that most composers use to publish their scores with. IRCAM has a plugin that lets you blast stuff over to Finale. I have not tried it out yet (its on my list...) but it sounds like totally reasonble way to go. From taube at uiuc.edu Mon Oct 7 07:51:45 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 7 Oct 2002 09:51:45 -0500 Subject: [CM] Re: notation In-Reply-To: <20021007141854.GA17954@centrotemporeale.it> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> Message-ID: oops I forgot to add my wish: a plugin for finale or sibelius that could parse both flat score file style and structured (a la xml) file notations and display it. that way you could compute either scorefile syyle or layout style from lisp and then suck it into one of the standard apps to tweek it. maybe the plugin could used libguile/cmn for layout yuk yuk yuk From finnendahl at folkwang-hochschule.de Mon Oct 7 08:26:58 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Mon, 7 Oct 2002 17:26:58 +0200 Subject: [CM] CMN In-Reply-To: <20021007141854.GA17954@centrotemporeale.it> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> Message-ID: <20021007152658.GC1387@finnendahl.de> Hi all, just some notes on my experience with music notation: In my opinion, music notation is far too complex to be tackled easily by any gui. The most flexible systems are also the most awkward ones to use. I guess it is a still unsolved problem, how to find a good model for the description of the underlying data due to its nature of being a mixture of interdependent graphical and musical information. And though the relational database approach of Finale might be the most complete, lots of concepts (like the frame concept) remain unsatisfying. CMN is very nice in its straightforwardness, meaning it is more or less a structural symbolic description of the graphical representation of music with some knowledge built in. In combination with the possibility of customization its main advantage is its ability to transcribe algorithmically generated music. I wouldn't concentrate on the transcription of classical music or any completeness, as that is taken care of by the myriads of commercial software engineers, who make lots of effort by contacting big publishing houses to refine their software with all that intrinsicate layout details which make the difference between a nice looking score and the standard output of computer programs (unfortunately including cmn). What cmn seems to miss (please correct me if I'm wrong) is a more refined control over the musical spacing (especially horizontal, but also vertical). I didn't find any hints in the docs on how to specify measure widths, how to obtain proportional notation, or generally speaking, whether there is a way to map horizontal positions with the musical structure. If this was possible, cmn could be an ideal tool to generate a score for one or more live interpreters perfectly aligned to some other graphical information, e.g. of a tape/computer part, a time line etc. That practical usability would in my opinion compensate for the lack of graphical beauty. If it should be necessary to fine tune the events with some gui, I would also opt for doing this with an external program, like xfig (the file format is very straightforward). Also eps is fine, though I don't know of any eps Editor on Unix systems (on Macintosh there is Illustrator). In both cases I think grouping of graphical objects would be an important feature (like notehead and stem in one group, next group is note with accidental, articulation etc.). -- Orm From marco at centrotemporeale.it Mon Oct 7 08:57:17 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Mon, 7 Oct 2002 11:57:17 -0400 Subject: [CM] which lisp/scheme for future use? In-Reply-To: References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> Message-ID: <20021007155717.GB22691@centrotemporeale.it> Il 07/10/2002 alle 09:40:57, -0500, Rick Taube ha scritto: > Hmm, I dont think this is true for most composers. This war was >actully fought years ago between Finale and Score. Finale won bigtime >even though Score did _much_ more than Finale did (or does...) and >Score >had a text based input that was very easy to use. But composers still >wanted to see and tweek their notation on the page so much that they >were willing to put up with a piece of crap like Finale in order to do >it. as far as i know there is still no standard notation exchange >format >that is actually used by the software that most composers use to >publish >their scores with. I guess Rick is right. And i totally agree with Orm, especially about the time score for computer music performances. And, yes i would considering, an integration with cm and an existing graphical tool. The Graphical considerations had probably to do with my personal preferences. Though, i might be wrong, Score has been much more popular amongst publishers than Finale, while the second has been certainly preferred by composers. [OFF TOPICS (?)] Publishers are reducing every day more and more the number of contemporary music scores published. Amongst other things this is due to the fact that, being those score most of the time very complex, the only program that have a real profesional look and output are too complicate...- for instance i think Universal used (and uses?) Score-. This is something that maybe should be considered in the future development of cm...of course a part output quality [ END OFF TOPICS ] 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 Oct 7 12:01:35 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 07 Oct 2002 21:01:35 +0200 Subject: [CM] which lisp/scheme for future use? In-Reply-To: References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> Message-ID: >>> "RT" == Rick Taube writes: RT> as far as i know there is still no standard notation RT> exchange format that is actually used by the software RT> that most composers use to publish their scores with. Im not sure that 'most composers' necessarily is the most relevant group to address here. Moving musical data from one part of this system to another, working on the data in that particular part of the system, and being able to get the modified data back again is the most important feature of all this. A gui for cmn would be great for mouse-based editing/adjustments - maybe also doing input of music - as long as the result is directly accessible in the lisp part of the system (along the lines of Snd (save-state or user-provided export-functions)). Whats extremely powerful is that the packages are integrated as tight as they are - giving access to each others tools from everywhere, and the enormous flexibility and ease of programming impossible to find anywhere else. IMO what makes CM/CLM/Snd/CM stand out is the direct link to their common language. This could be another language as powerful for the user as lisp, as long as the user dont need to learn more than one language properly. (Which to choose of CL/Scheme is from the users point of view not important, as long as the software is available under adequate licenses.) Taking musical data out to Finale means saying goodbye to important parts of it forever. Even with a standard exchange-format for notation, you wont be able to get back anything apart from whats granted once and for all in that particular format. Id like to still have immedeate access to the flexibility lisp provides, and not base communication between the elements of the system on limitied protocols. Exporting/loading/importing should be done in a transparent as possible manner - possibly without going through parsing of temporary or non-temporary score-files with specific (limited) syntaxes or whatnot - just evaluate lisp-data in proper contexts. -anders From taube at uiuc.edu Mon Oct 7 17:16:27 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 7 Oct 2002 17:16:27 -0700 Subject: [CM] which lisp/scheme for future use? References: <20021005123700.GA1581@finnendahl.de><000501c26cbd$3a728e40$b3197e82@music.uiuc.edu><20021006103818.GB1151@finnendahl.de><200210071324.GAA00985@cmn14.stanford.edu><20021007141854.GA17954@centrotemporeale.it> Message-ID: <000901c26e5f$f2e1ada0$94197e82@music.uiuc.edu> > Taking musical data out to Finale means saying goodbye to > important parts of it forever. Even with a standard > exchange-format for notation, you wont be able to get back > anything apart from whats granted once and for all in that > particular format. very true, but equally true even if you stay inside lisp. if i have an algorithm and i geneate a cmn score object or a seq of events then I can't get my algorithm back from that data even though its in lisp. thats the nature of abstration. so personally i like to stay at the algorithm level as long as possible and then when it sound good i blast out a "final score" and hopefully only tweek it minimally to get it to look exactly the way i want it. (sometimes as a midway point i generate algos to plotter and then edit _that_ data and then write the score.) unfortunatly, since there isnt a plugin or a import/export standard, the final notation tweeking currently takes a lot of work. personally i dont care if i can rederivie my original representation from this data, i just want something that the performer thinks looks good! From taube at uiuc.edu Mon Oct 7 17:58:46 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 7 Oct 2002 17:58:46 -0700 Subject: [CM] Re: notation (my last 2 cents and final wish.) References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> <3DA20206.6080101@pitt.edu> Message-ID: <001301c26e65$dc4a3c00$a7197e82@music.uiuc.edu> my last two cents on notation: one possibility might be to write some lisp code that derives the IRCAM format for their finale plugin from the cmn score object. this probably would not be all that much work. but if that ability were there, then algos could still write to CMN just as they do now, CMN could still do its layout and still write eps files to look at, but then it would also have the ablilty to send the stuff over to finale when its looks correct. the advantage with this solution is that is just uses the stuff thats already lying around. > However, I eventually round everything off to quarter- or > sixth-tones when working with acoustic instruments, and while CMN, > Sibelius, and Finale all have some microtonal capabilities, none (to my > knowledge - I'd love to be proven wrong) knows how to take the output > from a program like CM or OpenMusic (or even a midi file with pitch-bend > data) and supply the necessary micorotonal accidentals. again, if that "glue" were in CMN, then you could simply define a Tuning object in CM and use those symbols to represent the eact spelling you want for your quarter tones. then you would compose in Hertz and use (note hz :to qtone) or whatever to derive your spellings. and again, that code already exists. > From finnendahl at folkwang-hochschule.de Tue Oct 8 00:06:37 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Tue, 8 Oct 2002 09:06:37 +0200 Subject: [CM] Re: notation (my last 2 cents and final wish.) In-Reply-To: <001301c26e65$dc4a3c00$a7197e82@music.uiuc.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> <3DA20206.6080101@pitt.edu> <001301c26e65$dc4a3c00$a7197e82@music.uiuc.edu> Message-ID: <20021008070636.GB825@finnendahl.de> I guess, I agree in about every part to Rick. The major discomfort using Finale is the lack of being able to import information about layers, stem directions, articulations and measure widths, just to name a few, which make the whole process of layout so time consuming. I'm not sure, though, how much of that is covered by the IRCAM procedure, Rick mentions. But of course, the process, doing a preliminary layout using cmn while working and then moving everything over to Finale once the piece is finished seems like a good way to go. Right now, I use Finale as a Midifile renderer during my work (shifting back and forth betwen the Mac and the PC) and that's very far from ideal. -- Orm From anders.vinjar at notam02.no Tue Oct 8 02:19:47 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 08 Oct 2002 11:19:47 +0200 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <000901c26e5f$f2e1ada0$94197e82@music.uiuc.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> <000901c26e5f$f2e1ada0$94197e82@music.uiuc.edu> Message-ID: >>> "RT" == Rick Taube writes: RT> very true, but equally true even if you stay inside RT> lisp. To a lesser extent. Its possible now - and very useful - to send user-defined constructs, lambda-expressions, methods, general hooks etc. around together with the other musical objects between cm/cmn/clm, and have them do their work based on context/class. In a standard exchange-format i doubt this type of work will be supported. When doing instrumental scores in cmn i find i always put in functions based on #'engorge or the various hooks of the score. The result is available also when creating cm-entitities from the cmn-score. From bil at ccrma.Stanford.EDU Tue Oct 8 04:43:55 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 8 Oct 2002 04:43:55 -0700 Subject: [CM] CMN In-Reply-To: <20021007152658.GC1387@finnendahl.de> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> <20021007152658.GC1387@finnendahl.de> Message-ID: <200210081143.EAA02302@cmn14.stanford.edu> I added x-close to the various ways of quitting cmucl, so the byte=0 bug in xcmnw should be fixed. And I merged Anders' draw-flags improvements into my version under the variable names *straight-flag-dx* and *straight-flag-dy*. On cmn horizontal spacing, there's pmn.lisp (for proportional notation) and the spacing-hook, but it's true that this is too hard to handle, especially on a measure-at-a-time basis. The vertical spacing is set by things like staff-separation etc. cmn was intended originally as a way to get a quick look at cm (algorithmic) output in music notation (as opposed to a giant list of instrument calls). Way back in the days of Pla, I wrote a music notation output program (was it EdPla? I can't remember my own programs anymore), and it made my little tunes look so complex and unperformable that I was smiling from ear to ear. From bil at ccrma.Stanford.EDU Tue Oct 8 04:45:13 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 8 Oct 2002 04:45:13 -0700 Subject: [CM] more fun w. CMN: music-font In-Reply-To: <3D9F327E.5060703@acsu.buffalo.edu> References: <3D9F327E.5060703@acsu.buffalo.edu> Message-ID: <200210081145.EAA02308@cmn14.stanford.edu> On user-defined fonts in cmn, there's info in man gs about where gs looks for fonts. Say you have a font named Sonata (i.e. the file Sonata and (optional) file Sonata.afm) on the current directory: (cmn (music-font "Sonata") treble c4 q) then tells Postscript to use it in lines like: /Sonata findfont 40 scalefont setfont and gs looks first at the current directory for Sonata. Any name should be ok here but the glyph mapping has to reflect the Sonata font map. I think the name is case-sensitive. From bil at ccrma.Stanford.EDU Tue Oct 8 05:35:30 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 8 Oct 2002 05:35:30 -0700 Subject: [CM] which lisp/scheme for future use? In-Reply-To: References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> <20021007141854.GA17954@centrotemporeale.it> Message-ID: <200210081235.FAA02363@cmn14.stanford.edu> Random gleanings from this morning's mail... > Whats extremely powerful is that the packages are integrated as > tight as they are - giving access to each others tools from > everywhere, and the enormous flexibility and ease of programming > impossible to find anywhere else. IMO what makes CM/CLM/Snd/CM > stand out is the direct link to their common language. The major hang-up currently (using Common Lisp for this connection in CLM/CMN) is that the CL program has to poll for a response -- Snd gets an interrupt when the "SND_COMMAND" property changes, then reads it as Scheme code, but there's no (portable) way to do that in the CL versions of CLM/CMN, so they only work in the case where the CL program sends Snd something and then sits in a loop waiting for a response. If we change to Guile, all three (or four) can be interrupt-driven. As an example, one of the things on my todo-list is to make an auxiliary view in the Snd time domain graph, similar to the little graph created by display-current-window-location (draw.scm) which I really like, but showing music notation -- i.e. an interpretation of the underlying sound as notation, not an opaque graph. If CMN could be interrupt-driven, it would be a sort of notation-server for Snd. I made a real effort to get the same idea (X window events) to work in CL, but could not get past the segfaults (it's a nightmare trying to debug foreign function troubles in CL). > one possibility might be to write some lisp > code that derives the IRCAM format for their finale plugin from the cmn > score object. Where can I find a description (programmer-level) for this format? > However, I eventually round everything off to quarter- or > sixth-tones when working with acoustic instruments, and while CMN, > Sibelius, and Finale all have some microtonal capabilities, none (to my > knowledge - I'd love to be proven wrong) knows how to take the output > from a program like CM or OpenMusic (or even a midi file with pitch-bend > data) and supply the necessary micorotonal accidentals. quarters.lisp implements various microtonal accidentals (Michael Edwards reminded me that the one I like was actually invented by Ligeti); you then take the Hz and round to the nearest pitch in the current scale, then choose an accidental -- I can't immediately see what the problem is. I could make this a built-in choice, I suppose. From billhiggins at mobiletel.com Tue Oct 8 06:50:54 2002 From: billhiggins at mobiletel.com (billhiggins at mobiletel.com) Date: Tue, 8 Oct 2002 08:50:54 -0500 (CDT) Subject: [CM] Finale Message-ID: <1901.209.62.197.159.1034085054.squirrel@www.mobiletel.com> Hello Bill, I got into my first e mail chat, one I understood, with Orm Finnendahl. I am trying to use Finale for one of my tunes and want to get more measures to a page. He was helpful but I still don't think it is possible. Bill H From nando at ccrma.Stanford.EDU Tue Oct 8 20:27:37 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: Tue, 8 Oct 2002 20:27:37 -0700 (PDT) Subject: [CM] which lisp/scheme for future use? In-Reply-To: <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> Message-ID: > >I gave CMUcl a try yesterday > >but got tons of errors trying to compile the lisp image (after 11000 > >lines of output). > > You can get a prebuilt version of cmucl. Check their site or planetccrma. > When i last looked (several years ago) it seemed that building cmucl from > scratch was a huge project and required someone with the chops of > Nando at ccrma to do it. Hmmm, nope, I did not build cmucl from scratch (meaning starting from nothing). I assume that is fairly complicated because cmucl is written in cmucl :-) Anyway, I used the already built debian binary and properly repackaged that into rpms. Using that as a base I managed to recompile cmucl from source as a test, but ended up using the repackaged debian binaries as they were working fine (if it ain't broken don't fix it :-) I could incorporate the process of rebuilding into the rpm spec file but I have not done that yet. Planet CCRMA uses those cmucl binaries and clisp binaries (those compiled from scratch, it is easy :-) as the base for the binary cm/clm/cmn packages. What is missing (in Planet CCRMA) is a step by step demo of the system. I have a template for that in my mind, just have to find time to write it. -- Fernando From finnendahl at folkwang-hochschule.de Wed Oct 9 02:54:31 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Wed, 9 Oct 2002 11:54:31 +0200 Subject: [CM] mi_d and Linux Message-ID: <20021009095431.GA4584@finnendahl.de> Hi all, yesterday I looked into the OSS mi_d Version of Tobias Kunze. Unfortunately it uses the /dev/music Sequencer api, which is not emulated by Alsa. Alsa uses its own Sequencer model so mi_d has to get changed. To my knowledge, alsa's sequencer api isn't all that well documented and evolves rather quickly. But I'll stay in touch with Tobias (as he lives in Germany again :-) and maybe we can work something out. For my setup at home I'm now using alsa's pmidi player as some sort of sequencer device which gets connected to a virtual midi port (snd-virmidi). That way at least I can use a midi keyboard and other midi programs in parallel with cm to drive the software synth. The disadvantage is that pmidi only works on Midi files. -- Orm From bil at ccrma.Stanford.EDU Wed Oct 9 04:22:23 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 9 Oct 2002 04:22:23 -0700 Subject: [CM] clm-in-scheme Message-ID: <200210091122.EAA03667@cmn14.stanford.edu> To follow-up a previous note, the only missing things are the checkpointing (partial recompilation) portion of with-mix, and complete support for def-clm-struct in the run macro; the other names that aren't defined explicitly (run*, instrument-let, sound-let, the Snd connection, etc) are easily handled in Scheme using normal syntax; the multi-machine (clm-over-the-net) stuff isn't useful anyway; with-psound can be done as in bess.scm (the real-time controls become normal variables, not shared-memory locations); make-controller was a kludge to begin with. Most of the instruments in the CLM tarball have been translated and run nearly as fast (using run) in Scheme. From taube at uiuc.edu Wed Oct 9 04:47:49 2002 From: taube at uiuc.edu (Rick Taube) Date: Wed, 9 Oct 2002 06:47:49 -0500 Subject: [CM] mi_d and Linux In-Reply-To: <20021009095431.GA4584@finnendahl.de> References: <20021009095431.GA4584@finnendahl.de> Message-ID: > >The disadvantage is that pmidi only works on Midi files. > well its better than nothing, at least until we can figure out how best to get direct output. im sure its possible in guile so its just a matter of doing it. anyway writing midi files is not all that bad -- in the new version you can set an output hook to play the file automatically and you can define your own play function for alsa ie (define (alsa-play-midi file . args) (let ((opts (if (null? args) " " (string-append (car args) " ")))) (shell "/whatever/pmidi" opts file))) (set-midi-output-hook! alsa-play-midi) to turn off the auto feature do (set-midi-output-hook! #f) in fact if you can send me your alsa function ill add it before i release this version. From finnendahl at folkwang-hochschule.de Wed Oct 9 08:31:39 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Wed, 9 Oct 2002 17:31:39 +0200 Subject: [CM] mi_d and Linux In-Reply-To: References: <20021009095431.GA4584@finnendahl.de> Message-ID: <20021009153139.GA5295@finnendahl.de> Am Mittwoch, den 09. Oktober 2002 um 06:47:49 Uhr (-0500) schrieb Rick Taube: > > in fact if you can send me your alsa function ill add it before i > release this version. The alsa function is: "pmidi -p 71:0 -d0 " pmidi doesn't quit on my machine after the file has been played as it should, therefore I kill it before calling it again. But that might be due to my own lisp routine which writes midi-files. Also there are some things to setup first: The -p option refers to the alsa midi port which pmidi is supposed to connect to. In order to send this midi somewhere, you either have to connect directly to an alsa-aware software-synth (e.g. timidity), to your hardware output, or, like I do, to a virtual midi interface (with 4x2 ports). The latter has the advantage that you can route the midi output anywhere (also multiplexed) using an application like aconnect or aconnectgui, which is more or less the same as PatchBay on the Mac. An additional advantage of the virtual midi interface is the possibility to symlink /dev/midixx to those virtual devices and then use any oss compatible midi software, which hasn't been translated to alsa yet (like pd). To install alsa's virtual midi interface login as root and issue "modprobe snd-virmidi snd_index=1" To startup timidity in realtime mode, issue "timidity -iA -B2,8 -Os -EFreverb=0&". On my machine, timidity gets port number 128:0 and 128:1. To connect directly to timidity you can specify -p 128:0 in the commandline of pmidi. If you connect to the virtual midi port, you have to specify its port numbers (on my machine numbers 71:0 to 74:0). The physical hardware output normally gets port 64:0 assigned. For a list of possible devices you can issue "pmidi -l" for example. I hope that's not too complicated and confusing. If anybody has problems getting it to work, let me know. In any case, Rick, I'm not too sure whether it is a good idea to include it into the sources as it depends on assumptions, applications, modules and setups which aren't standard on linux boxes. Only snd-virmidi, pmidi and aconnect should be there, if the full alsa got installed. Yours, Orm P.S.: BTW Using common music this way comes *very* close to realtime, as timidity sits in user space with the samples already loaded. From taube at uiuc.edu Fri Oct 11 06:35:40 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 11 Oct 2002 08:35:40 -0500 Subject: [CM] FYI: Announcing MCL 4.3.5 Message-ID: A bit of good new from the MCL folks. The best part was buried at the bottom of their message so I've moved it here: >We are also making good progress on the Mac OS X native version of MCL and >will be reporting on that shortly. >To: announce-mcl at digitool.com >From: "Stephen L. Hain" >Subject: Announcing MCL 4.3.5 >Sender: owner-info-mcl at digitool.com > >Digitool is pleased to announce MCL 4.3.5, a CarbonLib based version that is intended to allow users to begin migrating their code to Carbon and ultimately native Mac OS X compatibility. Though MCL 4.3.5 is not the Mac OS X native version (it will run in Mac OS Classic compatibility mode), it includes many of the improvements that we've added in the course of working on the native Mac OS X port, including: > >* New Carbon-compatible interfaces > >* New ".cfsl" file extension for Carbon-compatible compiled files > >* Dozens of bug fixes to core code, user interfaces, OpenTransport, the > compiler, and example files > >* Many enhancements to Fred, user interfaces, streams, Quickdraw interface, > ANSI compatibility, etc. > >MCL 4.3.5 will be available for electronic download to > 1) MCL subscription owners with 1 or more remaining releases, and to > 2) purchasers of MCL 4.3.1 > >You will be contacted directly by Jennifer Jones with instructions on how to download your copy of MCL 4.3.5. If you fall under one of the two groups above and you do not hear from Jennifer by October 15th, please write to orders at digitool.com with your current contact information. > >We are also making good progress on the Mac OS X native version of MCL and will be reporting on that shortly. > >Thank you for supporting Macintosh Common Lisp. > >Stephen Hain >Digitool, Inc. > From lt at westnet.com Fri Oct 11 23:04:39 2002 From: lt at westnet.com (Larry Troxler) Date: Sat, 12 Oct 2002 02:04:39 -0400 Subject: [CM] CM defmultiple-item ? Message-ID: <3DA7BB77.51F17F22@westnet.com> I can't find the equivalent of this very usefull feature in the latest CM I have (2.3.4). Is it there somewhere, under a different name perhaps? If not, can I trivially reimplement it somehow? Larry From finnendahl at folkwang-hochschule.de Sat Oct 12 12:54:29 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sat, 12 Oct 2002 21:54:29 +0200 Subject: [CM] slib for scheme Message-ID: <20021012195428.GA18586@finnendahl.de> Hi all, while checking scheme resources I stumbled across this library which implements lots of useful constructs and concepts from common lisp in some package-like system. It also contains a pretty extensive collection of different defmacro implementations in order to make scheme code more portable. Apart from that it's pretty well documented (in texinfo format). http://swissnet.ai.mit.edu/~jaffer/SLIB.html http://swissnet.ai.mit.edu/~jaffer/Solid/index.html It even got some library for rendering in 3-D. Maybe someone is interested. It'll make some porting of my own code to scheme less painful. Using it with guile 1.6.0 is somewhat tricky, but a little tweaking makes it work. Drop me a note for instructions. -- Orm From Armstrong.Peter.DMA at aya.yale.edu Sat Oct 12 14:28:59 2002 From: Armstrong.Peter.DMA at aya.yale.edu (pma) Date: Sat, 12 Oct 2002 17:28:59 -0400 Subject: [CM] slib for scheme References: <20021012195428.GA18586@finnendahl.de> Message-ID: <3DA8941B.7000405@aya.yale.edu> If I recall correctly, Jaffer's SCM is the very Scheme upon which Guile was built. SLIB was the main of its (SCM's) several external libraries. Not surprising that it works with even today's Guile with little trouble. Jaffer continues to add specialized libs (like Jackal for math) to the original, and maintains SLIB for compatibility with other Schemes. PMA Orm Finnendahl wrote: > Hi all, > > while checking scheme resources I stumbled across this library which > implements lots of useful constructs and concepts from common lisp in > some package-like system. It also contains a pretty extensive > collection of different defmacro implementations in order to make > scheme code more portable. Apart from that it's pretty well documented > (in texinfo format). > > http://swissnet.ai.mit.edu/~jaffer/SLIB.html > > http://swissnet.ai.mit.edu/~jaffer/Solid/index.html > > It even got some library for rendering in 3-D. > > Maybe someone is interested. It'll make some porting of my own code > to scheme less painful. > > > Using it with guile 1.6.0 is somewhat tricky, but a little tweaking > makes it work. Drop me a note for instructions. > > -- > Orm > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > From lt at westnet.com Sat Oct 12 18:41:56 2002 From: lt at westnet.com (Larry Troxler) Date: Sat, 12 Oct 2002 21:41:56 -0400 Subject: [CM] CM: help with using pattern in "repeat" clause?! Message-ID: <3DA8CF64.F6FF5CEE@westnet.com> Hi, CM gurus. I'm having a very weird problem here, and I would appreciate any help as to what concept I'm missing. The problem is that I have problems when I use a pattern for the "repeat" clause in the parent pattern. The weird thing is that if I use "for", then everything works ok. I realize I must be having a major brain lapse, but for the life of me I can't figure out what I'm doing wrong. As you see below, the only change I make is to change "for" to "repeat", and then it fails. The documentation indicates that both "for" and "repeat" can take a pattern. This is CM 2.3.4 and the documentation I'm working with is the one distributed with that version. * (setf x (new cycle of '(1 2) for (new cycle of '(3 4))) ) # * (next x) 1 NIL * (setf x (new cycle of '(1 2) repeat (new cycle of '(3 4)))) # * (next x) Argument Y is not a REAL: #. From taube at uiuc.edu Sun Oct 13 09:08:38 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 13 Oct 2002 09:08:38 -0700 Subject: [CM] CM: help with using pattern in "repeat" clause?! References: <3DA8CF64.F6FF5CEE@westnet.com> Message-ID: <002301c272d2$cb8e3b70$94197e82@music.uiuc.edu> >The problem is that I have problems when I use a pattern for the >"repeat" clause in the parent pattern. The weird thing is that if I use >"for", then everything works ok. this looks like a bug. ill try to fix it in the next few days. From finnendahl at folkwang-hochschule.de Sun Oct 13 08:11:14 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sun, 13 Oct 2002 17:11:14 +0200 Subject: [CM] midi-file-play Message-ID: <20021013151114.GA3426@finnendahl.de> Hi all, using the scheme version of cm I tried to set up the midi player: (define (midi-file-play file . args) (let ((opts (if (null? args) " " (string-append (car args) " ")))) (shell "/usr/local/bin/pmidi -p128:0 ~a ~a > /dev/null &" opts file))) Issuing (midi-file-play "/tmp/test.midi") plays the midifile correctly. Then (set-midi-output-hook! midi-file-play) should set the hook. Afterwards (events (ex1 20 57 70) "/tmp/test.midi") generates the midifile but doesn't play it. What am I missing? -- Orm From taube at uiuc.edu Sun Oct 13 14:05:27 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 13 Oct 2002 14:05:27 -0700 Subject: [CM] midi-file-play References: <20021013151114.GA3426@finnendahl.de> Message-ID: <000f01c272fc$43a07730$751c7e82@music.uiuc.edu> > (events (ex1 20 57 70) "/tmp/test.midi") > > generates the midifile but doesn't play it. > > What am I missing? > nothing. it should work and it does on my system. first thing is to see if the hook is actually getting called. try the following (set-midi-output-hook! (lambda (x . args) (display x)) then generate a file and see if you see the filename printed if you do then the hook is working. From rm at fabula.de Mon Oct 14 07:26:02 2002 From: rm at fabula.de (rm at fabula.de) Date: Mon, 14 Oct 2002 16:26:02 +0200 Subject: [CM] some CM questions In-Reply-To: <20021006230912.GA732@centrotemporeale.it> References: <3D9DC94E.8F1EA876@bright.net> <20021006171219.GB7206@www> <001c01c26d69$ae063030$261e7e82@music.uiuc.edu> <20021006174404.GC7206@www> <20021006230912.GA732@centrotemporeale.it> Message-ID: <20021014142602.GB26873@www> On Sun, Oct 06, 2002 at 07:09:12PM -0400, marco trevisani wrote: > Il 06/10/2002 alle 19:44:04, +0200, rm at fabula.de ha scritto: > > One thing i did last week to ease LISP work on Linux was to create a > > small defsystem file for cmn so i can just '(require 'cmn)' from Xemacs > > ilisp. Maybe something similar for clm/cm would be a goog starting point? > > > Yes to me it sounds the way to go, to use defsystem, for lisp > applications. Would it be possible to see your cmn defsystem? and it is > a good idea to do the same with clm and cm > > ciao, > marco Sorry for the late answer (a short vacation in the black forrest ;-) I pretty much took the copy-and-paste aproach (as i said, i'm no LISP expert) -- here's my setup for cmucl on a recent Debian system: 1) created a directory '/usr/share/common-lisp/source/cmn' and moved all cmn files into that. 2) added a system description file '/usr/share/common-lisp/systems/cmn.system' with the following content: ;;; -*- Syntax: Ansi-Common-Lisp; Base: 10; Mode: lisp; Package: cl-user -*- (in-package :cl-user) (mk:defsystem :cmn :source-pathname #p"cl-library:cmn;" :source-extension "lisp" :components ((:file "cmn-all.lisp")) :finally-do (progn (provide :cmn) (pushnew :cmn cl:*features*)) :documentation "This is the Common Music Notation (cmn) package.") 3) As the system superuser, started up cmucl (called 'lisp' on Debian systems) and issued a '(require 'cmn)' which will trigger compilation of the files (this needs to be done as root since the process will create files in the newly created directory). hth Ralf Mattes From rm at fabula.de Mon Oct 14 07:39:32 2002 From: rm at fabula.de (rm at fabula.de) Date: Mon, 14 Oct 2002 16:39:32 +0200 Subject: [CM] which lisp/scheme for future use? In-Reply-To: <200210071324.GAA00985@cmn14.stanford.edu> References: <20021005123700.GA1581@finnendahl.de> <000501c26cbd$3a728e40$b3197e82@music.uiuc.edu> <20021006103818.GB1151@finnendahl.de> <200210071324.GAA00985@cmn14.stanford.edu> Message-ID: <20021014143932.GD26873@www> > I'd be wary of guile-gtk -- it has not been maintained in the > past, and nothing I can see has changed recently; it's also, I think, > gtk 1 only. for gtk 2 see xg.c (snd/libxm); for low-level midi > tie-ins that work in Linux, see midi.c (sndlib). Hmm, Marius Vollmer recently released a new and polished-up version of guile-gtk (for gtk1.2). It actually compiled out of the box (unlike earlier versions) and works really nice here. On Mon, Oct 07, 2002 at 06:24:04AM -0700, Bill Schottstaedt wrote: > > What about clm, cmn and scheme? > > clm already runs in scheme (via sndlib and a couple scm files in Snd); > I should go through the CL version and see if anything important is > missing. > > cmn could be translated to scheme; I'm hesitating because, frankly, > I'm not sure what to do with cmn in general; it needs a user-interface, > but that's a lot of work; I don't know what direction to push it in. > > What does the CM community want? I'm not shure about the user interface -- i personally am very happy with the text interface (esp. whe integrated into Xemacs). As a scheme user rather than a LISPer (or better, CLTLer) i'd favour scheme but i would have to think hard to find a good reason for scheme in favour of LISP. Ralf Mattes > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From bil at ccrma.Stanford.EDU Wed Oct 16 04:49:06 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 16 Oct 2002 04:49:06 -0700 Subject: [CM] snd 6.2 Message-ID: <200210161149.EAA13670@cmn14.stanford.edu> Snd 6.2: Not many visible changes in this version, but about 100 bugfixes. The major bugs involved ptree-channel in various edit history contexts. Other notable changes: contrib/bess.rb and examp.rb thanks to Michael Scholz show-font-name in snd-motif.scm the record dialog seems to work now on the Sun added --with-editres switch to configure, editres in xm add-find-to-listener in snd-motif.scm to enable C-s and C-r in the listener removed max-sounds (it is the same as (apply max (sounds))) In CMN/CLM: strad.ins thanks to Juan Reyes. duration-bracket.lisp thanks to Anders Vinjar. Clm/Snd connection works now in cmucl. checked: clisp 2.30, OSX 10.2, gcc 3.2, Redhat 8.0 bug reports: Michael Edwards, Andreas Mucha, Carl Edwards, Anders Vinjar, Dave Phillips, Bill Sack, Marco Trevisani, Joerg Beschorner, Michael Scholz, Dale Millen bug fixes: Ralf Mattes, Michael Scholz, Anders Vinjar In RedHat 8.0, it appears that gtkembedmoz has moved (I don't immediately find the associated library at all), so the with-html switch probably doesn't work; and I notice that the canonical documentation location seems to be /usr/share/doc -- should I change the ccrma-ftp snd rpm's to use that? From marco at centrotemporeale.it Wed Oct 16 09:17:24 2002 From: marco at centrotemporeale.it (marco trevisani) Date: Wed, 16 Oct 2002 12:17:24 -0400 Subject: [CM] some CM questions In-Reply-To: <20021014142602.GB26873@www> References: <3D9DC94E.8F1EA876@bright.net> <20021006171219.GB7206@www> <001c01c26d69$ae063030$261e7e82@music.uiuc.edu> <20021006174404.GC7206@www> <20021006230912.GA732@centrotemporeale.it> <20021014142602.GB26873@www> Message-ID: <20021016161724.GC935@centrotemporeale.it> thank you.Yes that is what i was planing for clm and cmn in the demudi distribution. Cmucl under debian is getting organised very well now. thanks again, marco Il 14/10/2002 alle 16:26:02, +0200, rm at fabula.de ha scritto: > On Sun, Oct 06, 2002 at 07:09:12PM -0400, marco trevisani wrote: > > Il 06/10/2002 alle 19:44:04, +0200, rm at fabula.de ha scritto: > > > One thing i did last week to ease LISP work on Linux was to create a > > > small defsystem file for cmn so i can just '(require 'cmn)' from Xemacs > > > ilisp. Maybe something similar for clm/cm would be a goog starting point? > > > > > Yes to me it sounds the way to go, to use defsystem, for lisp > > applications. Would it be possible to see your cmn defsystem? and it is > > a good idea to do the same with clm and cm > > > > ciao, > > marco > > Sorry for the late answer (a short vacation in the black forrest ;-) > I pretty much took the copy-and-paste aproach (as i said, i'm no LISP > expert) -- here's my setup for cmucl on a recent Debian system: > > 1) created a directory '/usr/share/common-lisp/source/cmn' and moved > all cmn files into that. > > 2) added a system description file '/usr/share/common-lisp/systems/cmn.system' > with the following content: > > ;;; -*- Syntax: Ansi-Common-Lisp; Base: 10; Mode: lisp; Package: cl-user -*- > > (in-package :cl-user) > > (mk:defsystem :cmn > :source-pathname #p"cl-library:cmn;" > :source-extension "lisp" > :components > ((:file "cmn-all.lisp")) > :finally-do > (progn > (provide :cmn) > (pushnew :cmn cl:*features*)) > > :documentation "This is the Common Music Notation (cmn) package.") > > 3) As the system superuser, started up cmucl (called 'lisp' on Debian > systems) and issued a '(require 'cmn)' which will trigger compilation > of the files (this needs to be done as root since the process will > create files in the newly created directory). > > hth > > Ralf Mattes > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist -- ************************************************************************ * 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 nando at ccrma.Stanford.EDU Wed Oct 16 11:50:16 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: Wed, 16 Oct 2002 11:50:16 -0700 (PDT) Subject: [CM] snd 6.2 In-Reply-To: <200210161149.EAA13670@cmn14.stanford.edu> Message-ID: > In RedHat 8.0, it appears that gtkembedmoz has moved (I don't immediately > find the associated library at all), so the with-html switch probably > doesn't work; and I notice that the canonical documentation location > seems to be /usr/share/doc -- should I change the ccrma-ftp snd rpm's > to use that? Yes, documentation for rpm packages gets automatically included in /usr/share/doc/package_name-package_version. You can tag things as documentation with the %doc directory in the %files section. See my snd spec file in the planet ccrma rpms... [BTW, snd-6.2 rpms will be available in Planet CCRMA latter today...] -- Fernando From ciarandurnin at yahoo.com Wed Oct 16 13:48:25 2002 From: ciarandurnin at yahoo.com (Ciaran Durnin) Date: Wed, 16 Oct 2002 13:48:25 -0700 (PDT) Subject: [CM] Downloads Message-ID: <20021016204825.16722.qmail@web40904.mail.yahoo.com> Hi all, Ive just begun CLM. I am running windows 98SE. Can anyone recommend a good download of the Lisp Package? Best Wishes, Ciaran Durnin __________________________________________________ Do you Yahoo!? Faith Hill - Exclusive Performances, Videos & More http://faith.yahoo.com From cewing at u.washington.edu Wed Oct 16 16:53:51 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Wed, 16 Oct 2002 16:53:51 -0700 (PDT) Subject: [CM] Reconfigurable DSP patches Message-ID: I'm trying to implement a reconfigurable sampler that I have modelled in csound. The basic idea is that I have a set of simple single-purpose instruments that each perform some DSP fuction. I can then send a sampled sound (or a generated one, for that matter) through an arbitrary series of these DSP instruments and play back what comes out the other end. This part is simple enough. I would then like to be able to change the DSP patches from one sampled sound to the next so that each sound that plays gets its own patch to play through. Here's a pseudo-code example: DSP1 = band-pass DSP2 = ring-modulator DSP3 = low-pass smp1 = first sample smp2 = second sample smp3 = third sample out = (dsp1 (dsp2 (dsp3 smp1))) + (dsp2 (dsp1 (dsp3 smp2))) + (dsp3 (dsp2 (dsp1 smp3))) etc. Currently, I have been exploring the use of (sound-let*) which allows me to write the output of each dsp to a temp file that is then used as the input of the next dsp. This is great stuff, and works well, but is really slow. I'm wondering what might be another way of doing this so that I don't have to rewrite the entire soudfile between each dsp iteration. Any suggestions would be greatly appreciated. Cris Ewing ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* From bbattey at u.washington.edu Wed Oct 16 18:34:45 2002 From: bbattey at u.washington.edu (B. Battey) Date: Wed, 16 Oct 2002 18:34:45 -0700 (PDT) Subject: [CM] CM Events files in /tmp In-Reply-To: <000d01c26d55$34fa93c0$92197e82@music.uiuc.edu> Message-ID: Hi Rick, Getting ramped up to start handing CM code examples to class this week and found some unexpected behavior in CM that throws us for a loop. running on ACL/Linux: [1] CM(15): (cm-version) "Common Music 2.3.4" One thing we've talked about before... in previous CM versions, CM running under linux would always write its output to the ACL PWD unless you designated otherwise. This makes life so very easy for teaching a group class on a multi-user system. A student places a code example in a directory of his or her choice, starts lisp, runs the example, and the .sco file appears in that directory. You want to check their code? You make a copy to your directory, run the code, and zap, there's the output. No fiddling with pathnames. Then you can immediately run a csound job without having to designate paths for any of the files required. (Of course, this all is not possible on Mac OS9 / MCL) Sounds like whatever version of CM was being used last year while I was in India wrote to people's home directory by default. Not as nice as PWD, but reasonable. (Or maybe this was a patch that Don wrote?) Now, however, the default is to write to /tmp, which means students would then have to copy stuff out of /tmp into their own directories. But that adds to the confusion early non-programmers are already dealing with, plus creates extra steps that really shouldn't be necessary. Now, we could re-write our examples to have events lines that write to, say "~/examp1.sco". That would be better than going to /tmp. Or we could use the "use-pwd" function that I wrote 2 yrs back and imbed it in every code example (would rather not, though). But neither will work now. Here's what's happening: CM(9): (events (simplest-0) "~/simplest-0.sco" :header "f1 0 16384 10 1" :handler nil) "/tmp/simplest-0.sco" CM(10): (events (simplest-0) "~bbattey/simplest-0.sco" :header "f1 0 16384 10 1" :handler nil) "/tmp/simplest-0.sco" CM(11): (events (simplest-0) "/Users/battey/simplest-0.sco" :header "f1 0 16384 10 1" :handler nil) "/tmp/simplest-0.sco" (events (simplest-0) (merge-pathnames "/Users/battey/simplest-0.sco") :header "f1 0 16384 10 1" :handler nil) "/tmp/simplest-0.sco" Now, one can do this: (set-cm-host-dir "tmp;*.*" "~/*.*") But then files will always write to the user's home directory regardless of the pathname given. Though this is a step in the right direction... Guess I'll have to teach students to grab-from-tmp or from home until a fix ;-) I know compatibility with Mac and other systems is an issue, but having a flag or some other means to have Events write to PWD when the system used has a PWD would be a beautiful thing. And allowing a provided path to overide the default path. Thanks, -=Bret Bret Battey http://BatHatMedia.com ---------------------------------------------------------------------- Research Associate Center for Digital Arts and Experimental Media University of Washington, Seattle http://www.washington.edu/dxarts/ From bil at ccrma.Stanford.EDU Thu Oct 17 05:04:09 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 17 Oct 2002 05:04:09 -0700 Subject: [CM] Downloads In-Reply-To: <20021016204825.16722.qmail@web40904.mail.yahoo.com> References: <20021016204825.16722.qmail@web40904.mail.yahoo.com> Message-ID: <200210171204.FAA15265@cmn14.stanford.edu> > Ive just begun CLM. I am running windows 98SE. Can > anyone recommend a good download of the Lisp Package? ACL (Allegro, Franz Lisp) is good but it costs an arm and a leg. I think your only option is clisp, but I'm not sure CLM works in Windows+Clisp -- if you try it, please let me know what problems you encounter. From bil at ccrma.Stanford.EDU Thu Oct 17 05:13:24 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 17 Oct 2002 05:13:24 -0700 Subject: [CM] Reconfigurable DSP patches In-Reply-To: References: Message-ID: <200210171213.FAA15278@cmn14.stanford.edu> > out = (dsp1 (dsp2 (dsp3 smp1))) + > (dsp2 (dsp1 (dsp3 smp2))) + > (dsp3 (dsp2 (dsp1 smp3))) Normally in CLM these sorts of things are packaged up as "instruments". Each "dsp" function is a "generator", the sound input itself is handled via "ina" or "readin". What I think you're calling an "instrument", CLM calls a "generator". From finnendahl at folkwang-hochschule.de Thu Oct 17 09:00:43 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Thu, 17 Oct 2002 18:00:43 +0200 Subject: [CM] 2 questions Message-ID: <20021017160043.GA1767@finnendahl.de> Hi all, Two questions concerning cm with guile: 1. when specifying a new pattern I figure it is required to specify the type of pattern elements. How is it possible to store arbitrary symbols in a cycle pattern in order to get the following: (next (new cycle my-items '(*a* *b* 'foo 'bang *c*)) #t) -> (*a* *b* 'foo 'bang *c*) 2. How can I access the symbol-value of a symbol? I'm looking for some equivalent of the following: (progn (defvar *a* 3) (defvar *b* 23) (defvar *my-seq* '(*a* *b*)) (loop for x in *my-seq* collect (symbol-value x)) ) -> (3 23) In scheme it should say something like this: (begin (define *a* 3) (define *b* 23) (define my-seq '(*a* *b*)) (loop for x in my-seq collect (symbol-value x)) ) But this doesn't work, as symbol-value doesn't exist there. I know, the 2nd question isn't really directly related to cm, but I thought I'd ask here anyway... Yours, Orm From wsack at acsu.buffalo.edu Thu Oct 17 08:23:48 2002 From: wsack at acsu.buffalo.edu (Bill Sack) Date: Thu, 17 Oct 2002 11:23:48 -0400 Subject: [CM] cm->cmn niente confusion Message-ID: <3DAED604.8000602@acsu.buffalo.edu> hello, i'm working with a cm algorithm that gets amplitudes from a function and passes them to cmn: (setf dyn (cond ((= 1.0 amp) 'ffff) ((<= .9 amp .99) 'fff) ((<= amp 0) 'niente))) (when (not (eq dyn old-dyn)) (output (new cmn time (now) channel ch data (list dyn))) when this is evaluated, cm generates an .eps, but cmn signals an error: ; Saving /zap/test.cmn ; (hi.eps, hi-1.eps): page 1 2. ; Loading /zap/test.cmn Error: attempt to call `N' which is an undefined function. [condition type: UNDEFINED-FUNCTION] cmn's symbol for niente is ... niente, and cm is writing a .cmn file with just n. (f4 e (pp)) (c4 e (n)) i grepped around in the cm source, but i honestly couldn't see where niente was being translated to n. i could just define n as niente in my own cmn start-up, but that seems like the edge of a slippery slope. this is a minor inconvenience, but might it be fixable without too much pain? thanks, bill -- _________ Bill Sack wsack at acsu.buffalo.edu ---------------------- From cewing at u.washington.edu Thu Oct 17 09:32:33 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Thu, 17 Oct 2002 09:32:33 -0700 (PDT) Subject: [CM] Reconfigurable DSP patches In-Reply-To: <200210171213.FAA15278@cmn14.stanford.edu> Message-ID: I understand that normally, this type of thing would be packaged with each dsp being a generator, and the patch itself being an instrument, but that would require the user, in advance, to program all the combinations of dsps they might desire into separate instruments, and then call each one by name at the right time. What if the user could instead allocate dsp objects (instruments) in advance that he/she might wish to use, and then algorithmically patch them together by feeding the output of one into the input of the next? This is the paradigm I'm seeking. Perhaps I'm missing something in your reply, but it doesn't seem to address this aspect of my question. C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* On Thu, 17 Oct 2002, Bill Schottstaedt wrote: > > out = (dsp1 (dsp2 (dsp3 smp1))) + > > (dsp2 (dsp1 (dsp3 smp2))) + > > (dsp3 (dsp2 (dsp1 smp3))) > > Normally in CLM these sorts of things are packaged up as "instruments". > Each "dsp" function is a "generator", the sound input itself is handled > via "ina" or "readin". What I think you're calling an "instrument", > CLM calls a "generator". > From taube at uiuc.edu Thu Oct 17 13:03:18 2002 From: taube at uiuc.edu (Rick Taube) Date: Thu, 17 Oct 2002 15:03:18 -0500 Subject: [CM] 2 questions In-Reply-To: <20021017160043.GA1767@finnendahl.de> References: <20021017160043.GA1767@finnendahl.de> Message-ID: >Hi all, > >Two questions concerning cm with guile: > >1. when specifying a new pattern I figure it is required to specify > the type of pattern elements. How is it possible to store arbitrary > symbols in a cycle pattern in order to get the following: > > (next (new cycle my-items '(*a* *b* 'foo 'bang *c*)) #t) > > -> (*a* *b* 'foo 'bang *c*) No, patterns dont care what you put in them, just do: (define foo (new cycle of '(*a* *b* foo bang *c*))) But note that I REMOVED your internal quoting of foo and bang!!! >2. How can I access the symbol-value of a symbol? > Ive defined a symbol-value for Guile. Its in the tarball im releasing tomorrow. It may also be in the code you have -- look in guile.scm to see if its there. But...are you sure you want to do this? If the idea is to put these values into a pattern you can just evaluate the specific args that are variables, ie: (new cycle of (list *a* *b* 'foo 'bang *c*)) You might also look at the 'pval' macro -- it evals pattern elements dynamically, ie as the pattern is unfolding. the 'cage' example shows how to use them. From finnendahl at folkwang-hochschule.de Thu Oct 17 23:38:09 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Fri, 18 Oct 2002 08:38:09 +0200 Subject: [CM] 2 questions In-Reply-To: References: <20021017160043.GA1767@finnendahl.de> Message-ID: <20021018063809.GA761@finnendahl.de> Am Donnerstag, den 17. Oktober 2002 um 15:03:18 Uhr (-0500) schrieb Rick Taube: > > But...are you sure you want to do this? If the idea is to put these values into a pattern you can just evaluate the specific args that are variables, ie: > > (new cycle of (list *a* *b* 'foo 'bang *c*)) You might be right, I'll think about it. I want to be able to change the meaning of the cycle elements (*a* *b*) dynamically. It appears to me conceptionally somewhat clearer and easier to read doing it outside of the cycle than to implement this with nested pattern constructs, especially if elements occur more than once in a pattern. Thanks a lot for your help and advice, Orm From anders.vinjar at notam02.no Fri Oct 18 02:20:15 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 18 Oct 2002 11:20:15 +0200 Subject: [CM] cm->cmn niente confusion In-Reply-To: <3DAED604.8000602@acsu.buffalo.edu> References: <3DAED604.8000602@acsu.buffalo.edu> Message-ID: >>> "BS" == Bill Sack writes: BS> cmn's symbol for niente is ... niente, and cm is writing BS> a .cmn file with just n. BS> (f4 e (pp)) (c4 e (n)) BS> i grepped around in the cm source, but i honestly BS> couldn't see where niente was being translated to n. I think this is related to a bug in cmn's cmn1.lisp. Try changing cmn1.lisp to use the spelled-out version of niente' -------------- next part -------------- A non-text attachment was scrubbed... Name: cmn1-diffs Type: application/octet-stream Size: 1261 bytes Desc: cmn1.lisp diffs URL: -------------- next part -------------- This forces you to use the full name (#'niente or 'niente as dynamic-mark instead of #'n or 'n) in cmn, but if i recall correctly, the abbreviated version triggers some bug anyway. From anders.vinjar at notam02.no Fri Oct 18 03:33:26 2002 From: anders.vinjar at notam02.no (Anders Vinjar) Date: 18 Oct 2002 12:33:26 +0200 Subject: [CM] Reconfigurable DSP patches In-Reply-To: References: Message-ID: >>> "cpe" == cristopher pierson ewing writes: cpe> out = (dsp1 (dsp2 (dsp3 smp1))) + cpe> (dsp2 (dsp1 (dsp3 smp2))) + cpe> (dsp3 (dsp2 (dsp1 smp3))) cpe> etc. cpe> Currently, I have been exploring the use of (sound-let*) which allows me cpe> to write the output of each dsp to a temp file that is then used as the cpe> input of the next dsp. This is great stuff, and works well, but is really cpe> slow. cpe> I'm wondering what might be another way of doing this so that I don't have cpe> to rewrite the entire soudfile between each dsp iteration. This kind of flexibility could be extremely useful. Would it be (is it already?) possible to control and communicate through non-file streams/pipes/sockets - or whatever the right word would be - in clm? Having clm-instruments and clm-macros, maybe also clm-ugs, sending their output to some buffer/stream or something, and having that buffer/stream read by some other instrument or some external programs stdin or something. Say: (with-sound (:output "result.aiff") (mix (filter-sound (pvocins (mix "swany.aiff" :ampba 0.4) :scramble-bins 1.2) :xcoeffs xc) :amp 0.4)) or (possibly dreaming here): (let ((ug (arbitrary-gen 220.0 1024 :base 1.7))) (with-sound (:output "result.aiff") (mix (filter (ug (mix "swany.aiff" :ampba 0.4) :scramble-bins 1.2) :xcoeffs xc) :amp 0.4))) or: (multiple-value-bind (to from errors pid) (some-shell "mpg123 -s -" :wait nil :input :stream :output :stream :separate-streams t) (with-sound (:output to) (filter-sound from :amplitude 0.3))) or: (with-sound (:output "mpg123 -") (mix myfile)) I guess all this could be done with normal io in lisp, just reading buffers with samples at certain times, but it would need clmification to speed up normal sound handling. 'sound-let, defpinstrument, 'with-current-sound and such are possibly handling parts of this already? -anders From bil at ccrma.Stanford.EDU Fri Oct 18 04:04:04 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 18 Oct 2002 04:04:04 -0700 Subject: [CM] Reconfigurable DSP patches In-Reply-To: References: Message-ID: <200210181104.EAA16782@cmn14.stanford.edu> > Perhaps I'm missing something in your reply, but it doesn't seem to > address this aspect of my question. there's an appendix on this in clm.html. From bil at ccrma.Stanford.EDU Fri Oct 18 04:24:04 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 18 Oct 2002 04:24:04 -0700 Subject: [CM] cm->cmn niente confusion In-Reply-To: <3DAED604.8000602@acsu.buffalo.edu> References: <3DAED604.8000602@acsu.buffalo.edu> Message-ID: <200210181124.EAA16806@cmn14.stanford.edu> > cmn's symbol for niente is ... niente, and cm is writing a .cmn file > with just n. It is a bit circuitous, but the "n" comes from the identify method as applied to a dynamic which uses the mark name as its output name, and in the definition of niente, its "true-name" is given as "n" but the correspoding lisp function name is given as "niente" -- the "correct" form (using "n" for both) is commented out -- I can't remember anything about this. I guess the quick fix would be to change line 1685 of cmn1.lisp to (define-dynamics niente :n "niente" '(0 0) '(0.000 0 0.15 0.175)) I'll try it later today. From taube at uiuc.edu Fri Oct 18 04:53:55 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 18 Oct 2002 06:53:55 -0500 Subject: [CM] CM 2.4.0 (Guile and CL) Message-ID: cm-2.4.0 is now available from ccrma: ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz As you can see, there is only one archive, and its the source archive not a binary one. I think there are now free expanders on all operating systems that can handle tar.gz files correctly. On the Mac you can use MacGzip and SunTar (I dont think Expander handles unix->text conversion correctly.) The CM build process itself takes care of establishing Mac "file types" automatically. Starting with this release CM runs in Guile 1.6.0 as well as CL. The system should work exactly the same in the following Lisps: Guile 1.6.0 (Linux, Windows+Cygwin) MCL 4.2, 4.3 (MacOS 9.2) ACL 5.0, 6.0 (SGI, Linux, Windows 2000) CLISP 2.28 (Linux, Windows 2000) CMUCL 18d (Linux) The Guile sources are my "official" sources. I now develop with these and then automatically generate CL sources from the Scheme sources using a translation program I wrote to do this. (src/stocl.lisp) This release is a 100% brand new code. It should behave exactly the same in Guile and CL. THe only thing really missing at this point is support for direct-to-CLM-audio files. I've left this out until I have time to look at CLM/Snd in Guile. Its the very next thing on my list. Subsequent releases will add (back) CLM audio files, midi ports, plotter, and hopefully, realtime processes. The docs have changed as well. The reference has now been split up into small files for each entry. The main entry point into the reference is doc/dict/dictonary.html Ill have more to say about this in the next few weeks. There are some important differneces between this version and previous versions. Please read the cm-2.4.0/readme.text file and the doc/changelog.text file. I would also recommend that you look at the file etc/examples/intro.cm even if you know what you are doing because it gives an overview of the main new features. It is also what I used to (minially) test CM in each Lisp. From rm at fabula.de Fri Oct 18 05:56:03 2002 From: rm at fabula.de (rm at fabula.de) Date: Fri, 18 Oct 2002 14:56:03 +0200 Subject: [CM] CM 2.4.0 (Guile and CL) In-Reply-To: References: Message-ID: <20021018125603.GA18228@www> Hi Rick, thanks for the great work! On Fri, Oct 18, 2002 at 06:53:55AM -0500, Rick Taube wrote: > [...] > The Guile sources are my "official" sources. I now develop with these > and then automatically generate CL sources from the Scheme sources using > a translation program I wrote to do this. (src/stocl.lisp) There seems to be a small bug in 'src/objects.scm', line 423: ((or (null tail) goal) shouldn't this read '((or (null? tail) goal)' ? > This release is a 100% brand new code. It should behave exactly > the same in Guile and CL. THe only thing really missing at this point > is support for direct-to-CLM-audio files. I've left this out until I > have time to look at CLM/Snd in Guile. Its the very next thing on my > list. Subsequent releases will add (back) CLM audio files, midi ports, > plotter, and hopefully, realtime processes. Just to spread the news (and since mail.gnu.org seems to be down you might not have seen the anouncement): my friend Tomas just created Guile bindings for the Gtk-Canvas widget (a backport of the GnomeCanvas widget to Gtk-1.2) that work together with the "new" Gtk bindings for Guile (recent work of Marius Vollmer). I'll fiddle with the Automake issues over the weekend but if you want to have a quick look at the code there's a tarball at: http://www.fabula.de/people/tomas/gtk-canvas-0.2.tar.gz Ralf Mattes From taube at uiuc.edu Fri Oct 18 05:48:35 2002 From: taube at uiuc.edu (Rick Taube) Date: Fri, 18 Oct 2002 07:48:35 -0500 Subject: [CM] CM 2.4.0 (Guile and CL) In-Reply-To: <20021018125603.GA18228@www> References: <20021018125603.GA18228@www> Message-ID: >There seems to be a small bug in 'src/objects.scm', line 423: > ((or (null tail) goal) >shouldn't this read '((or (null? tail) goal)' ? > yes thanks! if you use guile you can make this change before loading src/cm.scm. it doesnt affect cltl. im sure there will be more of these nits to stomp out over the next few days so ill wait a bit before I update the cm archive at ccrma. Know you know why i dont want to make multiple archives! From bil at ccrma.Stanford.EDU Fri Oct 18 15:04:35 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 18 Oct 2002 15:04:35 -0700 Subject: [CM] cm->cmn niente confusion In-Reply-To: <3DAED604.8000602@acsu.buffalo.edu> References: <3DAED604.8000602@acsu.buffalo.edu> Message-ID: <200210182204.PAA17560@cmn14.stanford.edu> Anders' suggestion was the right one (not mine) -- I made a new cmn.tar.gz. From finnendahl at folkwang-hochschule.de Sat Oct 19 11:38:18 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Sat, 19 Oct 2002 20:38:18 +0200 Subject: [CM] symbol-value (was: 2 questions) In-Reply-To: <27869642-E2E9-11D6-9FCD-00039345928E@qub.ac.uk> References: <20021017160043.GA1767@finnendahl.de> <27869642-E2E9-11D6-9FCD-00039345928E@qub.ac.uk> Message-ID: <20021019183818.GA1406@finnendahl.de> Hi Thorsten, are you working in Belfast now? Am Samstag, den 19. Oktober 2002 um 00:30:07 Uhr (+0200) schrieb Torsten Anders: > Am Donnerstag den, 17. Oktober 2002, um 18:00, schrieb Orm Finnendahl: > >2. How can I access the symbol-value of a symbol? > > Sorry, perhaps I misunderstood something. But so far as I know there is > only one symbol binding in Scheme (unlike the seven bindings in CL). > Therefore you should not need a symbol-value at all -- just evaluate, as (I > did not checked the code...): > > > (begin > (define *a* 3) > (define *b* 23) > (define my-seq (list *a* *b*)) ; no quote here! > (loop for x in my-seq > collect x) > ) > Well, as stated before, that doesn't really help if you're concerned with dynamic change of the meaning of a certain symbol during the course of the process. I'd rather store references of things than the things themselves in the cycle. It could be done with lisp-ref, of course, but that has other disadvantages. > BTW: is there a loop in Scheme? Yes and no. Rick has implemented all or at least most of its functionality in a file called loop.scm and in the formerly mentioned slib there is an implementation of loop and, among others, also a complete implementation of format. -- Orm From taube at uiuc.edu Sat Oct 19 14:42:02 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 19 Oct 2002 16:42:02 -0500 Subject: [CM] symbol-value (was: 2 questions) In-Reply-To: <20021019183818.GA1406@finnendahl.de> References: <20021017160043.GA1767@finnendahl.de> <27869642-E2E9-11D6-9FCD-00039345928E@qub.ac.uk> <20021019183818.GA1406@finnendahl.de> Message-ID: >Well, as stated before, that doesn't really help if you're concerned >with dynamic change of the meaning of a certain symbol during the >course of the process. I'd rather store references of things than the >things themselves in the cycle. use pval, thats what its for. its stores an expression, which can be simply a reference to a variable. this is what happens: (define (foo n) (let ((vbl 0)) (process with pat = (new cycle :of (list 'a (pval vbl) 'c)) repeat n do (format true " ~s" (next pat)) (incf vbl)))) (events (foo 30) false) A 1 C A 4 C A 7 C A 10 C A 13 C A 16 C A 19 C A 22 C A 25 C A 28 C >Yes and no. Rick has implemented all or at least most of its >functionality in a file called loop.scm its probably 98% of it. i left out hash table iteration and a few things like that. the exact same code is used by cm to implement the 'process' macro in both cltl and scheme so you use cm's loop whether you want to or not! > and in the formerly mentioned >slib there is an implementation of loop and, among others, also a >complete implementation of format. for some perverse reason i doggedly stuck with guile's "simple format" even after i became aware of the more full featured one. as a result cm only needs/uses ~a and ~s. From taube at uiuc.edu Sat Oct 19 15:12:37 2002 From: taube at uiuc.edu (Rick Taube) Date: Sat, 19 Oct 2002 17:12:37 -0500 Subject: [CM] new tar of cm-2.4.0 Message-ID: ive put a new tarfile of 1.4.0 on ccrma that fixes a case-sensitivity bug in the rhythm function. ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz i also fixed the null typo bug in objects.scm that Ralf Mattes reported and i reformatted intro.cm so that all the examples use lisp keywords in 'new' expressions. Hopefully the use of keywords will make the syntax clearer for anyone new to Lisp. Also, if you turn on Syntax Highlighting in Xemacs you can get keywords displayed in their own color, which is even nicer. ( THere is also a color-coding utility in MCL that can be used for this sort of thing.) From cewing at u.washington.edu Sat Oct 19 17:50:57 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Sat, 19 Oct 2002 17:50:57 -0700 (PDT) Subject: [CM] A question regarding structures Message-ID: I have a question about structures in Common Lisp. Given a structure called joe, whose slots are z y and z, is there a way to obtain a list of the slots in joe? I mean to say, if I know there is a structure named joe, and I wish to know what slots is has, can I find that information using a function of some sort? so (deftruct joe x y z) gives the structure, and (slots joe) ;;my imaginary function would return (x y z) Thanks, Cris ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* From taube at uiuc.edu Sun Oct 20 08:05:14 2002 From: taube at uiuc.edu (Rick Taube) Date: Sun, 20 Oct 2002 08:05:14 -0700 Subject: [CM] A question regarding structures References: Message-ID: <001501c2784a$1900a1a0$67197e82@music.uiuc.edu> > Given a structure called joe, whose slots are z y and z, is there a way to > obtain a list of the slots in joe? structs do not support this kind of introspection. but both clos and goops do. so just use objects instead of structs (defclass foo ((a)(b)(c))) (class-slots (find-class 'foo)) to get a list of slot symbol names from a class do: (mapcar #'slot-description-name (class-slots (find-class 'foo))) look at cm's objects.scm and mop.scm for more examples. search in CLTL or the Guile Goops manual for "Metaobject Protocol" to see what all is available. ----- Original Message ----- From: "cristopher pierson ewing" To: Sent: Saturday, October 19, 2002 5:50 PM Subject: [CM] A question regarding structures > I have a question about structures in Common Lisp. > > > I mean to say, if I know there is a structure named joe, and I wish to > know what slots is has, can I find that information using a function of > some sort? > > so > (deftruct joe x y z) > gives the structure, > and > (slots joe) ;;my imaginary function > would return > (x y z) > > Thanks, > > Cris > > > ******************************** > Cris Ewing > CARTAH Assistant > University of Washington > Home Phone: (206) 365-3413 > E-mail: cewing at u.washington.edu > ******************************* > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From lt at westnet.com Sun Oct 20 09:05:54 2002 From: lt at westnet.com (Larry Troxler) Date: Sun, 20 Oct 2002 12:05:54 -0400 (EDT) Subject: pval was: Re: [CM] symbol-value (was: 2 questions) In-Reply-To: Message-ID: On Sat, 19 Oct 2002, Rick Taube wrote: > >Well, as stated before, that doesn't really help if you're concerned > >with dynamic change of the meaning of a certain symbol during the > >course of the process. I'd rather store references of things than the > >things themselves in the cycle. > > use pval, thats what its for. its stores an expression, which can be simply a reference to a variable. this is what happens: > > (define (foo n) > (let ((vbl 0)) > (process with pat = (new cycle > :of (list 'a > (pval vbl) > 'c)) > repeat n > do > (format true " ~s" (next pat)) > (incf vbl)))) > > (events (foo 30) false) > A 1 C A 4 C A 7 C A 10 C A 13 C A 16 C A 19 C A 22 C A 25 C A 28 C > > In what environment does pval evaluate things? From your example, it looks like it's the current environment when "next" is called. I don't pretend to necesarily completely understand CL and Scheme's concept of environments, so forgive me if I'm asking the wrong question. I'm just interested in knowing what local variables are available, etc.. Larry From cewing at u.washington.edu Sun Oct 20 10:39:04 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Sun, 20 Oct 2002 10:39:04 -0700 (PDT) Subject: [CM] A question regarding structures In-Reply-To: <001501c2784a$1900a1a0$67197e82@music.uiuc.edu> Message-ID: I'm actually using objects for precisely that reason, but I'm facing a problem when dealing with CLM. All of CLM's generators seem to be implemented as structures, rather than as objects. I'm trying to work out an instrument that would allow me to pass as parameters a series of generators and the envelopes to control them, and would then chain these generators together into a DSP patch that could be reconfigured with each call to the instrument. I'm thinking that in order to do that, without having to write specific code for each generator that might be used, I woild need to be able to ask a generator what it's slots were in order to know what to set. I've also created a version of this thing that works by using sound-let to perform each dsp function as an individual instrument, and write its results to a sound file that is passed on to the next instrument, but doing this seems to be rather slow, and I'd like to increase the speed of processing. I'm in a bit of a quandry here, although it isn't too serious. Cris BTW, thanks for the answer to the structures question. C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* On Sun, 20 Oct 2002, Rick Taube wrote: > > Given a structure called joe, whose slots are z y and z, is there a way to > > obtain a list of the slots in joe? > > structs do not support this kind of introspection. but both clos and goops > do. so just use objects instead of structs > > (defclass foo ((a)(b)(c))) > (class-slots (find-class 'foo)) > > to get a list of slot symbol names from a class do: > (mapcar #'slot-description-name (class-slots (find-class 'foo))) > > look at cm's objects.scm and mop.scm for more examples. > search in CLTL or the Guile Goops manual for "Metaobject Protocol" to see > what all is available. > > > ----- Original Message ----- > From: "cristopher pierson ewing" > To: > Sent: Saturday, October 19, 2002 5:50 PM > Subject: [CM] A question regarding structures > > > > I have a question about structures in Common Lisp. > > > > > > I mean to say, if I know there is a structure named joe, and I wish to > > know what slots is has, can I find that information using a function of > > some sort? > > > > so > > (deftruct joe x y z) > > gives the structure, > > and > > (slots joe) ;;my imaginary function > > would return > > (x y z) > > > > Thanks, > > > > Cris > > > > > > ******************************** > > Cris Ewing > > CARTAH Assistant > > University of Washington > > Home Phone: (206) 365-3413 > > E-mail: cewing at u.washington.edu > > ******************************* > > > > > > _______________________________________________ > > Cmdist mailing list > > Cmdist at ccrma.stanford.edu > > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > > > From wsack at acsu.buffalo.edu Sun Oct 20 13:21:15 2002 From: wsack at acsu.buffalo.edu (Bill Sack) Date: Sun, 20 Oct 2002 16:21:15 -0400 Subject: [CM] more ado about niente Message-ID: <3DB3103B.6030005@acsu.buffalo.edu> hello again, hate to be a pest, but using 'niente' as a dynamic now produces this error: (cmn (d4 e (niente))) CMN(31): Warning: dynamic: i? Warning: dynamic: i? Warning: dynamics: i? Error: Funcall of NIL which is a non-function. [condition type: SIMPLE-ERROR] i see that the problem is in text-to-dynamic and text-to-dynamic-spacing (in cmn1.lisp), but i don't know for certain how to repair it. i downloaded and built friday's cmn tarball, and everything else (even my glissando mystery from a few weeks back) looks great, thanks Bill and Torsten! all best, bill -- _________ Bill Sack wsack at acsu.buffalo.edu ---------------------- From dlphilp at bright.net Mon Oct 21 06:43:57 2002 From: dlphilp at bright.net (Dave Phillips) Date: Mon, 21 Oct 2002 09:43:57 -0400 Subject: [CM] new tar of cm-2.4.0 References: Message-ID: <3DB4049D.7093FC4E@bright.net> Greetings: A few questions about some different problems I'm having : 1. Is it possible to build a LISP image with CLM/CMN/CM all included ? If so, how is it done ? 2. Rick, could you give an example of using :display in CM when generating a CMN file ? 3. When I try running ligeti.cm I get errors teling me that fg-mono, desordre-w/octave and desordre-voices are undefined. Is defprocess invalid now ? System here is Linux 2.4.18 with CMUCL 18d and CM 2.4.0. Sorry if these are dumb questions, I'm still groping my way towards an ideal CLM/CMN/CM/Snd setup. Very exciting stuff though ! 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 Currently listening to: Ella Fitzgerald & Joe Pass, "Georgia On My Mind" From taube at uiuc.edu Mon Oct 21 07:25:29 2002 From: taube at uiuc.edu (Rick Taube) Date: Mon, 21 Oct 2002 09:25:29 -0500 Subject: [CM] new tar of cm-2.4.0 In-Reply-To: <3DB4049D.7093FC4E@bright.net> References: <3DB4049D.7093FC4E@bright.net> Message-ID: > A few questions about some different problems I'm having : > > 1. Is it possible to build a LISP image with CLM/CMN/CM all included >? If so, how is it done ? 1 Sure. load each system (first delete any cm binaries you already have) (load "/usr/local/lisp/cmn/cmnall.lisp") (load "/usr/local/lisp/clm-2/all.lisp") (load "/usr/local/lisp/cm-2.4.0/src/cm.lisp") 2a If CM compiles any of its files, wait till its done, then quit and redo [1] again. 2b If CM doesnt compile any of its files it will save a lisp image AND a cm startup script in: cm-2.4.0/bin 3. Quit lisp and then set the permission of the script file. then use it ot start CM. Assuming you are in the main CM direcory do: > (ext:quit) ; or whatever! % chmod a+x cm-2.4.0/bin/cm % cm-2.4.0/bin/cm you can move the script file to another directory if you want, ie /usr/local/bin or whatever. > 2. Rick, could you give an example of using :display in CM when >generating a CMN file ? Hmmm. I dont even know what :display is! Maybe its a CMN grapics display option? Maybe someone can tell us... > 3. When I try running ligeti.cm I get errors teling me that fg-mono, >desordre-w/octave and desordre-voices are undefined. Oops, Im sorry -- that file shoulnt be there yet! I am slowly adding back examples as test them and fix bugs. Please ignore that file until the next tarball when it will be working. Sorry for the confusion! >Is defprocess >invalid now ? No, but now that processes are just lisp procedures in 2.4.0 the macro is a bit silly. so i took it out because who needs another name for define/defun? I guess maybe I should leave it in but not document it. sorry for this cofusion too! Here it is for CL: (defmacro defprocess (name args &body body) `(defun ,name ,args , at body)) and for Scheme: (defmacro defprocess (name args . body) `(define ,name (lambda ,args , at body))) From dlphilp at bright.net Mon Oct 21 08:56:27 2002 From: dlphilp at bright.net (Dave Phillips) Date: Mon, 21 Oct 2002 11:56:27 -0400 Subject: [CM] new tar of cm-2.4.0 References: <3DB4049D.7093FC4E@bright.net> Message-ID: <3DB423AB.D6440CA4@bright.net> Rick Taube wrote: > > 2. Rick, could you give an example of using :display in CM when > >generating a CMN file ? > > Hmmm. I dont even know what :display is! Maybe its a CMN grapics display option? Maybe someone can tell us... From cewing at u.washington.edu Mon Oct 21 17:35:13 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Mon, 21 Oct 2002 17:35:13 -0700 (PDT) Subject: [CM] With-sound question Message-ID: I have a macro that writes calls to an instrument: (write-ins my-instrument-gen) > (my-instrument 0 4 440) ;;this might ba an simp-type instrument that ;; implements a simple oscilator. If i place a call to this macro in the spot where a normal instrument call would be in a with-sound: (with-sound () (write-ins my-instrument-gen)) The results are rather odd. No error is returned, but the output soundifle is only 1 sample in length. I tried running a macroexpand on this with-sound call, and the results seem to indicate that my macro is never expanded. I've included the results of that macroexpansion below. Does with-sound support the use of macros inside itself? Can it expand a macro properly before it executes it's own code, or do I need to come up with a wrapper that expands the macro first and then inserts the results into the with-sound. EEEEEEEEEEKKKKK!! ******************************** the output of (macroexpand '(with-sound () (write-ins joe)), where "joe" is the name of an instrument I have created: (LET ((CLM::*VERBOSE* T) (CLM::*OFFSET* 0) (CLM::*INTERRUPTED* 0) (CLM::*STATISTICS* NIL) (CLM::*CLM-SCALED-AMP* NIL) (CLM::*NOTEHOOK* NIL) (CLM::*FORCE-RECOMPUTATION* NIL) (CLM::*CLM-WITH-SOUND-BODY* (AND NIL '((WRITE-INS JOE)))) (CLM::*CHANNELS* 1) (*SRATE* 44100) (CLM::*HEADER-TYPE* 56) (CLM::*DATA-FORMAT* 1) (CLM::*CLIPPED* T) (CLM::*EXPLODE* NIL) (CLM::*EXPLODE-LIST* NIL)) (CLM-INITIALIZE-LINKS) (SETF *CLM-INS* NIL) (LET* ((CLM::OLD-OUTPUT *OUTPUT*) (CLM::OLD-REVERB *REVERB*)) (IF CLM::OLD-OUTPUT (CLOSE-OUTPUT CLM::OLD-OUTPUT)) (IF CLM::OLD-REVERB (CLOSE-OUTPUT CLM::OLD-REVERB)) (UNWIND-PROTECT (LET* ((CLM::OUT-FILE (OR *OPEN-INPUT-EXPLICIT-OUTPUT* (NAMESTRING (FULL-MERGE-PATHNAMES "~/SND/test.aiff" *CLM-FILE-NAME*)))) (CLM::*CLM-WITH-SOUND-DEPTH* (1+ CLM::*CLM-WITH-SOUND-DEPTH*)) (CLM::OUR-SRATE 44100) (CLM::OUR-TYPE 56) (CLM::OUR-FORMAT (LET ((CLM::FIRST-GUESS 1)) (IF (AND (= CLM::FIRST-GUESS MUS-BSHORT) (= CLM::OUR-TYPE MUS-RIFF)) MUS-LSHORT (IF (AND (= CLM::FIRST-GUESS MUS-BINT) (= CLM::OUR-TYPE MUS-RIFF)) MUS-LINT CLM::FIRST-GUESS)))) (CLM::OUR-REVERB (OR NIL 'NIL)) (CLM::OUR-REVERB-DATA (OR NIL 'NIL)) (CLM::REVERB-FILENAME (CONCATENATE 'STRING (SUBSEQ CLM::OUT-FILE 0 (- (LENGTH CLM::OUT-FILE) (LENGTH (PATHNAME-TYPE CLM::OUT-FILE)))) "reverb")) (CLM::REVF (IF (OR NIL CLM::OUR-REVERB) (OR NIL *OPEN-INPUT-EXPLICIT-REVERB* CLM::REVERB-FILENAME))) (CLM::*WS-REVERB-FILE* CLM::REVF)) (IF (AND CLM::OLD-OUTPUT (STRING= CLM::OUT-FILE (CLM::IO-NAME CLM::OLD-OUTPUT))) (WARN "we're about to overwrite ~A..." CLM::OUT-FILE)) (SETF CLM::OUT-FILE (CLM::BEGIN-WITH-SOUND CLM::OUR-SRATE 1 NIL CLM::OUT-FILE CLM::REVF NIL NIL 1 CLM::OUR-TYPE CLM::OUR-FORMAT T NIL (CLM::MAKE-DEFAULT-COMMENT NIL NIL NIL))) (TAGBODY (RESTART-CASE (CATCH :FINISH (WRITE-INS JOE)) (NIL NIL :REPORT "close files and return to top-level." (PROGN (CLM-RESET) (GO CLM::ALL-DONE))) (NIL NIL :REPORT "jump past remaining notes." (GO CLM::NORMAL-FINISH))) CLM::NORMAL-FINISH (SETF CLM::OUT-FILE (CLM::END-WITH-SOUND NIL CLM::OUT-FILE CLM::REVF NIL CLM::OUR-TYPE CLM::OUR-FORMAT CLM::OUR-REVERB 1.0 CLM::OUR-REVERB-DATA 1 T NIL)) CLM::ALL-DONE) (IF CLM::OLD-OUTPUT (SETF *OUTPUT* (REOPEN-OUTPUT (CLM::IO-NAME CLM::OLD-OUTPUT)))) (IF CLM::OLD-REVERB (SETF *REVERB* (REOPEN-OUTPUT (CLM::IO-NAME CLM::OLD-REVERB))) (SETF *REVERB* NIL)) CLM::OUT-FILE) (PROGN (SETF *CLM-INS* NIL) (SETF CLM::*FORCE-RECOMPUTATION* NIL) (CLM::CLM-CHECK-FOR-RESET))))) ******************************** Thanks for info, Cris ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* From nando at ccrma.Stanford.EDU Mon Oct 21 20:48:39 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: Mon, 21 Oct 2002 20:48:39 -0700 (PDT) Subject: [CM] new tar of cm-2.4.0 In-Reply-To: <3DB4049D.7093FC4E@bright.net> Message-ID: > 1. Is it possible to build a LISP image with CLM/CMN/CM all included > ? If so, how is it done ? I'm doing that for the Planet CCRMA rpms (but have not yet tried cm 2.4.0). This is a commented and reduced version of what the spec file does to rebuild the core image (in the case of cmucl and for the cmucl-cm-clm-cmn image that includes everything): - first, compile clm cd clm_source_directory; start cmucl (load "all.lisp") (quit) - second, compile cmn cd cmn_source_directory; start cmucl (load "cmn-all.lisp") (quit) - third, compile cm and add the other stuff cd cm_src_directory; start cmucl ;;; first pass: preload clm and cmn, compile cm binaries (load "path_to_clm_src/all.lisp") (load "path_to_cmn_src/cmn-all.lisp") (load "cm.lisp") (quit) cd cm_src_directory; start cmucl ;;; second pass: preload clm and cmn, load cm binaries and save image (load "path_to_clm_src/all.lisp") ;;; optional: if you want the directories somewhere else (setf clm::*clm-source-directory* "/usr/lib/lisp/src/clm/") (setf clm::*clm-binary-directory* "/usr/lib/lisp/lib/") (setf clm::*libclm-pathname* (format nil "~Alibclm.~A" "/usr/lib/lisp/lib/" clm::*so-ext*)) (load "patch_to_cmn_src/cmn-all.lisp") (load "cm.lisp") ;; optional: set path to cm source (cm::set-cm-host-dir "**;*.*" "/usr/lib/lisp/src/cm/**/*.*") ;; save cm with new path, overwrite previous automatic save (cm::save-cm "cm_src_directory/cm.core") (quit) Create a script that executes lisp with the proper core... All of this with cmucl 3.0.9 under redhat. I also had to add a hack to rebuild the clm library on install for packages, something in cmucl's ffi is not very forgiving to installed versions (or whatever, can't say for sure what is triggering the problem) and the load of the clm library fails if you don't rebuild on install, and the system you install in is slightly different from the system where the package was originally built. This is not an issue if you use what you just built on the same computer. -- Fernando From nando at ccrma.Stanford.EDU Mon Oct 21 20:57:41 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: Mon, 21 Oct 2002 20:57:41 -0700 (PDT) Subject: [CM] With-sound question In-Reply-To: Message-ID: > I have a macro that writes calls to an instrument: > > (write-ins my-instrument-gen) > > (my-instrument 0 4 440) ;;this might ba an simp-type instrument that > ;; implements a simple oscilator. > > If i place a call to this macro in the spot where a normal instrument call > would be in a with-sound: > > (with-sound () (write-ins my-instrument-gen)) > > The results are rather odd. No error is returned, but the output > soundifle is only 1 sample in length. Things work fine here: start cmucl (compile-file "v.ins") (load "v.cmucl") - load this macro: (defmacro twov (start dur f1 f2 amp) `(progn (fm-violin ,start ,dur ,f1 ,amp) (fm-violin ,start ,dur ,f2 ,amp))) - execute this with-sound call: (with-sound()(twov 0 1 440 450 0.1) It creates a soundfile with two violin notes with 440 and 450Hz frequencies For something like this obviously a macro is overkill, a simple function would suffice: (defun twovfun (start dur f1 f2 amp) (fm-violin start dur f1 amp) (fm-violin start dur f2 amp)) -- Fernando From bil at ccrma.Stanford.EDU Tue Oct 22 03:57:20 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 22 Oct 2002 03:57:20 -0700 Subject: [CM] A question regarding structures In-Reply-To: References: Message-ID: <200210221057.DAA23135@cmn14.stanford.edu> > I'm actually using objects for precisely that reason, but I'm facing a > problem when dealing with CLM. All of CLM's generators seem to be > implemented as structures, rather than as objects. In Common Lisp (mus.lisp), the generators are defined using CLOS, but I doubt it will help in this situation; the intent (made more explicit in Scheme/Ruby via sndlib) is that you'd use the various make functions, and access any internal state through the "generic functions" like mus-frequency. One such function was mus-run (mus-apply), but as far as I can tell, I never implemented it in the CL run macro -- I wonder how it escaped my TODO list. On the Scheme side, the generator is, in a sense, a function itself that can be applied to args: (oscil gen 0.0) is the same as (gen 0.0) if "gen" is an oscil, and so on. I can't remember if this works in the CL version. > I'm trying to work out > an instrument that would allow me to pass as parameters a series of > generators and the envelopes to control them, and would then chain these > generators together into a DSP patch that could be reconfigured with each > call to the instrument. Something along these lines would work in the Scheme version: (define* (chain-dsps beg dur #:rest dsps) ;; I assume the dsps are already made, ;; the envs are present as break-point lists ;; the calls are ordered out->in (or last first) (let ((dsp-chain (reverse (map (lambda (gen) (if (list? gen) (make-env gen :duration dur) gen)) dsps))) (output (make-vct (inexact->exact (floor (* dur (mus-srate))))))) (vct-map! output (lambda () (let ((val 0.0)) (for-each (lambda (gen) (if (env? gen) (set! val (* (gen) val)) (if (readin? gen) (set! val (gen)) (set! val (gen val))))) dsp-chain) val))) (mix-vct output (inexact->exact (floor (* beg (mus-srate)))) #f #f #f))) (chain-dsps 0 1.0 '(0 0 1 1 2 0) (make-oscil 440)) (chain-dsps 0 1.0 '(0 0 1 1 2 0) (make-one-zero .5) (make-readin "oboe.snd")) (chain-dsps 0 1.0 '(0 0 1 1 2 0) (let ((osc1 (make-oscil 220.0)) (osc2 (make-oscil 440))) (lambda (val) (+ (osc1 val) (osc2 (* 2 val)))))) This could be slightly recast (using a vector of clm-gens rather than a list) to get it to work within Snd's run macro. But to get it to (sort-of) work in CL-CLM given the current condition of its run macro: (definstrument chain-dsps (beg dur &rest dsps) (let* ((start (floor (* beg *srate*))) (end (+ start (floor (* dur *srate*)))) (gens (length dsps)) (dsp-chain (make-array gens))) (loop for i from (1- gens) by -1 and gen in dsps do (setf (aref dsp-chain i) (if (listp gen) (make-env gen :duration dur) gen))) (run (loop for i from start below end do (let ((val 0.0)) (do ((g 0 (1+ g))) ((= g gens)) (let ((gen (aref dsp-chain g))) (cond ((env? gen) (setf val (* val (env gen)))) ((readin? gen) (setf val (readin gen))) ((oscil? gen) (setf val (oscil gen val))) ((sum-of-cosines? gen) (setf val (sum-of-cosines gen val))) ((rand? gen) (setf val (rand gen val))) ((rand-interp? gen) (setf val (rand-interp gen val))) ((table-lookup? gen) (setf val (table-lookup gen val))) ((square-wave? gen) (setf val (square-wave gen val))) ((pulse-train? gen) (setf val (pulse-train gen val))) ((sawtooth-wave? gen) (setf val (sawtooth-wave gen val))) ((triangle-wave? gen) (setf val (triangle-wave gen val))) ((asymmetric-fm? gen) (setf val (asymmetric-fm gen 1.0 val))) ((wave-train? gen) (setf val (wave-train gen val))) ((one-pole? gen) (setf val (one-pole gen val))) ((two-pole? gen) (setf val (two-pole gen val))) ((one-zero? gen) (setf val (one-zero gen val))) ((two-zero? gen) (setf val (two-zero gen val))) ((delay? gen) (setf val (delay gen val))) ((comb? gen) (setf val (comb gen val))) ((notch? gen) (setf val (notch gen val))) ((all-pass? gen) (setf val (all-pass gen val))) ((filter? gen) (setf val (filter gen val))) ((fir-filter? gen) (setf val (fir-filter gen val))) ((iir-filter? gen) (setf val (iir-filter gen val))) ((src? gen) (setf val (src gen val))) ((sine-summation? gen) (setf val (sine-summation gen val))) ((waveshape? gen) (setf val (waveshape gen val))) ((formant? gen) (setf val (formant gen val)))))) (outa i val)))))) ;;; (with-sound () (chain-dsps 0 1.0 (make-oscil 440))) ;;; (with-sound () (chain-dsps 0 1.0 '(0 0 1 1 2 0) (make-oscil 440))) But (gad, some days...) I didn't get far testing this because on my home Redhat 8.0 system, sndplay (using OSS) completely hangs the soundcard! The exact same code works in an older Redhat, and very similar code works in 8.0 in Snd; and an older image of sndplay (built with 7.3 libraries, I guess) works fine. This may be hard to debug since I have to reboot after every failed test (even sndconfig hangs). One quick workaround: make an executable file named sndplay, and put in it: #!snd -b !# (play-and-wait (list-ref (script-args) (+ (script-arg) 1))) (exit) From bil at ccrma.Stanford.EDU Tue Oct 22 04:04:01 2002 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 22 Oct 2002 04:04:01 -0700 Subject: [CM] more ado about niente In-Reply-To: <3DB3103B.6030005@acsu.buffalo.edu> References: <3DB3103B.6030005@acsu.buffalo.edu> Message-ID: <200210221104.EAA23159@cmn14.stanford.edu> > (cmn (d4 e (niente))) > CMN(31): Warning: dynamic: i? This would happen if you got my version of the bugfix, rather than Anders' -- maybe I screwed up the merge... (a minute passes)... no -- the version here is correct. At about line 1685 it should be: (define-dynamics niente :niente "n" '(0 0) '(0.000 0 0.15 0.175)) which uses defvar, so you need to restart lisp and recompile cmn1. From joelrodrigues at Phreaker.net Tue Oct 22 00:06:25 2002 From: joelrodrigues at Phreaker.net (Joel Rodrigues) Date: Tue, 22 Oct 2002 12:36:25 +0530 Subject: [CM] Current status of CM on OS X ? Message-ID: Hello ! What's the current status of Common Music on Mac OS X ? Does it actually work as well as it did/does on OS 9 ? How does one go about getting it up and running, sending MIDI, et al ? TIA. Cheers, Joel From finnendahl at folkwang-hochschule.de Tue Oct 22 04:22:53 2002 From: finnendahl at folkwang-hochschule.de (Orm Finnendahl) Date: Tue, 22 Oct 2002 13:22:53 +0200 Subject: [CM] cm-2.4.0, cross-refs in dictionary Message-ID: <20021022112253.GA1663@finnendahl.de> Hi Rick, Congrats for cm-2.4.0! The synchronization is a major step forward and the design keeps getting better and more consistent in relation to the embedding language. I'm impressed about your energy redoing everything more or less from scratch for the third time now. In the dictionary, the cross-links don't seem to work. It's o.k. using the index. It seems, you had the dictionary split into different files before, which are missing in the distroibution (like patterns.html or tools.html, referenced for "markov" and "markov-analyze" in the respective parts of the dictionary for example). Yours, Orm From taube at uiuc.edu Tue Oct 22 07:53:58 2002 From: taube at uiuc.edu (Rick Taube) Date: Tue, 22 Oct 2002 07:53:58 -0700 Subject: [CM] Current status of CM on OS X ? References: Message-ID: <001b01c279da$db1da620$bb197e82@music.uiuc.edu> > > What's the current status of Common Music on Mac OS X ? Does it > actually work as well as it did/does on OS 9 ? How does one go > about getting it up and running, sending MIDI, et al ? > not sure yet. its works in mcl/os9.2 of course but i havent tried openmcl or the new mcl 4.3.5 for osx. i dont have an osx machine, ill have to install openmcl on the server and try it out via telnet. i certainly intend to coninue supporting mcl and ill add openmcl as well if there are any issues that prevent it from running now. on the midi real time business, i really dont know what to say. it was really a joy on the mac, but tobias says that Mi_D needs a rewrite for maxos and OSX. Mi_D also needs support for Alsa on Linux. I simply dont have the time to do this now or really anytime in the near/mid future. im hoping someone can either do it or help me do it later. Right now on the mac CM-2.4.0 writes a midi file and then calls up QuickTime with the output file. Note that this will only happen if you do: (set-midi-output-hook! mac-play-midi-file) From taube at uiuc.edu Tue Oct 22 08:15:53 2002 From: taube at uiuc.edu (Rick Taube) Date: Tue, 22 Oct 2002 08:15:53 -0700 Subject: [CM] cm-2.4.0, cross-refs in dictionary References: <20021022112253.GA1663@finnendahl.de> Message-ID: <000701c279dd$eab63c20$bd197e82@music.uiuc.edu> > embedding language. I'm impressed about your energy redoing everything > more or less from scratch for the third time now. this last time wasnt so bad, it was a rewrite more than a redesign. and with the translator i only maintain one set of sources -- it doesnt cost me any extra effort to support scheme and cl at this point. > In the dictionary, the cross-links don't seem to work. It's o.k. using > the index. It seems, you had the dictionary split into different files ill fix this in the next few weeks -- i also have to remove some stale entries. From rm at fabula.de Tue Oct 22 06:53:14 2002 From: rm at fabula.de (rm at fabula.de) Date: Tue, 22 Oct 2002 15:53:14 +0200 Subject: [CM] cm-2.4.0, cross-refs in dictionary In-Reply-To: <000701c279dd$eab63c20$bd197e82@music.uiuc.edu> References: <20021022112253.GA1663@finnendahl.de> <000701c279dd$eab63c20$bd197e82@music.uiuc.edu> Message-ID: <20021022135314.GC15148@www> On Tue, Oct 22, 2002 at 08:15:53AM -0700, Rick Taube wrote: > [...] > > In the dictionary, the cross-links don't seem to work. It's o.k. using > > the index. It seems, you had the dictionary split into different files > > ill fix this in the next few weeks -- i also have to remove some stale > entries. BTW, what is your source format for the documentation? Do you use some kind of XML? I'd like to produce a printed version of the docs and any form of XML would be highly welcome (well, it looks like your HTML is parseable by libxml but having a semantic markup instead of HTML would be nice anyway). Ralf Mattes > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Tue Oct 22 08:41:58 2002 From: taube at uiuc.edu (Rick Taube) Date: Tue, 22 Oct 2002 08:41:58 -0700 Subject: [CM] cm-2.4.0, cross-refs in dictionary References: <20021022112253.GA1663@finnendahl.de> <000701c279dd$eab63c20$bd197e82@music.uiuc.edu> <20021022135314.GC15148@www> Message-ID: <000901c279e1$8fd9bfd0$471c7e82@music.uiuc.edu> > BTW, what is your source format for the documentation? Do you use > some kind of XML? I'd like to produce a printed version of the docs Ill tell you but you will probably puke -- I have a Lisp based "meta-synax" that look like HTML comments in the source text file. For example to format an entry my source file would look like blah blah So... and are lisp function that do whatever formatting i want.Then i call my parser (a lisp function) on the text file to generate the actual html file Everything in the doc files is formatted this way -- i never actually write any html commands except for things like in the text. I realize xml would be a better way to go but im too old to keep learning new tricks. From cewing at u.washington.edu Tue Oct 22 17:55:42 2002 From: cewing at u.washington.edu (cristopher pierson ewing) Date: Tue, 22 Oct 2002 17:55:42 -0700 (PDT) Subject: [CM] With-sound question In-Reply-To: Message-ID: Okay, Tried that here, it works on our system too, so the problem must lie in my macro. I'm not sure what it could be, though. I'll kick it wround for a few days and see what I can find. If I need to, I'll send a copy of the rest of the code, so you can see why I'm using a macro at all. Thanks for the input. C ******************************** Cris Ewing CARTAH Assistant University of Washington Home Phone: (206) 365-3413 E-mail: cewing at u.washington.edu ******************************* On Mon, 21 Oct 2002, Fernando Pablo Lopez-Lezcano wrote: > > I have a macro that writes calls to an instrument: > > > > (write-ins my-instrument-gen) > > > (my-instrument 0 4 440) ;;this might ba an simp-type instrument that > > ;; implements a simple oscilator. > > > > If i place a call to this macro in the spot where a normal instrument call > > would be in a with-sound: > > > > (with-sound () (write-ins my-instrument-gen)) > > > > The results are rather odd. No error is returned, but the output > > soundifle is only 1 sample in length. > > Things work fine here: > start cmucl > (compile-file "v.ins") > (load "v.cmucl") > > - load this macro: > > (defmacro twov (start dur f1 f2 amp) > `(progn > (fm-violin ,start ,dur ,f1 ,amp) > (fm-violin ,start ,dur ,f2 ,amp))) > > - execute this with-sound call: > > (with-sound()(twov 0 1 440 450 0.1) > > It creates a soundfile with two violin notes with 440 and 450Hz > frequencies For something like this obviously a macro is overkill, a > simple function would suffice: > > (defun twovfun (start dur f1 f2 amp) > (fm-violin start dur f1 amp) > (fm-violin start dur f2 amp)) > > -- Fernando > > From wsack at acsu.buffalo.edu Tue Oct 22 19:09:13 2002 From: wsack at acsu.buffalo.edu (Bill Sack) Date: Tue, 22 Oct 2002 22:09:13 -0400 Subject: [CM] more ado about niente References: <3DB3103B.6030005@acsu.buffalo.edu> <200210221104.EAA23159@cmn14.stanford.edu> Message-ID: <3DB604C9.4030203@acsu.buffalo.edu> > which uses defvar, so you need to restart lisp and recompile cmn1. oops. i recompiled cmn AND cm (since i use cmn "inside" cm [?]) and now all is well. thanks, bill -- _________ Bill Sack wsack at acsu.buffalo.edu ---------------------- From carrlane at ccrma.Stanford.EDU Wed Oct 23 13:22:20 2002 From: carrlane at ccrma.Stanford.EDU (Carr Wilkerson) Date: Wed, 23 Oct 2002 13:22:20 -0700 (PDT) Subject: [CM] AI recursion? Message-ID: Hello, I remember learning once about the ability of Common Lisp to somehow produce code and read it at runtime. Can anyone just give me the key/buzz words for this functionality? I know someone who want's to do a music related project, perhaps somehow using Hidden Markov Models, for his AI course. =) Thanks! Carr Wilkerson -- Carr L. Wilkerson, Jr. Center for Computer Research in Music and Acoustics (CCRMA) http://www-ccrma.stanford.edu/~carrlane From taube at uiuc.edu Wed Oct 23 17:59:13 2002 From: taube at uiuc.edu (Rick Taube) Date: Wed, 23 Oct 2002 17:59:13 -0700 Subject: [CM] Fw: Upcoming MCL 5.0 announcement Message-ID: <000701c27af8$92cc0f00$8e197e82@music.uiuc.edu> Looks like MCL 5.0 will be released! > From: "Jennifer Jones" > To: > Digitool will be making an announcement about MCL 5.0 for Mac OSX at > the International Lisp Conference 2002 in San Francisco (October > 27-31): > > http://www.international-lisp-conference.org/ > > See you in San Francisco and thank you for supporting MCL. > -- > Jennifer Jones > Digitool, Inc. > From dbaker1587 at earthlink.net Wed Oct 23 17:50:40 2002 From: dbaker1587 at earthlink.net (David Baker) Date: Wed, 23 Oct 2002 20:50:40 -0400 Subject: [CM] AI recursion? References: Message-ID: <3DB743E0.5080303@earthlink.net> A magic word for running genreated code is eval. From ferguson at music.mcgill.ca Wed Oct 23 23:31:18 2002 From: ferguson at music.mcgill.ca (Sean Ferguson) Date: Thu, 24 Oct 2002 02:31:18 -0400 Subject: [CM] AI recursion? In-Reply-To: <3DB743E0.5080303@earthlink.net> References: <3DB743E0.5080303@earthlink.net> Message-ID: Another is macro >A magic word for running genreated code is eval. > >_______________________________________________ >Cmdist mailing list >Cmdist at ccrma.stanford.edu >http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From t at fictive.com Wed Oct 23 10:58:41 2002 From: t at fictive.com (Tobias Kunze Briseņo) Date: Wed, 23 Oct 2002 19:58:41 +0200 Subject: [CM] Current status of CM on OS X ? In-Reply-To: <001b01c279da$db1da620$bb197e82@music.uiuc.edu> References: <001b01c279da$db1da620$bb197e82@music.uiuc.edu> Message-ID: <20021023195841.7baeb1e2.t@fictive.com> just a quick clarification re Mi_D: - the mac works (reportedly) fine, but realize that the last version I compiled/tested it on was something like 7.5 or so. thus, 9.x seems to work, but Apple changed stuff under OS X and not only do I not know how things are done today on the Mac, I also don't have one. Worse, I haven't found anyone who was willing to compile the CURRENT version for me on the Mac. (Problem is, it's not only a compile--as always, CodeWarrior kept changing their project file format, so by now it's several IDE versions old and certainly needs a project file port to their newest stupid format. If there were make/automake on the Mac, we could just ditch the project file stuff.) - linux works under OSS, but not yet under Alsa. I yet have to get alsa working on my box, at which point i'll port it to alsa (and a better timing approach). -T From grib at linuxdevel.com Wed Oct 23 14:02:05 2002 From: grib at linuxdevel.com (Bill Gribble) Date: 23 Oct 2002 16:02:05 -0500 Subject: [CM] AI recursion? In-Reply-To: References: Message-ID: <1035406925.7601.45.camel@firetrap> On Wed, 2002-10-23 at 15:22, Carr Wilkerson wrote: > I remember learning once about the ability of Common Lisp to > somehow produce code and read it at runtime. Can anyone just give me the > key/buzz words for this functionality? You want to look for information on the "read-eval-print loop" or "repl". The REPL is what runs the interactive command interpreter that you get when you run most LISPs with no input files. Basically it does just what it says when you type at it (this is oversimplifying a bit, forgetting about things like macros): - read: the string "(+ 234 567)" is turned into the Lisp list (+ 234 567) where + is the symbol '+ - eval: a lisp data type is recursively "evaluated". Literal data, like numbers and literal strings, evaluates to itself; lists are evaluated as function calls where the first argument is looked up as a function. So (+ 234 567) evaluates to 801. - print: the lisp object returned by "eval" is converted into a string and displayed: 801 --> "801". You can build a list within your program and call "eval" on it if you want to dynamically generate and run code. You can also take in the code as strings, then "read" and "eval". b.g. From rm at fabula.de Thu Oct 24 07:30:50 2002 From: rm at fabula.de (rm at fabula.de) Date: Thu, 24 Oct 2002 16:30:50 +0200 Subject: [CM] cm-2.4.0, cross-refs in dictionary In-Reply-To: <000901c279e1$8fd9bfd0$471c7e82@music.uiuc.edu> References: <20021022112253.GA1663@finnendahl.de> <000701c279dd$eab63c20$bd197e82@music.uiuc.edu> <20021022135314.GC15148@www> <000901c279e1$8fd9bfd0$471c7e82@music.uiuc.edu> Message-ID: <20021024143050.GD27031@www> On Tue, Oct 22, 2002 at 08:41:58AM -0700, Rick Taube wrote: > > BTW, what is your source format for the documentation? Do you use > > some kind of XML? I'd like to produce a printed version of the docs > > Ill tell you but you will probably puke -- I have a Lisp based "meta-synax" > that look like HTML comments in the source text file. No, i won't :-) I actually _like_ Lisp-based syntax. > For example to > format an entry my source file would look like > > > blah blah > > > So... and are lisp function that do whatever formatting i > want.Then i call my parser (a lisp function) on the text file to generate > the actual html file Everything in the doc files is formatted this way -- i > never actually write any html commands except for things like in > the text. Would it be too much to ask you for the source version of the documentation (and maybe the transformer)? It might be simple to modify it it emit an XML-based version or LaTeX code. > > I realize xml would be a better way to go but im too old to keep learning > new tricks. Hmm, XML tends to be a bit verbose but it definitely has some advantages when it comes to multi-format output generation. And of course a good editor (emacs PSGML) saves a lot of typing. Ralf Mattes From joelrodrigues at Phreaker.net Sat Oct 26 01:35:08 2002 From: joelrodrigues at Phreaker.net (Joel Rodrigues) Date: Sat, 26 Oct 2002 14:05:08 +0530 Subject: [CM] Current status of CM on OS X ? In-Reply-To: <20021023195841.7baeb1e2.t@fictive.com> Message-ID: On Wednesday, October 23, 2002, at 11:28 , Tobias Kunze Brise?o wrote: > > just a quick clarification re Mi_D: > > - the mac works (reportedly) fine, but realize that the last > version I compiled/tested it on was something like 7.5 or so. > thus, 9.x seems to work, but Apple changed stuff under OS X > and not only do I not know how things are done today on the > Mac, I also don't have one. Worse, I haven't found anyone > who was willing to compile the CURRENT version for me on the > Mac. (Problem is, it's not only a compile--as always, CodeWarrior > kept changing their project file format, so by now it's several > IDE versions old and certainly needs a project file port to > their newest stupid format. If there were make/automake on the > Mac, we could just ditch the project file stuff.) > > - linux works under OSS, but not yet under Alsa. I yet have to > get alsa working on my box, at which point i'll port it to > alsa (and a better timing approach). > > -T > On my Mac running OS X v10.1.5 (the current OS X is at v10.2.x) I've got GNU Make version 3.79. Also, Apple has a lot of free developer tools for OS X (a disc full of it is packaged with the OS), so instead of Codewarrior, Apple's (free) ProjectBuilder IDE could be used. You're right. Things are are VERY different in OS X. I don't know much about programming for it, but I do know that a great deal of MIDI and audio functionality is built into the OS. OMS, FreeMIDI, etc. are out the window. James McCartney (he of SuperCollider notoriety) works for Apple now and Apple owns Emagic, so there's bound to be more good stuff in the future. Perhaps in time I may try my hand at writing something simple. What I'd love to see is an Open Source 6-Operator FM synthesizer with a Common Music-like compositional interface for Mac OS X. Here are some links for info: http://developer.apple.com/audio/index.html http://developer.apple.com/audio/macosxaudio.html Cheers, Joel From dgm4+ at pitt.edu Sat Oct 26 09:13:40 2002 From: dgm4+ at pitt.edu (David Gerard Matthews) Date: Sat, 26 Oct 2002 12:13:40 -0400 Subject: [CM] CMN display help Message-ID: <3DBABF34.4070101@pitt.edu> Hello all, I'm attempting to learn CMN and am having a hard time getting xcmnw to work. It compiled and built without a problem, and I can run xcmnw, but I can't get CMN to output to it. I did enter (output-type :x) into cmn, but the xcmnw window remains blank after entering some commands. I'm using Fernando's Planet CCRMA rpms on RH 7.3 with cmucl. Thanks, dgm From nando at ccrma.Stanford.EDU Mon Oct 28 16:38:42 2002 From: nando at ccrma.Stanford.EDU (Fernando Pablo Lopez-Lezcano) Date: Mon, 28 Oct 2002 16:38:42 -0800 (PST) Subject: [CM] CMN display help In-Reply-To: <3DBABF34.4070101@pitt.edu> Message-ID: > I'm attempting to learn CMN and am having a hard time getting xcmnw to > work. It compiled and built without a problem, and I can run xcmnw, but > I can't get CMN to output to it. I did enter (output-type :x) into cmn, > but the xcmnw window remains blank after entering some commands. I'm > using Fernando's Planet CCRMA rpms on RH 7.3 with cmucl. I also tried it and did not work for me. I seem to remember reading something on the list about this a while ago. Maybe there were fixes in cmn and the cmucl rpm image is too old. I'll see if I can create a new one soon (that also includes xcmnw). Looking at the cmn sources it looks like "xcmnw" has to be copied to the clm binary directory, which in the rpm is /usr/lib/lisp/cmn/bin/, I tried putting it there but it did not work. -- Fernando