• ingox

    @audiolemon Purr Data supports $0 in messages. If you are using Pd, you have do give the $0 as argument to the message like this:
    Screenshot from 2017-11-24 12:46:01.png

    posted in technical issues read more
  • ingox

    So we still use [get], we just don't use [element] anymore to select the scalar. There i was not clear in one previous post.

    posted in technical issues read more
  • ingox

    @weightless Yes, i think most of list-abs could be rewritten now to be more efficient

    posted in abstract~ read more
  • ingox

    Also there is another method that you can find in Chris McCormick's s-abstractions s-controlsurface: https://mccormick.cx/projects/s-abstractions/. The method is to traverse the pointer to the subpatch and then use [next( so many times until you reach the desired scalar. Which you then can access. :)

    Edit: i should add that the way Chris McCormick does it, the scalars are appended to the head of the subpatch (same as i did above). Therefore the last added scalar becomes the first in the subpatch and [next( is therefore not in the expected order. Anyhow it should be possible to implement it correctly (only traverse the pointer of the append on load and on clear or instead count elements and use inverse number), but i couldn't quite figure it out on first try, so i just recommend the above method with lists which also gives the most control in my opinion ;)

    posted in technical issues read more
  • ingox

    @LiamG Yes, that is correct. But you can build your own system to store pointers in a list so you can access them by number and thereby access the scalars. In the example below i did it with [list store], but it can also be done with [list] + [list-idx].

    struct-demo2.pd
    Screenshot from 2017-11-20 06:21:29.png

    Here the scalars are added to the subpatch with the append method. The [append] object outputs the pointer to the scalar whenever one is added. The pointer is then stored in a list which is send to another [list store] on the right. Here you can give a number, get the pointer from the list and get the values from the scalar. :)

    The method above to lock y0 when moving the objects with left shift key pressed still works like before. :)

    posted in technical issues read more
  • ingox

    @LiamG Yeah, it has nothing to do with float c, that is just the color. It is because in my example i add the scalar directly (can be done with scalar message or append to the subpatch). Then you get the click and change from every single object (scalar).

    But when you add scalars as elements of an array, they are kind of locked into the array and don't behave as independent scalars, meaning they don't send click or change messages. When you receive a click message it will be from the main struct and the pointer will be to this main struct, but not the individual element. Sometimes the array struct will send out some crazy event, but this is more like a bug.

    So this is a big mess and in my opinion incomplete implementation or even buggy behavior and has caused some headaches to some here in the forum, but this is the reality we are dealing with ;)

    posted in technical issues read more
  • ingox

    @phil123456 not sure if this is the right way to go, but this is how i would approach this: soundarray.pd

    Screenshot from 2017-11-19 21:19:06.png

    Explanation: You can make loops with [until]. [until] must get a number to the left inlet or later a bang to the right inlet or it will run into an endless loop (which crashes Pd). So here in the example, [until] gets the array length and bangs the counter below it and so loops through the array. [array get] gets the values and the [moses] will let them trough depending on the threshold. The [spigot] to the right closes after the first value went through, the [spigot] on the left opens with the fist value and the [f] below it will hold the last value that has passed the [moses]

    posted in technical issues read more
  • ingox

    @weightless i guess that would be list-dripslow: list_dripslow.pd

    i just thought list-drip would be especially relevant because in many applications it is needed to perform as fast as possible. :)

    posted in abstract~ read more
  • ingox

    @weightless i can only guess, but list-drip from list-abs still copies a lot of lists. It is pretty efficient because it splits the list over and over again into ever smaller chunks until they contain only one element and than puts them out.

    The above method directly accesses the elements and puts them out. I tried this with [text search] before (same method) but this was still slower than [list-drip].

    Also i hereby put the above method in the public domain so everybody can use it without any restrictions or attributions or worries, use it in subpatches within abstractions and what not. ;)

    posted in abstract~ read more
  • ingox

    @LiamG Here is a quick demo: struct-demo.pd
    Could be more sophisticated to get the correct value even if shift is pressed later, but it shows the basic idea. :)

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!