• 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
  • jameslo

    @tungee Thanks. What's going on with the rightmost [bob~] instance? Should it's attenuated output be connected to the outlet?

    posted in technical issues read more
  • jameslo

    @oid I was afraid to reach that conclusion, but you make a strong case. I wonder if [audiolab/pp.ladder~] is closer?

    @bocanegra He he he....

    posted in technical issues read more
  • jameslo

    How would you configure and use [bob~] to demonstrate what the ladder filter fuss is all about? For some reason (inexperience? poor taste?) I keep returning to [vcf~].

    Edit: after an hour or two of monkeys at the typewriter, I'd say that the 2 main differences from [vcf~] are the roll-off slope ([bob~] never completely mutes signal even when the cutoff freq is 8 hz) and the resonance sounds brighter and grittier (bob at resonance 3 sounds like vcf at q 22 to me). There's got to be more to it than that, right?

    posted in technical issues read more
  • jameslo

    @lysergik iemlib has both Bessel and Butterworth filters in many configurations, and you could make your own Linkwitz-Riley with the latter. Go to Help->Find Externals and enter "iemlib".

    posted in technical issues read more
  • jameslo

    @Booberg Yes, I definitely hear it, and I've posted on a similar thing which I thought you weren't supposed to be able to hear (the relative phase of saw partials). And it's not just subjective--I built a double-blind randomized test which I consistently pass with a high confidence level.

    posted in Off topic read more
  • jameslo

    @olisaintpierre It might be simpler to use TouchOSC on the phones and having them connect to a single instance of the patch running on a shared computer.

    posted in technical issues read more
  • jameslo

    @nicnut I was just amending my post to say that there's nothing inherently wrong with putting a threshold trigger at, say, 0.5 on the rising slope, it's just that I often see people putting it as close to 1 as they can so as to trigger just before the phasor resets, and that seems unreliable to me.

    posted in technical issues read more
  • jameslo

    @nicnut [phasor~] only goes from 0 to 1 (at most, usually from a little over 0 to a little less than 1) so your signal will never trigger the upper threshold of 1. If it were me, I would trigger on the downward slope rather than the upward slope since it's more reliable and easier to detect. Try [threshold~ 0.6 0 0.5 0] and take the bang from the right outlet.

    posted in technical issues read more
  • jameslo

    @whale-av David, in the help patch for [netreceive] there is an option for specifying IP address for use with multicast. Could that be used? (I don't know what multicast is....)

    posted in technical issues read more
  • jameslo

    @ddw_music +1 to [makefilename], but in instances where I also want to stop Pd from truncating my float, I prepend an escaped space to force Pd to treat the string of numbers as a symbol. [f] is happy to convert it back to a number when needed.
    Screenshot 2021-07-31 082944.png

    posted in technical issues read more
  • jameslo

    @seb-harmonik.ar I just learned about [lrshift~] and it brought me back to your patch again. This should be equivalent to your use of [rfft~]

    Screenshot 2021-07-27 113817.png

    Update: I built a 128 sample block version to compare with the way I've always done this (using 100 clones) and your way uses less than a quarter of the CPU!

    posted in patch~ read more
  • jameslo

    @seb-harmonik.ar Huh, sorry for the weird claim about [rpole~]...the idea came to me in the middle of the night, so I got up to try it. I remember not being able to connect [tabreceive~] to it. Anyway, I know you get it but for others following along you have to init $0-sumCtrl with [const 1, 0 0( when using [rpole~].

    posted in patch~ read more
  • jameslo

    @seb-harmonik.ar Sorry to revive this old thread, but I was intrigued by the perversity...um, I mean cleverness...of your patch :)

    Screenshot 2021-07-24 021051.png
    I originally thought to use [rpole~] instead of [fexpr~] but the right inlet is control rate and so I was back at the [bang~] problem. And then I couldn't figure out how to get the sum into the first sample of the current block, so I just pushed it to the head of the next block, which in the downsampled environment is just a 1 sample delay so maybe that's not a problem?

    posted in patch~ read more
Internal error.

Oops! Looks like something went wrong!