• ddw_music

    @s.elliot.perez "They have a 0-1 value in Syntorial (and presumably other synths)."

    "presumably other synths" not necessarily.

    Standard lowpass filter parameters are cutoff frequency (in Hz) and Q.

    hjh

    posted in technical issues read more
  • ddw_music

    Thanks for the further comments.

    I know you can multiply-mod-divide and get fractions. The broader point is about usability. It's a difficult trade-off -- adding more features for the sake of usability creates maintenance problems (which, to be honest, we see in SuperCollider-land), but keeping things light and maintainable means that easy things (fmod) become harder than they should be (concrete impact here is, I will have to explain to a classroom full of not particularly technical students why they can't use a simple, dedicated object for floating-point modulo when there are simple, dedicated objects for the other basic operators -- too much fine print gets old after awhile -- or let them use it Purr-Data now, and take it away from them later when I have to switch them to vanilla Pd so that they can use Gem on Mac).

    hjh

    posted in technical issues read more
  • ddw_music

    @jancsika "Both mod and % produce remainders for integer division in C and C++. Pd is written in C; since it uses the "%" operator internally to produce the output for [%] that is the operation you get."

    OK, fair, but... by analogy, we might go looking for a Pd object that uses fmod() internally:

     fmod 4
    ... couldn't create
    

    The specific use case was a demonstration for a class of crossfading between multiple wavetables (in the trendy Massive or Serum softsynth way). The crossfade coefficients are based on fmod(wavetable_index, 2) and really do need the fractional part.

    hjh

    posted in technical issues read more
  • ddw_music

    1. Is [expr fmod($f1, something)] the only way to get a floating-point modulo?

    2. This is a bit amusing: / and div are floating-point and integer division, respectively. So one might expect % and mod to be floating-point and integer modulo, respectively. But someone seems to have had a sense of humor some years ago?

    pd-float-mod.png

    hjh

    posted in technical issues read more
  • ddw_music

    I see that I dropped this thread from a year ago -- sorry about that.

    teo523: "what was the error when you used deken? I downloaded yesterday pd-0.48.1 (in OSX) and successfully installed mrpeach from deken...."

    Oh, deken gives error messages? It appears that its only feedback to the user is a one line message in the status bar at the bottom of the window, which soon disappears and then cannot be recovered.

    jtg3:

    I think you'd have a difficult time making the argument that supercollider has introduced fewer breaking changes in that timeframe

    Touche (though most of my code has survived version upgrades pretty well).

    also, you say that you are retrofitting your patches for vanilla, so, I guess I would have to interpret that as meaning you are using a version of pd that is more than five years old, which might be the source of at least some of your problems.

    The objective at the start of this thread was to take an old patch of mine, which had worked under pd-extended, and make whatever changes to that patch are necessary so that it would work on an up-to-date pd-vanilla (i.e. currently-maintained version). As this is a reasonable thing to do, I think most of your two posts to me were not quite useful.

    Those changes ended up being:

    • cut the dependency on cyclone by replacing [gate] with a subpatch.
    • cut the dependency on mrpeach by using [netsend] and [netreceive].

    So the only remaining dependency is GEM.

    @oni_shogun "I have literally started using pd today, coming from a maxmsp environment and aiming to use pd on a raspi as well. i've basically stumbled upon the same issues as ddw_music, where all desired libraries function as expected, apart from [mrpeach]. however, what is most riddling, is that the individual objects DO work, once I open the helpfiles which contain them"

    That sounds like a different problem from mine. After a year, you would be justified in opening a new thread to focus on your problem, rather than possibly getting details mixed up with mine.

    In any case, my experience was that I couldn't get mrpeach to work at all and I had to abandon it. So maybe that will save you some time.

    hjh

    posted in technical issues read more
  • ddw_music

    @whale-av Yeah, I was afraid of that.

    Thanks for the link. It's basically the same use case. LFOs are relatively straightforward because you expect them to be changing continuously. Envelopes are not so straightforward, because they might fall to a zero level and stay there for some time until triggered again. As you suggested, you could fall to "almost 0" but it still seems an awkward workaround (especially for students who are having trouble remembering the medium-sized print without facing fine print like this).

    Brainstorm: What if, in a future version of Pd, [inlet~] had a right outlet that would output a control message 0 for unconnected and 1 for connected? Control message because it would be wasteful to run a signal for that -- although then, I suppose you would need a "bang" inlet to poll the connection state.

    hjh

    posted in technical issues read more
  • ddw_music

    If I have a signal [inlet~] in an abstraction, and the user does not connect anything, currently you get silence (I think).

    How do I detect this case and substitute a default? (As in a modulator input.)

    Is there any way to tell the difference between "silence because nothing was connected" and "silence because the source is silent"?

    hjh

    posted in technical issues read more
  • ddw_music

    FWIW I filed an issue at https://github.com/libpd/abl_link/issues/20 -- sync by Link's phase is not really up to it in Pd yet.

    hjh

    posted in technical issues read more
  • ddw_music

    @whale-av "I wonder why they didn't go the extra mile then."

    I think it's because that's not the use case. They weren't trying to copy ReWire.

    I did get my patch to work. Sync is disappointing -- SuperCollider <--> Ableton Live is fairly tight, while SC <--> abl_link~ is not quite there.

    hjh

    posted in technical issues read more
  • ddw_music

    @whale-av

    Can [abl_link~] communicate between programs on different computers?
    It would surprise me if it could, because as you say the clock will not be the same.

    Erm... synchronizing multiple computers' musical timing over a LAN is precisely the primary use case for Ableton Link!

    From the beginning, it's designed for groups of computer musicians to be able to play on a shared, synchronized, metrical timebase. If it can't communicate between programs on different computers, then Link has failed in what it set out to do.

    For successful ensemble performance, sample accuracy is not necessary. So, Link does not enforce sample accurate sync. It may be possible for some applications to achieve sample accurate sync under some conditions, but this isn't a requirement for successful use of Link, and it isn't the primary purpose.

    It might be the case in this conversation that your interests or priorities are very different from what Ableton Link is trying to do, so it's leading you to misinterpret the purpose of this component...?

    hjh

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!