• Restore table from Base64

    13
    0 Votes
    13 Posts
    658 Views
    d.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
    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
    274 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
    128 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
    451 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
    209 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.

19

Online

1.8k

Users

12.1k

Topics

105.8k

Posts