<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 1/29/2017 10:24 PM, Alexandre Torres Porres wrote:<br>
<blockquote
cite="mid:CAEAsFmhciAR5QdsPZktDjgR+MbTzxcU4bdH0GErmuJv2axuGfA@mail.gmail.com"
type="cite">
<div dir="ltr">So, basically, the way [coll] was designed in
cyclone caused signal drop outs when reading large files, while
in max that never happens. I don't see the advantage or why
you'd want [coll] to behave like that in Pd... and it seems to
go against the max design, which prevents that from happening.</div>
</blockquote>
In essence, yes. However, not everyone uses low power computers and
it is possible that even on midsize machines, such dropouts will be
unlikely.<br>
<br>
<blockquote
cite="mid:CAEAsFmhciAR5QdsPZktDjgR+MbTzxcU4bdH0GErmuJv2axuGfA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div> <br>
</div>
<div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">So, if you issued a bang to load a
coll file that fans out into a trigger with two bangs
(...) the second bang could potentially come out before
the done reading bang.</div>
</blockquote>
<div><br>
</div>
</div>
<div>So don't use a trigger to fan it out, use the bang that
comes out of [coll].</div>
<div><br>
</div>
<div>
<div>[coll] has a 3rd outlet that sends a bang to say when it
finished reading a file. Its whole design purpose is just so
you can do something after the file read is done, so one
should never really use a [trigger] in that way because it
offers another way (and a "safer" way) to deal with it.</div>
</div>
</div>
</blockquote>
<br>
Yes, but this could break traditional patches that rely on
operations that need to take place in a sequence within the same
interrupt. I say this being fully aware how ironic this statement
may be coming from me given pd-l2ork's mantra is if something is
broken, we'll fix it and then you need to fix your patches, even
though this has yet to cause any irreversible breakage when compared
to vanilla in part because pd-l2ork now has the -legacy flag that
enables prevalent legacy (mis)behavior used in historic patches.
Back on topic, since you have no way of predicting when the bang
will come back (which is the time it takes to load the time +
clock_delay(0)), you have no way of initiating other operations that
rely on coll's output because you don't know the file has loaded.
This is not an issue with Max.<br>
<br>
So, in essence, I agree with you but am also trying to make sure
that this does not cause major backwards compatibility breakage.
Hence my optional argument that can be named whatever you wish to
name it thereby reserving a keyword (e.g. @threaded 1, akin to Max's
Jitter attributes, to minimize clashes with file names and other Max
idiosyncrasies).<br>
<br>
Best,<br>
<br>
Ico<br>
<br>
<blockquote
cite="mid:CAEAsFmhciAR5QdsPZktDjgR+MbTzxcU4bdH0GErmuJv2axuGfA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Again, I don't see any advantage in having [coll] behaving
as it was first designed in cyclone. If you want that just so
you can ensure a bang from a trigger is sent out after [coll]
read a file, that kind of assurance comes at a cost of audio
drop outs, and if it doesn't really cause drop outs in the
first place (since it is only a "potential" issue), it is not
really doing anything... as the same would occur n the
threaded version! the threaded version only really acts in the
case of audio drop outs - and only when reading large files
(and not any other kind of operation).</div>
<div><br>
</div>
<div>On the other hand, the threaded version offers the
advantage of no audio drop outs, as it is in Max... this
happens with no compromise as you can (and should) rely on the
3rd outlet bang if you want to schedule an action for when it
is done reading a file.</div>
<div><br>
</div>
<div>Looking at coll up to cyclone 0.1alpha57, it always had a
3rd outlet to bang when file read is done, and it would always
cause drop outs for large files. I don't know how to consider
how things are in cyclone 0.2, but one could consider that the
threaded option is gone...</div>
<div><br>
</div>
<div>For an update of cyclone, I'm really considering the so
called threaded version by default, as it offers a very
relevant advantage of avoiding drop outs. This change does
have a compromise, but it is not a big compromise and we can
just document how it affects the object, and how one should
always rely on the 3rd outlet bang instead of a trigger... we
can also provide an option to go back to the old behavior, but
I don't really think anyone would really opt and care for that
as it does have a serious drop out issue.</div>
<div><br>
</div>
<div>cheers</div>
<div><br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2017-01-29 18:54 GMT-02:00 Ivica Ico
Bukvic <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<div>
<div class="gmail-h5">
<p><br>
</p>
<br>
<div
class="gmail-m_-8179154816358028155moz-cite-prefix">On
1/29/2017 3:18 PM, Alexandre Torres Porres wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">2017-01-29 17:53
GMT-02:00 Ivica Ico Bukvic <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a>></span>:<br>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> I also think
unthreaded should be default to maintain
determinacy in sync with Max</div>
</blockquote>
<div><br>
</div>
<div>hi, sorry, i dont think i get what you
mean, can you elaborate on what
"determinancy" is? I was asking about it
in my earlier messages, I wasn't sure
before and now I really don't I get what
it's supposed to mean.</div>
<div><br>
</div>
<div>cheers</div>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div> <br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> which breaks the order of
execution but also ensures there are no dropped samples.</div>
</blockquote>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> <br>
HTH<br>
<br>
Best,<br>
<br>
Ico<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>