<div dir="ltr"><div class="gmail_extra"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">There are three different situations:<br>- internal cosine table, no offset possible,<br>- external buffer without offset,<br>- external buffer with offset.<br>In all situations the phase can be controlled with the right inlet.<br></blockquote><div><br></div><div>Perfect</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">So I try to make it work as I understand it<br>should. If you have Max, you might try to see what happens in these two situations:</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">- read from a buffer smaller than 512 bytes,<br>- read from a 512 byte buffer but with an offset.<br>Max probably fills the remainder with zeros, or wraps around. The<br>documentation<br>(<a href="https://docs.cycling74.com/max5/refpages/msp-ref/cycle~.html" target="_blank">https://docs.cycling74.com/max5/refpages/msp-ref/cycle~.html</a> or<br><a href="https://docs.cycling74.com/max7/maxobject/cycle~" target="_blank">https://docs.cycling74.com/max7/maxobject/cycle~</a>) doesn't say.<br></blockquote></div><div><br></div><div>I have Max 6 and Max 7. By the way, it was in Max 6 that they changed the behaviour to allow different buffer sizes and added two messages the cycle~ object can receive, one to change buffer size and the other to change the buffer_offset.</div><div><br></div><div>And now for the hilarious part... the offset argument doesn't seem to work either both in Max 6 and Max 7!!!! LOL... I'm just confirming the bug in the MAX/MSP facebook group... </div><div><br></div><div>But I can only assume it should work in the same way as the buffer_offset changes the behaviour, and I could test it with both Max 6 and Max 7!</div><div><br></div><div>So, nothing happens if cycle~ is running with the internal cosine wavetable. This is indeed only for other wavetables. Attached I have an image of a buffer with 512 samples that has the waveform of a cosine as well, and I tested the offset by 256 points (half the table size). What happens then is that it'll start reading the table by its mid size and when it reaches the end of the table it'll get only zeros.</div><div><br></div><div>This doesn't seen much useful to me, seems more interesting if you have a wavetable of, say, 2048, and then you're using 1024 samples to play with cycle~ (you can change the size of how much you'll read from the table in the newer versions, so you can set 1024 points from a 2048 point table) and then you can scroll through the table with the offset. This way you won't get zeros.</div><div><br></div><div>So this makes me wonder if it was possible in Max 5 to have a 1024 point table and the scroll through it with the offset argument.</div><div><br></div><div>I have a friend who has Max 5, maybe he can help.</div><div><br></div><div>Cheers</div><div><br></div><div><br></div><div class="gmail_quote">2015-06-08 15:27 GMT-03:00 Fred Jan Kraan <span dir="ltr"><<a href="mailto:fjkraan@xs4all.nl" target="_blank">fjkraan@xs4all.nl</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi Alexandre,<br>
<br>
Since sending the patches, I looked in the code and found a problem that<br>
need fixing too (the issue affects funbuff~, peek~ and poke~ too). The<br>
offset argument indeed only works with the external buffer.<br>
<br>
It seems to be working, apart from the offset. This needs some special<br>
handling if you try to read past the external buffer size. This is<br>
possible with small buffers or large offsets.<br>
But back to the patches: </blockquote><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
About the sample-offset, I have some problem understanding how it works,<br>
and have to change it anyhow to fix the issue (garray_getarraywords<br>
related on 64-bit systems). </blockquote><div> </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Greetings,<br>
<br>
Fred Jan<br>
<span class=""><br>
> hi there, not sure what you meant, but your patches demonstrate how the<br>
> offset argument is not working. It's clear to me they're not affecting<br>
> the object at all in test 1, cause they should cancel out and they<br>
> don't. And according to the help file of max, the offset argument only<br>
> works if you give it a buffer name (so I understand it doesn't work for<br>
> the internal cosine function). And it seems it's supposed to be an int<br>
> value, meaning the sample/index offset in the table, but it doesn't seem<br>
> to work as well with given table names.<br>
><br>
> Are you with me?<br>
><br>
> cheers<br>
><br>
> 2015-06-08 5:10 GMT-03:00 Fred Jan Kraan <<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a><br>
</span>> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>>>:<br>
<div class=""><div class="h5">><br>
>     Hi Alexandre,<br>
><br>
>     >> The offset can be set as argument and it works<br>
>     ><br>
>     > I can't seem to make it work, how do you do it? can you send me a patch?<br>
><br>
>     Here two patches. cycle~-test1.pd demonstrates the phase control using<br>
>     the internal buffer. I do not quite understand if and how the offset<br>
>     relates to the phase, but mixing two signals with a variable phase<br>
>     displays addition and elimination. cycle~-test2.pd should demonstrate<br>
>     the same with an external buffer~, but not having that I used an array.<br>
>     This doesn't do what I expect. I will do some more investigation on what<br>
>     it does.<br>
>     ><br>
>     > It seems [cycle~] will only work with tables that are 512 in size. It<br>
>     > can be of any size in max now, but  the help of Max 7 says: "This<br>
>     > wavetable may be of any size, _/*but historically was limited to 512<br>
>     > samples*/_." So maybe when [cyclone/cycle~] was made it was limited to<br>
>     > 512... anyway, this size limitation was something I also raised here.<br>
><br>
>     To keep maintenance to cyclone reasonable, I try to limit it to the<br>
>     functionality of Max 5. The documentation for Max 5 is conveniently<br>
>     online and I have a  installation available for comparison. So Max 7<br>
>     functionality is out of scope for me.<br>
>     ><br>
>     > More details, in max you can set [cycle~] with other messages to control<br>
>     > the buffer size and offset, check attached image.<br>
><br>
>     The buffer_sizeinsamps and buffer_offset attributes appear to be newer<br>
>     than Max 5. The sample-offset argument should work however.<br>
>     ><br>
>     > cheers<br>
>     ><br>
>     Greetings,<br>
><br>
>     Fred Jan<br>
>     ><br>
>     ><br>
>     ><br>
>     > 2015-06-07 17:08 GMT-03:00 Fred Jan Kraan <<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>><br>
</div></div><div class=""><div class="h5">>     > <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>>>>:<br>
>     ><br>
>     >     Hi Alexandre,<br>
>     ><br>
>     >     I checked the cycle~ behaviour against the Max5 doc, and it appears to<br>
>     >     work as described. Only clicking to view the current buffer contents is<br>
>     >     not implemented (yet). The offset can be set as argument and it works.<br>
>     >     The second inlet controls the phase, which amounts to more or less<br>
>     >     the same.<br>
>     ><br>
>     >     Can you indicate what the differences are?<br>
>     ><br>
>     >     Greetings,<br>
>     ><br>
>     >     Fred Jan<br>
>     ><br>
>     >     On 2015-05-25 04:05 AM, Alexandre Torres Porres wrote:<br>
>     >     > hi fred, how's it going? I was checking [cycle~] and it seems it's not<br>
>     >     > behaving much closely like in max, have you checked that? I'm saying<br>
>     >     > more about its behaviour as a wavetable, where it can offsett the<br>
>     >     table<br>
>     >     > and everything.<br>
>     >     ><br>
>     >     > I can't find that list of bugs you were working on, where is it?<br>
>     >     How is<br>
>     >     > it anyway?<br>
>     >     ><br>
>     >     > thanks<br>
>     >     > cheers<br>
>     >     ><br>
>     >     > 2015-01-23 14:25 GMT-02:00 Fred Jan Kraan <<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>><br>
>     >     <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>>><br>
>     >     > <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>><br>
>     <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a> <mailto:<a href="mailto:fjkraan@xs4all.nl">fjkraan@xs4all.nl</a>>>>>:<br>
>     >     ><br>
>     >     >     Hi All,<br>
>     >     ><br>
>     >     >     At<br>
>     >     <a href="http://fjkraan.home.xs4all.nl/digaud/puredata/cyclone/index.html" target="_blank">http://fjkraan.home.xs4all.nl/digaud/puredata/cyclone/index.html</a><br>
>     >     >     a new set of revised help-patches for the cyclone library are<br>
>     >     >     available. Most previous remarks are applied.<br>
>     >     ><br>
>     >     >     There are now previews of the Windows binaries and MacOSX. The<br>
>     >     >     latter is build on MacOSX 10.5 with XCode 3.14, so should have<br>
>     >     >     executables for PPC, i386 and i386_64. I confirmed the last<br>
>     >     two are<br>
>     >     >     working (10.5 and 10.8).<br>
>     >     ><br>
>     >     >     It remains in progress, in the task list are the fixed and<br>
>     >     remaining<br>
>     >     >     issues.<br>
>     >     ><br>
>     >     >     Fred Jan<br>
>     >     ><br>
>     >     >     _______________________________________________<br>
>     >     >     <a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a>><br>
>     <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a>>><br>
>     >     <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a>><br>
>     <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> <mailto:<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a>>>> mailing<br>
>     list<br>
>     >     >     UNSUBSCRIBE and account-management -><br>
>     >     >     <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
>     >     ><br>
>     >     ><br>
>     ><br>
>     ><br>
><br>
><br>
</div></div></blockquote></div><br></div></div>