• ddw_music

    "The devil's in the details" and the particular detail is "equal tempered."

    Can you show me a patch that, say, generates all 12 equally tempered tones starting with middle C from 1 phasor?

    3:1 is not an equal tempered frequency ratio -- it's a justly tuned octave+fifth. The 12ET octave+fifth is 2.9966141537533 (approximately, since it's a fractional power of 2, thus irrational).

    The [*~] --> [wrap~] approach will definitely have sync artifacts for non-integer ratios. Not sure what Max's [rate~] will do.

    hjh

    posted in technical issues read more
  • ddw_music

    @Obineg said:

    i dont see the need for that "until loop"

    While / until is an incredibly valuable concept in all types of programming, including patching, and this problem is an ideal case for it.

    hjh

    posted in technical issues read more
  • ddw_music

    @starpea223 said:

    I have a project due, when I opened up my patches today gem win is broken.
    All other objects are still creating. Though now my gem window is opening blank instead of with image.

    What Pd version?

    What Gem version?

    Which OS and version? (Because this type of issue is likely to have a different solution depending on OS -- the core of [gemwin] is different in Mac, Windows and Linux.)

    Are there any errors in the Pd console window when you open the patch?

    Without details, nobody can help. (With details, there's still no guarantee, but at least there's a chance.)

    hjh

    posted in pixel# read more
  • ddw_music

    @OtherMichael said:

    The problem is the fact that D05 has two instances of the D02.adsr abstraction, but the instances use the same remote message without the unique $0 identifier.
    So to fix, just change "s line" to "s line-$0" and similar for receive objects.

    Good catch!

    Devs don't necessarily follow the forum very closely, so an "unofficial" bug report here might not get noticed.

    Bug reports on github are likely to get attention faster.

    Pull requests -- proposing a concrete fix in a format that can be merged in easily -- would fix it even faster --

    So I just did that: https://github.com/pure-data/pure-data/pull/2247

    hjh

    posted in technical issues read more
  • ddw_music

    @seb-harmonik.ar Perfect example of what I call "initialize -- run -- finalize," organized by the [t] at the top. I'd call it "textbook" except... did anybody write a textbook about algorithms in patchers?

    hjh

    posted in technical issues read more
  • ddw_music

    @alexandros said:

    It's not necessary, but if you want to not be constrained by sample blocks for the delay time, then [delwrite~] and [delread~] have to be placed in subpatches where the former will have a dummy outlet and the latter a dummy inlet,

    True, but if you're doing feedback, then there's no escape from a block's worth of delay.

    If not doing feedback, then the dummy inlet/outlet won't trigger errors. If feedback is involved, this inherently adds a block of delay (which can be reduced, but not eliminated, by ~block-ing a subpatch).

    hjh

    posted in technical issues read more
  • ddw_music

    @alexandros said:

    To create feedback, you'll still need to use [s~]/[r~] etc, to send the output of [delread~] back to the input of [delwrite~]

    I think that's not necessary, because there is no patch cable from delwrite~ to delread~.

    I'm quite sure I've implemented a flanger in Pd by signal --> delwrite~, then (modulated delay-time) delread4~ --> [*~ something less than 1.0] --> the same delwrite~.

    hjh

    posted in technical issues read more
  • ddw_music

    @Ossicone said:

    What do I need to write in the receive box in the properties of my canvas in order to
    change the colour of the label
    change what the label says
    change the colour of the canvas itself
    all at the same time

    Think of it like this.

    The receive name is the name of the street.

    The actions (change color, change label etc) are car brands traveling on the street.

    Your question is, what should I name the street so that a Chevy and a Ford and a Porsche and a Tesla and a Toyota can all drive on the street?

    And the answer of course is that the name of the street doesn't matter because all the cars can travel through it.

    It's a non question. You don't need a separate Toyota street and a differently named Ford street. You just define one receive symbol -- one street. And you send all the cars -- all the messages -- through the one street. "color", "label" etc are messages. The receive symbol is a send/receive name. There is no correlation between them.

    hjh

    posted in technical issues read more
  • ddw_music

    @Ossicone said:

    Is there a way for a canvas object to receive multiple messages at once in the "receive symbol" box?

    No, but it's not necessary.

    To change color, you send a message beginning with the symbol tag "color" to the canvas. It's this symbol tag that determines the meaning of the message.

    The "receive symbol" is only the conduit through which the message is delivered. This can be named whatever you want.

    To change color and label simultaneously, you'd send two messages to the receive symbol, with the respective symbol tags at the start of those messages.

    hjh

    posted in technical issues read more
  • ddw_music

    @Aliam.Sigsaly said:

    I ve heard rumors on FB group from a pretty experienced guy in Ofelia, that Ofelia is stop being developed and will be replace in Plugdata by GEM

    I tried to get into Ofelia back in the day, but... if you're writing code, you need documentation, and it just wasn't there.

    60Hz made some beautiful abstractions for Ofelia. I tried to revise them to support shaders but failed (my updates broke something fundamental and I just ran out of time).

    Ofelia rendering looks much better than GEM but I found it to be unapproachable.

    hjh

    posted in news read more

Internal error.

Oops! Looks like something went wrong!