• cfry

    @oid I have to return to treating variables. However, I would be fine with just editing a preferences text (the "registry"?)


    @oid said:

    Not sure what you mean by groups/exclusive groups, can you elaborate or show it with a patch?

    Its midi programming language sort of, usually used when programming percussive instruments. If you have one closed and one open high hat you would like these to cut off each other. Not "poly". Same could go for the cymbals. So each of these would get their own exclusive group. High hat exclusive group 1, crash exclusive group 2 etc.

    In my case I may have several instances of [tracky] (with different text files) triggering an fm synth. Here I want to have one or all of the variables to be shared. I may have a granular sampler controlled by several instances of [tracky] (with different text files), also sharing variables, but using another range (ex. 0-100, the fm synth using 0-1). The grain sampler also want its variables to be global, but not shared with the fm synth.

    I could solve this by using different named variables for these different groups of global variables. But this will be convoluted and hard to get an overview. I think it may be better to use abstraction arguments to give them different groups: [tracky 0], [tracky 1], and [tracky] for not sharing variables at all.


    This hotfix make the loop work as intended but just keep adding to the stack.

    Could it be that since [v] does not output anything until it get a bang problems arise?

    Also not sure how the stack is supposed to work in this case.

    Skärmavbild 2025-08-25 kl. 12.53.47.png

    posted in technical issues read more
  • cfry

    @oid said:

    I used [value] because add works off the last value that was output and [value] keeps things neater than tying lots of stuff to a single [float].

    Yes its convenient, I have tried to add a global function to share the variable "var" between several instances. [v] is good for this purpose. Use case: for example one instance with a list with "add" +1, and another instance with a list with "add" -1. And they are triggered independently.

    It would be good to be able to have different groups (like "exclusive" groups).

    I also see a use case for several "var" (var0, var1, var2, var3 etc)

    ...adding a global mode, exclusive groups, idle-reset, and so forth are configuration settings, not part of the live output. Question is where this should go. In the text file also? Or in another text file? Or if they are just a few, maybe just as arguments in the abstraction. The config settings should be retained. It would also be good if one could write the text to use as an argument in the abstraction: [tracky mycommands]. Not sure how to do that.

    Slightly annoying and could be fixed but would be less efficient, so I just remember that when patching commands which push a list, the list needs to be backwards or it will cause confusion elsewhere.

    that is fine, I just need to include some instructions on how the syntax goes.

    We will deal with that in the next post and start really exploiting that this is a programming language and will save you work as any programming language should.

    The problem that arise is that when I start to improvise I kind of "break the (your) concept". And I would like to avoid ending up in another patch that is so messy that I can not use it if I bring it up after a half a year or so. Lets continue working on it!

    Edit2: No, that loop will not quite work, for got to resend the float to $0-goto on each iteration, only loops once.

    I have given your loop code several shots but I can not figure out how to get it working. I managed to (in a messy way) to have it repeat for x times, or loop forever, or loop just once. But never loop x times and then be ready again to to loop x times.

    Current patch:Skärmavbild 2025-08-21 kl. 18.24.03.png

    tracky.pd

    posted in technical issues read more
  • cfry

    @oid Thank you so much. It is coming along quite well.

    Question time:

    Could we make a 2 argument command, like the loop function? I could not figure out how to use 2 arguments.

    Is there a specific reason why you used the value object? I found use for it, but I am just curious.

    How would you send the final out of the patch? As I patched it now I I am not using the value object for this.

    I think I may add more values later, like val1 val2 val3.

    I commented all over in to help me understand what happens. Is there any spots where I totally misunderstood it?

    If there are any awkward edits I made feel free to correct it or point it out. Pointer about suitable syntax is also appreciated.

    Skärmavbild 2025-08-19 kl. 00.30.07.png trackthing-oid.pd

    posted in technical issues read more
  • cfry

    Skärmavbild 2025-08-16 kl. 15.27.24.png trackthing.pd

    Can you help me to get this working? I tried to debug with [print] but I could not figure out the local variable hierarchy. (screen shot and patch is for visual reference)

    And then maybe we can do a few new commands so I can handle it?

    On a side note: No need for sudoku today! Pd and @Oid will keep me fresh now when chatgpt now make so complex code for my arduinos that I can not read it anymore. :)

    posted in technical issues read more
  • cfry

    @oid where is [list-drip] coming from? Deken says shadylib but it is not there.

    edit: never mind, I found it in list-abs

    posted in technical issues read more
  • cfry

    @porres Hi, yes, they are interesting. else/sequencer also has the feature to be banged a step at a time. Cool.

    posted in technical issues read more
  • cfry

    @oid wow that is beautiful. And thanks for showing using sends. Got rid of some messy cabling.

    It would be nice to see that tracker thing, if you find it please let me know.

    My purpose is not build a tracker but just to have this little module that I can throw in wherever I want this type of modulation function. So its basically there already.

    --

    I plan to add a loop function with nn iterations as well. Thinking about it now, that may be a bit tricky because I would need a command with two values (target line, iteration).

    Do you think it would make sense to use a format like this:

    loop 10 = forever loop between this line and line 10
    loop 10x4 = loop 4 times between this line and line 10.

    (10x4 will be a symbol, needs to be split up, x is the decimator, and then 10 and 4 needs to be made floats again)

    Or could there be a better solution?

    posted in technical issues read more
  • cfry

    @whale-av yes that is interesting. But atm I do not see the use case for this. It seems more simple to just edit the route object(s) and resave the abs. And make sure all connections are still going to the right place.

    posted in technical issues read more
  • cfry

    Skärmavbild 2025-08-14 kl. 13.15.46.png

    If you look at line 9/message 9 there are two commands. If I would to separate them by comma it would be regarded as two messages and would be output as message 9 (valAdd 1)and then 10 (goto 7).

    I want to be able to add an arbitrary amount of commands per message.

    Using line like this will only allow me to have one or two messages but it will at least send both commands in the same message (message index 9)

    What is awkward is that each command must have the same format here (variable and value).

    I imagine I can have an abstraction that I just update with new commands that I create and keep it separate from the texts ("fx1" here).

    posted in technical issues read more
  • cfry

    @oid I will not use Hex, for convenience, and my own sanity. Its just the mode of operation that I am after.

    But [text get] actually treats comma and semicolon the same way, ie end of message. The right output gives a number that indicates if the message was ended with a comma or semicolon. Since I want to keep the messages and rows in the text "synced", use the line as an index for the messages, this behavior becomes a problem. So either invent some custom separator or use [line split]. I always felt using [line split] a bit awkward but this seem to be the proper solution.

    posted in technical issues read more
  • cfry

    Yes thanks, it seems like [text] is optimal for this purpose.

    Once I understood that I can use [list split] to separate messages it became smooth. That both comma an semicolon made it a new message posed some problems.

    posted in technical issues read more
  • cfry

    Hi,

    I want to be able to add commands to a list and step forward through it, similar to a "channel" in a tracker style sequencer.

    I figure a good way to do it is to just use [text].

    Or? Could there be a better solution? Or even abstraction. The ELSE library?

    ...

    Image for reference:

    221555.png

    All good

    posted in technical issues read more
  • cfry

    How can I this?

    posted in technical issues read more
  • cfry

    @whale-av I just found this thread https://forum.pdpatchrepo.info/topic/14551/octophonic-to-binaural and the advice to use [hoa.xxx~] from ceammc lib. Seems doable.

    If it is just a matter of connecting a circle of speakers then I think I am set.

    hoa.2d.encoder.png

    https://forum.pdpatchrepo.info/topic/14728/ambinilla-1st-order-ambisonic-panner-for-pd-vanilla seems workable too.

    I receive position data over osc from unity3d so that is already working fine.

    posted in technical issues read more
  • cfry

    Hi,

    I am doing an interactive installation and I would like to use ambisonic sound. I may be using VR too.

    I use Unity3d to control sound synthesis in Pd and I can send panorama degrees of objects to Pd as you move around in the 3d world.

    What solutions for this are there? Any libs that I should check out?

    Time is quite short so if I can not find a simple workable solution I may have to skip it, but I rather not.

    Any input is greatly appreciated!

    All the best,
    N.

    posted in technical issues read more
  • cfry

    @oid can you not just open/close a patch by some command? I would like to explore that at least.

    posted in technical issues read more
  • cfry

    Hi,

    I am planning to use multiple configurations for an installation. I think it will be smoother for my workflow if I can switch between patches rather than settings within a patch. What options are there for this? Pros/cons? Tips?

    Cheers

    posted in technical issues read more
  • cfry

    @ben.wes i had not have the time to test yet, but ill do it as soon as possible. Thanks for trying to solve this.

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!