• Midi Activity Led

    Solved
    22
    0 Votes
    22 Posts
    2k Views
    clevername27C

    @ustk @Christoph-Hart If interested, I posted an efficient, working and configurable MIDI indicator widget a couple months back.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Custom error messages

    13
  • load module state before component values?

    7
    0 Votes
    7 Posts
    171 Views
    ulrikU

    @d-healey haha, ok

  • Creating a file

    4
    0 Votes
    4 Posts
    273 Views
    d.healeyD

    @VorosMusic That's the one and I've also discussed it a bit in the downloading files and unzipping videos, I also have a couple of additional videos about it on Patreon.

  • Just a warning: install sh scripts and Ventura

    1
    2 Votes
    1 Posts
    127 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Desktop notifications

    6
    2 Votes
    6 Posts
    203 Views
    Dan KorneffD

    I'm interested as well

  • expansionInstallCallback inside a for loop

    6
    0 Votes
    6 Posts
    182 Views
    ?

    @d-healey said in expansionInstallCallback inside a for loop:

    Don't use var unless you have to. Use reg for your counter.

    Yeh I'll probably have to start namespacing soon, was trying to avoid it but I'm all out of regs :)

    Got it working (so far):

    var num_expansions_to_install; var expansionInstallIndex = 1; function expansionInstallCallback(obj) { if(obj.Status == 2 && isDefined(obj.Expansion)) { if (expansionInstallIndex >= num_expansions_to_install) { expansionInstallIndex = 1; Engine.showMessageBox("Installation Complete", "Library installation successful, please restart NEAT Player.", 0); } else expansionInstallIndex++; } } //Single if (dir.isDirectory()) { num_expansions_to_install = 1; expansionInstallIndex = 1; expHandler.installExpansionFromPackage(nest.hr, dir); } //Batch if (dir.isDirectory()) { num_expansions_to_install = hrList.length; expansionInstallIndex = 1; for (i=0; i<hrList.length; i++) { expHandler.installExpansionFromPackage(hrList[i], dir); } }

    It's a bit clunky but it does the job, cheers!

  • Check if component exist

    3
    0 Votes
    3 Posts
    156 Views
    ulrikU

    @d-healey yes, that's it, thank you David!

  • How to: SNEX logical inversion?

    2
    0 Votes
    2 Posts
    119 Views
    Christoph HartC

    I think a bool is just an integer in disguise in SNEX. Try

    A = 1 - A;
  • detect "null"

    23
    0 Votes
    23 Posts
    1k Views
    ulrikU

    @ustk 😂

  • downloadFile & repaint issue

    9
    0 Votes
    9 Posts
    396 Views
    ?

    @Christoph-Hart Yep that got it, cheers!

  • Help with ButtonPack example

    11
    0 Votes
    11 Posts
    450 Views
    toxonicT

    @toxonic I changed the following lines....

    // Sets the array as Control Value and repaints the panel inline function _updateInternal(p) { p.setValue(p.data.buttonValues); p.repaint(); p.changed(); }

    to...

    // Sets the array as Control Value and repaints the panel inline function _updateInternal(p) { local pGet = p.getValue(); for (i=0;i<p.data.buttonValues.length;i++) pGet[i] = p.data.buttonValues[i]; p.setValue(pGet); p.repaint(); p.changed(); }

    I loaded the value of the panel into a local array, write the changes of the button data array to the local array and save the panel value again with p.setValue()
    This works to me, when i set the maximum amount of steps (64) at compile time.

    Nevertheless, thank you much for your effort! :-)

  • Engine.createFixObjectFactory(var layoutDescription)

    14
    0 Votes
    14 Posts
    270 Views
    ulrikU

    @d-healey Nice! Thank you :)

  • Synth Timer: Changing interval

    3
    0 Votes
    3 Posts
    227 Views
    toxonicT

    @ulrik At least this was a good suggestion! :-) Thanks! ;-)

  • setKeyPressCallback() how to?

    8
    0 Votes
    8 Posts
    404 Views
    S

    @d-healey Ok thanks david.
    it's much clearer for me

  • Unlocker write/load key file - basics

    2
    0 Votes
    2 Posts
    208 Views
    Christoph HartC

    @Dan-Korneff The writeKeyFile function is a method of the Unlocker object (which you're not assigning to a variable). The key file location is static (it's always a file in the app data folder) so you don't need to bother about that, just give it the key file data.

    To fetch the user data from a unlocked Unlocker object you can just use ul.getUserEmail() etc.

  • Function onNote range [Level:Beginner]

    2
    1 Votes
    2 Posts
    192 Views
    d.healeyD

    @Shinami-Sound I think I just replied to you on YouTube, but I'll respond here too.

    function onNoteOn(60, 64)

    This is not valid. The on note on function definition can't be modified.

    You need to either add a separate note filter script before your round robin script or incorporate the filter into your RR script. I suggest using a separate script. If you don't want to write your own you can use this one but I encourage you to try doing it yourself first.

  • Save and recall array of objects

    12
    0 Votes
    12 Posts
    519 Views
    toxonicT

    @ulrik Actually, the core of all is the FXPanels Array. Whenever i drag one of the 6 FXPanels to another position, the order in the FXPanels array changes accordingly (so it's not about loading effects to the Hardcoded master FX slots, or changing their positions). So if I move FXPanel1 from slot1 to the second slot, the array index of it will change from [0] to [1]. I want to store this in the MainPanel so i have the same order of FXPanels on startup, like it was, when i quit the project the last time. Since the FXPanels Array contains Component references, this seems to be more difficult, than i thought.
    I'll tinker around a bit and hope to find a solution. Anyway, thank you for your help. If you have further ideas, i'd appreciate any help! :-)

30

Online

1.8k

Users

12.1k

Topics

105.0k

Posts