• Restore table from Base64

    13
    0 Votes
    13 Posts
    769 Views
    David HealeyD

    @Christoph-Hart I couldn't get it to work with a script table or table data object.

  • Midi Activity Led

    Solved
    22
    0 Votes
    22 Posts
    2k Views
    C

    @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
    222 Views
    ulrikU

    @d-healey haha, ok

  • Creating a file

    4
    0 Votes
    4 Posts
    468 Views
    David 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
    176 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
    228 Views
    Dan KorneffD

    I'm interested as well

  • expansionInstallCallback inside a for loop

    6
    0 Votes
    6 Posts
    232 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
    175 Views
    ulrikU

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

  • How to: SNEX logical inversion?

    2
    0 Votes
    2 Posts
    158 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
    474 Views
    ?

    @Christoph-Hart Yep that got it, cheers!

  • Help with ButtonPack example

    11
    0 Votes
    11 Posts
    1k 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
    330 Views
    ulrikU

    @d-healey Nice! Thank you :)

  • Synth Timer: Changing interval

    3
    0 Votes
    3 Posts
    357 Views
    toxonicT

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

  • setKeyPressCallback() how to?

    8
    0 Votes
    8 Posts
    784 Views
    S

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

  • Unlocker write/load key file - basics

    2
    0 Votes
    2 Posts
    280 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
    269 Views
    David 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.

13

Online

2.1k

Users

13.2k

Topics

114.8k

Posts