• jameslo

    @Junzhe-hou I'm not sure why that patch wouldn't work at different sample rates. Are you sure the file you are loading and your audio interface are compatible with that different sample rate?

    That combination of objects computes the same thing as [expr~ $v1 < 0], i.e. output 1 when the signal is negative, 0 otherwise. That plus the thing to the right is just to detect when [rpole~] underflows or overflows, respectively. It would've probably been clearer just to use [expr~].

    @ddw_music I'm sorry if I just did your student's homework :)

    Edit: Hmm, I'm not sure why I didn't treat the start index the same way as I treated the end index. That's probably the next thing to try. so that the samplehold~ on the start index isn't necessary. I also think there might be improvements to the wrap around indexes given the recommendations on using tabread4~.

    posted in technical issues read more
  • jameslo

    @ddw_music I guess if you wanted to use rpole~ for table indexing to make speed changes immediate and continuous, you might call it a looping scrubber? rpole looping scrubber.pd

    Screenshot 2021-10-23 103120.png

    posted in technical issues read more
  • jameslo

    @Jamin-hou You need to samplehold~ the value of start and end so that it doesn't change while the phasor is going from 0 to 1, otherwise there will be jumps in its progress (and hence clicks).
    Screenshot 2021-10-22 142113.png
    Even with this change, you will notice that the pitch is not steady as you adjust the start and end. If you want that to go away, you also have to samplehold~ the start and end values used in your expression. You also have to adjust for negative frequencies so that the samplehold~ samples on the jump from 0 to 1.

    @whale-av said:

    I am not an expert in Pd Audio

    Whatever you say, boss :)

    posted in technical issues read more
  • jameslo

    @ingox said:

    @FFW Does it know when an object ends? If there is still a trigger to compute, the code is not finished...

    To add to this, I often have to stop and think about whether my abstraction is outputting values before it has updated its internal state to reflect that output. I would argue that abstractions that don't do that aren't reentrant (if that term applies to a data flow languages) because some enclosing patch could cause message feedback due to Pd's depth-first evaluation. But this is just pedantry that doesn't address the OP's issue :)

    posted in technical issues read more
  • jameslo

    @Matt-Stalcup said:

    Is it as simple as putting a $1 at the end of that array object?

    Yes. You can also use [array size <arrayName>]--see the array object help file for more details.

    Edit: Here, this should be a drop-in replacement if I haven't misunderstood how list-inter works. myList-inter.zip

    posted in technical issues read more
  • jameslo

    @whale-av Woah, I didn't even think to test bang, but my patch works with bang anyway! Bullet dodged....BUT it adds the "symbol" selector to symbols if they are delayed (and the "list" selector to lists of symbols if they are delayed). That goes away if I use [list trim] after the list object. Why would [list trim] remove the "symbol" selector? No mention of that in the help file.

    Note to self: remember this message box technique

    <apologies to @ddw_music for hijacking topic/>

    posted in technical issues read more
  • jameslo

    @cfry Please report back with the solution when you find it, I'm curious. I tested Pd->Reaper via WASAPI on Windows and there was no attenuation, but I use Soundflower with Audacity on my Mac.

    posted in technical issues read more
  • jameslo

    @cfry Soundflower has attenuators....check that they are all the way up in Audio MIDI Setup.

    posted in technical issues read more
  • jameslo

    @Matt-Stalcup Is this any better on your machine? I used arrays instead of lists to do the computation, precomputed the delta, and didn't use expr. list-inter.pd

    Screenshot 2021-10-01 161911.png
    Edit: Hmm, isn't it true that sending a float to [line 0 20] does nothing? I think a single float just makes line jump to that value.

    Edit 2: yeah, I think you mean this instead:
    Screenshot 2021-10-01 204215.png
    I think this should be the fastest update rate you can achieve in control domain.

    posted in technical issues read more
  • jameslo

    @ddw_music I can't remember why I coded things the way I did from one week to the next, so I like to make things like stateful behavior explicit and will happily sacrifice performance for readability, The finite state machine at the top directs data traffic, and the three state handlers below do the work appropriate to each state. If you don't like the in-band signaling for timeout you could create a parallel FSM to handle it. speedlim.pd

    Screenshot 2021-10-01 113137.png

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!