From taube at uiuc.edu Fri Apr 3 13:55:25 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 3 Apr 2009 15:55:25 -0500 Subject: [CM] problems with cm3 In-Reply-To: <49CF914A.5010405@gmail.com> References: <49CF914A.5010405@gmail.com> Message-ID: the code you sent me incorrect for realtime scheduling and when i correct it things work. the issue is your time stamps -- in realtime a time stamp is interpreted as an AHEAD factor, so when you pass it the value of (elapsed) you are telling it to play that many seconds in the future. when i remove that time stamp things work in either case everything plays in lock-step for me. (define (algo02 dur row beat amp chan) (process while (< (elapsed ) dur) with range = (length row) for d = beat for k = (list-ref row chan) for a = (between 0.1 amp) for w = d do (send "mp:midi" :dur d :key k :amp .8 :chan chan) (wait w))) (sprout (list (algo02 16 keyscale .25 1.0 0) (algo02 14 keyscale .25 1.0 1) (algo02 12 keyscale .25 1.0 2) (algo02 10 keyscale .25 1.0 3)) even at 10 times the lenth (160 seconds) I dont notice any drift. > >Another problem I have is when i'm sprouting to a midi file. When I > write a file which according to the scheduler is 120 seconds long when I write a midifile it plays exactly the same in quicktime and i can import it into sibelius and notator logic (sprout (list (algo02 16 keyscale .25 1.0 0) (algo02 14 keyscale .25 1.0 1) (algo02 12 keyscale .25 1.0 2) (algo02 10 keyscale .25 1.0 3)) 4 "hkt.mid") In general dont use time stamps, the only time you need a time stamp is if you call an fm instrument -- the instrument wants to know the true time to write the audio indo the file (fm-violin (elapsed #t ) > I also have problems when I use Grace to save (scheme) files. When I > try > to commit my changes using git, git suddenly complains about lots of > trailing whitespaces. i dont know what 'git' is. when i open a grace file in emacs it looks exactly like it does it grace. bottom line: im using cm 3.2.4 (svn trunk) and things seem to be work well . From taube at illinois.edu Fri Apr 3 14:41:12 2009 From: taube at illinois.edu (taube at illinois.edu) Date: Fri, 3 Apr 2009 16:41:12 -0500 (CDT) Subject: [CM] CM 3 / Linux cant see midi ports. In-Reply-To: <1e6b7d810904030937n1b963a0by981c70565ec5f1d@mail.gmail.com> References: <1e6b7d810904030937n1b963a0by981c70565ec5f1d@mail.gmail.com> Message-ID: <20090403164112.BQD26691@expms6.cites.uiuc.edu> I think you have to do this: 1 start grace 2 start qjackctl 3 click on the Connect button in the main window 4 click on the Alsa tab in the connections window 5 Click on "Juce Midi Output" in the Output Ports pane 6 click on whatever you want in the Input Ports pane (I use Timidity, which sound pretty good) 7 Click on the Connect button 8 Select the Grace application again 9 select the same output device in the MidiOut menu 10 use Test Midi to test the sound what could be simpler!! ps im glad to see that someone else can build from sources ;) the current svn makes this process even easier -- cm has the juce sources built in so you no longer need to instal/configurel/build a juce lib. the new method works great on linux mac and windows. to use these "amalgamated" juce sources instead of an external juce installation omit any --juce option from premake and it'll use the preconfigured juce sources cm has in its source tree premake --verbose --target gnu --sndlib /path/to/sndlib make and away you go. its pretty cool. ---- Original message ---- >Date: Fri, 3 Apr 2009 09:37:35 -0700 >From: Neil Baylis >Subject: CM 3 / Linux cant see midi ports. >To: Heinrich Taube > > Hi Rick, > I've been having fun with cm3 on Mac (You previously helped me with > opening midi ports & using emacs). Now I'm installing it on some Linux > boxes and have run into a problem with ports. > I got everything compiled OK, and both Grace and cm run, but they > can't see any audio or midi devices. I know the devices are there, > because I have Linuxsampler running, and I can use pmidi to send midi > files to it, and they play correctly. Qsynth/fluidsynth also works > correctly. I'm using ALSA, and I configured sndlib using the > --with-alsa option. (Configuring it without this option made no > difference). > If I run command-line cm, I see the following: > neil at doctor:~/packages/cm/bin$ cm > JUCE v1.46 (c) 2009 Julian Storer > SndLib 20.11 (c) 2009 William Schottstaedt > ?/\\\ > ---\\\--------- > ----\\\-------- > ----/\\\------- Common Music 3.2.4 > ---/--\\\------ > --/----\\\----- > ?/ ? ? ?\\\/ > cm> (ports) > (("midi.port")) > cm> > Pmidi lists the Linuxsampler port correctly: > neil at doctor:~/midi$ pmidi -l > ?Port ? ? Client name ? ? ? ? ? ? ? ? ? ? ? Port name > ?14:0 ? ? Midi Through ? ? ? ? ? ? ? ? ? ? ?Midi Through > Port-0 > 128:0 ? ? LinuxSampler ? ? ? ? ? ? ? ? ? ? ?Port 0 > neil at doctor:~/midi$? > So it seems not to see any ports for some reason. If you have any > ideas about this, I'd love to hear them. Alternatively, if there's > some other place I should be asking for help, please let me know. > (I did run into a problem building cm. When it attempted to link > sndlib, it was looking for sndlib.a but the library built in sndlib > was actually called libsndlib.a. I copied libsndlib.a to sndlib.a, and > cm then linked successfully. I doubt this is related to the problem > though.) > Thanks, > Neil Baylis From ghendrix_ at hotmail.com Fri Apr 3 20:01:25 2009 From: ghendrix_ at hotmail.com (Gabriel Gras) Date: Sat, 4 Apr 2009 03:01:25 +0000 Subject: [CM] (no subject) Message-ID: Hi, I have been trying to install Common Music and Grace on Ubuntu Intrepid. I want through some examples from Notes from th e Metalevel. I got it from the library and there is no CD. I have spent a whole day trying to figure it out. This is the latest error message: gabe at gabe-laptop:~/Desktop/cm$ premake --target gnu --juce /home/gabe/Desktop/juce/ --sndlib /home/gabe/Desktop/sndlib/ Generating GNU makefiles: ...cm ...grace gabe at gabe-laptop:~/Desktop/cm$ make ==== Building cm ==== Linking cm /usr/bin/ld: cannot find -ljuce collect2: ld returned 1 exit status make[1]: *** [bin/cm] Error 1 make: *** [cm] Error 2 Any help would be greatly appreciated. Thanks Gabriel Gras _________________________________________________________________ Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Sat Apr 4 05:01:25 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sat, 4 Apr 2009 07:01:25 -0500 Subject: [CM] CM 3 / Linux cant see midi ports. In-Reply-To: <1e6b7d810904032217m1586564al6c3c56239a16d3e4@mail.gmail.com> References: <1e6b7d810904030937n1b963a0by981c70565ec5f1d@mail.gmail.com> <20090403164112.BQD26691@expms6.cites.uiuc.edu> <1e6b7d810904032217m1586564al6c3c56239a16d3e4@mail.gmail.com> Message-ID: <31006D55-FF7A-439D-90D8-DCD7BB047759@uiuc.edu> On Apr 4, 2009, at 12:17 AM, Neil Baylis wrote: > Hi Rick, > > Well it was a little more complicated than I expected.. but it's > working now. > > First, I decided to try the cm from svn, so I built that, but cm & > Grace complained that libsndlib.so could not be found (at runtime.. > the build went smoothly). I have the library in /usr/local/lib, but > specifying that as the sndlib path in the premake line didn't work. > However, when I copied the library to /usr/lib, the apps then > started up OK. So there might be some problem with the way it looks > for libsndlib.so. The premake option works for the build, but seems > not to be propagated to the runtime library load. the whole linux midi port stuff is a disgrace. even when i manage to open a port on linux then the cursor starts spinning. i dont know what to do about it, this is several layers beneath my software. dont use shared linking , just use the .a linking. if there is a .so lying around then the linker wont use the .a version even thouth i tell it to. i dontk know what to do about this. someone added logic to my premake.lua for specifying /usr/lib installation prefix but i guess it doesnt work. > I wish I had the entire score for that piece. (I just have the first > page). I do have a recording to refer to though. the whole score appears in several music theory books. i think it is less than a page total. you might look in the last few chapters of "Tonal Harmony: With an Introduction To Twentiety Centry Music" by Stefan Kostka and Dorothy Payne, it might be there. From taube at uiuc.edu Sat Apr 4 04:49:51 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sat, 4 Apr 2009 06:49:51 -0500 Subject: [CM] (no subject) In-Reply-To: References: Message-ID: 1 install the latest CM svn sources: svn co http://commonmusic.svn.sf.net/svnroot/commonmusic/trunk cm 2 build sndlib like this ./configure CC=g++ make DONT install it (no 'make install'). if if builds a .so delete the goddam thing, you want an .a lib 3 cd to the cm dir issue this command to premake. do NOT provide a -- juce argument premake --verbose --target gnu --sndlib /home/gabe/Desktop/ sndlib/ make NB: if you are building this to work with Notes from The MetaLevel then that requres CM2. Use the GraceCL app in bin/, start it up and follow the directions. I have not had the time yet to get Notes from The Metalevel working in the latest CM@, buts its entirely doable. On Apr 3, 2009, at 10:01 PM, Gabriel Gras wrote: > Hi, > I have been trying to install Common Music and Grace on Ubuntu > Intrepid. I want through some examples from Notes from th e > Metalevel. I got it from the library and there is no CD. I have > spent a whole day trying to figure it out. This is the latest error > message: > > gabe at gabe-laptop:~/Desktop/cm$ premake --target gnu --juce /home/ > gabe/Desktop/juce/ --sndlib /home/gabe/Desktop/sndlib/ > Generating GNU makefiles: > ...cm > ...grace > gabe at gabe-laptop:~/Desktop/cm$ make > ==== Building cm ==== > Linking cm > /usr/bin/ld: cannot find -ljuce > collect2: ld returned 1 exit status > make[1]: *** [bin/cm] Error 1 > make: *** [cm] Error 2 > > Any help would be greatly appreciated. > Thanks > Gabriel Gras > > Invite your mail contacts to join your friends list with Windows > Live Spaces. It's easy! Try it! > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From achim.bornhoeft at googlemail.com Sun Apr 5 05:34:56 2009 From: achim.bornhoeft at googlemail.com (Achim Bornhoeft) Date: Sun, 5 Apr 2009 14:34:56 +0200 Subject: [CM] cycle in weighting question Message-ID: <957F1A20-0C5B-4AB2-AAB1-98229A4DC28F@googlemail.com> Hello, maybe somebody can explain this to me: Why in this case the lists are always completely cycled before a new weighting is applied? (define (pat1 reps weight1 weight2) (let ((c (new weighting :of `((,(new cycle :of '(-1 1)) :weight ,weight1) (,(new cycle :of '(-2 4 -2)) :weight ,weight2 :max 1))))) (loop repeat reps collect (next c)))) ;; (pat1 50 90 10) Thanks, Achim From taube at uiuc.edu Sun Apr 5 06:15:47 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 5 Apr 2009 08:15:47 -0500 Subject: [CM] cycle in weighting question In-Reply-To: <957F1A20-0C5B-4AB2-AAB1-98229A4DC28F@googlemail.com> References: <957F1A20-0C5B-4AB2-AAB1-98229A4DC28F@googlemail.com> Message-ID: <7E0584ED-DF17-4D83-B9B2-6761485A5FDB@uiuc.edu> hi weights are adjusted once every period, so to have the weights change each time you call next set the period length of that stream to 1 On Apr 5, 2009, at 7:34 AM, Achim Bornhoeft wrote: > Hello, > maybe somebody can explain this to me: > Why in this case the lists are always completely cycled before a new > weighting is applied? > > (define (pat1 reps weight1 weight2) > (let ((c (new weighting :of `((,(new cycle :of '(-1 > 1)) :weight ,weight1) > (,(new cycle :of '(-2 4 -2)) :weight ,weight2 :max 1))))) > (loop repeat reps collect (next c)))) > > ;; (pat1 50 90 10) > > Thanks, > Achim > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From neil.baylis at gmail.com Sun Apr 5 09:26:38 2009 From: neil.baylis at gmail.com (Neil Baylis) Date: Sun, 5 Apr 2009 09:26:38 -0700 Subject: [CM] How do I use Chicken libraries? Message-ID: <1e6b7d810904050926k77315cc7na06b955265b10635@mail.gmail.com> Hi, I'm using cm3 compiled with Chicken. I don't understand how to load Chicken libraries, e.g. tcp: $ csi CHICKEN (c)2008 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 3.4.0 - macosx-unix-gnu-x86 [ manyargs dload ptables applyhook ] SVN rev. 11987 compiled 2009-03-25 on star (Darwin) #;1> (use tcp) ; loading library tcp ... #;2> ^D $ $ bin/cm JUCE v1.46 (c) 2009 Julian Storer Chicken 3.4.0 (c) 2009 Felix L. Winkelmann /\\\ ---\\\--------- ----\\\-------- ----/\\\------- Common Music 3.2.4 ---/--\\\------ --/----\\\----- / \\\/ cm> (use tcp) Error: unbound variable: tcp cm> There's probably something obvious I'm missing. I just assumed that if I compiled with Chicken, the cm listener would be a Chicken listener. Is that not correct? The reason I compiled with Chicken instead of S7 is because I thought it would give me instant access to all those Chicken libraries in cm. Thanks Neil -------------- next part -------------- An HTML attachment was scrubbed... URL: From achim.bornhoeft at googlemail.com Sun Apr 5 11:01:30 2009 From: achim.bornhoeft at googlemail.com (Achim Bornhoeft) Date: Sun, 5 Apr 2009 20:01:30 +0200 Subject: [CM] switch between processes Message-ID: <5CD71503-FC1B-4DC2-9284-89F75932BFF0@googlemail.com> Hi, what is the easiest approach to switch between two running processes (CM2)? e.g. start two prozesses at the same time, output only process 1, then switch to process 2, output only process 2 while process 1 is still running, switch back to process 1, output only process 1 while process 2 ist still running, etc. process 1: ________ _ _ _ _ _ _ _ ________________ | | | | process 2: _ _ _ _ _______________ _ _ _ _ _ _ _ _ Thanks for any help. Achim From dbozelos at yahoo.gr Sun Apr 5 14:02:52 2009 From: dbozelos at yahoo.gr (Bozelos Dimitris) Date: Sun, 5 Apr 2009 21:02:52 +0000 (GMT) Subject: [CM] switch between processes In-Reply-To: <5CD71503-FC1B-4DC2-9284-89F75932BFF0@googlemail.com> Message-ID: <606478.46019.qm@web23606.mail.ird.yahoo.com> Hey Achim, what kind of processes are using? If you're using some instrument inside with-sound() it might be possible to do what you want with if statements to turn off an instrument just by setting the gain to 0 at the points you want, the processes would not stop running but nothing will be added to the output file. dimitris --- ???? ???., 05/04/09, ?/? Achim Bornhoeft ??????: ???: Achim Bornhoeft ????: [CM] switch between processes ????: "cm list" ??????????: ???????, 5 ???????? 2009, 21:01 Hi, what is the easiest approach to switch between two running processes (CM2)? e.g. start two prozesses at the same time, output only process 1, then switch to process 2, output only process 2 while process 1 is still running, switch back to process 1, output only process 1 while process 2 ist still running, etc. process 1: ________ _ _ _ _ _ _ _ ________________ | | | | process 2: _ _ _ _ _______________ _ _ _ _ _ _ _ _ Thanks for any help. Achim _______________________________________________ Cmdist mailing list Cmdist at ccrma.stanford.edu http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist ___________________________________________________________ ?????????????? Yahoo!; ?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail ???????? ??? ???????? ?????? ????????? ???? ??? ??????????? ????????? http://login.yahoo.com/config/mail?.intl=gr -------------- next part -------------- An HTML attachment was scrubbed... URL: From dbozelos at yahoo.gr Sun Apr 5 14:07:34 2009 From: dbozelos at yahoo.gr (Bozelos Dimitris) Date: Sun, 5 Apr 2009 21:07:34 +0000 (GMT) Subject: [CM] switch between processes In-Reply-To: <606478.46019.qm@web23606.mail.ird.yahoo.com> Message-ID: <863161.47775.qm@web23607.mail.ird.yahoo.com> Sorry i just noticed you said CM2 so you're probably not using CLM? Dimitris --- ???? ????., 06/04/09, ?/? Bozelos Dimitris ??????: Hey Achim, what kind of processes are using? If you're using some instrument inside with-sound() it might be possible to do what you want with if statements to turn off an instrument just by setting the gain to 0 at the points you want, the processes would not stop running but nothing will be added to the output file. dimitris --- ???? ???., 05/04/09, ?/? Achim Bornhoeft ??????: ???: Achim Bornhoeft ????: [CM] switch between processes ????: "cm list" ??????????: ???????, 5 ???????? 2009, 21:01 Hi, what is the easiest approach to switch between two running processes (CM2)? e.g. start two prozesses at the same time, output only process 1, then switch to process 2, output only process 2 while process 1 is still running, switch back to process 1, output only process 1 while process 2 ist still running, etc. process 1: ________ _ _ _ _ _ _ _ ________________ | | | | process 2: _ _ _ _ _______________ _ _ _ _ _ _ _ _ Thanks for any help. Achim _______________________________________________ Cmdist mailing list Cmdist at ccrma.stanford.edu http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist ?????????????? Yahoo! ?????????? ?? ?????????? ???? ???? (spam); ?? Yahoo! Mail ???????? ??? ???????? ?????? ????????? ???? ??? ??????????? ????????? http://login.yahoo.com/config/mail?.intl=gr _______________________________________________ Cmdist mailing list Cmdist at ccrma.stanford.edu http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist ___________________________________________________________ ?????????????? Yahoo!; ?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail ???????? ??? ???????? ?????? ????????? ???? ??? ??????????? ????????? http://login.yahoo.com/config/mail?.intl=gr -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Sun Apr 5 15:08:32 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 5 Apr 2009 17:08:32 -0500 Subject: [CM] switch between processes In-Reply-To: <5CD71503-FC1B-4DC2-9284-89F75932BFF0@googlemail.com> References: <5CD71503-FC1B-4DC2-9284-89F75932BFF0@googlemail.com> Message-ID: rather than coroutines, one "simple" way would be - to have each process run for a section, then at the end of the sections to spout a new version of itself in the future eg (define (me ...) (process do ... finally (spout (me ...) 100))) another way: you could spout two processes that can both see the same variable that they examine and set in order to control each other. (let ((run1flag #t) (run2flag #t)) (sprout (process when run1flag (output ....) (setf run1flag ??? run2flag ???))) (sprout (process when run2flag (output ....) (setf run2flag ??? fund1flag ???)))) On Apr 5, 2009, at 1:01 PM, Achim Bornhoeft wrote: > Hi, > what is the easiest approach to switch between two running processes > (CM2)? > e.g. start two prozesses at the same time, output only process 1, then > switch to process 2, output only process 2 while process 1 is still > running, switch back to process 1, output only process 1 while process > 2 ist still running, etc. > > process 1: ________ _ _ _ _ _ _ _ ________________ > | | > | | > process 2: _ _ _ _ _______________ _ _ _ _ _ _ _ _ > > Thanks for any help. > Achim > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From achim.bornhoeft at googlemail.com Mon Apr 6 00:47:50 2009 From: achim.bornhoeft at googlemail.com (Achim Bornhoeft) Date: Mon, 6 Apr 2009 09:47:50 +0200 Subject: [CM] switch between processes In-Reply-To: References: <5CD71503-FC1B-4DC2-9284-89F75932BFF0@googlemail.com> Message-ID: <80AD4A28-D2A0-498E-B024-BE645A8774C4@googlemail.com> Thanks for your suggestions. The second one seems to be very straightforward, since running this in a wrapping process, the variables could be controlled easily in time. Achim Am 06.04.2009 um 00:08 schrieb Heinrich Taube: > rather than coroutines, one "simple" way would be - to have each > process run for a section, then at the end of the sections to spout > a new version of itself in the future eg > (define (me ...) > (process do > ... > finally (spout (me ...) 100))) > > another way: you could spout two processes that can both see the > same variable that they examine and set in order to control each > other. > > > (let ((run1flag #t) > (run2flag #t)) > (sprout (process when run1flag (output ....) (setf run1flag ??? > run2flag ???))) > (sprout (process when run2flag (output ....) (setf run2flag ??? > fund1flag ???)))) > > > > > > On Apr 5, 2009, at 1:01 PM, Achim Bornhoeft wrote: > >> Hi, >> what is the easiest approach to switch between two running processes >> (CM2)? >> e.g. start two prozesses at the same time, output only process 1, >> then >> switch to process 2, output only process 2 while process 1 is still >> running, switch back to process 1, output only process 1 while >> process >> 2 ist still running, etc. >> >> process 1: ________ _ _ _ _ _ _ _ ________________ >> | | >> | | >> process 2: _ _ _ _ _______________ _ _ _ _ _ _ _ _ >> >> Thanks for any help. >> Achim >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Mon Apr 6 06:38:31 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 6 Apr 2009 08:38:31 -0500 Subject: [CM] problems with cm3 In-Reply-To: <49DA0089.1050901@gmail.com> References: <49CF914A.5010405@gmail.com> <49DA0089.1050901@gmail.com> Message-ID: please install cm from trunk svn and try that. if there is drift then its maybe a problem specific to linux. On Apr 6, 2009, at 8:15 AM, lieven moors wrote: > I'm prepared to go to the bottom of this, so if you have any > suggestions for testing this (e.g. insert bits of debugging code), I > will take my time for this. From lievenmoors at gmail.com Mon Apr 6 06:18:13 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 15:18:13 +0200 Subject: [CM] problems with cm3 In-Reply-To: References: <49CF914A.5010405@gmail.com> Message-ID: <49DA0115.507@gmail.com> Heinrich Taube wrote: > the code you sent me incorrect for realtime scheduling and when i > correct it things work. the issue is your time stamps -- in realtime a > time stamp is interpreted as an AHEAD factor, so when you pass it the > value of (elapsed) you are telling it to play that many seconds in the > future. when i remove that time stamp things work in either case > everything plays in lock-step for me. > > (define (algo02 dur row beat amp chan) > (process while (< (elapsed ) dur) > with range = (length row) > for d = beat > for k = (list-ref row chan) > for a = (between 0.1 amp) > for w = d > do (send "mp:midi" :dur d :key k :amp .8 :chan chan) > (wait w))) > > (sprout (list (algo02 16 keyscale .25 1.0 0) > (algo02 14 keyscale .25 1.0 1) > (algo02 12 keyscale .25 1.0 2) > (algo02 10 keyscale .25 1.0 3)) > > even at 10 times the lenth (160 seconds) I dont notice any drift. > > Well, this doesn't work for me. I' ve tried a hundred times without adding timestamps, and because I always had the drift, I tried adding timestamps later on. I' ve tried this on my laptop, both with the stock ubuntu kernel (2.6.27.11) and with the latest realtime patched kernel (2.6.29.1). When I use the first, I 'm having dropouts as well, although I think my laptop should be more than fast enough to run cm without any problems. The dropouts seems to go away with the realtime kernel. But in both cases I have a significant drift. As I said before, I tested all this (without adding timestamps), with very simple algorithms on my 64bit machine running Ubuntu Studio (hardy with realtime kernel) as well. I don't have dropouts on that machine, but the drift is very clear. I wrote a simpler test function as a reference. (define keyscale (scale 4 60 '(4 3 5))) (define (test scale index beat) (process while (< (elapsed) 10) for k = (list-ref scale index) do (send "mp:midi" :dur (rhythm 'x) :key k) (wait beat))) (sprout (list (test keyscale 0 0.25) (test keyscale 1 0.25) (test keyscale 2 0.25))) >> >Another problem I have is when i'm sprouting to a midi file. When I >> write a file which according to the scheduler is 120 seconds long > > when I write a midifile it plays exactly the same in quicktime and i > can import it into sibelius and notator logic > > (sprout (list (algo02 16 keyscale .25 1.0 0) > (algo02 14 keyscale .25 1.0 1) > (algo02 12 keyscale .25 1.0 2) > (algo02 10 keyscale .25 1.0 3)) > 4 "hkt.mid") > When I do this with the above (simpler) code: (sprout (list (test keyscale 0 0.25) (test keyscale 1 0.25) (test keyscale 2 0.25)) "test.mid") and when I open the midi file in rosegarden, the time values of the three notes that are played together are in sync, but the distance between the respective chords is reported as 2 miliseconds. I remember having the same result in my studio. > > In general dont use time stamps, the only time you need a time stamp > is if you call an fm instrument -- the instrument wants to know the > true time to write the audio indo the file (fm-violin (elapsed #t ) > >> I also have problems when I use Grace to save (scheme) files. When I try >> to commit my changes using git, git suddenly complains about lots of >> trailing whitespaces. > > i dont know what 'git' is. when i open a grace file in emacs it looks > exactly like it does it grace. > Git is the Version Control System used for the linux kernel (written by Linus himself) and numerous other open source projects. I only have these mysterious invisible whitespaces when I saved a file with Grace (not with vim or emacs), so I suspect something is wrong. > > bottom line: im using cm 3.2.4 (svn trunk) and things seem to be work > well . > > I downloaded my version (the same version number) quite recently as a tarball. I could try the svn version, and see if that helps. I'm prepared to go to the bottom of this, so if you have any suggestions for testing this (e.g. insert bits of debugging code), I will take my time for this. Thanks, Lieven From taube at uiuc.edu Mon Apr 6 07:55:59 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 6 Apr 2009 09:55:59 -0500 Subject: [CM] problems with cm3 In-Reply-To: <49DA11CC.9030708@gmail.com> References: <49CF914A.5010405@gmail.com> <49DA0089.1050901@gmail.com> <49DA11CC.9030708@gmail.com> Message-ID: ok ill have to get a real linux box and see you should update to the very latest sndlib maybe that will fix the use-modules problem ' On Apr 6, 2009, at 9:29 AM, lieven moors wrote: > Heinrich Taube wrote: >> please install cm from trunk svn and try that. if there is drift >> then its maybe a problem specific to linux. >> >> >> On Apr 6, 2009, at 8:15 AM, lieven moors wrote: >> >>> I'm prepared to go to the bottom of this, so if you have any >>> suggestions for testing this (e.g. insert bits of debugging code), >>> I will take my time for this. >> >> > Ok, I did this, and I have the same result, although the dropouts > seem to have disappeared. > As a side note: I couldn't use my own juce build anymore (although > it is the same version as the one you supply), so I left out the -- > juce flag. I also have one error when loading cm: ;use-modules: > unbound variable, line 22. From lievenmoors at gmail.com Mon Apr 6 07:30:44 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 16:30:44 +0200 Subject: [CM] problems with cm3 In-Reply-To: References: <49CF914A.5010405@gmail.com> <49DA0089.1050901@gmail.com> Message-ID: <49DA1214.3090305@gmail.com> Heinrich Taube wrote: > please install cm from trunk svn and try that. if there is drift then > its maybe a problem specific to linux. > > > On Apr 6, 2009, at 8:15 AM, lieven moors wrote: > >> I'm prepared to go to the bottom of this, so if you have any >> suggestions for testing this (e.g. insert bits of debugging code), I >> will take my time for this. > > Ok, I did this, and I have the same result, although the dropouts seem to have disappeared. As a side note: I couldn't use my own juce build anymore (although it is the same version as the one you supply), so I left out the --juce flag. I also have one error when loading cm: ;use-modules: unbound variable, line 22. From lievenmoors at gmail.com Mon Apr 6 07:35:41 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 16:35:41 +0200 Subject: [CM] problems with cm3 In-Reply-To: References: <49CF914A.5010405@gmail.com> <49DA0089.1050901@gmail.com> Message-ID: <49DA133D.4040107@gmail.com> Heinrich Taube wrote: > please install cm from trunk svn and try that. if there is drift then > its maybe a problem specific to linux. > > > On Apr 6, 2009, at 8:15 AM, lieven moors wrote: > >> I'm prepared to go to the bottom of this, so if you have any >> suggestions for testing this (e.g. insert bits of debugging code), I >> will take my time for this. > > Ok, I did this, and I have the same result, although the dropouts seem to have disappeared. As a side note: I couldn't use my own juce build anymore (although it is the same version as the one you supply), so I left out the --juce flag. I also have one error when loading cm: ;use-modules: unbound variable, line 22. But when I write a midi file, it looks alright now! That's at least one problem solved :-) From lievenmoors at gmail.com Mon Apr 6 08:01:44 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 17:01:44 +0200 Subject: [CM] problems with cm3 In-Reply-To: References: <49CF914A.5010405@gmail.com> <49DA0089.1050901@gmail.com> <49DA11CC.9030708@gmail.com> Message-ID: <49DA1958.7000803@gmail.com> Heinrich Taube wrote: > ok ill have to get a real linux box and see > you should update to the very latest sndlib maybe that will fix the > use-modules problem > ' > On Apr 6, 2009, at 9:29 AM, lieven moors wrote: > >> Heinrich Taube wrote: >>> please install cm from trunk svn and try that. if there is drift >>> then its maybe a problem specific to linux. >>> >>> >>> On Apr 6, 2009, at 8:15 AM, lieven moors wrote: >>> >>>> I'm prepared to go to the bottom of this, so if you have any >>>> suggestions for testing this (e.g. insert bits of debugging code), >>>> I will take my time for this. >>> >>> >> Ok, I did this, and I have the same result, although the dropouts >> seem to have disappeared. >> As a side note: I couldn't use my own juce build anymore (although it >> is the same version as the one you supply), so I left out the --juce >> flag. I also have one error when loading cm: ;use-modules: unbound >> variable, line 22. > > But when I write a midi file, the timings looks alright now! That's at least one problem solved :-) From lievenmoors at gmail.com Mon Apr 6 08:31:22 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 17:31:22 +0200 Subject: [CM] error building latest sndlib Message-ID: <49DA204A.2060205@gmail.com> When I try to build the latest version of sndlib I get this error: g++ -c -DHAVE_CONFIG_H -I. -g -O2 -fPIC s7.c s7.c: In function ?s7_cell* g_tan(s7_scheme*, s7_cell*)?: s7.c:4701: error: ?ctan? was not declared in this scope s7.c: In function ?s7_cell* g_asin(s7_scheme*, s7_cell*)?: s7.c:4750: error: ?casin? was not declared in this scope s7.c: In function ?s7_cell* g_acos(s7_scheme*, s7_cell*)?: s7.c:4798: error: ?cacos? was not declared in this scope s7.c: In function ?s7_cell* g_atan(s7_scheme*, s7_cell*)?: s7.c:4814: error: ?catan? was not declared in this scope s7.c: In function ?s7_cell* g_tanh(s7_scheme*, s7_cell*)?: s7.c:4874: error: ?ctanh? was not declared in this scope s7.c: In function ?s7_cell* g_asinh(s7_scheme*, s7_cell*)?: s7.c:4889: error: ?casinh? was not declared in this scope s7.c: In function ?s7_cell* g_acosh(s7_scheme*, s7_cell*)?: s7.c:4905: error: ?cacosh? was not declared in this scope s7.c: In function ?s7_cell* g_atanh(s7_scheme*, s7_cell*)?: s7.c:4921: error: ?catanh? was not declared in this scope make: *** [s7.o] Error 1 This is on ubuntu, configured with "configure --with-alsa" and build with "make CC=g++". From bil at ccrma.Stanford.EDU Mon Apr 6 10:04:13 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 6 Apr 2009 10:04:13 -0700 Subject: [CM] error building latest sndlib In-Reply-To: <49DA204A.2060205@gmail.com> References: <49DA204A.2060205@gmail.com> Message-ID: <20090406170328.M80068@ccrma.Stanford.EDU> > configured with "configure --with-alsa" and build > with "make CC=g++". This won't work. If you're going to use C++, you have to configure it with C++. Use make clean configure --with-alsa CC=g++ make From lievenmoors at gmail.com Mon Apr 6 11:39:55 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 20:39:55 +0200 Subject: [CM] error building latest sndlib In-Reply-To: <20090406170328.M80068@ccrma.Stanford.EDU> References: <49DA204A.2060205@gmail.com> <20090406170328.M80068@ccrma.Stanford.EDU> Message-ID: <49DA4C7B.9090805@gmail.com> Bill Schottstaedt wrote: >> configured with "configure --with-alsa" and build >> with "make CC=g++". >> > > This won't work. If you're going to use C++, you have to configure > it with C++. Use > > make clean > configure --with-alsa CC=g++ > make > > > > > Sorry, my mistake... thanks From taube at uiuc.edu Mon Apr 6 11:49:48 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 6 Apr 2009 13:49:48 -0500 Subject: [CM] error building latest sndlib In-Reply-To: <49DA4C7B.9090805@gmail.com> References: <49DA204A.2060205@gmail.com> <20090406170328.M80068@ccrma.Stanford.EDU> <49DA4C7B.9090805@gmail.com> Message-ID: eval this an tell me if this drifts: (loop for i from 1 to 61 by .25 do (loop for k in (key '(c4 e g bf)) do (mp:midi i .2 k .8))) On Apr 6, 2009, at 1:39 PM, lieven moors wrote: > Bill Schottstaedt wrote: >>> configured with "configure --with-alsa" and build >>> with "make CC=g++". >>> >> >> This won't work. If you're going to use C++, you have to configure >> it with C++. Use >> >> make clean >> configure --with-alsa CC=g++ >> make >> >> >> >> >> > Sorry, my mistake... > thanks > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From lievenmoors at gmail.com Mon Apr 6 12:42:12 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 21:42:12 +0200 Subject: [CM] error building latest sndlib In-Reply-To: References: <49DA204A.2060205@gmail.com> <20090406170328.M80068@ccrma.Stanford.EDU> <49DA4C7B.9090805@gmail.com> Message-ID: <49DA5B14.6050709@gmail.com> It doesn't seem to drift as much, but it doesn't sound tight either. This is what I get when monitoring Juce's midi out (just a small sample from the beginning): 10072,Juce Midi Output:0,Note on,1,70,101 10072,Juce Midi Output:0,Note on,1,67,101 10072,Juce Midi Output:0,Note on,1,64,101 10070,Juce Midi Output:0,Note on,1,60,101 10051,Juce Midi Output:0,Note off,1,70,0 10051,Juce Midi Output:0,Note off,1,67,0 10049,Juce Midi Output:0,Note off,1,64,0 10043,Juce Midi Output:0,Note off,1,60,0 9949,Juce Midi Output:0,Note on,1,70,101 9949,Juce Midi Output:0,Note on,1,67,101 9949,Juce Midi Output:0,Note on,1,64,101 9947,Juce Midi Output:0,Note on,1,60,101 9922,Juce Midi Output:0,Note off,1,70,0 9918,Juce Midi Output:0,Note off,1,67,0 9897,Juce Midi Output:0,Note off,1,64,0 9889,Juce Midi Output:0,Note off,1,60,0 9826,Juce Midi Output:0,Note on,1,70,101 9824,Juce Midi Output:0,Note on,1,67,101 9807,Juce Midi Output:0,Note on,1,64,101 9793,Juce Midi Output:0,Note on,1,60,101 Is it correct to assume that these time values should be the same every four notes, or could they be influenced by the performance on my computer? Heinrich Taube wrote: > eval this an tell me if this drifts: > > (loop for i from 1 to 61 by .25 > do > (loop for k in (key '(c4 e g bf)) > do (mp:midi i .2 k .8))) > > > > > On Apr 6, 2009, at 1:39 PM, lieven moors wrote: > >> Bill Schottstaedt wrote: >>>> configured with "configure --with-alsa" and build >>>> with "make CC=g++". >>>> >>> >>> This won't work. If you're going to use C++, you have to configure >>> it with C++. Use >>> >>> make clean >>> configure --with-alsa CC=g++ >>> make >>> >>> >>> >>> >>> >> Sorry, my mistake... >> thanks >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > From taube at uiuc.edu Mon Apr 6 12:55:19 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 6 Apr 2009 14:55:19 -0500 Subject: [CM] error building latest sndlib In-Reply-To: <49DA5B14.6050709@gmail.com> References: <49DA204A.2060205@gmail.com> <20090406170328.M80068@ccrma.Stanford.EDU> <49DA4C7B.9090805@gmail.com> <49DA5B14.6050709@gmail.com> Message-ID: <0FD27B51-AA6B-4C9F-AFD6-05A80FDC9AD5@uiuc.edu> > is it correct to assume that these time values should be the same > every four notes, > or could they be influenced by the performance on my computer? the loop throws that data directly into a playback thread and then terminates . so if it drifts it has nothing to do with scheme , it just measn means your C thread timing is messed up.i have no idea how or why it would drifting From lievenmoors at gmail.com Mon Apr 6 14:21:10 2009 From: lievenmoors at gmail.com (lieven moors) Date: Mon, 06 Apr 2009 23:21:10 +0200 Subject: [CM] error building latest sndlib In-Reply-To: <0FD27B51-AA6B-4C9F-AFD6-05A80FDC9AD5@uiuc.edu> References: <49DA204A.2060205@gmail.com> <20090406170328.M80068@ccrma.Stanford.EDU> <49DA4C7B.9090805@gmail.com> <49DA5B14.6050709@gmail.com> <0FD27B51-AA6B-4C9F-AFD6-05A80FDC9AD5@uiuc.edu> Message-ID: <49DA7246.6000205@gmail.com> Heinrich Taube wrote: >> is it correct to assume that these time values should be the same >> every four notes, >> or could they be influenced by the performance on my computer? > > the loop throws that data directly into a playback thread and then > terminates . so if it drifts it has nothing to do with scheme , it > just measn means your C thread timing is messed up.i have no idea how > or why it would drifting > > > Don't know if this can help, but I uncommented part of addNode() to get some information. This is a sample of the end of the output: added type=8, at 1239052267080.281006 pos=1697 of 1698 added type=9, at 1239052266881.429932 pos=1695 of 1699 added type=8, at 1239052267081.530029 pos=1699 of 1700 added type=9, at 1239052267133.904053 pos=1700 of 1701 added type=8, at 1239052267334.009033 pos=1701 of 1702 added type=9, at 1239052267138.989014 pos=1701 of 1703 added type=8, at 1239052267339.115967 pos=1703 of 1704 added type=9, at 1239052267140.315918 pos=1702 of 1705 added type=8, at 1239052267340.417969 pos=1705 of 1706 added type=9, at 1239052267141.552979 pos=1703 of 1707 added type=8, at 1239052267341.656006 pos=1707 of 1708 added type=9, at 1239052267396.319092 pos=1708 of 1709 added type=8, at 1239052267596.510986 pos=1709 of 1710 added type=9, at 1239052267397.625977 pos=1709 of 1711 added type=8, at 1239052267597.746094 pos=1711 of 1712 added type=9, at 1239052267398.917969 pos=1710 of 1713 added type=8, at 1239052267599.018066 pos=1713 of 1714 added type=9, at 1239052267400.165039 pos=1711 of 1715 added type=8, at 1239052267600.322998 pos=1715 of 1716 added type=9, at 1239052267675.018066 pos=1716 of 1717 added type=8, at 1239052267875.333008 pos=1717 of 1718 added type=9, at 1239052267676.604980 pos=1717 of 1719 added type=8, at 1239052267876.725098 pos=1719 of 1720 added type=9, at 1239052267707.829102 pos=1717 of 1720 added type=8, at 1239052267907.979980 pos=1720 of 1721 added type=9, at 1239052267709.218018 pos=1718 of 1722 added type=8, at 1239052267909.318115 pos=1722 of 1723 added type=9, at 1239052267961.787109 pos=1723 of 1724 added type=8, at 1239052268161.888916 pos=1724 of 1725 added type=9, at 1239052267963.022949 pos=1724 of 1726 added type=8, at 1239052268163.188965 pos=1725 of 1726 added type=9, at 1239052267964.267090 pos=1724 of 1727 added type=8, at 1239052268164.487061 pos=1726 of 1727 added type=9, at 1239052267965.598145 pos=1724 of 1728 added type=8, at 1239052268165.697998 pos=1728 of 1729 added type=9, at 1239052268217.975098 pos=1729 of 1730 added type=8, at 1239052268418.079102 pos=1730 of 1731 added type=9, at 1239052268223.248047 pos=1730 of 1732 added type=8, at 1239052268423.383057 pos=1732 of 1733 added type=9, at 1239052268226.784912 pos=1731 of 1734 added type=8, at 1239052268426.911133 pos=1734 of 1735 added type=9, at 1239052268228.025146 pos=1732 of 1736 added type=8, at 1239052268428.141113 pos=1736 of 1737 added type=8, at 1239052268701.260010 pos=1737 of 1738 added type=9, at 1239052268502.530029 pos=1737 of 1739 added type=8, at 1239052268702.685059 pos=1739 of 1740 added type=9, at 1239052268503.786133 pos=1738 of 1741 added type=8, at 1239052268703.890137 pos=1741 of 1742 added type=9, at 1239052268505.036133 pos=1739 of 1743 added type=8, at 1239052268705.158936 pos=1743 of 1744 added type=9, at 1239052268772.278076 pos=1744 of 1745 added type=8, at 1239052268972.430908 pos=1745 of 1746 added type=9, at 1239052268773.607910 pos=1745 of 1747 added type=8, at 1239052268973.708008 pos=1747 of 1748 added type=9, at 1239052268774.820068 pos=1746 of 1749 added type=8, at 1239052268974.937988 pos=1749 of 1750 added type=9, at 1239052268776.050049 pos=1747 of 1751 added type=8, at 1239052268976.150146 pos=1751 of 1752 #f From taube at uiuc.edu Tue Apr 7 15:32:09 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Tue, 7 Apr 2009 17:32:09 -0500 Subject: [CM] Triggers Message-ID: <9326660D-332F-4AF1-BC8D-01C9DFFFECA7@uiuc.edu> svn trunk now provides a new GUI tool in Grace called a Trigger that you can attach to Editor windows for interactive evaluation. There are four types of triggers: Buttons, Sliders, Keyboards and MidiIn (The keyboard component wont be there for a few more days) To add a trigger to your buffer use the Eval>Triggers submenu. Once a trigger is attached manipulate it to evaluate the buffer or buffer selection. Any data a trigger generates will be available in your buffer code in variables you set up. Triggers can be configured interactively and restored/saved to XML descriptions that look like this: ; to try out triggers using the xml importing/exporting feature do this: 1 Create a new lisp buffer and paste these two lines into it: ;; (format #t "my random value=~a~%" *trig*) 2 now Select the comment line as a region with your mouse then choose Eval>Triggers>New from Region. that will parse the xml inthe comment and create a trigger for the buffer. 3 now click on the button in the trigger and look in the console for the output. Here is one that will send whole tone midi notes when you move the slider: ;; (mp:midi :key *trig*) From alrefi at ibest.com.br Tue Apr 7 15:48:09 2009 From: alrefi at ibest.com.br (Alexandre Ficagna) Date: Tue, 7 Apr 2009 19:48:09 -0300 Subject: [CM] Example error in common music dictionary Message-ID: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> Hy, I was studying Patterns topic in CM2 and got errors trying to do Example 3 (Creating patterns programatically). Part of the error message says: LOOP ERROR: 'each' does not support initializations. clause context: 'EACH K IN (NEXT PAT T)' I tried many things (actually I'm a beginner, so it complicates a lot), and it did work when I substituted line: each k in (next pat #t) as x from 0 by rate by these two lines: for x from 0 by rate each k in (next pat #t) the console gave me no error messages, by I think the sound result was not the expected (it should vary each evaluation, but keeps the same). How can I correct this? Thanks. Alexandre Ficagna -- www.myspace.com/alexandreficagna -------------- next part -------------- An HTML attachment was scrubbed... URL: From neil.baylis at gmail.com Tue Apr 7 16:21:30 2009 From: neil.baylis at gmail.com (Neil Baylis) Date: Tue, 7 Apr 2009 16:21:30 -0700 Subject: [CM] Triggers In-Reply-To: <9326660D-332F-4AF1-BC8D-01C9DFFFECA7@uiuc.edu> References: <9326660D-332F-4AF1-BC8D-01C9DFFFECA7@uiuc.edu> Message-ID: <1e6b7d810904071621o66eb271dteb7a025f7ef9eb38@mail.gmail.com> Well, this seems convenient, but it's a bit of a hack, don't you think? You're basically embedding a metalanguage in the Lisp comments. A somewhat ugly metalanguage at that, with lots of syntax, hard to debug. Will cm eventually become unusable without Grace? Couldn't it just be a regular function or macro? (define-trigger ...) You would pass it a function to be executed when the trigger is activated. You probably already considered this idea and discarded it for some reason that's not obvious to me, so apologies if that's the case. Neil -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Tue Apr 7 16:49:26 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Tue, 7 Apr 2009 18:49:26 -0500 Subject: [CM] Triggers In-Reply-To: <1e6b7d810904071621o66eb271dteb7a025f7ef9eb38@mail.gmail.com> References: <9326660D-332F-4AF1-BC8D-01C9DFFFECA7@uiuc.edu> <1e6b7d810904071621o66eb271dteb7a025f7ef9eb38@mail.gmail.com> Message-ID: <83A70EB8-0E3D-404E-8D47-A664C3221D8D@uiuc.edu> > Well, this seems convenient, but it's a bit of a hack, don't you > think? You're basically embedding a metalanguage in the Lisp > comments. A somewhat ugly metalanguage at that, with lots of syntax, > hard to debug. I dont think xml is a hack at all and allowing it to be parsed from comments isnt a hack ether. if you dont like xml then dont use it! you can attach a trigger using the menu systems and dialogs. or just do C-x C-e all day if you want. i made it xlm so that it can be saved in the preferences file and actitaved when you start up. > Will cm eventually become unusable without Grace? it has nothing to do with cm at all. a convenience in the EDITOR, so you can trigger bits of code easily and interactilbe. it is not scheme. > > Couldn't it just be a regular function or macro? > > (define-trigger ...) > in any case your define-trigger would have to be itself in a comment or you would be re-evaluating it when you evaluated your buffer, which would make no sense. but it would not be hard to add that funcion, internally it would just send an xml string over from scheme, but then you have to pick your window would you send it to. > You would pass it a function to be executed when the trigger is > activated. i already have this, its called a midi input hook and its a very fast, direct connection to ascynconous input in scheme From neil.baylis at gmail.com Wed Apr 8 00:07:54 2009 From: neil.baylis at gmail.com (Neil Baylis) Date: Wed, 8 Apr 2009 00:07:54 -0700 Subject: [CM] Timing drift Message-ID: <1e6b7d810904080007g2a5ce834id7f27a67e884b840@mail.gmail.com> I'm seeing timing drift between two processes running cm3 on OSX/Leopard. I'm also seeing the timing drift on Linux that another user reported, but I think this case is unrelated to that one. Here's the code: (define (note-cycle endtime keys rate) (process with pat = (make-cycle keys) while (< (elapsed) endtime) do (send "mp:midi" key: (next pat) dur: rate) (wait rate))) (let* ((k1 (key '(c4 g4 a4 bf4))) (k2 (key '(c2 e2 g2 a2 bf2 a2 g2 e2))) (stop 8000)) (sprout (list (note-cycle stop k1 .4) (note-cycle stop k2 .2)))) If I define the two time delays to be equal, the processes seem to stay in sync for at least a few minutes. But if I define them as above, they drift apart fairly soon. I think the reason for this is that there is some overhead in the process that gets added on to the wait time for each iteration. So if the wait time is shorter, the loop executes more often, and the overhead is incurred more often. (The overhead would be everything in the loop apart from the wait time). What's the correct way to fix this? I can think of a way to do it that involves sprouting only a single process, and sending multiple notes each time through the loop, but it gets ugly fast if there are more than a couple of parts/instruments. I guess what I want is to wait an amount of time that would bring me to the start of the next beat, but I'm not sure how to express that. I tried the following, but it didn't help: (define (note-cycle endtime keys rate) (process with pat = (make-cycle keys) for t = rate by rate while (< (elapsed) endtime) do (send "mp:midi" key: (next pat) dur: rate) (wait (- t (elapsed))))) (I was attempting to pre-compute the value of "elapsed" at the start of the next iteration.) Basically I'm wanting to have one process run at an exact multiple of the speed of another. Neil -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Wed Apr 8 03:09:12 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Wed, 8 Apr 2009 05:09:12 -0500 Subject: [CM] Timing drift In-Reply-To: <1e6b7d810904080007g2a5ce834id7f27a67e884b840@mail.gmail.com> References: <1e6b7d810904080007g2a5ce834id7f27a67e884b840@mail.gmail.com> Message-ID: <54678466-92FE-416E-98E6-C1D15DAA9054@uiuc.edu> it would be useful to know if you get the same drift using chicken 3.0.0 or 3.4.0 (im soory have very little time to work over the next week -- ) if you can hack C you might try taking the time just before and after the process node calls into scheme and then subtracting the difference between these time stamps from the amount you increment the node by for its next run time. in other words to subtract out the time spent in scheme. On Apr 8, 2009, at 2:07 AM, Neil Baylis wrote: > I'm seeing timing drift between two processes running cm3 on OSX/ > Leopard. I'm also seeing the timing drift on Linux that another user > reported, but I think this case is unrelated to that one. > > Here's the code: > > (define (note-cycle endtime keys rate) > (process with pat = (make-cycle keys) > while (< (elapsed) endtime) > do > (send "mp:midi" key: (next pat) dur: rate) > (wait rate))) > > (let* ((k1 (key '(c4 g4 a4 bf4))) > (k2 (key '(c2 e2 g2 a2 bf2 a2 g2 e2))) > (stop 8000)) > (sprout > (list (note-cycle stop k1 .4) > (note-cycle stop k2 .2)))) > > > If I define the two time delays to be equal, the processes seem to > stay in sync for at least a few minutes. But if I define them as > above, they drift apart fairly soon. > > I think the reason for this is that there is some overhead in the > process that gets added on to the wait time for each iteration. So > if the wait time is shorter, the loop executes more often, and the > overhead is incurred more often. (The overhead would be everything > in the loop apart from the wait time). > > What's the correct way to fix this? I can think of a way to do it > that involves sprouting only a single process, and sending multiple > notes each time through the loop, but it gets ugly fast if there are > more than a couple of parts/instruments. > > I guess what I want is to wait an amount of time that would bring me > to the start of the next beat, but I'm not sure how to express that. > I tried the following, but it didn't help: > > (define (note-cycle endtime keys rate) > (process with pat = (make-cycle keys) > for t = rate by rate > while (< (elapsed) endtime) > do > (send "mp:midi" key: (next pat) dur: rate) > (wait (- t (elapsed))))) > > (I was attempting to pre-compute the value of "elapsed" at the start > of the next iteration.) > > Basically I'm wanting to have one process run at an exact multiple > of the speed of another. > > Neil > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Wed Apr 8 03:16:21 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Wed, 8 Apr 2009 05:16:21 -0500 Subject: [CM] Example error in common music dictionary In-Reply-To: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> References: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> Message-ID: <8E9C980C-10BC-4361-ACB3-B9CAE5657055@uiuc.edu> can you please send me the full code example? also tell me what version of cm you are using. On Apr 7, 2009, at 5:48 PM, Alexandre Ficagna wrote: > Hy, > > I was studying Patterns topic in CM2 and got errors trying to do > Example 3 (Creating patterns programatically). > Part of the error message says: > > LOOP ERROR: 'each' does not support initializations. > clause context: 'EACH K IN (NEXT PAT T)' > > I tried many things (actually I'm a beginner, so it complicates a > lot), and it did work when I substituted line: > each k in (next pat #t) as x from 0 by rate > > by these two lines: > for x from 0 by rate > each k in (next pat #t) > the console gave me no error messages, by I think the sound result > was not the expected (it should vary each evaluation, but keeps the > same). > > How can I correct this? > > Thanks. > Alexandre Ficagna > -- > www.myspace.com/alexandreficagna > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Wed Apr 8 03:52:37 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Wed, 8 Apr 2009 05:52:37 -0500 Subject: [CM] Timing drift In-Reply-To: <54678466-92FE-416E-98E6-C1D15DAA9054@uiuc.edu> References: <1e6b7d810904080007g2a5ce834id7f27a67e884b840@mail.gmail.com> <54678466-92FE-416E-98E6-C1D15DAA9054@uiuc.edu> Message-ID: srry i forgot havent tested 3.4.0 except on win32. please use chicken 3.0.0 if you do this test. On Apr 8, 2009, at 5:09 AM, Heinrich Taube wrote: > it would be useful to know if you get the same drift using chicken > 3.0.0 or 3.4.0 > (im soory have very little time to work over the next week -- ) > if you can hack C you might try taking the time just before and after > the process node calls into scheme and then subtracting the difference > between these time stamps from the amount you increment the node by > for its next run time. in other words to subtract out the time spent > in scheme. > > > > On Apr 8, 2009, at 2:07 AM, Neil Baylis wrote: > >> I'm seeing timing drift between two processes running cm3 on OSX/ >> Leopard. I'm also seeing the timing drift on Linux that another user >> reported, but I think this case is unrelated to that one. >> >> Here's the code: >> >> (define (note-cycle endtime keys rate) >> (process with pat = (make-cycle keys) >> while (< (elapsed) endtime) >> do >> (send "mp:midi" key: (next pat) dur: rate) >> (wait rate))) >> >> (let* ((k1 (key '(c4 g4 a4 bf4))) >> (k2 (key '(c2 e2 g2 a2 bf2 a2 g2 e2))) >> (stop 8000)) >> (sprout >> (list (note-cycle stop k1 .4) >> (note-cycle stop k2 .2)))) >> >> >> If I define the two time delays to be equal, the processes seem to >> stay in sync for at least a few minutes. But if I define them as >> above, they drift apart fairly soon. >> >> I think the reason for this is that there is some overhead in the >> process that gets added on to the wait time for each iteration. So >> if the wait time is shorter, the loop executes more often, and the >> overhead is incurred more often. (The overhead would be everything >> in the loop apart from the wait time). >> >> What's the correct way to fix this? I can think of a way to do it >> that involves sprouting only a single process, and sending multiple >> notes each time through the loop, but it gets ugly fast if there are >> more than a couple of parts/instruments. >> >> I guess what I want is to wait an amount of time that would bring me >> to the start of the next beat, but I'm not sure how to express that. >> I tried the following, but it didn't help: >> >> (define (note-cycle endtime keys rate) >> (process with pat = (make-cycle keys) >> for t = rate by rate >> while (< (elapsed) endtime) >> do >> (send "mp:midi" key: (next pat) dur: rate) >> (wait (- t (elapsed))))) >> >> (I was attempting to pre-compute the value of "elapsed" at the start >> of the next iteration.) >> >> Basically I'm wanting to have one process run at an exact multiple >> of the speed of another. >> >> Neil >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From neil.baylis at gmail.com Wed Apr 8 09:42:16 2009 From: neil.baylis at gmail.com (Neil Baylis) Date: Wed, 8 Apr 2009 09:42:16 -0700 Subject: [CM] Timing drift In-Reply-To: <61A5A7FA-01C8-4F29-A4A5-38387864CAF6@uiuc.edu> References: <1e6b7d810904080007g2a5ce834id7f27a67e884b840@mail.gmail.com> <61A5A7FA-01C8-4F29-A4A5-38387864CAF6@uiuc.edu> Message-ID: <1e6b7d810904080942p7e4429e3p729e41489598221d@mail.gmail.com> On Wed, Apr 8, 2009 at 9:02 AM, Heinrich Taube wrote: > this might do it, at least it sounds better in chicken. the problem is that > it may screw up other things > > > else > { > double after=Time::getMillisecondCounterHiRes(); > delta*=1000.0; // convert user's wait value to milliseconds > delta-=(after-curtime); // subtract out scheme's overhead > //time=(delta>0.0) ? (after+delta) : after; > time=(delta>0.0) ? (curtime+delta) : curtime; > } > Rick, I applied this patch (with Chicken 3.4.0) and it seems to work. I listened for many minutes and couldn't detect the phase drifting between the two processes. I'm using this process: (define (note-cycle endtime keys rate) (process with pat = (make-cycle keys) for t from rate by rate while (< (elapsed) endtime) do (send "mp:midi" key: (next pat) dur: rate) (wait (- t (elapsed))))) With your patch and the original process that doesn't attempt to compensate for the overhead, I still saw phase drift, although it may have taken longer to become apparent: (define (note-cycle endtime keys rate) (process with pat = (make-cycle keys) while (< (elapsed) endtime) do (send "mp:midi" key: (next pat) dur: rate) (wait rate))) Thanks, Neil -------------- next part -------------- An HTML attachment was scrubbed... URL: From alrefi at ibest.com.br Wed Apr 8 11:28:09 2009 From: alrefi at ibest.com.br (Alexandre Ficagna) Date: Wed, 8 Apr 2009 15:28:09 -0300 Subject: [CM] Example error in common music dictionary In-Reply-To: <8E9C980C-10BC-4361-ACB3-B9CAE5657055@uiuc.edu> References: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> <8E9C980C-10BC-4361-ACB3-B9CAE5657055@uiuc.edu> Message-ID: <3d37741d0904081128j73fec7fdq40efc93a17c6b576@mail.gmail.com> Here they are: /\\\ ---\\\--------- ----\\\-------- ----/\\\------- Common Music 2.11.3 ---/--\\\------ --/----\\\----- / \\\/ OK OK; in: LAMBDA NIL ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) CM::REPEAT CM::REPS CM::FOR ; CM::LEN = (CM:PICK 8 12 16) CM::FOR ...) ; ; caught ERROR: ; (in macroexpansion of (PROCESS WITH DUR ...)) ; (hint: For more precise location, try *BREAK-ON-SIGNALS*.) ; illegal loop syntax ; (SB-INT:NAMED-LAMBDA CM::PLAY-PATS (CM::PATS CM::TROPE CM::REPS CM::RATE) ; (BLOCK CM::PLAY-PATS ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) ; CM::REPEAT CM::REPS CM::FOR CM::LEN = ; (CM:PICK 8 12 16) CM::FOR ...))) ; ==> ; #'(SB-INT:NAMED-LAMBDA CM::PLAY-PATS (CM::PATS CM::TROPE CM::REPS CM::RATE) ; (BLOCK CM::PLAY-PATS ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) ; CM::REPEAT CM::REPS CM::FOR CM::LEN = ; (CM:PICK 8 12 16) CM::FOR ...))) ; ; caught STYLE-WARNING: ; The variable PATS is defined but never used. ; ; caught STYLE-WARNING: ; The variable TROPE is defined but never used. ; ; caught STYLE-WARNING: ; The variable REPS is defined but never used. ; ; caught STYLE-WARNING: ; The variable RATE is defined but never used. ; ; compilation unit finished ; caught 1 ERROR condition ; caught 4 STYLE-WARNING conditions LOOP ERROR: 'each' does not support initializations. clause context: 'EACH K IN (NEXT PAT T)' STYLE-WARNING: redefining PLAY-PATS in DEFUN OK 2009/4/8 Heinrich Taube > can you please send me the full code example? also tell me what version of > cm you are using. > > > On Apr 7, 2009, at 5:48 PM, Alexandre Ficagna wrote: > > Hy, >> >> I was studying Patterns topic in CM2 and got errors trying to do Example 3 >> (Creating patterns programatically). >> Part of the error message says: >> >> LOOP ERROR: 'each' does not support initializations. >> clause context: 'EACH K IN (NEXT PAT T)' >> >> I tried many things (actually I'm a beginner, so it complicates a lot), >> and it did work when I substituted line: >> each k in (next pat #t) as x from 0 by rate >> >> by these two lines: >> for x from 0 by rate >> each k in (next pat #t) >> the console gave me no error messages, by I think the sound result was not >> the expected (it should vary each evaluation, but keeps the same). >> >> How can I correct this? >> >> Thanks. >> Alexandre Ficagna >> -- >> www.myspace.com/alexandreficagna >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >> > > -- www.myspace.com/alexandreficagna -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Wed Apr 8 12:07:03 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Wed, 8 Apr 2009 14:07:03 -0500 Subject: [CM] Timing drift In-Reply-To: <1e6b7d810904080942p7e4429e3p729e41489598221d@mail.gmail.com> References: <1e6b7d810904080007g2a5ce834id7f27a67e884b840@mail.gmail.com> <61A5A7FA-01C8-4F29-A4A5-38387864CAF6@uiuc.edu> <1e6b7d810904080942p7e4429e3p729e41489598221d@mail.gmail.com> Message-ID: <566D25D9-3FF8-4F36-B4EC-F98541D504C3@uiuc.edu> odd i just tried my version of the c code and using a normal wait in the process and i dont hear any drift at all at least for a few minutes. On Apr 8, 2009, at 11:42 AM, Neil Baylis wrote: > > > On Wed, Apr 8, 2009 at 9:02 AM, Heinrich Taube wrote: > this might do it, at least it sounds better in chicken. the problem > is that it may screw up other things > > > > else > { > double after=Time::getMillisecondCounterHiRes(); > delta*=1000.0; // convert user's wait value to > milliseconds > delta-=(after-curtime); // subtract out scheme's > overhead > //time=(delta>0.0) ? (after+delta) : after; > time=(delta>0.0) ? (curtime+delta) : curtime; > } > > > Rick, > > I applied this patch (with Chicken 3.4.0) and it seems to work. I > listened for many minutes and couldn't detect the phase drifting > between the two processes. > > I'm using this process: > > (define (note-cycle endtime keys rate) > (process with pat = (make-cycle keys) > for t from rate by rate > while (< (elapsed) endtime) > do > (send "mp:midi" key: (next pat) dur: rate) > (wait (- t (elapsed))))) > > With your patch and the original process that doesn't attempt to > compensate for the overhead, I still saw phase drift, although it > may have taken longer to become apparent: > > (define (note-cycle endtime keys rate) > (process with pat = (make-cycle keys) > while (< (elapsed) endtime) > do > (send "mp:midi" key: (next pat) dur: rate) > (wait rate))) > > Thanks, > > Neil > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From neil.baylis at gmail.com Fri Apr 10 09:38:33 2009 From: neil.baylis at gmail.com (Neil Baylis) Date: Fri, 10 Apr 2009 09:38:33 -0700 Subject: [CM] Multiple midi ports Message-ID: <1e6b7d810904100938p65614c5clf6c2c56d33570106@mail.gmail.com> Is there an example somewhere that shows how to send different events to different midi output ports? Also, how do I provide hooks to receive events from multiple midi in ports simultaneously? Thanks, Neil -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Fri Apr 10 10:51:06 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 10 Apr 2009 12:51:06 -0500 Subject: [CM] Multiple midi ports In-Reply-To: <1e6b7d810904100938p65614c5clf6c2c56d33570106@mail.gmail.com> References: <1e6b7d810904100938p65614c5clf6c2c56d33570106@mail.gmail.com> Message-ID: <0C39D051-E62E-4E8C-B5FA-EF559127C789@uiuc.edu> the code isnt written to do this -- there is nothing to stop it being implemented however, i just decided not to tackle it until there was a need. the main issue would be how to address the different devices. for example there could be a :port option to the mp output : (mp:midi :key 50 :chan 0 :port 3) input is harder, the eaiest would be to still have only one hook but to pass it a extra 'port' value. > Is there an example somewhere that shows how to send different > events to different midi output ports? > > Also, how do I provide hooks to receive events from multiple midi in > ports simultaneously? > > Thanks, > From alrefi at ibest.com.br Fri Apr 10 12:58:41 2009 From: alrefi at ibest.com.br (Alexandre Ficagna) Date: Fri, 10 Apr 2009 16:58:41 -0300 Subject: [CM] Example error in common music dictionary In-Reply-To: <3d37741d0904081128j73fec7fdq40efc93a17c6b576@mail.gmail.com> References: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> <8E9C980C-10BC-4361-ACB3-B9CAE5657055@uiuc.edu> <3d37741d0904081128j73fec7fdq40efc93a17c6b576@mail.gmail.com> Message-ID: <3d37741d0904101258s52bc73aao6e70fda639f99da6@mail.gmail.com> Sorry, I forgot the example: (define (play-pats pats trope reps rate) (process with dur = (* rate 2.5) repeat reps for len = (pick 8 12 16) for pat = (make-instance (next pats) :keynums trope :for len) each k in (next pat #t) as x from 0 by rate output (new midi :time (+ (now ) x) :keynum k :duration dur) wait (* rate len))) ;;; a pattern of pattern class names (define pcns (new weighting :of '((heap :weight 2) line cycle palindrome rotation)) (events (play-pats pcns '(a4 b c5 d) 12 .1) "test.mid") => "test.mid" The error messages listed before occurs when evaluating "play-pats". 2009/4/8 Alexandre Ficagna > Here they are: > > /\\\ > ---\\\--------- > ----\\\-------- > ----/\\\------- Common Music 2.11.3 > ---/--\\\------ > --/----\\\----- > / \\\/ > > > OK > OK; in: LAMBDA NIL > ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) CM::REPEAT CM::REPS > CM::FOR > ; CM::LEN = (CM:PICK 8 12 16) CM::FOR ...) > > ; > ; caught ERROR: > ; (in macroexpansion of (PROCESS WITH DUR ...)) > ; (hint: For more precise location, try *BREAK-ON-SIGNALS*.) > ; illegal loop syntax > > ; (SB-INT:NAMED-LAMBDA CM::PLAY-PATS (CM::PATS CM::TROPE CM::REPS > CM::RATE) > ; (BLOCK CM::PLAY-PATS > ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) > ; CM::REPEAT CM::REPS CM::FOR CM::LEN > = > ; (CM:PICK 8 12 16) CM::FOR ...))) > > ; ==> > ; #'(SB-INT:NAMED-LAMBDA CM::PLAY-PATS (CM::PATS CM::TROPE CM::REPS > CM::RATE) > ; (BLOCK CM::PLAY-PATS > ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE > 2.5) > ; CM::REPEAT CM::REPS CM::FOR > CM::LEN = > ; (CM:PICK 8 12 16) CM::FOR ...))) > ; > ; caught STYLE-WARNING: > ; The variable PATS is defined but never used. > > ; > ; caught STYLE-WARNING: > ; The variable TROPE is defined but never used. > > ; > ; caught STYLE-WARNING: > ; The variable REPS is defined but never used. > > ; > ; caught STYLE-WARNING: > ; The variable RATE is defined but never used. > ; > ; compilation unit finished > ; caught 1 ERROR condition > ; caught 4 STYLE-WARNING conditions > > LOOP ERROR: 'each' does not support initializations. > clause context: 'EACH K IN (NEXT PAT T)' > > STYLE-WARNING: redefining PLAY-PATS in DEFUN > > OK > > 2009/4/8 Heinrich Taube > > can you please send me the full code example? also tell me what version of >> cm you are using. >> >> >> On Apr 7, 2009, at 5:48 PM, Alexandre Ficagna wrote: >> >> Hy, >>> >>> I was studying Patterns topic in CM2 and got errors trying to do Example >>> 3 (Creating patterns programatically). >>> Part of the error message says: >>> >>> LOOP ERROR: 'each' does not support initializations. >>> clause context: 'EACH K IN (NEXT PAT T)' >>> >>> I tried many things (actually I'm a beginner, so it complicates a lot), >>> and it did work when I substituted line: >>> each k in (next pat #t) as x from 0 by rate >>> >>> by these two lines: >>> for x from 0 by rate >>> each k in (next pat #t) >>> the console gave me no error messages, by I think the sound result was >>> not the expected (it should vary each evaluation, but keeps the same). >>> >>> How can I correct this? >>> >>> Thanks. >>> Alexandre Ficagna >>> -- >>> www.myspace.com/alexandreficagna >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >>> >> >> > > > -- > www.myspace.com/alexandreficagna > -- www.myspace.com/alexandreficagna -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Sat Apr 11 08:50:10 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sat, 11 Apr 2009 10:50:10 -0500 Subject: [CM] Multiple midi ports In-Reply-To: <1e6b7d810904100938p65614c5clf6c2c56d33570106@mail.gmail.com> References: <1e6b7d810904100938p65614c5clf6c2c56d33570106@mail.gmail.com> Message-ID: <2C076159-A3DC-4E4D-ADFD-41D9E56D6944@uiuc.edu> looking this over i remember now why i didnt implement multiple ports immediately. unlike portmidi, which reads ports just one time when the lib is initialized, juce ports are completely dynamic and there is no static device id. that means each time devices are read id 0 could possibly point to a different device and so :port values might have to change. its doable but a bit tricky On Apr 10, 2009, at 11:38 AM, Neil Baylis wrote: > Is there an example somewhere that shows how to send different > events to different midi output ports? > > Also, how do I provide hooks to receive events from multiple midi in > ports simultaneously? > > Thanks, > > Neil > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From neil.baylis at gmail.com Sat Apr 11 10:06:02 2009 From: neil.baylis at gmail.com (Neil Baylis) Date: Sat, 11 Apr 2009 10:06:02 -0700 Subject: [CM] How do I use Chicken libraries? In-Reply-To: <1e6b7d810904050926k77315cc7na06b955265b10635@mail.gmail.com> References: <1e6b7d810904050926k77315cc7na06b955265b10635@mail.gmail.com> Message-ID: <1e6b7d810904111006t615e135are2e3d6cc27a4c85a@mail.gmail.com> OK, I found the answer to this. It happens because chicken is statically linked. If you link chicken dynamically (at least on OSX) you can then do: (require-extension tcp) and it will load the extension. Neil -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Sun Apr 12 14:26:05 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 12 Apr 2009 16:26:05 -0500 Subject: [CM] process drift fixed References: <1e6b7d810904120934r738da336u93edc2a10f081a4c@mail.gmail.com> Message-ID: svn has the real-time process drift issue solved, i think. thanks very much to neil baylis who both reported the problem and helped fix it. he reports that even after 20 minutes the processes are still in lock step in both chicken and s7. hopefully the fix wont cause problems in other situations! (define (note-cycle endtime keys rate) (process with pat = (make-cycle keys) while (< (elapsed) endtime) do (send "mp:midi" #:key (next pat) #:dur rate) (wait rate))) (let* ((k1 (key '(c4 g a bf))) (k2 (key '(c2 e g a bf a g e))) (stop 1000)) (sprout (list (note-cycle stop k1 .4) (note-cycle stop k2 .2)) )) From bil at ccrma.Stanford.EDU Fri Apr 17 03:42:26 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 17 Apr 2009 03:42:26 -0700 Subject: [CM] Snd 10.5 Message-ID: <20090417104145.M3162@ccrma.Stanford.EDU> Snd 10.5 many more improvements thanks to Kjetil and Mike Scholz. multidimensional and applicable vectors in s7. pulseaudio support (--with-pulseaudio in configure): I don't know if this actually works, since pulseaudio (paplay) itself doesn't work on my machine. moved the papoulis and dpss (slepian) fft-windows from dsp.scm to clm.c. added sinc-window. matlab mat-5 headers (for 1-channel sound data). all hash literals using ',' changed to use '=>' in *.rb (for ruby 1.9.*) but ruby 1.9.n is not usable yet -- it segfaults on any error. With Kjetil's help, s7 is more than twice as fast now in s7test. checked: mpfr 2.4.1, gtk 2.15.5|16.0|1, fftw 3.2.1, fth 1.2.3, sbcl 1.0.27 Thanks!: Michael Edwards, Kjetil Matheussen, Mike Scholz, Al Steffens, Anders Vinjar, Oded Ben-Tal, Rick Taube, Andrew Burnson. From bil at ccrma.Stanford.EDU Fri Apr 17 04:02:46 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 17 Apr 2009 04:02:46 -0700 Subject: [CM] admin tasks Message-ID: <20090417105918.M14208@ccrma.Stanford.EDU> I hate sourceforge! Every time I try to update a version of Snd, they've changed their crappy interface to something even more opaque, and it takes me 30 minutes to figure out that "download" means "add release" or whatever. And all that time, their disgusting advertising is running -- freshmeat is even worse! I'm seriously thinking of pulling out of both since this has sent my blood pressure to near-stroke levels. Would it be so bad if Snd was just a tarball at ccrma? From dlphillips at woh.rr.com Fri Apr 17 04:12:37 2009 From: dlphillips at woh.rr.com (Dave Phillips) Date: Fri, 17 Apr 2009 07:12:37 -0400 Subject: [CM] admin tasks In-Reply-To: <20090417105918.M14208@ccrma.Stanford.EDU> References: <20090417105918.M14208@ccrma.Stanford.EDU> Message-ID: <49E86425.20102@woh.rr.com> Bill Schottstaedt wrote: > I hate sourceforge! Every time I try to update a version of Snd, they've > changed their crappy interface to something even more opaque, and > it takes me 30 minutes to figure out that "download" means "add release" > or whatever. And all that time, their disgusting advertising is running -- > freshmeat is even worse! I'm seriously thinking of pulling out of > both since this has sent my blood pressure to near-stroke levels. > > Would it be so bad if Snd was just a tarball at ccrma? Hi Bill, I agree with your assessment of SF. The process of identifying and retrieving has become too lengthy, and the ads really are an annoyance. If you're not using SF for its other features there's no need to continue using it for a simple download site. A tarball at CCRMA would be fine with me. Best, dp From taube at uiuc.edu Fri Apr 17 04:37:04 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 17 Apr 2009 06:37:04 -0500 Subject: [CM] Snd 10.5 In-Reply-To: <20090417104145.M3162@ccrma.Stanford.EDU> References: <20090417104145.M3162@ccrma.Stanford.EDU> Message-ID: > > With Kjetil's help, s7 is more than twice as fast now in s7test. this is great, thanks kjetil! > I hate sourceforge! Every time I try to update a version of Snd, > they've or ask nando to set up a cvs repository for you at ccrma? that way you can keep versioning and backup. but tarball is fine with me! From bsack23 at gmail.com Fri Apr 17 06:50:30 2009 From: bsack23 at gmail.com (Bill Sack) Date: Fri, 17 Apr 2009 09:50:30 -0400 Subject: [CM] admin tasks In-Reply-To: <49E86425.20102@woh.rr.com> References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> Message-ID: <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> sourceforge inspired me to add the firefox flashblock and adblock plugins ... if you're not using the SF forums or bugtracker, i vote for a ccrma-hosted tarball, too. b On Fri, Apr 17, 2009 at 7:12 AM, Dave Phillips wrote: > Bill Schottstaedt wrote: > > I hate sourceforge! Every time I try to update a version of Snd, they've > > changed their crappy interface to something even more opaque, and > > it takes me 30 minutes to figure out that "download" means "add release" > > or whatever. And all that time, their disgusting advertising is running > -- > > freshmeat is even worse! I'm seriously thinking of pulling out of > > both since this has sent my blood pressure to near-stroke levels. > > > > Would it be so bad if Snd was just a tarball at ccrma? > > Hi Bill, > > I agree with your assessment of SF. The process of identifying and > retrieving has become too lengthy, and the ads really are an annoyance. > If you're not using SF for its other features there's no need to > continue using it for a simple download site. A tarball at CCRMA would > be fine with me. > > Best, > > dp > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fbar at footils.org Fri Apr 17 06:55:56 2009 From: fbar at footils.org (Frank Barknecht) Date: Fri, 17 Apr 2009 15:55:56 +0200 Subject: [CM] admin tasks In-Reply-To: <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> Message-ID: <20090417135556.GB22543@footils.org> Hallo, Bill Sack hat gesagt: // Bill Sack wrote: > sourceforge inspired me to add the firefox flashblock and adblock plugins > ... if you're not using the SF forums or bugtracker, i vote for a > ccrma-hosted tarball, too. I'd still miss versioned CVS/SVN repositories. What if CCRMA could host e.g. a Trac-site? It does everything SF does and should not be too hard to setup. Ciao -- Frank From bil at ccrma.Stanford.EDU Fri Apr 17 07:19:36 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 17 Apr 2009 07:19:36 -0700 Subject: [CM] admin tasks In-Reply-To: <20090417135556.GB22543@footils.org> References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> <20090417135556.GB22543@footils.org> Message-ID: <20090417141908.M52626@ccrma.Stanford.EDU> > What if CCRMA could host e.g. a Trac-site? I don't know about Trac -- will check it out. Someone else suggested Google Code. From k.s.matheussen at notam02.no Fri Apr 17 07:27:48 2009 From: k.s.matheussen at notam02.no (Kjetil S. Matheussen) Date: Fri, 17 Apr 2009 16:27:48 +0200 (CEST) Subject: [CM] admin tasks In-Reply-To: <20090417105918.M14208@ccrma.Stanford.EDU> References: <20090417105918.M14208@ccrma.Stanford.EDU> Message-ID: On Fri, 17 Apr 2009, Bill Schottstaedt wrote: > I hate sourceforge! Every time I try to update a version of Snd, they've > changed their crappy interface to something even more opaque, and > it takes me 30 minutes to figure out that "download" means "add release" > or whatever. And all that time, their disgusting advertising is running -- > freshmeat is even worse! I'm seriously thinking of pulling out of > both since this has sent my blood pressure to near-stroke levels. > > Would it be so bad if Snd was just a tarball at ccrma? > A little bit. I use the cvs web page a lot to see what changes has been done in the various files through time. From fbar at footils.org Fri Apr 17 07:32:31 2009 From: fbar at footils.org (Frank Barknecht) Date: Fri, 17 Apr 2009 16:32:31 +0200 Subject: [CM] admin tasks In-Reply-To: <20090417141908.M52626@ccrma.Stanford.EDU> References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> <20090417135556.GB22543@footils.org> <20090417141908.M52626@ccrma.Stanford.EDU> Message-ID: <20090417143231.GA23031@footils.org> Hallo, Bill Schottstaedt hat gesagt: // Bill Schottstaedt wrote: > > What if CCRMA could host e.g. a Trac-site? > > I don't know about Trac -- will check it out. Someone else > suggested Google Code. Google code may later get the same problems as Sourceforge. :) Trac http://trac.edgewall.org/ would be a solution where you - or Nando :) - set up your own project management site. Example sites: pure:dyne http://code.goto10.org/projects/puredyne/, we at RjDj use it: http://trac.rjdj.me and even the Sourceforge uses the Trac wiki component for Docs now: http://apps.sourceforge.net/trac/sourceforge/wiki It comes with all Linux distributions incl. Fedora, so it shouldn't be too complicated to set it up (I've never done it myself, so I'm just speculating here) Ciao -- Frank From sgsofia at myuw.net Fri Apr 17 10:37:54 2009 From: sgsofia at myuw.net (sal g sofia) Date: Fri, 17 Apr 2009 10:37:54 -0700 (PDT) Subject: [CM] admin tasks In-Reply-To: <20090417105918.M14208@ccrma.Stanford.EDU> References: <20090417105918.M14208@ccrma.Stanford.EDU> Message-ID: I hate them too... it is all about money. Tarball at ccrma is fine with me. Regards, --Sal On Fri, 17 Apr 2009, Bill Schottstaedt wrote: > I hate sourceforge! Every time I try to update a version of Snd, they've > changed their crappy interface to something even more opaque, and > it takes me 30 minutes to figure out that "download" means "add release" > or whatever. And all that time, their disgusting advertising is running -- > freshmeat is even worse! I'm seriously thinking of pulling out of > both since this has sent my blood pressure to near-stroke levels. > > Would it be so bad if Snd was just a tarball at ccrma? > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From nando at ccrma.Stanford.EDU Sat Apr 18 01:35:15 2009 From: nando at ccrma.Stanford.EDU (Fernando Lopez-Lezcano) Date: Sat, 18 Apr 2009 01:35:15 -0700 Subject: [CM] admin tasks In-Reply-To: <20090417141908.M52626@ccrma.Stanford.EDU> References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> <20090417135556.GB22543@footils.org> <20090417141908.M52626@ccrma.Stanford.EDU> Message-ID: <1240043715.9120.2.camel@localhost.localdomain> On Fri, 2009-04-17 at 07:19 -0700, Bill Schottstaedt wrote: > > What if CCRMA could host e.g. a Trac-site? > > I don't know about Trac -- will check it out. Someone else > suggested Google Code. I've looked at trac before and we could install it (when we switch to the new server - coming soon). As far as I can remember it was not that easy to have more than one project in it which would be nice, has that changed? (question to those who know in the list). -- Fernando From b0ef at esben-stien.name Sat Apr 18 06:27:31 2009 From: b0ef at esben-stien.name (Esben Stien) Date: Sat, 18 Apr 2009 15:27:31 +0200 Subject: [CM] admin tasks In-Reply-To: <20090417105918.M14208@ccrma.Stanford.EDU> (Bill Schottstaedt's message of "Fri, 17 Apr 2009 04:02:46 -0700") References: <20090417105918.M14208@ccrma.Stanford.EDU> Message-ID: <87zleexfb0.fsf@quasar.esben-stien.name> "Bill Schottstaedt" writes: > I hate sourceforge! Every time I try to update a version of Snd, they've > changed their crappy interface to something even more opaque How about savannah?. -- Esben Stien is b0ef at e s a http://www. s t n m irc://irc. b - i . e/%23contact sip:b0ef@ e e jid:b0ef@ n n From brickle at pobox.com Sat Apr 18 06:16:57 2009 From: brickle at pobox.com (Frank Brickle) Date: Sat, 18 Apr 2009 09:16:57 -0400 Subject: [CM] admin tasks In-Reply-To: <1240043715.9120.2.camel@localhost.localdomain> References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> <20090417135556.GB22543@footils.org> <20090417141908.M52626@ccrma.Stanford.EDU> <1240043715.9120.2.camel@localhost.localdomain> Message-ID: On Sat, Apr 18, 2009 at 4:35 AM, Fernando Lopez-Lezcano < nando at ccrma.stanford.edu> wrote: > I've looked at trac before and we could install it (when we switch to > the new server - coming soon). As far as I can remember it was not that > easy to have more than one project in it which would be nice, has that > changed? (question to those who know in the list). GNU Radio and its auxilary CGRAN < https://www.cgran.org> both use trac. GNU Radio is big, with a lot of developer branches; CGRAN is getting pretty big too, supporting 13 different projects. Everybody involved is pretty happy with them, I think. Frank -- You know, I've always had an idea that my retirement would be the greatest contribution to science that mankind has ever known. -- Cap. Jeffrey T. Spalding -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Sat Apr 18 14:17:57 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sat, 18 Apr 2009 14:17:57 -0700 Subject: [CM] admin tasks In-Reply-To: <87zleexfb0.fsf@quasar.esben-stien.name> References: <20090417105918.M14208@ccrma.Stanford.EDU> <87zleexfb0.fsf@quasar.esben-stien.name> Message-ID: <20090418211054.M83684@ccrma.Stanford.EDU> > How about savannah?. Hmmm. I don't need mailing lists, web sites, bug tracking, mirrors.... And (it will sound very strange for me to say this but) I trust the Gnu people even less than Google. I've never liked the "freedom" chant: "By choosing Savannah, you show that you value your freedom". If we can set up something at ccrma, that would almost certainly be best for me, although an added burden for poor Fernando. I'll have to learn how to make a wiki page! From b0ef at esben-stien.name Sat Apr 18 19:04:09 2009 From: b0ef at esben-stien.name (Esben Stien) Date: Sun, 19 Apr 2009 04:04:09 +0200 Subject: [CM] admin tasks In-Reply-To: <20090418211054.M83684@ccrma.Stanford.EDU> (Bill Schottstaedt's message of "Sat, 18 Apr 2009 14:17:57 -0700") References: <20090417105918.M14208@ccrma.Stanford.EDU> <87zleexfb0.fsf@quasar.esben-stien.name> <20090418211054.M83684@ccrma.Stanford.EDU> Message-ID: <87skk5v1pi.fsf@quasar.esben-stien.name> "Bill Schottstaedt" writes: > And (it will sound very strange for me to say this but) I trust the > Gnu people even less than Google. Yeah, that sounds strange.. > I don't need mailing lists, web sites, bug tracking, mirrors.... A bug tracker would be nice. > I'll have to learn how to make a wiki page! Yeah, that'll definitely be nice. -- Esben Stien is b0ef at e s a http://www. s t n m irc://irc. b - i . e/%23contact sip:b0ef@ e e jid:b0ef@ n n From pedro.kroger at gmail.com Sun Apr 19 10:25:21 2009 From: pedro.kroger at gmail.com (Pedro =?utf-8?Q?Kr=C3=B6ger?=) Date: Sun, 19 Apr 2009 10:25:21 -0700 Subject: [CM] admin tasks In-Reply-To: <1240043715.9120.2.camel@localhost.localdomain> (Fernando Lopez-Lezcano's message of "Sat, 18 Apr 2009 01:35:15 -0700") References: <20090417105918.M14208@ccrma.Stanford.EDU> <49E86425.20102@woh.rr.com> <2eb2318a0904170650o24377c15p2bcc92fc0106be4f@mail.gmail.com> <20090417135556.GB22543@footils.org> <20090417141908.M52626@ccrma.Stanford.EDU> <1240043715.9120.2.camel@localhost.localdomain> Message-ID: <87iql0sghq.fsf@gmail.com> Fernando Lopez-Lezcano writes: > I've looked at trac before and we could install it (when we switch to > the new server - coming soon). As far as I can remember it was not that > easy to have more than one project in it which would be nice, has that > changed? (question to those who know in the list). It's not convenient to have multiple projects with trac, you can see for yourself in the documentation [1]. I switched from trac to redmine [2] specially because of redmine's support for multiple projects. In redmine you use the web interface to add a new project; easy and fast :-) Pedro Footnotes: [1] http://trac.edgewall.org/wiki/TracMultipleProjects [2] http://www.redmine.org/ From benmca at gmail.com Sun Apr 19 23:48:27 2009 From: benmca at gmail.com (Ben McAllister) Date: Sun, 19 Apr 2009 23:48:27 -0700 Subject: [CM] CM3 on Mac OS 10.5 Message-ID: <860f9f110904192348p4798b9f5neb1c076413f3f135@mail.gmail.com> Hi All - Question: In the past I've passed CM 1.x lisp files from the command line on windows without problems. lisp.exe (or clisp.exe) takes a filename as argument and evauates the file, i.e. lisp.exe test.lisp I've recently moved to Mac and am trying to do the same with CM3. i.e you cannot pass the mac 'cm' binary a file to evaluate i.e. cm test.lisp Hopefully I'm missing something obvious - Thanks for any advice you may have! Ben McAllister -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Mon Apr 20 03:17:10 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 20 Apr 2009 05:17:10 -0500 Subject: [CM] new: cm3 command line options Message-ID: > I've recently moved to Mac and am trying to do the same with CM3. > i.e you cannot pass the mac 'cm' binary a file to evaluate i.e. actually i added command line options to the cm app this past weekend, including --load, --eval and --batch options. you can provide multiple --eval and --load options, they are processes in a left-to- right manner. here is the set i have so far: hkt$ cm --help Usage: cm [options] options: --version print version and exit --help print help and exit --load load file --eval evaluate expression --batch process options and exit --quiet don't print startup banner i also completly rewrote the read-loop, it now handles multi-line input much better. if you are using the cm console app you should definately do a svn update. i removed the 'q' option for quitting, use the (quit) function to quit instead. From alrefi at ibest.com.br Mon Apr 20 04:57:57 2009 From: alrefi at ibest.com.br (Alexandre Ficagna) Date: Mon, 20 Apr 2009 08:57:57 -0300 Subject: [CM] Snd 10.5 In-Reply-To: References: <20090417104145.M3162@ccrma.Stanford.EDU> Message-ID: <3d37741d0904200457k6564e1efpd327f879626731ab@mail.gmail.com> How about the version that comes in the Ubuntu repository (snd 7.18)? I've tried version 10-5 but the graphical interface didn't show up, either with motif and gtk option. 2009/4/17 Heinrich Taube > > > > With Kjetil's help, s7 is more than twice as fast now in s7test. > > this is great, thanks kjetil! > > > > I hate sourceforge! Every time I try to update a version of Snd, > > they've > > or ask nando to set up a cvs repository for you at ccrma? that way you > can keep versioning and backup. but tarball is fine with me! > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > -- www.myspace.com/alexandreficagna -------------- next part -------------- An HTML attachment was scrubbed... URL: From alrefi at ibest.com.br Mon Apr 20 05:00:34 2009 From: alrefi at ibest.com.br (Alexandre Ficagna) Date: Mon, 20 Apr 2009 09:00:34 -0300 Subject: [CM] Example error in common music dictionary In-Reply-To: <3d37741d0904101258s52bc73aao6e70fda639f99da6@mail.gmail.com> References: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> <8E9C980C-10BC-4361-ACB3-B9CAE5657055@uiuc.edu> <3d37741d0904081128j73fec7fdq40efc93a17c6b576@mail.gmail.com> <3d37741d0904101258s52bc73aao6e70fda639f99da6@mail.gmail.com> Message-ID: <3d37741d0904200500l1864348ag6202f883ad987dc0@mail.gmail.com> Does somebody found something? 2009/4/10 Alexandre Ficagna > Sorry, I forgot the example: > > (define (play-pats pats trope reps rate) > (process with dur = (* rate 2.5) > > repeat reps > for len = (pick 8 12 16) > for pat = (make-instance (next pats) > > :keynums trope > :for len) > each k in (next pat #t) as x from 0 by rate > > output (new midi :time (+ (now) x) > > :keynum k > :duration dur) > wait (* rate len))) > > ;;; a pattern of pattern class names > > (define pcns > (new weighting :of '((heap :weight 2) line cycle > > palindrome rotation)) > > (events (play-pats pcns '(a4 b c5 d) 12 .1) "test.mid") > => "test.mid" > > The error messages listed before occurs when evaluating "play-pats". > > 2009/4/8 Alexandre Ficagna > > Here they are: >> >> /\\\ >> ---\\\--------- >> ----\\\-------- >> ----/\\\------- Common Music 2.11.3 >> ---/--\\\------ >> --/----\\\----- >> / \\\/ >> >> >> OK >> OK; in: LAMBDA NIL >> ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) CM::REPEAT CM::REPS >> CM::FOR >> ; CM::LEN = (CM:PICK 8 12 16) CM::FOR ...) >> >> ; >> ; caught ERROR: >> ; (in macroexpansion of (PROCESS WITH DUR ...)) >> ; (hint: For more precise location, try *BREAK-ON-SIGNALS*.) >> ; illegal loop syntax >> >> ; (SB-INT:NAMED-LAMBDA CM::PLAY-PATS (CM::PATS CM::TROPE CM::REPS >> CM::RATE) >> ; (BLOCK CM::PLAY-PATS >> ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE 2.5) >> ; CM::REPEAT CM::REPS CM::FOR CM::LEN >> = >> ; (CM:PICK 8 12 16) CM::FOR ...))) >> >> ; ==> >> ; #'(SB-INT:NAMED-LAMBDA CM::PLAY-PATS (CM::PATS CM::TROPE CM::REPS >> CM::RATE) >> ; (BLOCK CM::PLAY-PATS >> ; (CM:PROCESS CM::WITH CM::DUR = (* CM::RATE >> 2.5) >> ; CM::REPEAT CM::REPS CM::FOR >> CM::LEN = >> ; (CM:PICK 8 12 16) CM::FOR ...))) >> ; >> ; caught STYLE-WARNING: >> ; The variable PATS is defined but never used. >> >> ; >> ; caught STYLE-WARNING: >> ; The variable TROPE is defined but never used. >> >> ; >> ; caught STYLE-WARNING: >> ; The variable REPS is defined but never used. >> >> ; >> ; caught STYLE-WARNING: >> ; The variable RATE is defined but never used. >> ; >> ; compilation unit finished >> ; caught 1 ERROR condition >> ; caught 4 STYLE-WARNING conditions >> >> LOOP ERROR: 'each' does not support initializations. >> clause context: 'EACH K IN (NEXT PAT T)' >> >> STYLE-WARNING: redefining PLAY-PATS in DEFUN >> >> OK >> >> 2009/4/8 Heinrich Taube >> >> can you please send me the full code example? also tell me what version of >>> cm you are using. >>> >>> >>> On Apr 7, 2009, at 5:48 PM, Alexandre Ficagna wrote: >>> >>> Hy, >>>> >>>> I was studying Patterns topic in CM2 and got errors trying to do Example >>>> 3 (Creating patterns programatically). >>>> Part of the error message says: >>>> >>>> LOOP ERROR: 'each' does not support initializations. >>>> clause context: 'EACH K IN (NEXT PAT T)' >>>> >>>> I tried many things (actually I'm a beginner, so it complicates a lot), >>>> and it did work when I substituted line: >>>> each k in (next pat #t) as x from 0 by rate >>>> >>>> by these two lines: >>>> for x from 0 by rate >>>> each k in (next pat #t) >>>> the console gave me no error messages, by I think the sound result was >>>> not the expected (it should vary each evaluation, but keeps the same). >>>> >>>> How can I correct this? >>>> >>>> Thanks. >>>> Alexandre Ficagna >>>> -- >>>> www.myspace.com/alexandreficagna >>>> _______________________________________________ >>>> Cmdist mailing list >>>> Cmdist at ccrma.stanford.edu >>>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >>>> >>> >>> >> >> >> -- >> www.myspace.com/alexandreficagna >> > > > > -- > www.myspace.com/alexandreficagna > -- www.myspace.com/alexandreficagna -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Mon Apr 20 05:11:47 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 20 Apr 2009 07:11:47 -0500 Subject: [CM] Example error in common music dictionary In-Reply-To: <3d37741d0904200500l1864348ag6202f883ad987dc0@mail.gmail.com> References: <3d37741d0904071548x79284a10u4713b0513337553d@mail.gmail.com> <8E9C980C-10BC-4361-ACB3-B9CAE5657055@uiuc.edu> <3d37741d0904081128j73fec7fdq40efc93a17c6b576@mail.gmail.com> <3d37741d0904101258s52bc73aao6e70fda639f99da6@mail.gmail.com> <3d37741d0904200500l1864348ag6202f883ad987dc0@mail.gmail.com> Message-ID: <0FAB9046-2C9B-42A4-BAA3-C7C8485080E6@uiuc.edu> sorry this fell of my plate, ill look at it tonight. On Apr 20, 2009, at 7:00 AM, Alexandre Ficagna wrote: > Does somebody found something? > > 2009/4/10 Alexandre Ficagna > Sorry, I forgot the example: > > From bil at ccrma.Stanford.EDU Mon Apr 20 05:36:30 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 20 Apr 2009 05:36:30 -0700 Subject: [CM] Snd 10.5 In-Reply-To: <3d37741d0904200457k6564e1efpd327f879626731ab@mail.gmail.com> References: <20090417104145.M3162@ccrma.Stanford.EDU> <3d37741d0904200457k6564e1efpd327f879626731ab@mail.gmail.com> Message-ID: <20090420122954.M28782@ccrma.Stanford.EDU> > How about the version that comes in the Ubuntu repository (snd 7.18)? If it's like other such repositories, some ubuntu developer has to take responsibility for it. I have no connection with ubuntu. > I've tried version 10-5 but the graphical interface didn't show up, either with motif and gtk option. Send me (not cmdist) mus-config.h and config.log, and I'll try to see what went wrong. From benmca at gmail.com Mon Apr 20 11:29:00 2009 From: benmca at gmail.com (Ben McAllister) Date: Mon, 20 Apr 2009 11:29:00 -0700 Subject: [CM] new: cm3 command line options In-Reply-To: References: Message-ID: <860f9f110904201129g7bd24b30p941d2176d610f1b2@mail.gmail.com> Hi - Build went very smoothly. However, I'm getting an error trying to load a file: william-mcallisters-macbook-pro:bin ben$ ./cm --load ../../../../Documents/csound/test.lisp JUCE v1.46 JUCE v1.46 (c) 2009 Julian Storer SndLib 20.11 (c) 2009 William Schottstaedt /\\\ ---\\\--------- ----\\\-------- ----/\\\------- Common Music 3.2.4 ---/--\\\------ --/----\\\----- / \\\/ ;io-error open-input-file: can't open /Applications/cm/src/cm.lisp, ../../../../Documents/csound/test.lisp[2] io-error cm> Any ideas? Thanks! b On Mon, Apr 20, 2009 at 3:17 AM, Heinrich Taube wrote: > I've recently moved to Mac and am trying to do the same with CM3. i.e you >> cannot pass the mac 'cm' binary a file to evaluate i.e. >> > > actually i added command line options to the cm app this past weekend, > including --load, --eval and --batch options. you can provide multiple > --eval and --load options, they are processes in a left-to-right manner. > here is the set i have so far: > > hkt$ cm --help > Usage: cm [options] > options: > --version print version and exit > --help print help and exit > --load load file > --eval evaluate expression > --batch process options and exit > --quiet don't print startup banner > > i also completly rewrote the read-loop, it now handles multi-line input > much better. if you are using the cm console app you should definately do a > svn update. i removed the 'q' option for quitting, use the (quit) function > to quit instead. > > > -- Listen Faster: http://www.listenfaster.com - audio, film and technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Mon Apr 20 15:28:46 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 20 Apr 2009 17:28:46 -0500 Subject: [CM] new: cm3 command line options In-Reply-To: <860f9f110904201129g7bd24b30p941d2176d610f1b2@mail.gmail.com> References: <860f9f110904201129g7bd24b30p941d2176d610f1b2@mail.gmail.com> Message-ID: loading works for me, are you sure the file exists and it has scheme code in it?? hkt$ echo "(define foo 123)" >> /tmp/foo.scm hkt$ cm --load "/tmp/foo.scm" --eval "(list foo foo)" --batch --quiet foo(123 123)Bye! hkt$ try using the absolute path to the file, maybe thats the problem. also try enclosing the file in "" as i did On Apr 20, 2009, at 1:29 PM, Ben McAllister wrote: > Hi - > > Build went very smoothly. However, I'm getting an error trying to > load a file: > > william-mcallisters-macbook-pro:bin ben$ ./cm --load ../../../../ > Documents/csound/test.lisp > JUCE v1.46 > JUCE v1.46 (c) 2009 Julian Storer > SndLib 20.11 (c) 2009 William Schottstaedt > /\\\ > ---\\\--------- > ----\\\-------- > ----/\\\------- Common Music 3.2.4 > ---/--\\\------ > --/----\\\----- > / \\\/ > > ;io-error open-input-file: can't open /Applications/cm/src/ > cm.lisp, ../../../../Documents/csound/test.lisp[2] > io-error > cm> > > Any ideas? > > Thanks! > b > > On Mon, Apr 20, 2009 at 3:17 AM, Heinrich Taube > wrote: > I've recently moved to Mac and am trying to do the same with CM3. > i.e you cannot pass the mac 'cm' binary a file to evaluate i.e. > > actually i added command line options to the cm app this past > weekend, including --load, --eval and --batch options. you can > provide multiple --eval and --load options, they are processes in a > left-to-right manner. here is the set i have so far: > > hkt$ cm --help > Usage: cm [options] > options: > --version print version and exit > --help print help and exit > --load load file > --eval evaluate expression > --batch process options and exit > --quiet don't print startup banner > > i also completly rewrote the read-loop, it now handles multi-line > input much better. if you are using the cm console app you should > definately do a svn update. i removed the 'q' option for quitting, > use the (quit) function to quit instead. > > > > > > -- > Listen Faster: http://www.listenfaster.com - audio, film and > technology > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Tue Apr 21 04:03:16 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Tue, 21 Apr 2009 06:03:16 -0500 Subject: [CM] keyboard triggers Message-ID: <30C1B378-BFF5-4BD2-B700-5F9DED45FC5D@uiuc.edu> forgot to mention in the last post that svn trunk also has Keyboard triggers working on editor buffers, screenshot here: http://sourceforge.net/project/screenshots.php?group_id=9766 From benmca at gmail.com Wed Apr 22 10:05:39 2009 From: benmca at gmail.com (Ben McAllister) Date: Wed, 22 Apr 2009 10:05:39 -0700 Subject: [CM] new: cm3 command line options In-Reply-To: References: <860f9f110904201129g7bd24b30p941d2176d610f1b2@mail.gmail.com> Message-ID: <860f9f110904221005w21f965a0vb089718119a11ac7@mail.gmail.com> Got it - thanks! I blindly took the Common Music 3 sample from the program (Steven Yi's blue) I'm trying to integrate CM3 with, which is in lisp, not scheme, oddly. Thanks again for the help. b On Mon, Apr 20, 2009 at 3:28 PM, Heinrich Taube wrote: > loading works for me, are you sure the file exists and it has scheme code > in it?? > > hkt$ echo "(define foo 123)" >> /tmp/foo.scm > > hkt$ cm --load "/tmp/foo.scm" --eval "(list foo foo)" --batch --quiet > foo(123 123)Bye! > hkt$ > > > try using the absolute path to the file, maybe thats the problem. also try > enclosing the file in "" as i did > > > > On Apr 20, 2009, at 1:29 PM, Ben McAllister wrote: > > Hi - >> >> Build went very smoothly. However, I'm getting an error trying to load a >> file: >> >> william-mcallisters-macbook-pro:bin ben$ ./cm --load >> ../../../../Documents/csound/test.lisp >> JUCE v1.46 >> JUCE v1.46 (c) 2009 Julian Storer >> SndLib 20.11 (c) 2009 William Schottstaedt >> /\\\ >> ---\\\--------- >> ----\\\-------- >> ----/\\\------- Common Music 3.2.4 >> ---/--\\\------ >> --/----\\\----- >> / \\\/ >> >> ;io-error open-input-file: can't open /Applications/cm/src/cm.lisp, >> ../../../../Documents/csound/test.lisp[2] >> io-error >> cm> >> >> Any ideas? >> >> Thanks! >> b >> >> On Mon, Apr 20, 2009 at 3:17 AM, Heinrich Taube wrote: >> I've recently moved to Mac and am trying to do the same with CM3. i.e you >> cannot pass the mac 'cm' binary a file to evaluate i.e. >> >> actually i added command line options to the cm app this past weekend, >> including --load, --eval and --batch options. you can provide multiple >> --eval and --load options, they are processes in a left-to-right manner. >> here is the set i have so far: >> >> hkt$ cm --help >> Usage: cm [options] >> options: >> --version print version and exit >> --help print help and exit >> --load load file >> --eval evaluate expression >> --batch process options and exit >> --quiet don't print startup banner >> >> i also completly rewrote the read-loop, it now handles multi-line input >> much better. if you are using the cm console app you should definately do a >> svn update. i removed the 'q' option for quitting, use the (quit) function >> to quit instead. >> >> >> >> >> >> -- >> Listen Faster: http://www.listenfaster.com - audio, film and technology >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >> > > -- Listen Faster: http://www.listenfaster.com - audio, film and technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Wed Apr 22 10:34:54 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Wed, 22 Apr 2009 12:34:54 -0500 Subject: [CM] new GraceCL In-Reply-To: <49EED1A4.40103@yahoo.com> References: <49EED1A4.40103@yahoo.com> Message-ID: <7526E535-9A01-4B57-ADB8-4541892BD00B@uiuc.edu> Ive fixed these bugs in svn trunk. If you have msys and mingw it should be "easy" to compile the grace app on windows premake --verbose --target gnu --sndlib ../sndlib make gracecl note that you would have to install sndlib so the build script is happy but you wouldnt have to compile it -- although this is easy and worthwhile too -- unless you want to also use grace (cm3/sndlib) in addition to gracecl On Apr 22, 2009, at 3:13 AM, Joel Matthys wrote: > Hello Dr. Taube. Just a quick bug report on GraceCL on Windows: > > "Load file" and "Compile file" do not work, apparently because Grace > doesn't recognize Windows' backslash file format. I get the > following error: > > >>> Error: LOAD: A file with name C:Documents and SettingsJoel > MatthysDesktopjmatthysmtm.lisp does not exist > > This wasn't a problem on the early versions of GraceCL; I'm sure > it's an easy fix. > > Thanks for continuing to maintain GraceCL. > > Joel > > Heinrich Taube wrote: >> cm trunk now builds a newly implemented GraceCL app that supports >> the Common Music 2 branch. I will be able to maintain and >> improve it along with Grace and Cm3 because its really just an >> additional file and a -D compiler switch! obviously there is no >> Audio menu or realtime scheduler , its a replacement for working >> with CM2 in emacs/ slime. >> >> To try it out: >> >> (1) download a beta executable: >> mac: http://camil.music.uiuc.edu/Software/grace/downloads/GraceCL-3.2.4a-x86-leopard.zip >> windows: http://camil.music.uiuc.edu/Software/grace/downloads/GraceCL-3.2.4a-win32.zip >> linux: http://camil.music.uiuc.edu/Software/grace/downloads/GraceCL-3.2.4a-linux.zip >> >> (2) install the latest cm2 (required): >> >> svn co https://commonmusic.svn.sf.net/svnroot/commonmusic/ >> branches/ cm2 cm2 >> >> (3) Start GraceCL, use File>Configure Lisp... to specify your lisp >> exe (either sbcl or clisp) and your cm2 installation directory, >> then File>Start Lisp to start it running. then open a lisp file >> and eval away. it seems to be working on windows linux and mac. >> >> >> >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >> >> > > From tbaruchel at laposte.net Wed Apr 29 12:35:03 2009 From: tbaruchel at laposte.net (Thomas Baruchel) Date: Wed, 29 Apr 2009 21:35:03 +0200 Subject: [CM] [newbie] Is CLM the right tool for me? Message-ID: <49F8ABE7.9030506@laposte.net> Hi, after almost twenty years of interruption, I am now trying to compose music again, and I currently look at all Linux software in order to find the best one for me. I am mostly interested by scripted languages; I must say that my favorite programming language is Scheme. What I want is something that would allow me to focus on composition as well as on the sound of each note. I am trying to undertand what is the best for me between csound, cml, nyquist, etc. I am composing serial-music; short pieces with few notes, but each one has to be exactly what I want. In the beginning I will surely not be able to build my own instruments; I need to already have some good ones. A community with resources and collections of ready-to-use instruments would be a good thing, but I noticed that snd comes with read-to-use instruments. In the beginning I need "acoustic" classical instruments rather than electronic sounds (but I may later need them). I am quite interested by the idea of "physical modelling" and I tried the piano, but the first test is not enough to let me know if it is usable for getting some nice to listen to MP3. Piano, violin, organ, would be my first need. The Scheme version of CLM seems to be very close to what I am looking for, but I couldn't understand if the score-part suits my needs. I compose slowly with few notes; I can accept that one note takes some time to be typed, but I absolutely need to produce some contrapunctical combinations, with several notes at the same time, one long note while several short notes (including rests) occur, etc. Could you give me an example of how you would get such a combination with the scheme-piano instrument? (say for instance: a long C while a short D occur then a short rest then a short E, and then both the initial C and the E finish together). What if another instrument (say a violin) plays at the same time? Is it possible? Assuming that I don't have what the instrument I need, can clm handle soundfiles? Can I get a CD-wav quality output 44100 Hz for converting to a high-quality MP3? Best regards, TB. From bil at ccrma.Stanford.EDU Thu Apr 30 04:07:41 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 30 Apr 2009 04:07:41 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <49F8ABE7.9030506@laposte.net> References: <49F8ABE7.9030506@laposte.net> Message-ID: <20090430110410.M36130@ccrma.Stanford.EDU> yes, clm can handle sound files and generate CD quality output. To see if it's what you want, just play around with it. I believe it is possible to generate both long and short notes. From taube at uiuc.edu Thu Apr 30 09:36:35 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Thu, 30 Apr 2009 11:36:35 -0500 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <49F8ABE7.9030506@laposte.net> References: <49F8ABE7.9030506@laposte.net> Message-ID: <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> > Could you give me an > example of how you would get such a combination with the scheme-piano > instrument? (say for instance: a long C while a short D occur then a > short rest then a short E, and then both the initial C and the E > finish > together). What if another instrument (say a violin) plays at the same > time? Is it possible? Here is an example of what you want. but the piano seems really slow to me, on my machine this 3 second example takes 28 seconds to compute! (load "piano.scm") (load "v.scm") (with-sound () (fm-violin 0 3 (hz 'ef6) .2 :gliss-env '(0 0 .25 0 1 1) :glissando- amount .5) (p 1 :duration 2 :keyNum (key 'c4)) (p 2 :duration .25 :keyNum (key 'd6)) (p 2.666 :duration .333 :keyNum (key 'e2)) ) From bil at ccrma.Stanford.EDU Thu Apr 30 10:13:47 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 30 Apr 2009 10:13:47 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> Message-ID: <20090430171137.M30400@ccrma.Stanford.EDU> > but the piano seems really slow The optimizer is unhappy about the vector of closures -- if string1-stiffness were a vector of clm generators instead, it would probably run at normal speed. You can ask the run macro to tell you why it gives up by setting the optimization-hook: (add-hook! optimization-hook (lambda (n) (snd-display "opt: ~A~%" n))) From taube at uiuc.edu Thu Apr 30 11:24:03 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Thu, 30 Apr 2009 13:24:03 -0500 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <20090430171137.M30400@ccrma.Stanford.EDU> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> Message-ID: <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> maybe this is only snd? this is what happens in sndlib: (add-hook! optimization-hook (lambda (n) (format #t "opt: ~A~%" n))) ; error optimization-hook: unbound variable but actually ... would it be possible to have a way to convert a (define-instrument ...) into .C source code string? it wouldnt have to compile anything like clm3 -- but just blast out C code that i could compile and link statically by hand when i build my app. i could also be respobsible for generateing the scheme wrapper for it if need be. that would be the best of both worlds, i love the fact that i can run interpreted but to do a long piece it still seems generally too slow (btw im not complaining, its amazing to me that i can do this at all!) . with a c code generator, I could still run interpreted while building/testing instruemtns or making shortish examples (i use sndlib daily for my acoustics class) but then -- for instruemnts that are fixed -- i could simply generate its c code and then compile link to its .o code when build the app. > > The optimizer is unhappy about the vector of closures -- if string1- > stiffness > were a vector of clm generators instead, it would probably run at > normal > speed. You can ask the run macro to tell you why it gives up by > setting > the optimization-hook: > > (add-hook! optimization-hook (lambda (n) (snd-display "opt: ~A~%" n))) > > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From bil at ccrma.Stanford.EDU Thu Apr 30 13:38:46 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 30 Apr 2009 13:38:46 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> Message-ID: <20090430203735.M75855@ccrma.Stanford.EDU> > ; error optimization-hook: unbound variable I'm not sure why I had it commented out in the sndlib case -- it's now in the sndlib tarball at ccrma ftp.