1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Request for KSP Additions

Discussion in 'Feature Suggestions' started by Justin M, Dec 11, 2011.

  1. Justin M

    Justin M NI Product Owner

    Messages:
    76
    It would be extremely useful to have global PGS commands which share their values across all instruments/multiscripts.

    It would also be useful to be able to address the master output and associated insert FX with multiscript.

    Finally; a repeated request to be able to set the IR early and late sizes to 0% in the convolution effect (the minimum is currently 50%)

    Justin
     
  2. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Why? 50% is already quite enough, and it doesn't even sound good with some IRs.
     
  3. Justin M

    Justin M NI Product Owner

    Messages:
    76
    Mario,

    Just because you find 50% enough and you find that it deosn't sound very good, please don't dismiss this as if I have not made a valid request in your opinion.

    The ability to essentially switch off either the early or late parts of an IR is extremely useful and is commonly found in most other convolution reverb software.

    Justin
     
  4. Justin M

    Justin M NI Product Owner

    Messages:
    76
    Another thought!

    Addressing aux levels from KSP and assigning controllers to the master output and FX would also be another great addition.
     
  5. Justin M

    Justin M NI Product Owner

    Messages:
    76
    Just discovered that purge_group is only allowed in a ui_control callback! This makes it limited to one instrument at a time and not controllable from any other source!

    Could this be changed to use as follows:

    on controller
    ``if (%CC_TOUCHED[$Purge_Gp1_CC] = 1)
    ````
    ````if (%CC[$Purge_Gp1_CC] >= 64)
    ``````Purge_Gp1 := 1
    ````else
    ``````Purge_Gp1 := 0
    ````end if
    ````
    ````purge_group (1,abs(Purge_Gp1))
    ``end if
    end on
     
  6. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Hmmmm...

    Controller callbacks might happen too fast for purging, which could lead to potentically erratic behavior. I think that's why NI allowed purging only in an UICB.

    You can use a workaround by having ui_switches assigned for purging (even on multiple instruments), and then MIDI learn them all to the same CC...
     
  7. Justin M

    Justin M NI Product Owner

    Messages:
    76
    That's a great idea Mario, however midi learn seems only to be available to sliders and knobs - not buttons!
     
  8. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    That's why I said ui_switch, not ui_button. ;)

    ui_switches are MIDI learnable (except in Multiscripts) :)
     
  9. Justin M

    Justin M NI Product Owner

    Messages:
    76
    Thanks Mario; I'll get on it ASAP. (The anomalies of KSP never cease to frustrate me!)

    Justin
     
  10. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Hm, I wouldn't say that's an anomaly, the difference between ui_button and ui_switch is clearly written in KSP Reference manual. :)
     
  11. Justin M

    Justin M NI Product Owner

    Messages:
    76
    Two other ones!

    First; it would be helpful if one could edit a post so that I don't need to keep adding replies to this thread!

    Second; although not KSP related, the ability to re-order groups would be useful (perhaps drag and drop?)
     
  12. kb123

    kb123 NI Product Owner

    Messages:
    1,255
    Big +1 on this
     
  13. Ivan68

    Ivan68 New Member

    Messages:
    16
    In the next KSP release I would like to see:

    if...
    elseif...
    else...
    end if


    Multi array:
    %multi_array [x][y]
     
  14. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    The things you mention didn't happen since KSP was introduced in K2, so why do you think it would be happening in the very next version of Kontakt? It most likely will not.

    You can use elseif with KScript text editor (after compiling it breaks it into several if-elses).

    Multi-arrays won't happen, very likely. But you can declare them as %array[x * y].
     
  15. Ivan68

    Ivan68 New Member

    Messages:
    16
    Elseif allows to avoid 1 right ident step and makes the code clearer.

    %array[x * y] is not the same of %array[x][y]

    Only in the latter case you have x*y reachable cells with x and y matrix. Hope you I don't need to elaborate this.
     
  16. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    I'm telling you of current workarounds available (especially for elseif, since you CAN use it with KScript editor - and if you're a serious scripter, you should definitely use KScript, then compile for Kontakt! Personally, I don't mind using standard if-else, because TO ME, the additional indent means cleaner code. Subjective, I know.), because from my perspective I don't see NI is going to bother doing those features. The syntax is pretty much set in stone and works well as it is now. Now they're all about adding new control and engine parameters and other functionality, but not core syntax changes. The only syntax change that has happened as far as I can recall, is removing the underscore as necessity from _read_persistent_var(), on _pgs_changed, _pgs_set_key_val(), _pgs_get_key_val(), _pgs_create_key(), etc.

    Nothing else has changed in KSP syntax since then. I don't count the introduction of function declarations in K4.1 as a syntax change - but rather a syntax addition. And then again, they're not true functions - you cannot call them from init callback, you cannot pass or return arguments from/to the function.
     
  17. Ivan68

    Ivan68 New Member

    Messages:
    16
    Raw midi file reading capability.
     
  18. kotori

    kotori NI Product Owner

    Messages:
    1,153
    If you use the latest version of my third-party script editor program you can use both "else if" and make arrays appear multi-dimensional by using properties and use its compiler to translate them into simpler constructs supported natively by KSP.
     
  19. Ivan68

    Ivan68 New Member

    Messages:
    16
    Are you Nils? Nice to meet you!
    :)
    I know very well your KScript Editor. I used it often.... but at the moment, if I well understand, it doesn't support the new Kontakt 5 commands, related to midi file implementation.
     
  20. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    It does support the new K5 commands...