From taube at uiuc.edu Sun Oct 4 12:15:22 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 4 Oct 2009 14:15:22 -0500 Subject: [CM] Chorale Composer 1.0 Message-ID: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> Chorale Composer 1.0 is available for download, here is the homepage where you can download the app and also read about it. http://camil.music.uiuc.edu/software/choralecomposer/ in a nutshell: Chorale Composer is a juce appt that lets university students practice music theory with automatic feedback . it also lets teachers generate homework, keys, and pratice templates. You can download example student templates from the Courses section on the homepage, there is also a demo teacher template (xml) you can download as well. Chorale Composer is also great app to use to learn about the Bach Chorales! Almost all of them are there, if you just double click the app without any exercise the app opens the bach chorale book. its important to understand that the app is analyzing music on the fly, that is , when you are looking at a choral, for example, the theory line and non-harmonic tone identification is computed and displayed in real time (try dragging notes around to see). the analysis is blindingly fast, it will do the entire bach chorales in under 3 seconds. If you want to see "annotations" that the app can add to the music you can turn them on in the View menu, then hover your mouse over the labels to read more. this is release 1.0 so there are sure to be bugs. that said, we have worked very hard to make 1.0 pedagogically useful, with a clean, minimalist GUI that we hope people will find visually pleasing and fun to work with. hopefully the app is self-documenting (assuming you understand music theory); you can use the Help menu to read explanations of various features and also send us feedback best, Rick Taube Andrew Burnson Rachel Mitchell School of Music University of Illinois Urbana, IL 61821 From ja.lira0 at gmail.com Sun Oct 18 07:50:02 2009 From: ja.lira0 at gmail.com (James) Date: Sun, 18 Oct 2009 10:50:02 -0400 Subject: [CM] Chorale Composer 1.0 In-Reply-To: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> References: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> Message-ID: Is it still possible to run on Linux as of ver 1.0? I don't see a download link for the Linux version. James On Sun, Oct 4, 2009 at 3:15 PM, Heinrich Taube wrote: > Chorale Composer 1.0 is available for download, here is the homepage > where you can download the app and also read about it. > > http://camil.music.uiuc.edu/software/choralecomposer/ > > in a nutshell: Chorale Composer is a juce appt that lets university > students practice music theory with automatic feedback . it also lets > teachers generate homework, keys, and pratice templates. You can > download example student templates from the Courses section on the > homepage, there is also a demo teacher template (xml) you can download > as well. > > Chorale Composer is also great app to use to learn about the Bach > Chorales! Almost all of them are there, if you just double click the > app without any exercise the app opens the bach chorale book. > > its important to understand that the app is analyzing music on the > fly, that is , when you are looking at a choral, for example, the > theory line and non-harmonic tone identification is computed and > displayed in real time (try dragging notes around to see). the > analysis is blindingly fast, it will do the entire bach chorales in > under 3 seconds. If you want to see "annotations" that the app can > add to the music you can turn them on in the View menu, then hover > your mouse over the labels to read more. > > this is release 1.0 so there are sure to be bugs. that said, we have > worked very hard to make 1.0 pedagogically useful, with a clean, > minimalist GUI that we hope people will find visually pleasing and fun > to work with. hopefully the app is self-documenting (assuming you > understand music theory); you can use the Help menu to read > explanations of various features and also send us feedback > > best, > > Rick Taube > Andrew Burnson > Rachel Mitchell > > School of Music > University of Illinois > Urbana, IL 61821 > > > > _______________________________________________ > 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 bil at ccrma.Stanford.EDU Thu Oct 22 06:21:07 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 22 Oct 2009 06:21:07 -0700 Subject: [CM] Snd 11.0 Message-ID: <20091022131943.M57822@ccrma.Stanford.EDU> Snd 11.0 (with much help from Mike Scholz): regions, players, mixes, and marks are objects now, not ints integer->region, region->integer, integer->mix and mix->integer, integer->mark and mark->integer to convert old code mix, mix-region, and mix-selection return a list of mixes marks returns a list of marks in several region-related functions, the argument order has changed to put the region object first: insert-region, make-region-sampler, mix-region, region-sample, region->vct, region->frame, make-region-frame-reader sounds are objects, but integers are still ok integer->sound and sound->integer to convert old code. These changes make it possible to replace several dozen functions with generic functions: length handles list length, also string-length, vector-length, hash-table-size, vct-length, frames, mus-length, sound-data-length, mix-length, and region-frames. frames is similar but treats strings as sound file names, and ints as sound indices. srate handles strings (mus-sound-srate), regions (region-srate), and sounds. channels handles strings (mus-sound-chans), region-chans, sound-data-chans, mus-channels, mixes (always 1 channel), and sounds file-name handles strings, sounds, mixes, regions, samplers, generators, and (s7) scheme file ports. sync handles sync, mix-sync, and mark-sync. maxamp can handle a sound (via the regular maxamp function), string (treated as a sound file name, mus-sound-maxamp), generator (maxamp of the mus-data vct, if any), sound-data (sound-data-maxamp), vct (vct-peak), region (region-maxamp), vector, list, or mix object. all "sample-reader" and "sample_reader" names changed to "sampler". (the old names are defined in snd10.scm) make-sampler (formerly make-sample-reader) "snd" arg can be a mix object, returning a mix sampler. in s7 added procedure-environment and promise? removed export-all.scm, snd4.scm, snd5.scm, tools/sed-href, tools/lines.scm, and tools/check-gtk.scm. sine-summation, sum-of-sines, and sum-of-cosines removed (see snd10.scm). the run macro only works in s7. removed run-safety, *snd-loaded-files*, and *snd-remember-paths*. added clm.rb and grani.rb (thanks to Mike Scholz). checked: mpc 0.7, OSX 10.6, gtk 2.18.0|1|2|3, cmucl 20a, guile 1.9.4 Thanks!: Kjetil Matheussen, Mike Scholz From ugurguney at gmail.com Fri Oct 23 00:49:14 2009 From: ugurguney at gmail.com (=?UTF-8?B?VcSfdXIgR8O8bmV5?=) Date: Fri, 23 Oct 2009 10:49:14 +0300 Subject: [CM] Grace: Scheme and SAL differences Message-ID: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> # Dear list and Mr. Taube # I want to use Grace with Scheme rather than SAL. I am using version 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to convert them to Scheme code. But I think some SAL commands does not exist in Scheme version. Like: print "Hello, world!" -> (print "Hello, world!") # gives "print: unbound variable" error. I can just evaluate "Hello, world!" # or try (display "Hello, world!") # But the output of (display) is yellow, not green and does not have "\n" character at the end. print "my key number: ", between(60, 90) -> (display "my key number: " (between 60 90)) # gives "display argument 2, 66, is an integer, but should be an output port" error. I have to write (string-append "my key number: " (number->string (between 60 90))) # Another component I could not find (which is, I think, more important) is the loop macro. loop repeat 5 print "a random keynum: ", random(128) end ---> (loop repeat 5 (random 128)) # gives: >>> Error: Found 'repeat' where operator expected. clause context: 'repeat 5 (random 128)' # and loop for c in {a b c d e f g } print c end ---> (loop for c in '(a b c d e f g) (display c)) # gives: >>> Error: Expression expected but source code ran out. # Similarly, loop for x from 1 to 10 print "x=", x end ----> (loop for x from 1 to 10 x) # gives the same error. # Of course a recursive approach using car's and cdr's works. (define (play-chord chd) (if (not (equal? chd '())) (begin (send "mp:midi" :key (car chd)) (play-chord (cdr chd))))) (play-chord '(50 55 60)) # But I think that the loop macro is not implemented in Grace. Am I correct or making a mistake? # Best regards, -ugur guney- -------------- next part -------------- An HTML attachment was scrubbed... URL: From fliptop2 at yahoo.com Sat Oct 24 19:46:53 2009 From: fliptop2 at yahoo.com (James Long) Date: Sat, 24 Oct 2009 19:46:53 -0700 (PDT) Subject: [CM] stroke and grace In-Reply-To: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> References: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> Message-ID: <834993.58406.qm@web50012.mail.re2.yahoo.com> Hello list, I'm trying to use Grace with stroke, downloaded paint.scm from Rick Taube's website but when I try to load it into Grace, I get the message "error: end of input encountered while in a string: ... (load "c:\ paint.scm")... I've moved?the file?around, tried loading it with SAL... any ideas would be greatly appreciated. windows vista box core 2 duo tks, Jim Long in Taipei -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Sun Oct 25 05:05:32 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 25 Oct 2009 07:05:32 -0500 Subject: [CM] stroke and grace In-Reply-To: <834993.58406.qm@web50012.mail.re2.yahoo.com> References: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> <834993.58406.qm@web50012.mail.re2.yahoo.com> Message-ID: <7BF411AF-C874-45A0-92DD-E4D2804A1ED6@uiuc.edu> Did you load from the File menu or use a lisp statement? I know there is function missing that prevents the sal load statement from working in an edit buffer. i will try to make a bug fix release in the next two weeks to address this and some other issues that ive noticed from teaching. my apologies to those that have sent me mail the past month, ive been very busy with other work and cant find much time to look at cm problems. ill try to be more responsive but im still really busy... On Oct 24, 2009, at 9:46 PM, James Long wrote: > Hello list, > > I'm trying to use Grace with stroke, downloaded paint.scm from Rick > Taube's website but when I try to load it into Grace, I get the > message > > "error: end of input encountered while in a string: ... (load "c:\ > paint.scm")... > > I've moved the file around, tried loading it with SAL... > > any ideas would be greatly appreciated. > > windows vista box core 2 duo > > tks, > > Jim Long in Taipei > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Sun Oct 25 05:17:09 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 25 Oct 2009 07:17:09 -0500 Subject: [CM] Grace: Scheme and SAL differences In-Reply-To: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> References: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> Message-ID: On Oct 23, 2009, at 2:49 AM, U?ur G?ney wrote: > # Dear list and Mr. Taube > # I want to use Grace with Scheme rather than SAL. I am using > version 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to > convert them to Scheme code. But I think some SAL commands does not > exist in Scheme version. Like: > > print "Hello, world!" -> (print "Hello, world!") > # gives "print: unbound variable" error. I can just evaluate > "Hello, world!" > # or try > (display "Hello, world!") > # But the output of (display) is yellow, not green and does not have > "\n" character at the end. you can use s7's 'format' function. that function will both print the message to the terminal and return the string it printed: cm> (format #t "hello world~%") hello world "hello world " > print "my key number: ", between(60, 90) -> (display "my key number: > " (between 60 90)) > # gives "display argument 2, 66, is an integer, but should be an > output port" error. I have to write > (string-append "my key number: " (number->string (between 60 90))) (format #t "my key number: ~S~%" (between 60 90)) > # Another component I could not find (which is, I think, more > important) is the loop macro. > loop repeat 5 > print "a random keynum: ", random(128) > end > ---> > (loop repeat 5 > (random 128)) > # gives: >>> Error: Found 'repeat' where operator expected. > clause context: 'repeat 5 (random 128)' (loop repeat 5 do (format #t "a random keynum: ~S~%" (random 128)) > # and > > loop for c in {a b c d e f g } > print c > end > ---> > (loop for c in '(a b c d e f g) > (display c)) > # gives: >>> Error: Expression expected but source code ran out. > (loop for c in '(a b c d e f g) do (format #t "~S~%" c)) or better (loop for c in '(a b c d e f g) collect c) > # Similarly, > loop for x from 1 to 10 > print "x=", x > end > ----> > (loop for x from 1 to 10 > x) > # gives the same error. > (loop for i from 1 to 10 collect i) > # Of course a recursive approach using car's and cdr's works. > (define (play-chord chd) > (if (not (equal? chd '())) > (begin (send "mp:midi" :key (car chd)) > (play-chord (cdr chd))))) > (play-chord '(50 55 60)) (define (play-chord chd) (loop for x in chd do (send "mp:midi" :key x))) (play-chord '(50 55 60)) > # But I think that the loop macro is not implemented in Grace. Am I > correct or making a mistake? you're making mistakes (plural) ;) read the common lisp documentation on loop, most of it is supported. > # Best regards, > -ugur guney- > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From bil at ccrma.Stanford.EDU Sun Oct 25 08:20:17 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sun, 25 Oct 2009 08:20:17 -0700 Subject: [CM] stroke and grace In-Reply-To: <834993.58406.qm@web50012.mail.re2.yahoo.com> References: <9984727D-CDEC-47B0-81ED-52A76C1CBB5A@uiuc.edu> <834993.58406.qm@web50012.mail.re2.yahoo.com> Message-ID: <20091025151730.M27524@ccrma.Stanford.EDU> > "error: end of input encountered while in a string: ... (load "c:\ paint.scm")... Perhaps you meant two backslashes? "c:\\paint.scm". As it is above, it looks like a quoted space or something -- I can imagine trouble in this vicinity. (In Scheme, to get a backslash into a string constant, you have to quote it via backslash: "\\" is one backslash). :(string-length "\\") 1 From ugurguney at gmail.com Mon Oct 26 07:29:53 2009 From: ugurguney at gmail.com (=?UTF-8?B?VcSfdXIgR8O8bmV5?=) Date: Mon, 26 Oct 2009 16:29:53 +0200 Subject: [CM] Grace: Scheme and SAL differences In-Reply-To: References: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> Message-ID: <667f06560910260729n20d35627ia90df8b93f581bd0@mail.gmail.com> # Thank you very much! Now I understand the loop macro. I forgot "do" keywords. # And now I have another problem about sprouting process'. # This is the SAL example of a process: define process simple() run repeat 20 send "mp:midi", key: between(60, 96) wait .1 end sprout simple() # Every time I evaluate sprout line, grace plays midi notes. # And here is my Scheme version: (define simple2 (process repeat 20 do (send "mp:midi" :key (between 60 96)) (wait 0.1))) (sprout simple2) # The evaluation (by CTRL+Enter) of sprout line plays only for once. After that I have to evaluate the process definition again, to play it again. # I suspect that second evaluation does not create a new process but tries to use the old one. But I am not sure. Or I am making mistakes again :-) # Regards, v.u.g 2009/10/25 Heinrich Taube > > On Oct 23, 2009, at 2:49 AM, U?ur G?ney wrote: > > # Dear list and Mr. Taube >> # I want to use Grace with Scheme rather than SAL. I am using version >> 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to convert them to >> Scheme code. But I think some SAL commands does not exist in Scheme version. >> Like: >> >> print "Hello, world!" -> (print "Hello, world!") >> # gives "print: unbound variable" error. I can just evaluate >> "Hello, world!" >> # or try >> (display "Hello, world!") >> # But the output of (display) is yellow, not green and does not have "\n" >> character at the end. >> > > you can use s7's 'format' function. that function will both print the > message to the terminal and return the string it printed: > > > cm> (format #t "hello world~%") > hello world > "hello world > > " > > > print "my key number: ", between(60, 90) -> (display "my key number: " >> (between 60 90)) >> # gives "display argument 2, 66, is an integer, but should be an output >> port" error. I have to write >> (string-append "my key number: " (number->string (between 60 90))) >> > > (format #t "my key number: ~S~%" (between 60 90)) > > > > # Another component I could not find (which is, I think, more important) >> is the loop macro. >> loop repeat 5 >> print "a random keynum: ", random(128) >> end >> ---> >> (loop re peat 5 >> (random 128)) >> # gives: >>> Error: Found 're peat' where operator expected. >> clause context: 're peat 5 (random 128)' >> > > (loop repeat 5 do (format #t "a random keynum: ~S~%" (random 128)) > > > > # and >> >> loop for c in {a b c d e f g } >> print c >> end >> ---> >> (loop for c in '(a b c d e f g) >> (display c)) >> # gives: >>> Error: Expression expected but source code ran out. >> >> > (loop for c in '(a b c d e f g) do (format #t "~S~%" c)) > > or better > > (loop for c in '(a b c d e f g) collect c) > > > > # Similarly, >> loop for x from 1 to 10 >> print "x=", x >> end >> ----> >> (loop for x from 1 to 10 >> x) >> # gives the same error. >> >> > (loop for i from 1 to 10 collect i) > > > # Of course a recursive approach using car's and cdr's works. >> (define (play-chord chd) >> (if (not (equal? chd '())) >> (begin (send "mp:midi" :key (car chd)) >> (play-chord (cdr chd))))) >> (play-chord '(50 55 60)) >> > > (define (play-chord chd) > (loop for x in chd do (send "mp:midi" :key x))) > > > (play-chord '(50 55 60)) > > > # But I think that the loop macro is not implemented in Grace. Am I >> correct or making a mistake? >> > > you're making mistakes (plural) ;) > > read the common lisp documentation on loop, most of it is supported. > > > > > > > > > > # Best regards, >> -ugur guney- >> _______________________________________________ >> 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 rbbekkhus at yahoo.com Tue Oct 27 03:21:15 2009 From: rbbekkhus at yahoo.com (Rune Boutroue Bekkhus) Date: Tue, 27 Oct 2009 03:21:15 -0700 (PDT) Subject: [CM] list* == unbound variable In-Reply-To: <4A823A7F.8040401@cox.net> References: <4A823A7F.8040401@cox.net> Message-ID: <26075218.post@talk.nabble.com> Denis Fitzpatrick-2 wrote: > > print list*(1,2,3, {a b c}) ; from lists.sal > produces > >>> Error: list*: unbound variable > unbound variable-messages are also produced by: *scale* hertz keynum interval print pprint (in Grace (lisp)). Probably more as I get through my "Metalevel" book. Comprehensive list of solutions somewhere? -- View this message in context: http://www.nabble.com/list*-%3D%3D-unbound-variable-tp24929565p26075218.html Sent from the CCRMA - CMdist mailing list archive at Nabble.com. From ugurguney at gmail.com Tue Oct 27 05:57:55 2009 From: ugurguney at gmail.com (=?UTF-8?B?VcSfdXIgR8O8bmV5?=) Date: Tue, 27 Oct 2009 14:57:55 +0200 Subject: [CM] Grace: Scheme and SAL differences In-Reply-To: <667f06560910260729n20d35627ia90df8b93f581bd0@mail.gmail.com> References: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> <667f06560910260729n20d35627ia90df8b93f581bd0@mail.gmail.com> Message-ID: <667f06560910270557u2ae41c36g809239f5a7fea1e2@mail.gmail.com> # Hi! # After so much questions I asked, I wanted to share what I have learned. I translated the first 4 SAL tutorials to Scheme and attached them. # When a comment needs to be changed I erased it and put a "...". I did not to try change them :-) # I you think that this maybe helpful I can complete the translation of the tutorials. # Have a nice day! v.u.g 2009/10/26 U?ur G?ney > # Thank you very much! Now I understand the loop macro. I forgot "do" > keywords. > # And now I have another problem about sprouting process'. > # This is the SAL example of a process: > > define process simple() > run repeat 20 > send "mp:midi", key: between(60, 96) > wait .1 > end > sprout simple() > # Every time I evaluate sprout line, grace plays midi notes. > > # And here is my Scheme version: > (define simple2 > (process repeat 20 do > (send "mp:midi" :key (between 60 96)) > (wait 0.1))) > (sprout simple2) > # The evaluation (by CTRL+Enter) of sprout line plays only for once. After > that I have to evaluate the process definition again, to play it again. > # I suspect that second evaluation does not create a new process but tries > to use the old one. But I am not sure. Or I am making mistakes again :-) > # Regards, > v.u.g > > > 2009/10/25 Heinrich Taube > > >> On Oct 23, 2009, at 2:49 AM, U?ur G?ney wrote: >> >> # Dear list and Mr. Taube >>> # I want to use Grace with Scheme rather than SAL. I am using version >>> 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to convert them to >>> Scheme code. But I think some SAL commands does not exist in Scheme version. >>> Like: >>> >>> print "Hello, world!" -> (print "Hello, world!") >>> # gives "print: unbound variable" error. I can just evaluate >>> "Hello, world!" >>> # or try >>> (display "Hello, world!") >>> # But the output of (display) is yellow, not green and does not have "\n" >>> character at the end. >>> >> >> you can use s7's 'format' function. that function will both print the >> message to the terminal and return the string it printed: >> >> >> cm> (format #t "hello world~%") >> hello world >> "hello world >> >> " >> >> >> print "my key number: ", between(60, 90) -> (display "my key number: " >>> (between 60 90)) >>> # gives "display argument 2, 66, is an integer, but should be an output >>> port" error. I have to write >>> (string-append "my key number: " (number->string (between 60 90))) >>> >> >> (format #t "my key number: ~S~%" (between 60 90)) >> >> >> >> # Another component I could not find (which is, I think, more important) >>> is the loop macro. >>> loop repeat 5 >>> print "a random keynum: ", random(128) >>> end >>> ---> >>> (loop re peat 5 >>> (random 128)) >>> # gives: >>> Error: Found 're peat' where operator expected. >>> clause context: 're peat 5 (random 128)' >>> >> >> (loop repeat 5 do (format #t "a random keynum: ~S~%" (random 128)) >> >> >> >> # and >>> >>> loop for c in {a b c d e f g } >>> print c >>> end >>> ---> >>> (loop for c in '(a b c d e f g) >>> (display c)) >>> # gives: >>> Error: Expression expected but source code ran out. >>> >>> >> (loop for c in '(a b c d e f g) do (format #t "~S~%" c)) >> >> or better >> >> (loop for c in '(a b c d e f g) collect c) >> >> >> >> # Similarly, >>> loop for x from 1 to 10 >>> print "x=", x >>> end >>> ----> >>> (loop for x from 1 to 10 >>> x) >>> # gives the same error. >>> >>> >> (loop for i from 1 to 10 collect i) >> >> >> # Of course a recursive approach using car's and cdr's works. >>> (define (play-chord chd) >>> (if (not (equal? chd '())) >>> (begin (send "mp:midi" :key (car chd)) >>> (play-chord (cdr chd))))) >>> (play-chord '(50 55 60)) >>> >> >> (define (play-chord chd) >> (loop for x in chd do (send "mp:midi" :key x))) >> >> >> (play-chord '(50 55 60)) >> >> >> # But I think that the loop macro is not implemented in Grace. Am I >>> correct or making a mistake? >>> >> >> you're making mistakes (plural) ;) >> >> read the common lisp documentation on loop, most of it is supported. >> >> >> >> >> >> >> >> >> >> # Best regards, >>> -ugur guney- >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ports.scm Type: application/octet-stream Size: 6967 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: expr.scm Type: application/octet-stream Size: 11757 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: funcall.scm Type: application/octet-stream Size: 3364 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: hello.scm Type: application/octet-stream Size: 954 bytes Desc: not available URL: From kumoyuki at gmail.com Tue Oct 27 06:59:30 2009 From: kumoyuki at gmail.com (David Rush) Date: Tue, 27 Oct 2009 13:59:30 +0000 Subject: [CM] Grace: Scheme and SAL differences In-Reply-To: <667f06560910270557u2ae41c36g809239f5a7fea1e2@mail.gmail.com> References: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> <667f06560910260729n20d35627ia90df8b93f581bd0@mail.gmail.com> <667f06560910270557u2ae41c36g809239f5a7fea1e2@mail.gmail.com> Message-ID: I just wanted to throw out a quick "Thank you" for this work. I've been a Scheme programmer for a long time now, and I really wanted to stay in Scheme while working with CM and was feeling frustrated by the need to translate. AFAICT there is a definite lack of tutorials published on the web for CM (perhaps they have expired?). Thanks again. 2009/10/27 U?ur G?ney : > # Hi! > # After so much questions I asked, I wanted to share what I have learned. I > translated the first 4 SAL tutorials to Scheme and attached them. > # When a comment needs to be changed I erased it and put a "...". I did not > to try change them :-) > # I you think that this maybe helpful I can complete the translation of the > tutorials. > # Have a nice day! > v.u.g > > 2009/10/26 U?ur G?ney >> >> # Thank you very much! Now I understand the loop macro. I forgot "do" >> keywords. >> # And now I have another problem about sprouting process'. >> # This is the SAL example of a process: >> define process simple() >> ??run repeat 20 >> ?? ?send "mp:midi", key: between(60, 96) >> ?? ?wait .1 >> ??end >> sprout simple() >> # Every time I evaluate sprout line, grace plays midi notes. >> # And here is my Scheme version: >> (define simple2 >> ??(process repeat 20 do >> ?? ? ? ? ? (send "mp:midi" :key (between 60 96)) >> ?? ? ? ? ? (wait 0.1))) >> (sprout simple2) >> # The evaluation (by CTRL+Enter) of sprout line plays only for once. After >> that I have to evaluate the process definition again, to play it again. >> # I suspect that second evaluation does not create a new process but tries >> to use the old one. But I am not sure. Or I am making mistakes again :-) >> # Regards, >> v.u.g >> >> 2009/10/25 Heinrich Taube >>> >>> On Oct 23, 2009, at 2:49 AM, U?ur G?ney wrote: >>> >>>> # Dear list and Mr. Taube >>>> # I want to use Grace with Scheme rather than SAL. I am using version >>>> 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to convert them to >>>> Scheme code. But I think some SAL commands does not exist in Scheme version. >>>> Like: >>>> >>>> print "Hello, world!" -> (print "Hello, world!") >>>> # gives "print: unbound variable" error. I can just evaluate >>>> "Hello, world!" >>>> # or try >>>> (display "Hello, world!") >>>> # But the output of (display) is yellow, not green and does not have >>>> "\n" character at the end. >>> >>> you can use s7's ?'format' ?function. that function will both print the >>> message to the terminal and return the string it printed: >>> >>> >>> cm> (format #t "hello world~%") >>> hello world >>> "hello world >>> " >>> >>> >>>> print "my key number: ", between(60, 90) -> (display "my key number: " >>>> ?(between 60 90)) >>>> # gives "display argument 2, 66, is an integer, but should be an output >>>> port" error. I have to write >>>> (string-append "my key number: " (number->string (between 60 90))) >>> >>> (format #t "my key number: ~S~%" (between 60 90)) >>> >>> >>>> # Another component I could not find (which is, I think, more important) >>>> is the loop macro. >>>> loop repeat 5 >>>> ?print "a random keynum: ", random(128) >>>> end >>>> ---> >>>> (loop re peat 5 >>>> ? ? ?(random 128)) >>>> # gives: >>> Error: Found 're peat' where operator expected. >>>> clause context: 're peat 5 (random 128)' >>> >>> (loop repeat 5 do (format #t "a random keynum: ~S~%" (random 128)) >>> >>> >>>> # and >>>> >>>> loop for c in {a b c d e f g } >>>> ?print c >>>> end >>>> ---> >>>> (loop for c in '(a b c d e f g) >>>> ? ? ?(display c)) >>>> # gives: >>> Error: Expression expected but source code ran out. >>>> >>> >>> (loop for c in '(a b c d e f g) do (format #t "~S~%" c)) >>> >>> or better >>> >>> (loop for c in '(a b c d e f g) collect c) >>> >>> >>>> # Similarly, >>>> loop for x from 1 to 10 >>>> ?print "x=", x >>>> end >>>> ----> >>>> (loop for x from 1 to 10 >>>> ? ? ?x) >>>> # gives the same error. >>>> >>> >>> (loop for i from 1 to 10 collect i) >>> >>>> # Of course a recursive approach using car's and cdr's works. >>>> (define (play-chord chd) >>>> ?(if (not (equal? chd '())) >>>> ? ?(begin (send "mp:midi" :key (car chd)) >>>> ? ? ? ? ? (play-chord (cdr chd))))) >>>> (play-chord '(50 55 60)) >>> >>> (define (play-chord chd) >>> ?(loop for x in chd do (send "mp:midi" :key x))) >>> >>> (play-chord '(50 55 60)) >>> >>> >>>> # But I think that the loop macro is not implemented in Grace. Am I >>>> correct or making a mistake? >>> >>> you're making mistakes (plural) ?;) >>> >>> read the common lisp documentation on loop, most of it is supported. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>>> # Best regards, >>>> -ugur guney- >>>> _______________________________________________ >>>> 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 > > -- GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt From timothy.ernest.johnson at gmail.com Tue Oct 27 07:00:02 2009 From: timothy.ernest.johnson at gmail.com (Timothy Johnson) Date: Tue, 27 Oct 2009 09:00:02 -0500 Subject: [CM] Grace: Scheme and SAL differences In-Reply-To: <667f06560910270557u2ae41c36g809239f5a7fea1e2@mail.gmail.com> References: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> <667f06560910260729n20d35627ia90df8b93f581bd0@mail.gmail.com> <667f06560910270557u2ae41c36g809239f5a7fea1e2@mail.gmail.com> Message-ID: <43906c4f0910270700o13ee9315pb8b57fb1dd52b02c@mail.gmail.com> Ugur, It would be very helpful for me if you would translate the tutorials into Scheme -- please do this, I would greatly appreciate it. I'm using a few different applications that are all Scheme-based and it would be really nice to include Grace in that group and be able to just have my students stay in one standard programming environment (Scheme). That way, they only have to learn one language (which is also happily of very broad applicability.) Tim 2009/10/27 U?ur G?ney > # Hi! > # After so much questions I asked, I wanted to share what I have learned. I > translated the first 4 SAL tutorials to Scheme and attached them. > # When a comment needs to be changed I erased it and put a "...". I did not > to try change them :-) > # I you think that this maybe helpful I can complete the translation of the > tutorials. > # Have a nice day! > v.u.g > > 2009/10/26 U?ur G?ney > > # Thank you very much! Now I understand the loop macro. I forgot "do" >> keywords. >> # And now I have another problem about sprouting process'. >> # This is the SAL example of a process: >> >> define process simple() >> run repeat 20 >> send "mp:midi", key: between(60, 96) >> wait .1 >> end >> sprout simple() >> # Every time I evaluate sprout line, grace plays midi notes. >> >> # And here is my Scheme version: >> (define simple2 >> (process repeat 20 do >> (send "mp:midi" :key (between 60 96)) >> (wait 0.1))) >> (sprout simple2) >> # The evaluation (by CTRL+Enter) of sprout line plays only for once. After >> that I have to evaluate the process definition again, to play it again. >> # I suspect that second evaluation does not create a new process but tries >> to use the old one. But I am not sure. Or I am making mistakes again :-) >> # Regards, >> v.u.g >> >> >> 2009/10/25 Heinrich Taube >> >> >>> On Oct 23, 2009, at 2:49 AM, U?ur G?ney wrote: >>> >>> # Dear list and Mr. Taube >>>> # I want to use Grace with Scheme rather than SAL. I am using version >>>> 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to convert them to >>>> Scheme code. But I think some SAL commands does not exist in Scheme version. >>>> Like: >>>> >>>> print "Hello, world!" -> (print "Hello, world!") >>>> # gives "print: unbound variable" error. I can just evaluate >>>> "Hello, world!" >>>> # or try >>>> (display "Hello, world!") >>>> # But the output of (display) is yellow, not green and does not have >>>> "\n" character at the end. >>>> >>> >>> you can use s7's 'format' function. that function will both print the >>> message to the terminal and return the string it printed: >>> >>> >>> cm> (format #t "hello world~%") >>> hello world >>> "hello world >>> >>> " >>> >>> >>> print "my key number: ", between(60, 90) -> (display "my key number: " >>>> (between 60 90)) >>>> # gives "display argument 2, 66, is an integer, but should be an output >>>> port" error. I have to write >>>> (string-append "my key number: " (number->string (between 60 90))) >>>> >>> >>> (format #t "my key number: ~S~%" (between 60 90)) >>> >>> >>> >>> # Another component I could not find (which is, I think, more important) >>>> is the loop macro. >>>> loop repeat 5 >>>> print "a random keynum: ", random(128) >>>> end >>>> ---> >>>> (loop re peat 5 >>>> (random 128)) >>>> # gives: >>> Error: Found 're peat' where operator expected. >>>> clause context: 're peat 5 (random 128)' >>>> >>> >>> (loop repeat 5 do (format #t "a random keynum: ~S~%" (random 128)) >>> >>> >>> >>> # and >>>> >>>> loop for c in {a b c d e f g } >>>> print c >>>> end >>>> ---> >>>> (loop for c in '(a b c d e f g) >>>> (display c)) >>>> # gives: >>> Error: Expression expected but source code ran out. >>>> >>>> >>> (loop for c in '(a b c d e f g) do (format #t "~S~%" c)) >>> >>> or better >>> >>> (loop for c in '(a b c d e f g) collect c) >>> >>> >>> >>> # Similarly, >>>> loop for x from 1 to 10 >>>> print "x=", x >>>> end >>>> ----> >>>> (loop for x from 1 to 10 >>>> x) >>>> # gives the same error. >>>> >>>> >>> (loop for i from 1 to 10 collect i) >>> >>> >>> # Of course a recursive approach using car's and cdr's works. >>>> (define (play-chord chd) >>>> (if (not (equal? chd '())) >>>> (begin (send "mp:midi" :key (car chd)) >>>> (play-chord (cdr chd))))) >>>> (play-chord '(50 55 60)) >>>> >>> >>> (define (play-chord chd) >>> (loop for x in chd do (send "mp:midi" :key x))) >>> >>> >>> (play-chord '(50 55 60)) >>> >>> >>> # But I think that the loop macro is not implemented in Grace. Am I >>>> correct or making a mistake? >>>> >>> >>> you're making mistakes (plural) ;) >>> >>> read the common lisp documentation on loop, most of it is supported. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> # Best regards, >>>> -ugur guney- >>>> _______________________________________________ >>>> 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 > > -- Dr. Timothy Ernest Johnson -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Tue Oct 27 10:49:57 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Tue, 27 Oct 2009 12:49:57 -0500 Subject: [CM] Grace: Scheme and SAL differences In-Reply-To: <43906c4f0910270700o13ee9315pb8b57fb1dd52b02c@mail.gmail.com> References: <667f06560910230049w55453ef6m87aa25d69617732e@mail.gmail.com> <667f06560910260729n20d35627ia90df8b93f581bd0@mail.gmail.com> <667f06560910270557u2ae41c36g809239f5a7fea1e2@mail.gmail.com> <43906c4f0910270700o13ee9315pb8b57fb1dd52b02c@mail.gmail.com> Message-ID: <47AF40D8-F31A-433E-A6A3-42CF813BCFCD@uiuc.edu> if anyone translates .sal examples to scheme ill certainly include it in the distro and menu. i dont teach beginning algocomp in scheme so i just have the .sal > # And here is my Scheme version: > (define simple2 > (process repeat 20 do > (send "mp:midi" :key (between 60 96)) > (wait 0.1))) > (sprout simple2) > # The evaluation (by CTRL+Enter) of sprout line plays only for once. > After that I have to evaluate the process definition again, to play > it again. > # I suspect that second evaluation does not create a new process but > tries to use the old one. But I am not sure. Or I am making mistakes > again :-) > # Regards, yes its is wrong in the sense that you are trying to "reuse" someting that is already finished. never save and reuse (process...) descriptions. instead define FUNCTIONS that return them: (define (simple2 ) (process repeat 20 do (send "mp:midi" :key (between 60 96)) (wait 0.1)))) (sprout (simple2 )) On Oct 27, 2009, at 9:00 AM, Timothy Johnson wrote: > Ugur, > > It would be very helpful for me if you would translate the tutorials > into Scheme -- please do this, I would greatly appreciate it. I'm > using a few different applications that are all Scheme-based and it > would be really nice to include Grace in that group and be able to > just have my students stay in one standard programming environment > (Scheme). That way, they only have to learn one language (which is > also happily of very broad applicability.) > > Tim > > 2009/10/27 U?ur G?ney > # Hi! > # After so much questions I asked, I wanted to share what I have > learned. I translated the first 4 SAL tutorials to Scheme and > attached them. > # When a comment needs to be changed I erased it and put a "...". I > did not to try change them :-) > # I you think that this maybe helpful I can complete the translation > of the tutorials. > # Have a nice day! > v.u.g > > 2009/10/26 U?ur G?ney > > # Thank you very much! Now I understand the loop macro. I forgot > "do" keywords. > # And now I have another problem about sprouting process'. > # This is the SAL example of a process: > > define process simple() > run repeat 20 > send "mp:midi", key: between(60, 96) > wait .1 > end > sprout simple() > # Every time I evaluate sprout line, grace plays midi notes. > > # And here is my Scheme version: > (define simple2 > (process repeat 20 do > (send "mp:midi" :key (between 60 96)) > (wait 0.1))) > (sprout simple2) > # The evaluation (by CTRL+Enter) of sprout line plays only for once. > After that I have to evaluate the process definition again, to play > it again. > # I suspect that second evaluation does not create a new process but > tries to use the old one. But I am not sure. Or I am making mistakes > again :-) > # Regards, > v.u.g > > > 2009/10/25 Heinrich Taube > > > On Oct 23, 2009, at 2:49 AM, U?ur G?ney wrote: > > # Dear list and Mr. Taube > # I want to use Grace with Scheme rather than SAL. I am using > version 3.3.0 svn:1769. I looked at the "SAL tutorials" and tried to > convert them to Scheme code. But I think some SAL commands does not > exist in Scheme version. Like: > > print "Hello, world!" -> (print "Hello, world!") > # gives "print: unbound variable" error. I can just evaluate > "Hello, world!" > # or try > (display "Hello, world!") > # But the output of (display) is yellow, not green and does not have > "\n" character at the end. > > you can use s7's 'format' function. that function will both print > the message to the terminal and return the string it printed: > > > cm> (format #t "hello world~%") > hello world > "hello world > > " > > > print "my key number: ", between(60, 90) -> (display "my key number: > " (between 60 90)) > # gives "display argument 2, 66, is an integer, but should be an > output port" error. I have to write > (string-append "my key number: " (number->string (between 60 90))) > > (format #t "my key number: ~S~%" (between 60 90)) > > > > # Another component I could not find (which is, I think, more > important) is the loop macro. > loop repeat 5 > print "a random keynum: ", random(128) > end > ---> > (loop re peat 5 > (random 128)) > # gives: >>> Error: Found 're peat' where operator expected. > clause context: 're peat 5 (random 128)' > > (loop repeat 5 do (format #t "a random keynum: ~S~%" (random 128)) > > > > # and > > loop for c in {a b c d e f g } > print c > end > ---> > (loop for c in '(a b c d e f g) > (display c)) > # gives: >>> Error: Expression expected but source code ran out. > > > (loop for c in '(a b c d e f g) do (format #t "~S~%" c)) > > or better > > (loop for c in '(a b c d e f g) collect c) > > > > # Similarly, > loop for x from 1 to 10 > print "x=", x > end > ----> > (loop for x from 1 to 10 > x) > # gives the same error. > > > (loop for i from 1 to 10 collect i) > > > # Of course a recursive approach using car's and cdr's works. > (define (play-chord chd) > (if (not (equal? chd '())) > (begin (send "mp:midi" :key (car chd)) > (play-chord (cdr chd))))) > (play-chord '(50 55 60)) > > (define (play-chord chd) > (loop for x in chd do (send "mp:midi" :key x))) > > > (play-chord '(50 55 60)) > > > # But I think that the loop macro is not implemented in Grace. Am I > correct or making a mistake? > > you're making mistakes (plural) ;) > > read the common lisp documentation on loop, most of it is supported. > > > > > > > > > > # Best regards, > -ugur guney- > _______________________________________________ > 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 > > > > > -- > Dr. Timothy Ernest Johnson > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Tue Oct 27 10:55:32 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Tue, 27 Oct 2009 12:55:32 -0500 Subject: [CM] list* == unbound variable In-Reply-To: <26075218.post@talk.nabble.com> References: <4A823A7F.8040401@cox.net> <26075218.post@talk.nabble.com> Message-ID: <03397A19-0E1A-4324-98FA-BE307CE09E5E@uiuc.edu> > > unbound variable-messages are also produced by: > *scale* > hertz > keynum > interval > print > pprint > > (in Grace (lisp)). these are very old common lisp names. > *scale* this global is no longer necessary/needed -- just use the (scale ... ) function if you want to create an alternate tuning or mode) > hertz its called hz, eg (hz 60) > keynum its called key , eg (key 'c4) > interval not necessary/needed just use ints 0 1 2 3 etc > print (define (print x) (format #t "~S~%" x) (void)) > pprint hmm. maybe s7 has this now, ill look From bil at ccrma.Stanford.EDU Tue Oct 27 11:14:00 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Tue, 27 Oct 2009 11:14:00 -0700 Subject: [CM] list* == unbound variable In-Reply-To: <03397A19-0E1A-4324-98FA-BE307CE09E5E@uiuc.edu> References: <4A823A7F.8040401@cox.net> <26075218.post@talk.nabble.com> <03397A19-0E1A-4324-98FA-BE307CE09E5E@uiuc.edu> Message-ID: <20091027181254.M40843@ccrma.Stanford.EDU> >> pprint > hmm. maybe s7 has this now, ill look No, but it's probably easy to add. There's a pretty print function in scheme floating around the web, I think. From taube at uiuc.edu Tue Oct 27 11:20:07 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Tue, 27 Oct 2009 13:20:07 -0500 Subject: [CM] list* == unbound variable In-Reply-To: <26075218.post@talk.nabble.com> References: <4A823A7F.8040401@cox.net> <26075218.post@talk.nabble.com> Message-ID: On Oct 27, 2009, at 5:21 AM, Rune Boutroue Bekkhus wrote: >> print list*(1,2,3, {a b c}) >> produces >>>>> Error: list*: unbound variable > forgot theis one: use 'concat' its will do pretty much anything cm> (concat 1 2 3 4 5) (1 2 3 4 5) cm> (concat 1 '(2 3) 4 5) (1 2 3 4 5) cm> (concat '(1 2 3) '(4 5)) (1 2 3 4 5) cm> (concat 1 2 3 '(a b c)) (1 2 3 a b c) so in sal you example would be: print concat(1,2,3, {a b c}) From bil at ccrma.Stanford.EDU Wed Oct 28 04:47:22 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 28 Oct 2009 04:47:22 -0700 Subject: [CM] list* == unbound variable In-Reply-To: <03397A19-0E1A-4324-98FA-BE307CE09E5E@uiuc.edu> References: <4A823A7F.8040401@cox.net> <26075218.post@talk.nabble.com> <03397A19-0E1A-4324-98FA-BE307CE09E5E@uiuc.edu> Message-ID: <20091028114513.M59088@ccrma.Stanford.EDU> For pprint, I added a lightly edited version of Marc Feeley's pretty printer to the Snd distribution: pretty-print.scm. (This is for s7 -- the Guile version comes with Guile). From g.lee at ed.ac.uk Wed Oct 28 05:47:17 2009 From: g.lee at ed.ac.uk (Geoff Lee) Date: Wed, 28 Oct 2009 12:47:17 +0000 Subject: [CM] CLM-4/SBCL on OS X PPC Message-ID: Greetings, I have an instrument which works fine on most combinations of CL and CLM on OS X and Windows. Specifically it works fine on Intel machines with the following combination OS X 10.5.8 / sbcl 1.0.30 / clm-4 On PPC however (with SBCL 1.0.29: the newest I could get to compile cleanly) gives the following warning when I try to use this instrument with (with-sound): WARNING: attempting to load a string into run without knowing current endianess... Followed by the backtrace below [1]: Unfortunately I don't know much about lisp or clm, and I didn't write the instrument in question. I'm trying to get CLM working on OS X 10.5 PPC and i386 for our labs and would appreciate any insight into why clm doesn't seem to know the current endianness, or indeed whether that's likely to be related to the memory fault error. The instrument definitely worked with clm-3/sbcl on OS X 10.4/ppc and intel. I have tried (pushnew :big-endian *features*), but am pretty much in the dark here. Any insights much appreciated. If there is a different lisp which is known to work well with clm-4 on 10.5 PPC, I'm happy to use that. I've tried CCL, but it gives much more numerous errors. Many TIA, -geoff 1. Backtrace: 0: (SB-SYS:MEMORY-FAULT-ERROR) 1: ("foreign function: call_into_lisp") 2: (|clm_zeroexpand12| #.(SB-SYS:INT-SAP #X12651008) 22133 #.(SB- SYS:INT-SAP #X12650008) 225) 3: (ZEROEXPAND1 "/Users/uoesupport/Desktop/medward/feelin-beg.wav" 1)[:EXTERNAL] 4: ((LAMBDA ())) 5: (SB-INT:SIMPLE-EVAL-IN-LEXENV (WITH-SOUND (:STATISTICS T :SCALED- TO 0.99 :CHANNELS 2 ...) (ZEROEXPAND1 "/Users/uoesupport/Desktop/ medward/feelin-beg.wav" 1 :STRETCH 1 :MIN-FREQ ...)) #) 6: (SWANK::EVAL-REGION ..) Locals: SB-DEBUG::ARG-0 = "(with-sound (:statistics t :scaled-to . 99 :channels 2\n :srate.. 7: ((LAMBDA ())) 8: (SWANK::TRACK-PACKAGE #) 9: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #) 10: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #) 11: (SWANK::REPL-EVAL ..) 12: (SB-INT:SIMPLE-EVAL-IN-LEXENV ..) 13: (SWANK::EVAL-FOR-EMACS ..) 14: (SWANK::PROCESS-REQUESTS T) 15: ((LAMBDA ())) 16: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) # #) 17: (SWANK::CALL-WITH-BINDINGS ..) 18: (SWANK::CALL-WITH-CONNECTION # #) 19: (SWANK::HANDLE-REQUESTS # T) 20: ((LABELS SWANK-BACKEND::RUN) 8) 21: (SB-IMPL::SUB-SUB-SERVE-EVENT NIL NIL) 22: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL) 23: (SB-SYS:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL) 24: (SB-IMPL::REFILL-INPUT-BUFFER #) 25: (SB-IMPL::INPUT-CHAR/UTF-8 # NIL #:EOF-OBJECT) 26: (READ-CHAR # NIL #:EOF-OBJECT #) 27: (READ-CHAR # NIL #:EOF-OBJECT #) 28: (SB-IMPL::%READ-PRESERVING-WHITESPACE # NIL (NIL) T) 29: (SB-IMPL::%READ-PRESERVING-WHITESPACE # NIL (NIL) NIL) 30: (READ # NIL (NIL) NIL) 31: (SB-IMPL::REPL-READ-FORM-FUN # #) 32: (SB-IMPL::REPL-FUN NIL) 33: ((LAMBDA ())) 34: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #) 35: (SB-IMPL::TOPLEVEL-REPL NIL) 36: (SB-IMPL::TOPLEVEL-INIT) 37: ((LABELS SB-IMPL::RESTART-LISP)) ______________________________________ Geoff Lee Computing Support School of Arts, Culture and Environment University of Edinburgh 20 Chambers St, Edinburgh, Scotland, EH1 1JZ Tel: +44 (0)131 650 2341 ______________________________________ -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From bil at ccrma.Stanford.EDU Wed Oct 28 06:12:45 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 28 Oct 2009 06:12:45 -0700 Subject: [CM] CLM-4/SBCL on OS X PPC In-Reply-To: References: Message-ID: <20091028131105.M96993@ccrma.Stanford.EDU> > I have tried (pushnew :big-endian *features*) That should have fixed it -- did you make sure run.lisp was recompiled afterwards? I'd start with a clean clm, (pushnew :big-endian *features*) then (load "all.lisp") Could you send me the contents of the *features* list in this version of sbcl? There must be something there that I can use to make this automatic. From bil at ccrma.Stanford.EDU Wed Oct 28 08:58:17 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Wed, 28 Oct 2009 08:58:17 -0700 Subject: [CM] CLM-4/SBCL on OS X PPC In-Reply-To: References: Message-ID: <20091028155719.M41630@ccrma.Stanford.EDU> Oh -- I didn't notice that the crash was unrelated to the warning. Could you send me the instrument (zeroexpand, I think)? I can't tell from the stack trace why it is unhappy. From errordeveloper at gmail.com Thu Oct 29 11:04:38 2009 From: errordeveloper at gmail.com (Ilya D) Date: Thu, 29 Oct 2009 18:04:38 +0000 Subject: [CM] Snd + Jack, multiple file playback and recording Message-ID: <20091029180438.GA15610@00110101.errordevlopment.0> Hello Bill and the List, I've got a question about how could one play multiple files and record via jack in snd, also asining files to certain channels, suppose each file is mono. cheers, -- Ilya .d From k.s.matheussen at notam02.no Thu Oct 29 11:13:01 2009 From: k.s.matheussen at notam02.no (Kjetil S. Matheussen) Date: Thu, 29 Oct 2009 19:13:01 +0100 (CET) Subject: [CM] Snd + Jack, multiple file playback and recording In-Reply-To: <20091029180438.GA15610@00110101.errordevlopment.0> References: <20091029180438.GA15610@00110101.errordevlopment.0> Message-ID: On Thu, 29 Oct 2009, Ilya D wrote: > Hello Bill and the List, > > I've got a question about how could one play multiple files and record > via jack in snd, also asining files to certain channels, suppose each > file is mono. > By using snd-ls instead of snd, you can play multiple files properly using the "rt-snd-play" function in rt-player.scm. To assign certain channels to files, you can probably easely extend the "" function with a channel argument, and also set the first argument for "out" appropriately. Recording with jack using snd is not working very well, I think. I think the sndrec program might work, but not snd itself. Instead you should look at jack_capture: http://archive.notam02.no/arkiv/src/?C=M;O=D From k.s.matheussen at notam02.no Thu Oct 29 11:15:11 2009 From: k.s.matheussen at notam02.no (Kjetil S. Matheussen) Date: Thu, 29 Oct 2009 19:15:11 +0100 (CET) Subject: [CM] Snd + Jack, multiple file playback and recording In-Reply-To: References: <20091029180438.GA15610@00110101.errordevlopment.0> Message-ID: On Thu, 29 Oct 2009, Kjetil S. Matheussen wrote: > using the "rt-snd-play" function in rt-player.scm. > To assign certain channels to files, you can probably easely extend > the "" function with a channel argument, and also > set the first argument for "out" appropriately. > s/appropriately/accordingly/ From bil at ccrma.Stanford.EDU Thu Oct 29 14:14:14 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 29 Oct 2009 14:14:14 -0700 Subject: [CM] Snd + Jack, multiple file playback and recording In-Reply-To: <20091029180438.GA15610@00110101.errordevlopment.0> References: <20091029180438.GA15610@00110101.errordevlopment.0> Message-ID: <20091029211128.M97414@ccrma.Stanford.EDU> snd-rt is probably the right thing, but if you want to use Snd, get the current tarball or CVS version (the stuff in the earlier play.scm seems to be broken), and: (bind-key #\o 0 (lambda () ; send oboe.snd to chan 0 (play "oboe.snd" 0 #f #f #f #f #f 0))) ; how many #f's?? (bind-key #\p 0 (lambda () ; send pistol.snd to chan 1 (play "pistol.snd" 0 #f #f #f #f #f 1))) ;;; Now open a sound (so you have a non-listener pane to type to) (play #f 22050 2) ; srate 22050, 2 output chans ;;; this holds the DAC open indefinitely ;;; Now type o and p in the sound pane until you want to quit, then (stop-playing) From g.lee at ed.ac.uk Fri Oct 30 02:18:51 2009 From: g.lee at ed.ac.uk (Geoff Lee) Date: Fri, 30 Oct 2009 09:18:51 +0000 Subject: [CM] CLM-4/SBCL on OS X PPC In-Reply-To: <20091028183228.M14731@ccrma.Stanford.EDU> References: <20091028155719.M41630@ccrma.Stanford.EDU> <20091028183228.M14731@ccrma.Stanford.EDU> Message-ID: On 28 Oct 2009, at 18:38, Bill Schottstaedt wrote: >> Like I said, it seems to work fine on OSX/ >> intel and Windows (AllegroCL I think), so whether you'll be able to >> produce whatever the problem is, I don't know. > > rats -- I can't get it to happen. I can't think of anything simple -- > if I had a ppc mac, I'd add the -g3 switch to the C compiler switches, > (and get rid of -O or -O2), comment out all the clm-print statements, > recompile at least the instrument, and try again. That seems to be the key. I couldn't see any -Os to remove from the cflags, but it's definitely clm-print causing the crash: remove them all and it works fine. -g3 doesn't seem to throw up any more information when it crashes, though perhaps I'm looking in the wrong place.. Thanks again for your help. I guess we can avoid using clm-print if necessary but I'm happy to try anything else you can think of to try and track down the problem. Cheers, -geoff ______________________________________ Geoff Lee Computing Support School of Arts, Culture and Environment University of Edinburgh 20 Chambers St, Edinburgh, Scotland, EH1 1JZ Tel: +44 (0)131 650 2341 ______________________________________ -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From bil at ccrma.Stanford.EDU Fri Oct 30 03:57:29 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 30 Oct 2009 03:57:29 -0700 Subject: [CM] CLM-4/SBCL on OS X PPC In-Reply-To: References: <20091028155719.M41630@ccrma.Stanford.EDU> <20091028183228.M14731@ccrma.Stanford.EDU> Message-ID: <20091030105439.M26033@ccrma.Stanford.EDU> > I guess we can avoid using clm-print clm-print goes through cmus.c mus_error2clm (it seems like it ought to be using mus_print, but maybe this is an historical artifact), and that has some weird code surrounded by the confidence-inspiring name SBCL_PPC_ERROR_KLUDGE. I can't remember anything about this, but perhaps it's out-of-date now. From g.lee at ed.ac.uk Fri Oct 30 05:00:13 2009 From: g.lee at ed.ac.uk (Geoff Lee) Date: Fri, 30 Oct 2009 12:00:13 +0000 Subject: [CM] CLM-4/SBCL on OS X PPC In-Reply-To: <20091030105439.M26033@ccrma.Stanford.EDU> References: <20091028155719.M41630@ccrma.Stanford.EDU> <20091028183228.M14731@ccrma.Stanford.EDU> <20091030105439.M26033@ccrma.Stanford.EDU> Message-ID: <66BCA73C-1DC1-4C4D-8AF8-23024F7AAF78@ed.ac.uk> Hi, On 30 Oct 2009, at 10:57, Bill Schottstaedt wrote: >> I guess we can avoid using clm-print > > clm-print goes through cmus.c mus_error2clm (it seems like > it ought to be using mus_print, but maybe this is an historical > artifact), and that has some weird code surrounded by the > confidence-inspiring name SBCL_PPC_ERROR_KLUDGE. > I can't remember anything about this, but perhaps it's > out-of-date now. Wow, that is weird. Just removing the #ifdef SBCL_PPC_ERROR_KLUDGE sections from cmus.c does indeed seem to solve the problem :) This is on 10.5.8/gcc-4.0/sbcl-1.0.29. If I have time later I can test it under 10.4 if you like... Thanks again! -geoff ______________________________________ Geoff Lee Computing Support School of Arts, Culture and Environment University of Edinburgh 20 Chambers St, Edinburgh, Scotland, EH1 1JZ Tel: +44 (0)131 650 2341 ______________________________________ -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From ugurguney at gmail.com Fri Oct 30 05:53:42 2009 From: ugurguney at gmail.com (=?UTF-8?B?VcSfdXIgR8O8bmV5?=) Date: Fri, 30 Oct 2009 14:53:42 +0200 Subject: [CM] Scheme translation of SAL tutorials Message-ID: <667f06560910300553t3b32ed0dp9dbbad116bfa5416@mail.gmail.com> # Hi all, # I asked many questions to the list about how something is done using Scheme instead of SAL. # And here is my translation of SAL tutorials (except fomus.sal) which come with Grace to Scheme language. I hope you find them useful. # I changed some comments too, but because my English is bad they do not look like promising :-) # Have a nice day! v.u.g -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: scm_tutorials.zip Type: application/zip Size: 23290 bytes Desc: not available URL: From taube at uiuc.edu Fri Oct 30 06:06:38 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 30 Oct 2009 08:06:38 -0500 Subject: [CM] [POSSIBLE VIRUS:###] Scheme translation of SAL tutorials In-Reply-To: <23656_1256907819_4AEAE429_23656_2764_1_667f06560910300553t3b32ed0dp9dbbad116bfa5416@mail.gmail.com> References: <23656_1256907819_4AEAE429_23656_2764_1_667f06560910300553t3b32ed0dp9dbbad116bfa5416@mail.gmail.com> Message-ID: thank you! ill have to tutorial menus in the next release, which i hope to make tin the next few weeks. On Oct 30, 2009, at 7:53 AM, U?ur G?ney wrote: > # Hi all, > # I asked many questions to the list about how something is done > using Scheme instead of SAL. > # And here is my translation of SAL tutorials (except fomus.sal) > which come with Grace to Scheme language. I hope you find them useful. > # I changed some comments too, but because my English is bad they do > not look like promising :-) > # Have a nice day! > v.u.g > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist