• ingox

    @mianmogra Ah sorry, i was at work and just took a brief look at the patch in the video, even without listening to the audio, my apologies! :flushed:

    posted in technical issues read more
  • ingox

    @MeneerJansen Looks like in the video there is just a sample being played...

    posted in technical issues read more
  • ingox

    @MeneerJansen This should do it:
    Bildschirmfoto vom 2019-05-24 14-06-01.png

    posted in technical issues read more
  • ingox

    @Jona Interesting, the outlet of [array define] was not there in 0.48.1. There you would have to get the pointer via [send( message.

    For [colarray], the dynamic patching was needed, because i wanted to modify a graphical array ;)

    posted in technical issues read more
  • ingox

    Using an array object like [array get] gives a multiply defined error when graphical and non-graphical arrays with the same name are present ;)

    posted in technical issues read more
  • ingox

    @Jona Yes. There is a hack to get the pointer of a graphical array. It is pretty messy, but it works. I used this method in [colarray] (https://forum.pdpatchrepo.info/topic/11184/colarray-a-graphical-array-where-color-and-line-width-can-be-set).

    The background is that every array, graphical or not, is in fact a representation of a [struct] that is loaded in the background when Pd starts. The trick i used is to modify this hidden patch that contains the [struct] for all arrays by using dynamic patching, then click on the array by using a mouse message. The struct then sends out the pointer to the specific array. But the situations where this is really necessary should be limited. ;)

    posted in technical issues read more
  • ingox

    You can also use the messages from [array define] like const and resize by just sending them to the graphical array: arraydisplay2.pd

    Bildschirmfoto vom 2019-05-21 18-28-12.png

    posted in technical issues read more
  • ingox

    @Jona The graphical array is just an [array] combined with a graphical representation. So you can directly access it with the [array] object without the need of a helper array: arraydisplay.pd ;)

    Bildschirmfoto vom 2019-05-21 18-09-29.png

    posted in technical issues read more
  • ingox

    @ManoloPureD Well, there is some stuff going on with data structures and some tricks with a hidden hslider to get an infinite slider. But the main stuff for the audio is this:

    Bildschirmfoto vom 2019-05-20 06-54-36.png

    Here you have a continuous input from minus infinity to infinity. The [mod 384] makes it circular between 0 and 383. But we divide by 384 so the input range doesn't matter, it only defines the resolution. The output here is between 0 and 1.

    From here the actual stuff happens within the expressions. We want the pitch to double for each octave, so we have pow(2, $f1). So now we have a lowest pitch at 0 and the highest pitch at 1. Playing with factor 4 and 110 can give different results.

    Now we want the volume to be at maximum in the middle and at zero at 0 and 1 so we can not hear that the pitch switches. This is a little tricky and done by using the absolute function. I think the power function is only there to smooth things out.

    I actually had to play around myself quite a bit to get the result, which can still be optimized, i guess. So i would recommend to just deconstruct the expressions and play around with some values yourself, using print, to get a feeling for what is going on. ;)

    posted in patch~ read more
  • ingox

    @Nobody You can try "/usr/local/lib/pd/bin/pd". But simply "pd" worked for me: Bildschirmfoto vom 2019-05-17 22-11-56.png

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!