<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>
      <blockquote type="cite">especially because of additional potential
        delay of inlet~/outlet~.</blockquote>
      inlet~/outlet~ does *not* add a delay (unless when going to a
      larger blocksize).</p>
    <p>
      <blockquote type="cite">
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>But you're using [r~] and [s~] which is not the same as
            direct signal connections. The former can act like a short
            delay line. Please read
            "3.audio.examples/G05.execution.order".</div>
        </blockquote>
        <div><br>
        </div>
        Christof, Yes! Exactly!</blockquote>
      I think you misunderstood. With "former" I meant [r~]/[s~].
      [inlet~]/[outlet~] does not add a delay.<br>
    </p>
    <p>
      <blockquote type="cite">Also, believe me, r~/s~ has nothing to do
        with it. </blockquote>
      Believe me, it certainly has. Can you finally share a minimal test
      patch, please? I would like to see an actual patch where you get
      an unexpected DSP loop error.<br>
    </p>
    <p>Christof<br>
    </p>
    <div class="moz-cite-prefix">On 25.02.2020 23:40, William Huston
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAAV8_8n7Eg5dsA_ERGwrVWYJ47pyM3ZdWvatTXiiDOYFboOj9w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr" class="gmail_attr">On Tue, Feb 25, 2020 at 6:14
          AM Christof Ressi <<a href="mailto:info@christofressi.com"
            moz-do-not-send="true">info@christofressi.com</a>> wrote:<br>
        </div>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
            <div>
              <p>@Dan<br>
              </p>
              <blockquote type="cite">As far as I recall, going between
                abstraction to parent patch via inlet~/outlet~
                introduces a block delay, hence no error</blockquote>
            </div>
          </blockquote>
          <div>Dan, correction-- that is the exact circumstance where I
            *am* getting the error. <br>
          </div>
          <div>So now I think you are beginning to see why I think it's
            unexpected,</div>
          <div>especially because of additional potential delay of
            inlet~/outlet~.</div>
          <br>
          <div>Dan also wrote:</div>
          <div>> As the error says, you shouldn't create a direct
            feedback loop with signal cords. <br>
          </div>
          <div><br>
          </div>
          <div>Let me try to explain again:</div>
          <div><br>
          </div>
          <div><span style="background-color:rgb(255,255,0)"><b>I have
                taken a WORKING CIRCUIT--</b></span></div>
          <div><b>
            </b>
            <div>(a simple stereo delay circuit, with cris-cross L/R
              feedback <br>
            </div>
            <div>implemented with [delwrite~] + [vd~]) <br>
            </div>
            <div><b><span style="background-color:rgb(255,255,0)">--
                  which DOES NOT produce a "DSP Loop Error", </span><br>
              </b></div>
            <div><b>pulled a Null (straight-wire) Filter <br>
              </b></div>
            <div><b>(which had been installed in the feedback path)<br>
              </b></div>
            <div><b>and moved it externally to the abstraction</b></div>
            <div><b>(up to the parent patch), via outlet~/inlet~,</b></div>
            <div><b>which, if anything ADDS additional block delays, <br>
              </b></div>
            <div><b>yet this produces "DSP Loop Error". <br>
              </b></div>
            <div><b><br>
              </b></div>
            <div><b>Clearly (the way I see it) <br>
              </b></div>
            <div><b>the logic behind detecting "DSP Loop Error"
                condition<br>
              </b></div>
            <div><b>has a bug.</b></div>
            <br>
            <div><b>I believe this is a false error,</b></div>
            <div><b>because as I have stated--</b></div>
            <div><b>the circuit HAD been working!</b></div>
            <div><b><br>
              </b></div>
            <div><b>All I did was add the potential for additional</b></div>
            <div><b>blocks of delay on the feedback path. <br>
              </b></div>
          </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>But you're using [r~] and [s~] which is not the same as
              direct signal connections. The former can act like a short
              delay line. Please read
              "3.audio.examples/G05.execution.order".</div>
          </blockquote>
          <div><br>
          </div>
          <div>Christof, Yes! Exactly!<br>
          </div>
          <div>Added delay should REDUCE the chance of a "DSP Loop
            Detected"!</div>
          <div><br>
          </div>
          <div>Also, believe me, r~/s~ has nothing to do with it. <br>
          </div>
          <div>My original patch was extremely ugly, due to
            criss-crossed feedback.</div>
          <div>I only implemented with r~/s~ to clean up the patch to
            share. <br>
          </div>
          <div><br>
          </div>
          <div>Thanks everyone!</div>
          <div>BH<br>
          </div>
          <div><br>
          </div>
          <div><br>
            <br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <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>
              <p>Christof<br>
              </p>
              <div>On 25.02.2020 11:42, Dan Wilcox wrote:<br>
              </div>
              <blockquote type="cite"> As far as I recall, going between
                abstraction to parent patch via inlet~/outlet~
                introduces a block delay, hence no error
                <div><br>
                </div>
                <div>
                  <blockquote type="cite">
                    <div dir="auto">
                      <div dir="auto">
                        <div dir="auto">Third patch is like the second,
                          only the effect has been moved out of the
                          abstraction, and into the parent patch. ONLY
                          HERE do I get the DSP loop error. </div>
                      </div>
                    </div>
                  </blockquote>
                  <div><br>
                  </div>
                  Signal loop in a single patch without abstractions =
                  error. Pd has no way to read and write to the same
                  signal buffer in the patch at the same time *without*
                  some tiny delay.</div>
                <div><br>
                </div>
                <div>
                  <blockquote type="cite">
                    <div dir="auto">
                      <div dir="auto">
                        <div dir="auto"><b
                            style="font-family:sans-serif">The point is
                            the last two patches have (or should have)
                            an identical graph! </b></div>
                      </div>
                    </div>
                  </blockquote>
                  <br>
                </div>
                <div>At the lower level, they don't. What happens if you
                  put part of the path inside a subpath which uses
                  inlet~/outlet~?</div>
                <div><br>
                </div>
                <div>
                  <div>
                    <blockquote type="cite">
                      <div>On Feb 25, 2020, at 11:36 AM, William Huston
                        <<a href="mailto:williamahuston@gmail.com"
                          target="_blank" moz-do-not-send="true">williamahuston@gmail.com</a>>
                        wrote:</div>
                      <br>
                      <div>
                        <div dir="auto">
                          <div dir="auto">
                            <div dir="auto">First abstraction, simple
                              stereo delay:  2 delay lines, variable
                              feedback L->R, R->L.</div>
                            <div dir="auto"> This <b>works</b>, no DSP
                              loop error. <br>
                            </div>
                            <div dir="auto"><br>
                            </div>
                            <div dir="auto">Second abstraction contains
                              an effect in the feedback path. (in my
                              simple example, it's just a null wire:
                              In-L passes to Out-L, etc). Again this <b>works</b>,
                              no DSP error. </div>
                            <div dir="auto"><br>
                            </div>
                            <div dir="auto">Third patch is like the
                              second, only the effect has been moved out
                              of the abstraction, and into the parent
                              patch. ONLY HERE do I get the DSP loop
                              error. </div>
                            <div dir="auto"><br>
                            </div>
                            <div dir="auto"><b
                                style="font-family:sans-serif">The point
                                is the last two patches have (or should
                                have) an identical graph! </b><br>
                            </div>
                            <div dir="auto"><b
                                style="font-family:sans-serif"><br>
                              </b></div>
                            <div dir="auto"><font face="sans-serif">It
                                really seems like a bug to me. </font></div>
                            <div dir="auto"><span
                                style="font-family:sans-serif"><br>
                              </span></div>
                            <div dir="auto"><span
                                style="font-family:sans-serif">I'll
                                upload a test patch a little later. </span></div>
                            <div dir="auto"><span
                                style="font-family:sans-serif"><br>
                              </span></div>
                            <div dir="auto"><font face="sans-serif">Thanks, </font></div>
                            <div dir="auto"><font face="sans-serif">BH</font></div>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                  <br>
                  <div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">--------</div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Dan
                      Wilcox</div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a
                        href="http://twitter.com/danomatika"
                        target="_blank" moz-do-not-send="true">@danomatika</a></div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a
                        href="http://danomatika.com" target="_blank"
                        moz-do-not-send="true">danomatika.com</a></div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a
                        href="http://robotcowboy.com" target="_blank"
                        moz-do-not-send="true">robotcowboy.com</a></div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br>
                    </div>
                    <br>
                  </div>
                  <br>
                </div>
                <br>
                <fieldset></fieldset>
                <pre>_______________________________________________
<a href="mailto:Pd-list@lists.iem.at" target="_blank" moz-do-not-send="true">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" target="_blank" moz-do-not-send="true">https://lists.puredata.info/listinfo/pd-list</a>
</pre>
              </blockquote>
            </div>
            _______________________________________________<br>
            <a href="mailto:Pd-list@lists.iem.at" target="_blank"
              moz-do-not-send="true">Pd-list@lists.iem.at</a> mailing
            list<br>
            UNSUBSCRIBE and account-management -> <a
              href="https://lists.puredata.info/listinfo/pd-list"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.puredata.info/listinfo/pd-list</a><br>
          </blockquote>
        </div>
      </div>
    </blockquote>
  </body>
</html>