• lacuna

    Yes, indeed, just for display.
    And polygon surprisingly is the cheapest option of the three.

    For interpolation [cyclone/wave~] has more options, such as cubic, spline, Hermite and Lagrange as [tabread4~].

    posted in technical issues read more
  • lacuna

    The [open $1, 1( are two successive messages: [open $1( and [1(, where the later is the same as [start(

    posted in technical issues read more
  • lacuna

    line~blocks.png

    Many (but not all) objects can update only at block boundaries of Pd's main blocks (fixed blocksize of 64 samples in standard Pd) .

    One block of 64 samples at 44,1 kHz samplerate = 64*1second/44.1 kHz=1.451 ms

    Use [vline~] instead.

    posted in technical issues read more
  • lacuna

    [tabread] instead of [array get] !?
    (Long time ago arrays where called tables in Pd.)
    Read their helpfiles. You can use [array get] too, but more complicated for this.

    In Pd Vanilla, right click on the blank canvas > help shows all build-in objects.

    posted in technical issues read more
  • lacuna

    There is a mapping equation:
    https://forum.pdpatchrepo.info/topic/14355/limiting-amplitude-on-an-lfo/12

    And with [mtof] (midi to frequency) you can get that exponential/logarithmic pitch to frequency curve.

    posted in technical issues read more
  • lacuna

    @jameslo For me it is difficult to understand. Maybe I am missing the whole point and all I say is off topic.

    First of all, I honestly don't understand why your left bang works

    click bang [o] (GUI always on block-boundary) > [spigot] opens > [bang~] bangs > [spigot] closes > [vline~] starts (still on same block-boundary).

    Similarly, in my first response to you, you can see in the snapshots that the bang from [delay 1.5 64 samp] is being processed during Ctrl 1, 32 samples before its real timing.

    This I don't understand.
    You use [rpole~ 1] as sample-counter, right? But [snapshot~] only snapshots on block-boundaries. (That's why there is [vsnapshot~], but that was buggy, when I last tried it.) [snapshot~] shows 64 samples, one whole block.
    If you snapshot later, you see [del 1.5 64] outputs bang after 96 samples:
    samplescounted.png
    ([sig~] also updates its output only on block-boundaries, not within the block.)

    @seb-harmonik-ar s [pip~] could be done with [bang~] and [timer], to measure the time that has passed into the block.
    Or for signalrate~ output~ with [rpole~ 1], to measure the samples past into the block.

    you don't need to predict the future to make it one block earlier

    So is it correct that you want to move the start of vline~ 'backward' ? To the start of the block? To the start of that block where [del] outputs later on a message to [vline~]?
    Clicking [o] bang at ctrl 0 > [del 1] outputs after 1 ms, where audio 0 is happening > [vline~] should have started before, at the beginning of audio 0 ?
    Is this what you want?

    moving.png


    Here is a paper where message- vs signal-domain and scheduleing are graphed. It is in German, maybe you can use a translator and the time-graphs on the last pages are english / self-explanatory. And you problably already know all of this.
    https://iaem.at/kurse/ss19/iaa/pdscheduler.pdf/view

    posted in technical issues read more
  • lacuna

    @jameslo Thought that's what you where looking for? 'block-quatizer'?
    But you want to move the output of [del 1] back to the start of the block?
    Interesting, but I think moving backward is not possible in realtime Pd ... (hmmm there is the [lrshift~] object for moving in a block... )

    Edit: My point was that this quantizes to (next) block boundary, and if already at it, it stays there.
    [del 0] Breaks the deterministic order ( [t b b] ect.), as [delay] and [pipe] always do, and moves to the last point after everything else deterministic is processed, but keeps at the same logical time (zero delay).
    But what was your point?
    Edit: Now I tried without [del 0] and everything is the same. So I completely missed your point??

    posted in technical issues read more
  • lacuna

    @jameslo said:

    :) :) :)

    In the middle of a message cascade you may schedule another one at a delay of zero. This delayed cascade happens after the present cascade has finished, but at the same logical time".

    Man, this got me excited because the only reason my bang quantizer outputs where it does and not one block earlier is because [bang~] for the end of the first block has already executed by the time my spigot opens and so we have to wait for the next audio block to complete. I was hoping [delay 0] would cause the bang from [bang~] to be rescheduled after my spigot opens, but it doesn't appear to.

    That works, screenshot when left bang is clicked:
    vline-blockquantize.png
    vline~blockquantizer.pd

    (thought [bang~] would be expensive, that's why I [switch~]ed it in the other patch.)

    posted in technical issues read more
  • lacuna

    @jameslo said:

    Is there a way to zero out that bang timing attribute, so that the bangs are quantized to block boundaries? Or some other way to force [vline~] to start at the beginning of the next audio block?

    Like this?
    vline~onnextblockboundary.pd
    vline-on-next-blockboundary.png

    Edit: it's not just bangs that have that intra-block timing attribute--you can see in my example that it's preserved through the message that's sent to [vline~]

    As far as I understand it now, some objects
    ([metro] [del] [pipe] [vline~] maybe[vsnapshot~])
    do intra-block-messaging/banging and some won't (like [tabwrite~] in my patch).

    The scheduler processes GUI and Midi i/o at block-boundaries.

    I am highly interested in how to sync or interface Reaper or other DAW with PD control rate sample-accurately intra-blocks.

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!