Hi,
Thank you.  I think I get it now.
I was thinking "i" was smarter about values while going thru the do  loop, or 
was was keeping track somehow of all values, not just the increment.  But it 
seems to only know about values of the increment.  I think I can fix it now.
Regards,
Jim

________________________________
From: [email protected] <[email protected]> on 
behalf of [email protected] <[email protected]>
Sent: Tuesday, June 19, 2018 7:00 PM
To: [email protected]
Subject: Cmdist Digest, Vol 122, Issue 1

Send Cmdist mailing list submissions to
        [email protected]

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
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Cmdist digest..."


Today's Topics:

   1. set! samples (James Hearon)
   2. Re: set! samples ([email protected])


----------------------------------------------------------------------

Message: 1
Date: Tue, 19 Jun 2018 18:02:31 +0000
From: James Hearon <[email protected]>
To: "[email protected]" <[email protected]>
Subject: [CM] set! samples
Message-ID:
        
<mwhpr1001mb208069f8bb2b140455f81911e5...@mwhpr1001mb2080.namprd10.prod.outlook.com>

Content-Type: text/plain; charset="iso-8859-1"

Hi,
I get a crash that I cannot seem to understand with the following code.  In the 
do loop when I set the test to (= i 40400) I get a squarish-wave in the editor; 
but when I set it to 40500 or above  I get an endless loop and a crash.

I was trying to create a 2 sec. test.snd, then write the samples to the editor 
to fill out the 2 sec. or 44100 samples if sr is 22050, but I must be doing 
something wrong.


(set! *clm-srate* 22050)

      (let* ((dur (* *clm-srate* 2))
            (ind (new-sound "test.snd" 1 *clm-srate* mus-ldouble mus-riff :size 
dur))
            (v1 (make-float-vector 100 .75))
            (v2 (make-float-vector 98 -.5))
            )
          (do ((i 0 (+ i 200)))
              ((= i 40400))  ;xxx 40400 works, but 40500 crashes
           (set! (samples i (+ i 100)) v1)
           (set! (samples (+ i 101) (+ i 199)) v2)
          )
        )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://cm-mail.stanford.edu/mailman/private/cmdist/attachments/20180619/9abfc7c8/attachment-0001.html>

------------------------------

Message: 2
Date: Tue, 19 Jun 2018 11:21:30 -0700
From: [email protected]
To: James Hearon <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [CM] set! samples
Message-ID: <[email protected]>
Content-Type: text/plain; charset=US-ASCII; format=flowed

At first glance, "i" never equals 40500 -- you're
stepping by 200.  Use (>= i 40500) or (= i 40600).
Since the end test is never true, you probably
run out of memory eventually.



------------------------------

_______________________________________________
Cmdist mailing list
[email protected]
https://cm-mail.stanford.edu/mailman/listinfo/cmdist


End of Cmdist Digest, Vol 122, Issue 1
**************************************

_______________________________________________
Cmdist mailing list
[email protected]
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to