From bil at ccrma.Stanford.EDU Mon Mar 1 03:19:35 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Mon, 01 Mar 2021 03:19:35 -0800 Subject: [CM] Untrusted code in s7 scheme In-Reply-To: References: Message-ID: <16de7a8186683e8499b108769fe0c10f@ccrma.stanford.edu> Perhaps the sandbox function in stuff.scm? I haven't tested it with great malice, but it might be a start. I have needed a time limit (in things like auto-tester.scm), but I haven't found a nice solution -- a timer interrupt might be the simplest way. From iainduncanlists at gmail.com Mon Mar 1 07:34:02 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Mon, 1 Mar 2021 07:34:02 -0800 Subject: [CM] Untrusted code in s7 scheme In-Reply-To: <16de7a8186683e8499b108769fe0c10f@ccrma.stanford.edu> References: <16de7a8186683e8499b108769fe0c10f@ccrma.stanford.edu> Message-ID: Just wanted to say +1 on a time limit feature request. It would be helpful in Scheme For Max in making it possible to "rescue" the system without Max going down when one does things like overload the scheduler by accident. :-) iain On Mon, Mar 1, 2021 at 3:19 AM wrote: > Perhaps the sandbox function in stuff.scm? I haven't tested > it with great malice, but it might be a start. I have needed > a time limit (in things like auto-tester.scm), but I haven't > found a nice solution -- a timer interrupt might be the > simplest way. > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From j_hearon at hotmail.com Tue Mar 2 09:50:38 2021 From: j_hearon at hotmail.com (James Hearon) Date: Tue, 2 Mar 2021 17:50:38 +0000 Subject: [CM] dynamic variables Message-ID: Hi, I have been bashing on a problem trying to figure out the best way to create and use dynamic variables in scheme, such as reg0, reg1, reg2, etc. and stumbling a bit. Wondering if there's a somewhat standard approach to doing that? For ex. if I create a variable, say inside a do-loop, and want to increment the variable, in order to be able to access the particular regions later, what's the best way to think of that? (xxx (make region beg end snd chn)) I tried the string-append approach, but doesn't seem be the best method since (type-of) shows the variable (xxx) as a c-object. Is there perhaps a method to create and increment c-objects? Regards, Jim -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Tue Mar 2 12:10:45 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Tue, 02 Mar 2021 12:10:45 -0800 Subject: [CM] dynamic variables In-Reply-To: References: Message-ID: I can't tell what you're trying to do. Is this related to the region-play-list example in sndscm.html? Please send a more detailed description of the problem, or the code you want to use. From j_hearon at hotmail.com Fri Mar 5 10:21:21 2021 From: j_hearon at hotmail.com (James Hearon) Date: Fri, 5 Mar 2021 18:21:21 +0000 Subject: [CM] Cmdist Digest, Vol 154, Issue 3 In-Reply-To: References: Message-ID: Here is a rough idea of what I was thinking. Thank you for the info re: (vector-set! regs i (make-region beg end snd chn))) as a way to increment a variable as region name. I've got more to do, I know, but I'm also still a bit hung up on var types at the insert-region line below where it wants a region id instead of an unspecified object. ;;Open the sound and list samples (begin (open-sound "myfile.wav") (mus-sound-samples "myfile.wav") ) (begin (do ((i 0 (+ i 1))) ((= i 3)) (let* ((g (gaussian-distribution 10.0)) (regs (make-vector 3)) (mysamples (mus-sound-samples "myfile.wav")) (myran 0.0) (regstart 0) (regend 0) (regdur 1000) (myreg 0) ) (set! myran (any-random (abs 10.0) g)) (set! regstart (round (* myran mysamples))) (set! regend (round (+ regstart regdur))) (vector-set! regs i (make-region regstart regend 0 1)) (set! myreg (vector-ref regs 0)) (insert-region myreg 0 0 1) ))) Regards, Jim ________________________________ From: cmdist-bounces at ccrma.Stanford.EDU on behalf of cmdist-request at ccrma.Stanford.EDU Sent: Wednesday, March 3, 2021 10:00 AM To: cmdist at ccrma.Stanford.EDU Subject: Cmdist Digest, Vol 154, Issue 3 Send Cmdist mailing list submissions to cmdist at ccrma.stanford.edu To subscribe or unsubscribe via the World Wide Web, visit https://cm-mail.stanford.edu/mailman/listinfo/cmdist or, via email, send a message with subject or body 'help' to cmdist-request at ccrma.stanford.edu You can reach the person managing the list at cmdist-owner at ccrma.stanford.edu When replying, please edit your Subject line so it is more specific than "Re: Contents of Cmdist digest..." Today's Topics: 1. Re: dynamic variables (bil at ccrma.Stanford.EDU) ---------------------------------------------------------------------- Message: 1 Date: Tue, 02 Mar 2021 12:10:45 -0800 From: bil at ccrma.Stanford.EDU To: James Hearon Cc: "cmdist at ccrma.Stanford.EDU" Subject: Re: [CM] dynamic variables Message-ID: Content-Type: text/plain; charset=US-ASCII; format=flowed I can't tell what you're trying to do. Is this related to the region-play-list example in sndscm.html? Please send a more detailed description of the problem, or the code you want to use. ------------------------------ _______________________________________________ Cmdist mailing list Cmdist at ccrma.stanford.edu https://cm-mail.stanford.edu/mailman/listinfo/cmdist End of Cmdist Digest, Vol 154, Issue 3 ************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Fri Mar 5 12:32:11 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Fri, 05 Mar 2021 12:32:11 -0800 Subject: [CM] Cmdist Digest, Vol 154, Issue 3 In-Reply-To: References: Message-ID: <02837271f10a3a2e3dd6dacd67ddc09b@ccrma.stanford.edu> It says that because you are remaking the regs vector on each iteration of the loop, but only setting the i-th member. Make the regs vector outside the do loop, or in the do loop's variables, not in the inner let*: (begin (do ((i 0 (+ i 1)) (regs (make-vector 3))) ((= i 3)) (let* ((g (gaussian-distribution 10.0)) (mysamples (mus-sound-samples "myfile.wav")) (myran 0.0) (regstart 0) (regend 0) (regdur 1000) (myreg 0) ) (set! myran (any-random (abs 10.0) g)) (set! regstart (round (* myran mysamples))) (set! regend (round (+ regstart regdur))) (vector-set! regs i (make-region regstart regend 0 1)) (set! myreg (vector-ref regs 0)) (insert-region myreg 0 0 1) ))) From bil at ccrma.Stanford.EDU Tue Mar 9 11:06:11 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Tue, 09 Mar 2021 11:06:11 -0800 Subject: [CM] Snd 21.2 Message-ID: <02c495d2855019c2fa90eea3a259679f@ccrma.stanford.edu> Snd 21.2: mostly optimizations and bugfixes in s7 checked: notcurses 2.2.2 From iainduncanlists at gmail.com Tue Mar 16 22:06:01 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Tue, 16 Mar 2021 22:06:01 -0700 Subject: [CM] Confused about subvectors Message-ID: Hi folks, not sure if I can't read or what, I'm trying to make subvectors and I'm not getting at all what I'm expecting from the docs. I thought from the s7 docs that subvector should return a vector given (subvector vector start end), or (subvector vector start end dimensions) If anyone can shed some light on this, that would be lovely. iain Here's my repl output from using the s7 repl example > (define v (vector 1 2 3 4)) #(1 2 3 4) > v #(1 2 3 4) > (subvector v 0 2) #() > (subvector v 0 2 1) ;subvector: too many arguments: (#(1 2 3 4) 0 2 1) > (subvector v) ;subvector: not enough arguments: (#(1 2 3 4)) -------------- next part -------------- An HTML attachment was scrubbed... URL: From tito.01beta at gmail.com Wed Mar 17 01:47:44 2021 From: tito.01beta at gmail.com (Tito Latini) Date: Wed, 17 Mar 2021 09:47:44 +0100 Subject: [CM] Confused about subvectors In-Reply-To: References: Message-ID: <20210317084744.GA1988@vis.roboris> On Tue, Mar 16, 2021 at 10:06:01PM -0700, Iain Duncan wrote: > Hi folks, not sure if I can't read or what, I'm trying to make subvectors > and I'm not getting at all what I'm expecting from the docs. I thought from > the s7 docs that subvector should return a vector given (subvector vector > start end), or (subvector vector start end dimensions) > > If anyone can shed some light on this, that would be lovely. > iain > > Here's my repl output from using the s7 repl example > > > (define v (vector 1 2 3 4)) > #(1 2 3 4) > > v > #(1 2 3 4) > > (subvector v 0 2) > #() > > (subvector v 0 2 1) > > ;subvector: too many arguments: (#(1 2 3 4) 0 2 1) > > > (subvector v) > > ;subvector: not enough arguments: (#(1 2 3 4)) It works here (tested with Snd 21.2 and s7 9.9): (define v (vector 1 2 3 4)) ; => #(1 2 3 4) (subvector v 0 2) ; => #(1 2) (subvector v 0 4 '(2 2)) ; => #2d((1 2) (3 4)) From bil at ccrma.Stanford.EDU Wed Mar 17 03:25:49 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Wed, 17 Mar 2021 03:25:49 -0700 Subject: [CM] Confused about subvectors In-Reply-To: References: Message-ID: That looks sort of like the old subvector -- check (*s7* 'version); if s7 is up-to-date, maybe try (procedure-source subvector) -- for a built-in function it will return (). From iainduncanlists at gmail.com Wed Mar 17 07:52:48 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Wed, 17 Mar 2021 07:52:48 -0700 Subject: [CM] Confused about subvectors In-Reply-To: References: Message-ID: thanks guys, that must be it. I have not been doing a Scheme For Max release for every s7 release, so will get a new one out. thanks for chiming in! iain On Wed, Mar 17, 2021 at 3:25 AM wrote: > That looks sort of like the old subvector -- check > (*s7* 'version); if s7 is up-to-date, maybe try > (procedure-source subvector) -- for a built-in > function it will return (). > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From j_hearon at hotmail.com Sat Mar 20 11:04:08 2021 From: j_hearon at hotmail.com (James Hearon) Date: Sat, 20 Mar 2021 18:04:08 +0000 Subject: [CM] configure Message-ID: Hi, Thanks for Snd21.2. For configure I've included: CFLAGS="-I/usr/include/linux/param.h" But I don't see param.h in configure or Readme.snd any longer. Is it still needed/useful? Just seems to define HZ based on system clock, I think. Regards, Jim -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Sat Mar 20 11:33:49 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Sat, 20 Mar 2021 11:33:49 -0700 Subject: [CM] configure In-Reply-To: References: Message-ID: <65c9a3055a3f16c11d9664d97f6e5ca9@ccrma.stanford.edu> I don't think it's needed. From iainduncanlists at gmail.com Mon Mar 22 18:41:45 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Mon, 22 Mar 2021 18:41:45 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up Message-ID: Hi folks, I've got a first draft of my beginner friendly guide to s7 for Scheme For Max up now. If any experienced folks feel like giving it a gander, I'd love feedback, error corrections, suggestions, etc! It's meant to be a fast-moving crash course to get the new Schemer working productively as quickly as possible. Book: https://iainctduncan.github.io/learn-scheme-for-max/ File issues for feedback here: https://github.com/iainctduncan/learn-scheme-for-max Thanks! iain -------------- next part -------------- An HTML attachment was scrubbed... URL: From iainduncanlists at gmail.com Mon Mar 22 21:39:43 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Mon, 22 Mar 2021 21:39:43 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: Message-ID: hi Forrest, I will be doing a port to PureData starting in a few weeks, it's been approved for my thesis project so it will definitely happen. But at present this has nothing to do with any existing pd scheme objects. Everything in it *will* be relevant to the Pd port though when it happens! I would anticipate the Pd port will happen this summer, with some early limited versions out in the next couple of months. iain On Mon, Mar 22, 2021 at 8:37 PM Forrest Curo wrote: > Is this applicable to Pure Data? > > I see that there are a few references to a pd-scheme object; I don't know > how well that works(?) > > On Mon, Mar 22, 2021 at 6:42 PM Iain Duncan > wrote: > >> Hi folks, I've got a first draft of my beginner friendly guide to s7 for >> Scheme For Max up now. If any experienced folks feel like giving it a >> gander, I'd love feedback, error corrections, suggestions, etc! It's meant >> to be a fast-moving crash course to get the new Schemer working >> productively as quickly as possible. >> >> Book: >> https://iainctduncan.github.io/learn-scheme-for-max/ >> >> File issues for feedback here: >> https://github.com/iainctduncan/learn-scheme-for-max >> >> Thanks! >> iain >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> https://cm-mail.stanford.edu/mailman/listinfo/cmdist >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From treegestalt at gmail.com Tue Mar 23 09:12:20 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Tue, 23 Mar 2021 09:12:20 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: Message-ID: Is this useful? -- https://github.com/etienne-p/Pd_Scheme On Mon, Mar 22, 2021 at 9:39 PM Iain Duncan wrote: > hi Forrest, I will be doing a port to PureData starting in a few weeks, > it's been approved for my thesis project so it will definitely happen. But > at present this has nothing to do with any existing pd scheme objects. > Everything in it *will* be relevant to the Pd port though when it happens! > I would anticipate the Pd port will happen this summer, with some early > limited versions out in the next couple of months. > > iain > > On Mon, Mar 22, 2021 at 8:37 PM Forrest Curo > wrote: > >> Is this applicable to Pure Data? >> >> I see that there are a few references to a pd-scheme object; I don't know >> how well that works(?) >> >> On Mon, Mar 22, 2021 at 6:42 PM Iain Duncan >> wrote: >> >>> Hi folks, I've got a first draft of my beginner friendly guide to s7 for >>> Scheme For Max up now. If any experienced folks feel like giving it a >>> gander, I'd love feedback, error corrections, suggestions, etc! It's meant >>> to be a fast-moving crash course to get the new Schemer working >>> productively as quickly as possible. >>> >>> Book: >>> https://iainctduncan.github.io/learn-scheme-for-max/ >>> >>> File issues for feedback here: >>> https://github.com/iainctduncan/learn-scheme-for-max >>> >>> Thanks! >>> iain >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> https://cm-mail.stanford.edu/mailman/listinfo/cmdist >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From iainduncanlists at gmail.com Tue Mar 23 09:20:32 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Tue, 23 Mar 2021 09:20:32 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: Message-ID: Thanks, it could very well be helpful! When I first started the hunt I was only looking at Max resources so never found that. thanks Forrest. iain On Tue, Mar 23, 2021 at 9:12 AM Forrest Curo wrote: > Is this useful? -- https://github.com/etienne-p/Pd_Scheme > > On Mon, Mar 22, 2021 at 9:39 PM Iain Duncan > wrote: > >> hi Forrest, I will be doing a port to PureData starting in a few weeks, >> it's been approved for my thesis project so it will definitely happen. But >> at present this has nothing to do with any existing pd scheme objects. >> Everything in it *will* be relevant to the Pd port though when it happens! >> I would anticipate the Pd port will happen this summer, with some early >> limited versions out in the next couple of months. >> >> iain >> >> On Mon, Mar 22, 2021 at 8:37 PM Forrest Curo >> wrote: >> >>> Is this applicable to Pure Data? >>> >>> I see that there are a few references to a pd-scheme object; I don't >>> know how well that works(?) >>> >>> On Mon, Mar 22, 2021 at 6:42 PM Iain Duncan >>> wrote: >>> >>>> Hi folks, I've got a first draft of my beginner friendly guide to s7 >>>> for Scheme For Max up now. If any experienced folks feel like giving it a >>>> gander, I'd love feedback, error corrections, suggestions, etc! It's meant >>>> to be a fast-moving crash course to get the new Schemer working >>>> productively as quickly as possible. >>>> >>>> Book: >>>> https://iainctduncan.github.io/learn-scheme-for-max/ >>>> >>>> File issues for feedback here: >>>> https://github.com/iainctduncan/learn-scheme-for-max >>>> >>>> Thanks! >>>> iain >>>> _______________________________________________ >>>> Cmdist mailing list >>>> Cmdist at ccrma.stanford.edu >>>> https://cm-mail.stanford.edu/mailman/listinfo/cmdist >>>> >>> _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris.actondev at gmail.com Wed Mar 24 12:51:45 2021 From: chris.actondev at gmail.com (Christos Vagias) Date: Wed, 24 Mar 2021 20:51:45 +0100 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: Message-ID: Congratulations Iain! Amazing work! By taking a quick look I also learned something! Didn't know that map can operate on more than one list (or more generally, more than one iteratables). Quite the embarrassment having worked quite some time with scheme/clojure. That makes writing sth like map-indexed (a-la-clojure) really trivial (and unnecessary). Would like to share some snippets, you might find them interesting. Also, they touch the "iterator" concept in s7, which is worth mentioning. (define* (lazy-range (n +inf.0) (start 0) (step 1)) (let ((+iterator+ #t) (i start) (counter 0)) (lambda () (let ((res i)) (if (= counter n) # (begin (set! i (+ step i)) (set! counter (+ 1 counter)) res)))))) (is equivalent? '(0 1 2) (map values (lazy-range 3))) (test "lazy range: can be used for map-indexed " (is equivalent? '(a 0 b 1) (map (lambda (x y) (values x y)) '(a b) (lazy-range))) (is equivalent? '(0 a 1 b) (map (lambda (x y) (values x y)) (lazy-range) '(a b)))) And some more clojure-inspired bits (define (take n lazy-seq) (map (lambda (_ x) x) (range n) lazy-seq)) (test "take x from lazy-seq" (define seq (lazy-range 8)) (is equivalent? '(0 1 2) (take 3 seq)) (is equivalent? '(3 4 5) (take 3 seq)) (is equivalent? '(6 7) (take 3 seq))) Also, a small suggestion (wrt the map list.. (length fruits) that you have in the book), would be to comment against calling length on lists. This causes traversing the whole (linked) list to find the length.In vectors though it'd be fine. On Tue, 23 Mar 2021 at 17:20, Iain Duncan wrote: > > Thanks, it could very well be helpful! When I first started the hunt I was only looking at Max resources so never found that. > > thanks Forrest. > iain > > On Tue, Mar 23, 2021 at 9:12 AM Forrest Curo wrote: >> >> Is this useful? -- https://github.com/etienne-p/Pd_Scheme >> >> On Mon, Mar 22, 2021 at 9:39 PM Iain Duncan wrote: >>> >>> hi Forrest, I will be doing a port to PureData starting in a few weeks, it's been approved for my thesis project so it will definitely happen. But at present this has nothing to do with any existing pd scheme objects. Everything in it *will* be relevant to the Pd port though when it happens! I would anticipate the Pd port will happen this summer, with some early limited versions out in the next couple of months. >>> >>> iain >>> >>> On Mon, Mar 22, 2021 at 8:37 PM Forrest Curo wrote: >>>> >>>> Is this applicable to Pure Data? >>>> >>>> I see that there are a few references to a pd-scheme object; I don't know how well that works(?) >>>> >>>> On Mon, Mar 22, 2021 at 6:42 PM Iain Duncan wrote: >>>>> >>>>> Hi folks, I've got a first draft of my beginner friendly guide to s7 for Scheme For Max up now. If any experienced folks feel like giving it a gander, I'd love feedback, error corrections, suggestions, etc! It's meant to be a fast-moving crash course to get the new Schemer working productively as quickly as possible. >>>>> >>>>> Book: >>>>> https://iainctduncan.github.io/learn-scheme-for-max/ >>>>> >>>>> File issues for feedback here: >>>>> https://github.com/iainctduncan/learn-scheme-for-max >>>>> >>>>> Thanks! >>>>> iain >>>>> _______________________________________________ >>>>> Cmdist mailing list >>>>> Cmdist at ccrma.stanford.edu >>>>> https://cm-mail.stanford.edu/mailman/listinfo/cmdist >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> https://cm-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist From iainduncanlists at gmail.com Wed Mar 24 13:15:08 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Wed, 24 Mar 2021 13:15:08 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: Message-ID: Thanks for the feedback Christos, those are helpful.I also learned something from Bill's feedback, all this time I'd been butting unneeded begin statements inside cond for blocks all this time, haha! I plan to have a subsequent major part with the sort of snippets, advanced use, and s7 specific goodies too. I'll certainly share those as they come up as there is likely to be more suboptimal handling in them by me! iain On Wed, Mar 24, 2021 at 12:52 PM Christos Vagias wrote: > Congratulations Iain! Amazing work! > > By taking a quick look I also learned something! Didn't know that map > can operate on more than one list > (or more generally, more than one iteratables). Quite the > embarrassment having worked quite some time > with scheme/clojure. That makes writing sth like map-indexed > (a-la-clojure) really trivial (and unnecessary). > > Would like to share some snippets, you might find them interesting. > Also, they touch the "iterator" concept in s7, > which is worth mentioning. > > (define* (lazy-range (n +inf.0) (start 0) (step 1)) > (let ((+iterator+ #t) > (i start) > (counter 0)) > (lambda () > (let ((res i)) > (if (= counter n) > # > (begin > (set! i (+ step i)) > (set! counter (+ 1 counter)) > res)))))) > > (is equivalent? '(0 1 2) (map values (lazy-range 3))) > > (test "lazy range: can be used for map-indexed " > (is equivalent? '(a 0 b 1) > (map (lambda (x y) > (values x y)) > '(a b) > (lazy-range))) > (is equivalent? '(0 a 1 b) > (map (lambda (x y) > (values x y)) > (lazy-range) > '(a b)))) > > And some more clojure-inspired bits > > (define (take n lazy-seq) > (map (lambda (_ x) x) > (range n) > lazy-seq)) > > (test "take x from lazy-seq" > (define seq (lazy-range 8)) > (is equivalent? '(0 1 2) (take 3 seq)) > (is equivalent? '(3 4 5) (take 3 seq)) > (is equivalent? '(6 7) (take 3 seq))) > > > Also, a small suggestion (wrt the map list.. (length fruits) that you > have in the book), > would be to comment against calling length on lists. > This causes traversing the whole (linked) list to find the length.In > vectors > though it'd be fine. > > > On Tue, 23 Mar 2021 at 17:20, Iain Duncan > wrote: > > > > Thanks, it could very well be helpful! When I first started the hunt I > was only looking at Max resources so never found that. > > > > thanks Forrest. > > iain > > > > On Tue, Mar 23, 2021 at 9:12 AM Forrest Curo > wrote: > >> > >> Is this useful? -- https://github.com/etienne-p/Pd_Scheme > >> > >> On Mon, Mar 22, 2021 at 9:39 PM Iain Duncan > wrote: > >>> > >>> hi Forrest, I will be doing a port to PureData starting in a few > weeks, it's been approved for my thesis project so it will definitely > happen. But at present this has nothing to do with any existing pd scheme > objects. Everything in it *will* be relevant to the Pd port though when it > happens! I would anticipate the Pd port will happen this summer, with some > early limited versions out in the next couple of months. > >>> > >>> iain > >>> > >>> On Mon, Mar 22, 2021 at 8:37 PM Forrest Curo > wrote: > >>>> > >>>> Is this applicable to Pure Data? > >>>> > >>>> I see that there are a few references to a pd-scheme object; I don't > know how well that works(?) > >>>> > >>>> On Mon, Mar 22, 2021 at 6:42 PM Iain Duncan < > iainduncanlists at gmail.com> wrote: > >>>>> > >>>>> Hi folks, I've got a first draft of my beginner friendly guide to s7 > for Scheme For Max up now. If any experienced folks feel like giving it a > gander, I'd love feedback, error corrections, suggestions, etc! It's meant > to be a fast-moving crash course to get the new Schemer working > productively as quickly as possible. > >>>>> > >>>>> Book: > >>>>> https://iainctduncan.github.io/learn-scheme-for-max/ > >>>>> > >>>>> File issues for feedback here: > >>>>> https://github.com/iainctduncan/learn-scheme-for-max > >>>>> > >>>>> Thanks! > >>>>> iain > >>>>> _______________________________________________ > >>>>> Cmdist mailing list > >>>>> Cmdist at ccrma.stanford.edu > >>>>> https://cm-mail.stanford.edu/mailman/listinfo/cmdist > >> > >> _______________________________________________ > >> Cmdist mailing list > >> Cmdist at ccrma.stanford.edu > >> https://cm-mail.stanford.edu/mailman/listinfo/cmdist > > > > _______________________________________________ > > Cmdist mailing list > > Cmdist at ccrma.stanford.edu > > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Wed Mar 24 13:21:19 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Wed, 24 Mar 2021 13:21:19 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: Message-ID: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> That lazy-range made me laugh! I didn't know about map-indexed. From bil at ccrma.Stanford.EDU Wed Mar 24 13:47:03 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Wed, 24 Mar 2021 13:47:03 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> References: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> Message-ID: <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> Here's an example of "do" for your book: ;; 2D dft, real data, spot-checked against fftw (define (dft2 in) (let* ((dims (vector-dimensions in)) (h (car dims)) (w (cadr dims)) (ih (/ 1.0 h)) (iw (/ 1.0 w)) (rl (make-float-vector (list h w) 0.0)) (im (make-float-vector (list h w) 0.0)) (out (make-float-vector (list h w)))) (do ((yout 0 (+ yout 1))) ((= yout h) (do ((i 0 (+ i 1))) ((= i h) out) (do ((j 0 (+ j 1))) ((= j w)) (set! (out i j) (+ (* (rl i j) (rl i j)) (* (im i j) (im i j))))))) (do ((xout 0 (+ xout 1))) ((= xout w)) (do ((yin 0 (+ yin 1))) ((= yin h)) (do ((xin 0 (+ xin 1))) ((= xin w)) (set! (rl yout xout) (+ (rl yout xout) (* (in yin xin) (cos (* 2 pi (+ (* xout xin iw) (* yout yin ih))))))) (set! (im yout xout) (+ (im yout xout) (* (in yin xin) (sin (* 2 pi (+ (* xout xin iw) (* yout yin ih))))))))))))) (I was trying to find a good "do" timing test, so I wrote this yesterday). From bil at ccrma.Stanford.EDU Wed Mar 24 13:51:15 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Wed, 24 Mar 2021 13:51:15 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> References: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> Message-ID: <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> Darn it! I meant to send that (as a joke!) to Iain. It looks like the mailer made a hash of it. From iainduncanlists at gmail.com Wed Mar 24 14:15:31 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Wed, 24 Mar 2021 14:15:31 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> References: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> Message-ID: Yeah that about captures my experience with *do*. Weapon of last resort and all that, haha! iain. On Wed, Mar 24, 2021 at 1:51 PM wrote: > Darn it! I meant to send that (as a joke!) to Iain. It looks > like the mailer made a hash of it. > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From treegestalt at gmail.com Wed Mar 24 14:34:49 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Wed, 24 Mar 2021 14:34:49 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> References: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> Message-ID: There's also an old pd scheme extension that created external objects like a normal pd object running scheme code rather than c. As far as I can tell, after a few days of bewildered frustration, it's kaput (?) -- but the idea was nice. The etienne-p/Pd-Scheme does work, but it's (so-far) limited to three possible inputs: load -- takes a complete-path filename, loads the file, defines all the '(define (blah) (whatever)) functions in it bang -- does whatever function (from the last loaded file?) provided for (bang) and call -- applies a function from a previously loaded file. There's no explicit way to have an arbitrary message evaluated as s7 code. Maybe put it in a [text], save the contents to a file, load the file? And the only output is to a function called (outlet). Ways to add a 'send' function? On Wed, Mar 24, 2021 at 1:51 PM wrote: > Darn it! I meant to send that (as a joke!) to Iain. It looks > like the mailer made a hash of it. > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From iainduncanlists at gmail.com Wed Mar 24 15:38:15 2021 From: iainduncanlists at gmail.com (Iain Duncan) Date: Wed, 24 Mar 2021 15:38:15 -0700 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> Message-ID: Yeah the etienne one looks a lot like Scheme For Max in its very early prototypes. It will be helpful as a porting reference though. I anticipate the Pd version being a lot easier to do, from what I've read so far. It will come out a little less full featured, but there won't be any of the high and low priority thread protection to deal with. I need to get through the next 3 weeks of this semester's deliverables first, but I'm looking forward to laying into it after that! It's going to be wicked cool for sequencing eurorack modular synths from little Pd running computer-on-a-module devices like the Bela Pepper. :-) iain On Wed, Mar 24, 2021 at 2:35 PM Forrest Curo wrote: > There's also an old pd scheme extension that created external objects like > a normal pd object running scheme code rather than c. As far as I can tell, > after a few days of bewildered frustration, it's kaput (?) -- but the idea > was nice. > > The etienne-p/Pd-Scheme does work, but it's (so-far) limited to three > possible inputs: > load -- takes a complete-path filename, loads the file, defines all the > '(define (blah) (whatever)) functions in it > bang -- does whatever function (from the last loaded file?) provided for > (bang) > and > call -- applies a function from a previously loaded file. > > There's no explicit way to have an arbitrary message evaluated as s7 code. > Maybe put it in a [text], save the contents to a file, load the file? > And the only output is to a function called (outlet). Ways to add a 'send' > function? > > On Wed, Mar 24, 2021 at 1:51 PM wrote: > >> Darn it! I meant to send that (as a joke!) to Iain. It looks >> like the mailer made a hash of it. >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> https://cm-mail.stanford.edu/mailman/listinfo/cmdist >> > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris.actondev at gmail.com Wed Mar 24 16:18:51 2021 From: chris.actondev at gmail.com (Christos Vagias) Date: Thu, 25 Mar 2021 00:18:51 +0100 Subject: [CM] Learn Scheme For Max with S7 e-book up In-Reply-To: References: <267e13d3a8e4f115f4879d5ae472ded8@ccrma.stanford.edu> <6390ca556313403a8535f3989de61505@ccrma.stanford.edu> <7717093356b7d109f0cf14994cb4534e@ccrma.stanford.edu> Message-ID: Let us/me know Iain when you start with PD. I'd also be interested in that. Help with anything, adapt (make it work with the meson build system that I'm using to orchestrate everything s7-related atm in my projects) etc :) On Wed, 24 Mar 2021 at 23:38, Iain Duncan wrote: > > Yeah the etienne one looks a lot like Scheme For Max in its very early prototypes. It will be helpful as a porting reference though. I anticipate the Pd version being a lot easier to do, from what I've read so far. It will come out a little less full featured, but there won't be any of the high and low priority thread protection to deal with. I need to get through the next 3 weeks of this semester's deliverables first, but I'm looking forward to laying into it after that! > > It's going to be wicked cool for sequencing eurorack modular synths from little Pd running computer-on-a-module devices like the Bela Pepper. :-) > > iain > > > On Wed, Mar 24, 2021 at 2:35 PM Forrest Curo wrote: >> >> There's also an old pd scheme extension that created external objects like a normal pd object running scheme code rather than c. As far as I can tell, after a few days of bewildered frustration, it's kaput (?) -- but the idea was nice. >> >> The etienne-p/Pd-Scheme does work, but it's (so-far) limited to three possible inputs: >> load -- takes a complete-path filename, loads the file, defines all the '(define (blah) (whatever)) functions in it >> bang -- does whatever function (from the last loaded file?) provided for (bang) >> and >> call -- applies a function from a previously loaded file. >> >> There's no explicit way to have an arbitrary message evaluated as s7 code. Maybe put it in a [text], save the contents to a file, load the file? >> And the only output is to a function called (outlet). Ways to add a 'send' function? >> >> On Wed, Mar 24, 2021 at 1:51 PM wrote: >>> >>> Darn it! I meant to send that (as a joke!) to Iain. It looks >>> like the mailer made a hash of it. >>> >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> https://cm-mail.stanford.edu/mailman/listinfo/cmdist >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> https://cm-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist From treegestalt at gmail.com Sun Mar 28 17:56:13 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Sun, 28 Mar 2021 17:56:13 -0700 Subject: [CM] s7 repl for linux? Message-ID: I'm finding a web repl in the packages. That hangs my compilation and isn't what I had in mind anyway. The emacs modes I've tried have been intractable. How to get a repl (with history) to practice with? Forrest Curo -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Mon Mar 29 05:41:02 2021 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Mon, 29 Mar 2021 05:41:02 -0700 Subject: [CM] =?utf-8?q?s7_repl_for_linux=3F?= In-Reply-To: References: Message-ID: <96c4fca100299de19e7b09a13837891b@ccrma.stanford.edu> You can build s7 with -DWITH_MAIN and it comes up with a repl. The same repl is available separately as either repl.c (with repl.scm) or nrepl.c (with nrepl.scm). There are also examples in s7.html if you want to make your own. nrepl does not have a history buffer (it's available directly via the mouse and scrolling, but you need to use a terminal that can handle mouse events (not rxvt in particular)). From treegestalt at gmail.com Mon Mar 29 08:54:10 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Mon, 29 Mar 2021 08:54:10 -0700 Subject: [CM] s7 repl for linux? In-Reply-To: <96c4fca100299de19e7b09a13837891b@ccrma.stanford.edu> References: <96c4fca100299de19e7b09a13837891b@ccrma.stanford.edu> Message-ID: Um, the makefile in the tarball is for the webserver. So I blindly try this instead (Sorry, this stuff isn't as obvious to me as it probably is to others!): gcc -o s7.scm s7.c -DWITH_MAIN s7.c:66:10: fatal error: mus-config.h: No such file or directory 66 | #include "mus-config.h" | ^~~~~~~~~~~~~~ compilation terminated. On Mon, Mar 29, 2021 at 5:41 AM wrote: > You can build s7 with -DWITH_MAIN and it comes up with > a repl. The same repl is available separately as either > repl.c (with repl.scm) or nrepl.c (with nrepl.scm). > There are also examples in s7.html if you want to make > your own. nrepl does not have a history buffer (it's > available directly via the mouse and scrolling, but you > need to use a terminal that can handle mouse events > (not rxvt in particular)). > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris.actondev at gmail.com Mon Mar 29 09:01:16 2021 From: chris.actondev at gmail.com (Christos Vagias) Date: Mon, 29 Mar 2021 18:01:16 +0200 Subject: [CM] s7 repl for linux? In-Reply-To: References: <96c4fca100299de19e7b09a13837891b@ccrma.stanford.edu> Message-ID: just create a file called "mus-config.h", it can be empty or you can put various definitions there (see mus-config.h.in for possible definitions) On Mon, 29 Mar 2021 at 17:54, Forrest Curo wrote: > > Um, the makefile in the tarball is for the webserver. > So I blindly try this instead (Sorry, this stuff isn't as obvious to me as it probably is to others!): > gcc -o s7.scm s7.c -DWITH_MAIN > s7.c:66:10: fatal error: mus-config.h: No such file or directory > 66 | #include "mus-config.h" > | ^~~~~~~~~~~~~~ > compilation terminated. > > On Mon, Mar 29, 2021 at 5:41 AM wrote: >> >> You can build s7 with -DWITH_MAIN and it comes up with >> a repl. The same repl is available separately as either >> repl.c (with repl.scm) or nrepl.c (with nrepl.scm). >> There are also examples in s7.html if you want to make >> your own. nrepl does not have a history buffer (it's >> available directly via the mouse and scrolling, but you >> need to use a terminal that can handle mouse events >> (not rxvt in particular)). >> > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist From k.s.matheussen at gmail.com Mon Mar 29 09:18:31 2021 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Mon, 29 Mar 2021 18:18:31 +0200 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: On Mon, Mar 29, 2021 at 2:59 AM Forrest Curo wrote: > > I'm finding a web repl in the packages. That hangs my compilation and isn't what I had in mind anyway. The emacs modes I've tried have been intractable. > > How to get a repl (with history) to practice with? > There is a pretty good repl with history for the web server. That's the only repl I use. It's convenient when developing inside emacs that you can restart scheme without having to restart the scheme repl in emacs. cd s7webserver make ./s7webserver Then from a terminal, run the scheme repl that connects to the web server: cd s7webserver./s7webserver_repl.py From treegestalt at gmail.com Mon Mar 29 15:53:51 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Mon, 29 Mar 2021 15:53:51 -0700 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: Everything goes happily to cd qhttpserver-master && qmake-qt5 /bin/sh: 1: qmake-qt5: not found Okay, the line the 'makefile' is # 41: cd qhttpserver-master && $(QMAKE) and the way that's carried out: cd qhttpserver-master && qmake-qt5 is missing a needed space between qmake and -qt5 I do that manually. Doing this I get 'Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash' and make (from there) makes lines&lines with a warning: QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I../build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o ../build/http_parser.o ../http-parser/http_parser.c ../http-parser/http_parser.c: In function ?http_parser_parse_url?: ../http-parser/http_parser.c:2340:18: warning: this statement may fall through [-Wimplicit-fallthrough=] 2340 | found_at = 1; | ~~~~~~~~~^~~ ../http-parser/http_parser.c:2343:7: note: here 2343 | case s_req_server: | ^~~~ but the end result is a repl at localhost 6080 that responds with "Not connected" and a python s7webserver_repl that just says: "Unable to contact Radium" ?! On Mon, Mar 29, 2021 at 9:18 AM Kjetil Matheussen wrote: > On Mon, Mar 29, 2021 at 2:59 AM Forrest Curo > wrote: > > > > I'm finding a web repl in the packages. That hangs my compilation and > isn't what I had in mind anyway. The emacs modes I've tried have been > intractable. > > > > How to get a repl (with history) to practice with? > > > > There is a pretty good repl with history for the web server. That's > the only repl I use. It's convenient when developing inside emacs that > you can restart scheme without having to restart the scheme repl in > emacs. > > cd s7webserver > make > ./s7webserver > > Then from a terminal, run the scheme repl that connects to the web server: > cd s7webserver./s7webserver_repl.py > -------------- next part -------------- An HTML attachment was scrubbed... URL: From k.s.matheussen at gmail.com Mon Mar 29 23:24:59 2021 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Tue, 30 Mar 2021 08:24:59 +0200 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: On Tue, Mar 30, 2021 at 12:54 AM Forrest Curo wrote: > > Everything goes happily to > cd qhttpserver-master && qmake-qt5 > /bin/sh: 1: qmake-qt5: not found > > Okay, the line the 'makefile' is # 41: > cd qhttpserver-master && $(QMAKE) > > and the way that's carried out: cd qhttpserver-master && qmake-qt5 > is missing a needed space between qmake and -qt5 > "qmake-qt5" means qmake for qt5. If you only have a program called "qmake", you should make sure first that it's for qt5, not qt4 or qt6. > I do that manually. Doing this I get > > 'Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash' > > and make (from there) makes lines&lines > with a warning: > QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I../build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o ../build/http_parser.o ../http-parser/http_parser.c > ../http-parser/http_parser.c: In function ?http_parser_parse_url?: > ../http-parser/http_parser.c:2340:18: warning: this statement may fall through [-Wimplicit-fallthrough=] > 2340 | found_at = 1; > | ~~~~~~~~~^~~ > ../http-parser/http_parser.c:2343:7: note: here > 2343 | case s_req_server: > | ^~~~ > Looks fine. Those are innocent warnings. > but the end result is a repl at localhost 6080 that responds with "Not connected" What exactly is happening? Can you post the output of the terminal when you run the program? > and a python s7webserver_repl that just says: "Unable to contact Radium" > That's expected if the server is not running. From treegestalt at gmail.com Tue Mar 30 07:42:38 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Tue, 30 Mar 2021 07:42:38 -0700 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: forrest at beefurr:~$ qmake --version QMake version 3.1 Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu ... forrest at beefurr:~/s7/s7webserver$ make rm -fr qhttpserver-master.tar.gz qhttpserver-master wget https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz --2021-03-30 06:58:11-- https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz ... echo "CONFIG += staticlib" >> qhttpserver-master/src/src.pro cd qhttpserver-master && qmake-qt5 /bin/sh: 1: qmake-qt5: not found make: *** [Makefile:41: qhttpserver-master/lib/libqhttpserver.a] Error 127 forrest at beefurr:~/s7/s7webserver$ cd qhttpserver-master && qmake -qt5 (note space in this line) Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ make cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/src/src.pro ) && make -f Makefile make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' make -f Makefile.Release make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' ... forrest at beefurr:~/s7/s7webserver$ ./s7webserver_repl.py s7> (+ 4 4) ... forrest at beefurr:~/s7/s7webserver$ firefox s7webserver_repl.html [no output to terminal.] [firefox window, localhost 6080]: S7 scheme>>> (+ 3 5)Not connected. Please verify your network connection.>>> =========================== Finally -- reverting to new s7 folder and then altering the makefile to read : "cd qhttpserver-master && qmake -qt5 cd qhttpserver-master && make" I get much further but end with: make[3]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master' touch mus-config.h moc-qt5 -DCOMPILING_S7WEBSERVER s7webserver.h -o moc_s7webserver.cpp make: moc-qt5: Command not found make: *** [Makefile:27: moc_s7webserver.cpp] Error 127 On Mon, Mar 29, 2021 at 11:25 PM Kjetil Matheussen wrote: > On Tue, Mar 30, 2021 at 12:54 AM Forrest Curo > wrote: > > > > Everything goes happily to > > cd qhttpserver-master && qmake-qt5 > > /bin/sh: 1: qmake-qt5: not found > > > > Okay, the line the 'makefile' is # 41: > > cd qhttpserver-master && $(QMAKE) > > > > and the way that's carried out: cd qhttpserver-master && qmake-qt5 > > is missing a needed space between qmake and -qt5 > > > > "qmake-qt5" means qmake for qt5. If you only have a program called > "qmake", you should make sure first that it's for qt5, not qt4 or qt6. > > > > I do that manually. Doing this I get > > > > 'Info: creating stash file > /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash' > > > > and make (from there) makes lines&lines > > with a warning: > > QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I../build > -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o ../build/http_parser.o > ../http-parser/http_parser.c > > ../http-parser/http_parser.c: In function ?http_parser_parse_url?: > > ../http-parser/http_parser.c:2340:18: warning: this statement may fall > through [-Wimplicit-fallthrough=] > > 2340 | found_at = 1; > > | ~~~~~~~~~^~~ > > ../http-parser/http_parser.c:2343:7: note: here > > 2343 | case s_req_server: > > | ^~~~ > > > > Looks fine. Those are innocent warnings. > > > > but the end result is a repl at localhost 6080 that responds with "Not > connected" > > What exactly is happening? Can you post the output of the terminal > when you run the program? > > > > and a python s7webserver_repl that just says: "Unable to contact Radium" > > > > That's expected if the server is not running. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From k.s.matheussen at gmail.com Tue Mar 30 07:51:21 2021 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Tue, 30 Mar 2021 16:51:21 +0200 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: First of all you need to build and run the server. Running ./s7webserver_repl.py won't work unless the server is running. Try this to compile the server: cd qhttpserver-master QMAKE=qmake MOC=moc make On Tue, Mar 30, 2021 at 4:46 PM Forrest Curo wrote: > > forrest at beefurr:~$ qmake --version > QMake version 3.1 > Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu > ... > forrest at beefurr:~/s7/s7webserver$ make > rm -fr qhttpserver-master.tar.gz qhttpserver-master > wget https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz > --2021-03-30 06:58:11-- https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz > ... > echo "CONFIG += staticlib" >> qhttpserver-master/src/src.pro > cd qhttpserver-master && qmake-qt5 > /bin/sh: 1: qmake-qt5: not found > make: *** [Makefile:41: qhttpserver-master/lib/libqhttpserver.a] Error 127 > > forrest at beefurr:~/s7/s7webserver$ cd qhttpserver-master && qmake -qt5 (note space in this line) > Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash > forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ make > cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/src/src.pro ) && make -f Makefile > make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' > make -f Makefile.Release > make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' > > ... > forrest at beefurr:~/s7/s7webserver$ ./s7webserver_repl.py > s7> (+ 4 4) > > ... > forrest at beefurr:~/s7/s7webserver$ firefox s7webserver_repl.html > [no output to terminal.] > [firefox window, localhost 6080]: > > S7 scheme > >>> (+ 3 5) > Not connected. > Please verify your network connection. > >>> > > =========================== > Finally -- reverting to new s7 folder and then altering the makefile to read : > "cd qhttpserver-master && qmake -qt5 > cd qhttpserver-master && make" > > I get much further but end with: > > make[3]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' > make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' > make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master' > touch mus-config.h > moc-qt5 -DCOMPILING_S7WEBSERVER s7webserver.h -o moc_s7webserver.cpp > make: moc-qt5: Command not found > make: *** [Makefile:27: moc_s7webserver.cpp] Error 127 > > > On Mon, Mar 29, 2021 at 11:25 PM Kjetil Matheussen wrote: >> >> On Tue, Mar 30, 2021 at 12:54 AM Forrest Curo wrote: >> > >> > Everything goes happily to >> > cd qhttpserver-master && qmake-qt5 >> > /bin/sh: 1: qmake-qt5: not found >> > >> > Okay, the line the 'makefile' is # 41: >> > cd qhttpserver-master && $(QMAKE) >> > >> > and the way that's carried out: cd qhttpserver-master && qmake-qt5 >> > is missing a needed space between qmake and -qt5 >> > >> >> "qmake-qt5" means qmake for qt5. If you only have a program called >> "qmake", you should make sure first that it's for qt5, not qt4 or qt6. >> >> >> > I do that manually. Doing this I get >> > >> > 'Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash' >> > >> > and make (from there) makes lines&lines >> > with a warning: >> > QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I../build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o ../build/http_parser.o ../http-parser/http_parser.c >> > ../http-parser/http_parser.c: In function ?http_parser_parse_url?: >> > ../http-parser/http_parser.c:2340:18: warning: this statement may fall through [-Wimplicit-fallthrough=] >> > 2340 | found_at = 1; >> > | ~~~~~~~~~^~~ >> > ../http-parser/http_parser.c:2343:7: note: here >> > 2343 | case s_req_server: >> > | ^~~~ >> > >> >> Looks fine. Those are innocent warnings. >> >> >> > but the end result is a repl at localhost 6080 that responds with "Not connected" >> >> What exactly is happening? Can you post the output of the terminal >> when you run the program? >> >> >> > and a python s7webserver_repl that just says: "Unable to contact Radium" >> > >> >> That's expected if the server is not running. > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist From treegestalt at gmail.com Tue Mar 30 08:38:49 2021 From: treegestalt at gmail.com (Forrest Curo) Date: Tue, 30 Mar 2021 08:38:49 -0700 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: That seems to work, but after that, not running the server nor connecting to it with the python... forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ QMAKE=qmake MOC=moc make cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/src/src.pro ) && make -f Makefile make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' make -f Makefile.Release make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' cd examples/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/examples.pro ) && make -f Makefile make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' cd helloworld/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/helloworld/ helloworld.pro ) && make -f Makefile make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/helloworld' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/helloworld' cd greeting/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/greeting/ greeting.pro ) && make -f Makefile make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/greeting' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/greeting' cd bodydata/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata/ bodydata.pro ) && make -f Makefile make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ cd .. forrest at beefurr:~/s7/s7webserver$ ./s7webserver_repl.py s7> (+ 5 7) s7> On Tue, Mar 30, 2021 at 7:51 AM Kjetil Matheussen wrote: > First of all you need to build and run the server. Running > ./s7webserver_repl.py won't work unless the server is running. > > Try this to compile the server: > > cd qhttpserver-master > QMAKE=qmake MOC=moc make > > > On Tue, Mar 30, 2021 at 4:46 PM Forrest Curo > wrote: > > > > forrest at beefurr:~$ qmake --version > > QMake version 3.1 > > Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu > > ... > > forrest at beefurr:~/s7/s7webserver$ make > > rm -fr qhttpserver-master.tar.gz qhttpserver-master > > wget https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz > > --2021-03-30 06:58:11-- > https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz > > ... > > echo "CONFIG += staticlib" >> qhttpserver-master/src/src.pro > > cd qhttpserver-master && qmake-qt5 > > /bin/sh: 1: qmake-qt5: not found > > make: *** [Makefile:41: qhttpserver-master/lib/libqhttpserver.a] Error > 127 > > > > forrest at beefurr:~/s7/s7webserver$ cd qhttpserver-master && qmake -qt5 > (note space in this line) > > Info: creating stash file > /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash > > forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ make > > cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile > /home/forrest/s7/s7webserver/qhttpserver-master/src/src.pro ) && make -f > Makefile > > make[1]: Entering directory > '/home/forrest/s7/s7webserver/qhttpserver-master/src' > > make -f Makefile.Release > > make[2]: Entering directory > '/home/forrest/s7/s7webserver/qhttpserver-master/src' > > > > ... > > forrest at beefurr:~/s7/s7webserver$ ./s7webserver_repl.py > > s7> (+ 4 4) > > > > ... > > forrest at beefurr:~/s7/s7webserver$ firefox s7webserver_repl.html > > [no output to terminal.] > > [firefox window, localhost 6080]: > > > > S7 scheme > > >>> (+ 3 5) > > Not connected. > > Please verify your network connection. > > >>> > > > > =========================== > > Finally -- reverting to new s7 folder and then altering the makefile to > read : > > "cd qhttpserver-master && qmake -qt5 > > cd qhttpserver-master && make" > > > > I get much further but end with: > > > > make[3]: Leaving directory > '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' > > make[2]: Leaving directory > '/home/forrest/s7/s7webserver/qhttpserver-master/examples' > > make[1]: Leaving directory > '/home/forrest/s7/s7webserver/qhttpserver-master' > > touch mus-config.h > > moc-qt5 -DCOMPILING_S7WEBSERVER s7webserver.h -o moc_s7webserver.cpp > > make: moc-qt5: Command not found > > make: *** [Makefile:27: moc_s7webserver.cpp] Error 127 > > > > > > On Mon, Mar 29, 2021 at 11:25 PM Kjetil Matheussen < > k.s.matheussen at gmail.com> wrote: > >> > >> On Tue, Mar 30, 2021 at 12:54 AM Forrest Curo > wrote: > >> > > >> > Everything goes happily to > >> > cd qhttpserver-master && qmake-qt5 > >> > /bin/sh: 1: qmake-qt5: not found > >> > > >> > Okay, the line the 'makefile' is # 41: > >> > cd qhttpserver-master && $(QMAKE) > >> > > >> > and the way that's carried out: cd qhttpserver-master && qmake-qt5 > >> > is missing a needed space between qmake and -qt5 > >> > > >> > >> "qmake-qt5" means qmake for qt5. If you only have a program called > >> "qmake", you should make sure first that it's for qt5, not qt4 or qt6. > >> > >> > >> > I do that manually. Doing this I get > >> > > >> > 'Info: creating stash file > /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash' > >> > > >> > and make (from there) makes lines&lines > >> > with a warning: > >> > QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore > -I../build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o > ../build/http_parser.o ../http-parser/http_parser.c > >> > ../http-parser/http_parser.c: In function ?http_parser_parse_url?: > >> > ../http-parser/http_parser.c:2340:18: warning: this statement may > fall through [-Wimplicit-fallthrough=] > >> > 2340 | found_at = 1; > >> > | ~~~~~~~~~^~~ > >> > ../http-parser/http_parser.c:2343:7: note: here > >> > 2343 | case s_req_server: > >> > | ^~~~ > >> > > >> > >> Looks fine. Those are innocent warnings. > >> > >> > >> > but the end result is a repl at localhost 6080 that responds with > "Not connected" > >> > >> What exactly is happening? Can you post the output of the terminal > >> when you run the program? > >> > >> > >> > and a python s7webserver_repl that just says: "Unable to contact > Radium" > >> > > >> > >> That's expected if the server is not running. > > > > _______________________________________________ > > Cmdist mailing list > > Cmdist at ccrma.stanford.edu > > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > -------------- next part -------------- An HTML attachment was scrubbed... URL: From k.s.matheussen at gmail.com Tue Mar 30 08:51:27 2021 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Tue, 30 Mar 2021 17:51:27 +0200 Subject: [CM] s7 repl for linux? In-Reply-To: References: Message-ID: You have to run the server too. On Tue, Mar 30, 2021 at 5:42 PM Forrest Curo wrote: > > That seems to work, but after that, not running the server nor connecting to it with the python... > > forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ QMAKE=qmake MOC=moc make > cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/src/src.pro ) && make -f Makefile > make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' > make -f Makefile.Release > make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' > make[2]: Nothing to be done for 'first'. > make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' > make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' > cd examples/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/examples.pro ) && make -f Makefile > make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' > cd helloworld/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/helloworld/helloworld.pro ) && make -f Makefile > make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/helloworld' > make[2]: Nothing to be done for 'first'. > make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/helloworld' > cd greeting/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/greeting/greeting.pro ) && make -f Makefile > make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/greeting' > make[2]: Nothing to be done for 'first'. > make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/greeting' > cd bodydata/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata/bodydata.pro ) && make -f Makefile > make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' > make[2]: Nothing to be done for 'first'. > make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' > make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' > forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ cd .. > forrest at beefurr:~/s7/s7webserver$ ./s7webserver_repl.py > s7> (+ 5 7) > > > s7> > > > > On Tue, Mar 30, 2021 at 7:51 AM Kjetil Matheussen wrote: >> >> First of all you need to build and run the server. Running >> ./s7webserver_repl.py won't work unless the server is running. >> >> Try this to compile the server: >> >> cd qhttpserver-master >> QMAKE=qmake MOC=moc make >> >> >> On Tue, Mar 30, 2021 at 4:46 PM Forrest Curo wrote: >> > >> > forrest at beefurr:~$ qmake --version >> > QMake version 3.1 >> > Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu >> > ... >> > forrest at beefurr:~/s7/s7webserver$ make >> > rm -fr qhttpserver-master.tar.gz qhttpserver-master >> > wget https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz >> > --2021-03-30 06:58:11-- https://github.com/kmatheussen/qhttpserver/archive/master.tar.gz >> > ... >> > echo "CONFIG += staticlib" >> qhttpserver-master/src/src.pro >> > cd qhttpserver-master && qmake-qt5 >> > /bin/sh: 1: qmake-qt5: not found >> > make: *** [Makefile:41: qhttpserver-master/lib/libqhttpserver.a] Error 127 >> > >> > forrest at beefurr:~/s7/s7webserver$ cd qhttpserver-master && qmake -qt5 (note space in this line) >> > Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash >> > forrest at beefurr:~/s7/s7webserver/qhttpserver-master$ make >> > cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/forrest/s7/s7webserver/qhttpserver-master/src/src.pro ) && make -f Makefile >> > make[1]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' >> > make -f Makefile.Release >> > make[2]: Entering directory '/home/forrest/s7/s7webserver/qhttpserver-master/src' >> > >> > ... >> > forrest at beefurr:~/s7/s7webserver$ ./s7webserver_repl.py >> > s7> (+ 4 4) >> > >> > ... >> > forrest at beefurr:~/s7/s7webserver$ firefox s7webserver_repl.html >> > [no output to terminal.] >> > [firefox window, localhost 6080]: >> > >> > S7 scheme >> > >>> (+ 3 5) >> > Not connected. >> > Please verify your network connection. >> > >>> >> > >> > =========================== >> > Finally -- reverting to new s7 folder and then altering the makefile to read : >> > "cd qhttpserver-master && qmake -qt5 >> > cd qhttpserver-master && make" >> > >> > I get much further but end with: >> > >> > make[3]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples/bodydata' >> > make[2]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master/examples' >> > make[1]: Leaving directory '/home/forrest/s7/s7webserver/qhttpserver-master' >> > touch mus-config.h >> > moc-qt5 -DCOMPILING_S7WEBSERVER s7webserver.h -o moc_s7webserver.cpp >> > make: moc-qt5: Command not found >> > make: *** [Makefile:27: moc_s7webserver.cpp] Error 127 >> > >> > >> > On Mon, Mar 29, 2021 at 11:25 PM Kjetil Matheussen wrote: >> >> >> >> On Tue, Mar 30, 2021 at 12:54 AM Forrest Curo wrote: >> >> > >> >> > Everything goes happily to >> >> > cd qhttpserver-master && qmake-qt5 >> >> > /bin/sh: 1: qmake-qt5: not found >> >> > >> >> > Okay, the line the 'makefile' is # 41: >> >> > cd qhttpserver-master && $(QMAKE) >> >> > >> >> > and the way that's carried out: cd qhttpserver-master && qmake-qt5 >> >> > is missing a needed space between qmake and -qt5 >> >> > >> >> >> >> "qmake-qt5" means qmake for qt5. If you only have a program called >> >> "qmake", you should make sure first that it's for qt5, not qt4 or qt6. >> >> >> >> >> >> > I do that manually. Doing this I get >> >> > >> >> > 'Info: creating stash file /home/forrest/s7/s7webserver/qhttpserver-master/.qmake.stash' >> >> > >> >> > and make (from there) makes lines&lines >> >> > with a warning: >> >> > QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I../build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o ../build/http_parser.o ../http-parser/http_parser.c >> >> > ../http-parser/http_parser.c: In function ?http_parser_parse_url?: >> >> > ../http-parser/http_parser.c:2340:18: warning: this statement may fall through [-Wimplicit-fallthrough=] >> >> > 2340 | found_at = 1; >> >> > | ~~~~~~~~~^~~ >> >> > ../http-parser/http_parser.c:2343:7: note: here >> >> > 2343 | case s_req_server: >> >> > | ^~~~ >> >> > >> >> >> >> Looks fine. Those are innocent warnings. >> >> >> >> >> >> > but the end result is a repl at localhost 6080 that responds with "Not connected" >> >> >> >> What exactly is happening? Can you post the output of the terminal >> >> when you run the program? >> >> >> >> >> >> > and a python s7webserver_repl that just says: "Unable to contact Radium" >> >> > >> >> >> >> That's expected if the server is not running. >> > >> > _______________________________________________ >> > Cmdist mailing list >> > Cmdist at ccrma.stanford.edu >> > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist From jlucas at nprim.net Tue Mar 30 12:03:16 2021 From: jlucas at nprim.net (jlucas) Date: Tue, 30 Mar 2021 15:03:16 -0400 Subject: [CM] s7 repl for linux? In-Reply-To: <96c4fca100299de19e7b09a13837891b@ccrma.stanford.edu> References: <96c4fca100299de19e7b09a13837891b@ccrma.stanford.edu> Message-ID: <20210330190315.GP17480@neoprimitive.net> For interpreters without history or terminal handling, you can run them in a wrapper called 'rlwrap' to get those features via the readline library. https://github.com/hanslub42/rlwrap For Debian-based distros... apt install rlwrap ...or RedHat-based distros... yum install rlwrap -J On 29/03/21 05:41 -0700, bil at ccrma.Stanford.EDU wrote: > You can build s7 with -DWITH_MAIN and it comes up with > a repl. The same repl is available separately as either > repl.c (with repl.scm) or nrepl.c (with nrepl.scm). > There are also examples in s7.html if you want to make > your own. nrepl does not have a history buffer (it's > available directly via the mouse and scrolling, but you > need to use a terminal that can handle mouse events > (not rxvt in particular)). > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist