# Kontakt Update 5.8.0



## pfmusic

Fingers crossed this is ok!


----------



## EvilDragon

Has some neat new features.


----------



## pfmusic

EvilDragon said:


> Has some neat new features.



Nice one!


----------



## mac

Seems to fix the high sierra indexing bug, and the text search is a feature I've wanted for the longest time.


----------



## EvgenyEmelyanov

Really good update!


----------



## Guido Negraszus

Finally you can sort library tabs incl. search. Unbelievable it took so long to implement. I really love it.


----------



## Saxer

Question about Mac AU: is it possible to just save the component file of the current version before updating? Or is there somthing else updated as well (like plist-files or authorisations)? Just to have a way back in case there are problems with the newer version...


----------



## polypx

You can archive the component or vst files, then if you want to go back, just remove the later one and unpack the archive. Standalone apps you can just rename, but the plugins have to be archived because there can only be one at a time.


----------



## Saxer

Thanks!


----------



## P.N.

IMPROVED KSP: The maximum number of controls per control type has now been raised to 512 

Well, and with that, i just opened an endless wormhole.


----------



## EvilDragon

Also maximum number of elements in an array is one million now, a huge increase from 32768 which was the case until now. Pretty great.


----------



## N.Caffrey

EvilDragon said:


> Also maximum number of elements in an array is one million now, a huge increase from 32768 which was the case until now. Pretty great.



What are the actual benefit for the user? I'm not familiar with arrays and KSP


----------



## Light and Sound

N.Caffrey said:


> What are the actual benefit for the user? I'm not familiar with arrays and KSP



Not something the user will notice in most cases. It's mostly in cases where you want to store data in multiple dimensions, not too often you'll have a single dimension array reach over the old cap.

In the old system, an array of 32768 meant that having a 3d array of 127 by 88 (a standard piano size with all velocities) by say 3+ was not possible. It would be too large - this isn't generally something you'll want to do very often, however not being able to create a sizeable 3d array of something like that, even with a depth of mere 3, was pretty frustrating. Having this upped to 1m won't always be a direct impact to the user on the surface as there were always work arounds, but for devs it's just beautiful to finally have


----------



## N.Caffrey

Light and Sound said:


> Not something the user will notice in most cases. It's mostly in cases where you want to store data in multiple dimensions, not too often you'll have a single dimension array reach over the old cap.
> 
> In the old system, an array of 32768 meant that having a 3d array of 127 by 88 (a standard piano size with all velocities) by say 3+ was not possible. It would be too large - this isn't generally something you'll want to do very often, however not being able to create a sizeable 3d array of something like that, even with a depth of mere 3, was pretty frustrating. Having this upped to 1m won't always be a direct impact to the user on the surface as there were always work arounds, but for devs it's just beautiful to finally have


Thank you for the explanation.


----------



## geronimo

Automation Name bug still not solved ...


----------



## Soundhound

Meaning you can rearrange library tabs by various criteria? 



Guido Negraszus said:


> Finally you can sort library tabs incl. search. Unbelievable it took so long to implement. I really love it.


----------



## EvilDragon

geronimo said:


> Automation Name bug still not solved ...



Hmmm, what do you mean? Automation names working just fine over here.



Soundhound said:


> Meaning you can rearrange library tabs by various criteria?



No, only A-Z.


----------



## pfmusic

Great update!


----------



## fretti

Just updated to 5.8, restarted my mac and opened Cubase. Got a message that Kontakt (normal, 8 and 16 out) couldn't be reached and will therefor be put on the blacklist. Kontakt standalone worked perfectly, and after heading to my VST settings in Cubase and reactivating Kontakt from the Blacklist there it now works perfectly fine again...
Haven't restarted Cubase, so seems a little strange that it tells me there is a "problem" when there is (as it now works) actually none.
Just curious if anybody else here experienced something similar? Also: as Kontakt standalone (and in logic, but thats no VST obviously)worked, I guess it was on Steinbergs/Cubase site?!


----------



## pfmusic

On Cubase 9.5 but on PC. No problem here. Maybe a mac thing?

Hopefully, just a small glitch for you.


----------



## fretti

pfmusic said:


> On Cubase 9.5 but on PC. No problem here. Maybe a mac thing?
> 
> Hopefully, just a small glitch for you.


Well it worked now for 20 minutes without any problems, so yes, hopefully just a small hickup while rescanning all VSTs...


----------



## emasters

fretti said:


> Just curious if anybody else here experienced something similar?



Similar here with recent Kontakt and Komplete Kontrol updates. I think it's a time-out occurring during the initial scan by Cubase, after the update. After re-enabling the plugin on the Blacklist, it works fine.


----------



## geronimo

EvilDragon said:


> Hmmm, what do you mean? Automation names working just fine over here.


Sorry, I should open a new topic; at home, despite the good KSP coding, the names of the automations don't appear in my DAW (Digital Performer 9).


----------



## Robo Rivard

fretti said:


> Just updated to 5.8, restarted my mac and opened Cubase. Got a message that Kontakt (normal, 8 and 16 out) couldn't be reached and will therefor be put on the blacklist. Kontakt standalone worked perfectly, and after heading to my VST settings in Cubase and reactivating Kontakt from the Blacklist there it now works perfectly fine again...
> Haven't restarted Cubase, so seems a little strange that it tells me there is a "problem" when there is (as it now works) actually none.
> Just curious if anybody else here experienced something similar? Also: as Kontakt standalone (and in logic, but thats no VST obviously)worked, I guess it was on Steinbergs/Cubase site?!


It's because you didn't copy the new 5.8.0 .dll files into your Cubase VST plugins folder. Cubase only sees your old .dll files.
The new 5.8.0 .dll files are probably located in your Native Instruments applications folder. When you launch Kontakt in stand alone mode, it reaches for the .dll in your NI applications folder. Just locate the new .dll, and copy them in your Steinberg Cubase VST plugins folder on your :C drive.


----------



## fretti

Robo Rivard said:


> It's because you didn't copy the new 5.8.0 .dll files into your Cubase VST plugins folder. Cubase only sees your old .dll files.
> The new 5.8.0 .dll files are probably located in your Native Instruments applications folder. When you launch Kontakt in stand alone mode, it reaches for the .dll in your NI applications folder. Just locate the new .dll, and copy them in your Steinberg Cubase VST plugins folder on your :C drive.


Always thought Macs don‘t have/use .dlls in the way Windows does?! Guess I am wrong there.
Works now, so I guess Cubase relocated (or so) these to the correct folder, or just stuttered over them during the first scanning. But then I don‘t get why
1. Logic has no problems with that (know that Logic is AU, but seems to be doable to do such things automatically, unless the file structure/architecture of apple is completely the other way around from what Steinberg does?)
And 2. why it shows me such message when there lbviously isn‘t any problem...


----------



## Robo Rivard

I'm on Windows 10. I just checked all of the VST plugins folders on my system, and all of them still had version 5.7.

The new 5.8 updates were located in the folder "Vstplugins 64 bit", in the Native Instruments folder. I guess the stand alone version is directly connected to it. But for the use in Cubase 9.5, I copy the three new .dll files inside the VSTplugins folder in the Cubase application.


----------



## ratherbirds

New 5.8 Kontakt is ok on cubase 9.0.4 windows 10


----------



## Guido Negraszus

Soundhound said:


> Meaning you can rearrange library tabs by various criteria?



You can arrange either a-z or search! Good enough for me.


----------



## Soundhound

Love it. When they set it up so you can easily rearrange exactly how you want it, I'll love it even more. 



Guido Negraszus said:


> You can arrange either a-z or search! Good enough for me.


----------



## derstefmitf

Why is the version history in the KSP Reference Manual not updated since 5.7? Are there no new commands?


----------



## EvilDragon

There are no new commands, yeah.


----------



## Shad0wLandsUK

Robo Rivard said:


> I'm on Windows 10. I just checked all of the VST plugins folders on my system, and all of them still had version 5.7.
> 
> The new 5.8 updates were located in the folder "Vstplugins 64 bit", in the Native Instruments folder. I guess the stand alone version is directly connected to it. But for the use in Cubase 9.5, I copy the three new .dll files inside the VSTplugins folder in the Cubase application.



These do not exist on macs, so this would not be the issue. DLLs are a Windows file extension, not mac.



fretti said:


> Always thought Macs don‘t have/use .dlls in the way Windows does?! Guess I am wrong there.
> Works now, so I guess Cubase relocated (or so) these to the correct folder, or just stuttered over them during the first scanning. But then I don‘t get why
> 1. Logic has no problems with that (know that Logic is AU, but seems to be doable to do such things automatically, unless the file structure/architecture of apple is completely the other way around from what Steinberg does?)
> And 2. why it shows me such message when there lbviously isn‘t any problem...



You are correct as they do not exist on macs. Mac systems use other formats like: dylib (Dynamic Library) etc


----------



## Shad0wLandsUK

In relation to the actual topic of this thread, I am really liking the new sorting features and find Kontakt is working more smoothly also. Nice update alongside Komplete Kontrol 2.0

I do still find that KK is really slow in plug-in format though, when loading into Logic Pro X and VE Pro


----------



## EvilDragon

Shad0wLandsUK said:


> Mac systems use other formats like: dylib (Dynamic Library) etc



Yep, which ultimately is the same thing as DLL. DLL stands for *D*ynamically *L*inked *L*ibrary.


----------



## Soundhound

So far looks like no one's reported any problems with the update?


----------



## Shad0wLandsUK

EvilDragon said:


> Yep, which ultimately is the same thing as DLL. DLL stands for *D*ynamically *L*inked *L*ibrary.


Oh yeah I know they are Dynamic Link Libraries @EvilDragon. I was just explaining that they are not installed as the .dll extension, unlike Windows


----------



## samphony

Saxer said:


> Question about Mac AU: is it possible to just save the component file of the current version before updating? Or is there somthing else updated as well (like plist-files or authorisations)? Just to have a way back in case there are problems with the newer version...


That’s what I did since ages. Works very well!!!


----------



## EvilDragon

geronimo said:


> Sorry, I should open a new topic; at home, despite the good KSP coding, the names of the automations don't appear in my DAW (Digital Performer 9).



Hm, that seems quite weird. It works in literally ALL other DAWs, so this might be something idiosyncratic to DP and perhaps something they need to fix on their side.


----------



## fretti

EvilDragon said:


> Hm, that seems quite weird. It works in literally ALL other DAWs, so this might be something idiosyncratic to DP and perhaps something they need to fix on their side.


Wasn‘t/ Isn‘t it also DP wich has still problems with VE6 on High Sierra?! So maybe it is really just because of the DAW as I never (with now multiple DAWs on different computers/macs) over the years never encountered problems with NI products...


----------



## szcz

An observation. Apparently, the endless loop check has been raised from 40000 to at least 1000000 cycles. Makes sense, otherwise resetting a full blown array would require using wait command, though it may be still a good idea to use it.


----------



## geronimo

EvilDragon said:


> Hm, that seems quite weird. It works in literally ALL other DAWs, so this might be something idiosyncratic to DP and perhaps something they need to fix on their side.


Don't work also in REASON 10 ...


----------



## EvilDragon

Reason has always been a "special flower". Any other DAWs you might have?


----------



## geronimo

EvilDragon said:


> Any other DAWs you might have?


Not another DAW but I I'm going to ask the question to MOTU who have become quite responsive to their users.

However, I can test with a previous version of D.P .; because at one time, it worked and I found that appreciable.

EDIT: sorry, this is a mistake and confusion on my part because it works fine, now.
Thank you for the attention of the follow-up.


----------



## ptram

I would have hoped a quicker way to rearrange libraries in the left pane. Unfortunately it is not yet here.

Does anybody knows if there is a .plist or something similar to be edited, to rearrange libraries without having to drag in an endless time loop?

Paolo


----------



## EvilDragon

There's no single plist file for that - each library has its own plist file with ordinal number of its location in the Libraries pane, so you would need to edit x files (x being the number of libraries that you have shown there). It's not exactly faster.

But you don't need to drag all the time. This is how I do it: drag a library one page, then drop it off. Ctrl/Cmd+mousewheel to flip one _page_ of libraries at a time, then drag that same library another page again. Rinse and repeat until you get to the point where you want your library to be. It's much faster than holding drag all the time and letting it scroll excruciably slowly as it is.


----------



## chimuelo

NI has really been a fantastic development over time.

So many friends of mine use Kronos, Montage or Roland ROMplers.
A 1U PC w/ VIs and a Physis K4 sound better thanks to Kontakt Zebra2 and a little SE-02.

NI keeps coming through.


----------



## MillsMixx

So forgive me if this has been discussed already since I didn't read through through this thread, but if I click on the A-Z button will it change or overwrite the order of all my libraries? I'm scared to death to click it because it's taken me so long to organize everything the way I want it top to bottom and I have a lot of libraries.


----------



## emasters

MillsMixx said:


> I'm scared to death to click it because it's taken me so long to organize everything the way I want it top to bottom and I have a lot of libraries.



Same situation here. My assumption has been that once the sort order is changed, there's no going back. But perhaps there is? Would be curious to know as well, from someone who's done this.


----------



## Quasar

MillsMixx said:


> So forgive me if this has been discussed already since I didn't read through through this thread, but if I click on the A-Z button will it change or overwrite the order of all my libraries? I'm scared to death to click it because it's taken me so long to organize everything the way I want it top to bottom and I have a lot of libraries.


Then my sage advice is to not click it.

But yeah, if there isn't already, there should probably be a way to disable the button because it could be pretty easy to do accidentally.


----------



## jononotbono

Just curious, but is the latest update stable? I haven't updated yet in fear it will break something.


----------



## EvilDragon

A-Z button is not destructive. It saves your previously used order and reverts to it when you disable it.


----------



## geronimo

jononotbono said:


> Just curious, but is the latest update stable?



Yes, with an Apple computer .


----------



## EvilDragon

It's stable over here as well. On a non-Apple computer.


----------



## jononotbono

Ok, great to hear! Shall update in a bit!


----------



## Shad0wLandsUK

So, it seems something has happened. But I am yet to find out what exactly that is.

I was having issues in Logic Pro X 10.4.1 with Kontakt causing pops, when I was playing Spitfire Alternative Solo Strings.

Then running standalone I was getting an error about "the database being read-only" which stopped me being able to clear it :/

So I thought I would reinstall Kontakt 5.8.0, I did and it seemed to take longer to load the standalone version, I then emptied the Database and restarted it.


Now I have loaded it again and it is running at 102 % CPU on macOS Sierra 10.12.6
I have the 8DIO Ambient Guitars loaded and they took ages as well, now getting the dreaded beachball constantly and cannot do anything with the application!


----------



## sourcefor

Yeah whenever I open it when I have a track playing, it stutters like crazy...You have open it when you stop playback it seems!!!


----------



## bar

really? i had a similar stutter problem with Revolution. I mean it wasn't so responsive before but with 5.8 it went very laggy. Any news from Native about that issue?

Btw. I'm on Win10x64 Live 10.0.2


----------



## hawpri

Is anyone having problems with selecting groups and touching the shift in Kontakt in Logic? For me Logic crashes (disappears) and the error message upon launching Logic again I get is that Kontakt crashed.


----------



## EvilDragon

That is a confirmed and reported bug.


----------



## Vardaro

K 5.8 crashes with Kirk's Spotlight strings, on Windows10 (& Mac, apparently)
Downgrading to K 5.6.6 (the last version with an installer) solved the problem, but I lose my expensive new libraries...
Is there a way to run 5.6.6 or 5.7 in parallel with 5.8?


----------



## EvilDragon

Yes, copy out somewhere else the 5.6.6 exe (standalone) and dll (plugin), do the update to 5.8, then rename the older version files and place them where latest versions are. In most DAWs this should work.


----------



## Vardaro

But won't that replace the 5.8 ?
I used the 5.6.6 installer, and Spotlight worked fine. NA simply put 5.8 as an "available update".
I don't remember the 5.6 installer giving me a choice of installation folder, it simply crushed the 5.8.


----------



## Tod

I think what ED's talking about is to copy the 5.6.6 dll and stand-a-lone to another folder for safe keeping. Then go ahead and update to the 5.8 and let it do what it wants.

Now I'm not sure how interchangeable the Stand-a-lone is, I've never monkeyed with that, but the dlls are easily changeable. I've got Kontakt 5.1, 5.2, 5.5, 5.7, and 5.8 dlls, all in different folders. All I have to do is select the one I want to use is by selecting the folder in "Preferences" in my DAW.


----------



## Vardaro

So I should reinstall 5.6.6, copy it elsewhere, then update it (again) in NA to use the newest libraries. But will 5.6.6 then work without registering it with NA?


----------



## EvilDragon

Sure it will work. They all run off the same licence.


----------



## Vardaro

Well, my 5.6 installer (an update from Komplete9 on a 32bit Windows 7) must have been 32bit, since it did not remove the 5.8 dll's from the 64bit vst folder, but put 5.6 dll's in a new 32bit folder alongside. The stand-alone .exe I saved in a new folder, relabelled it Kontakt 566.exe with a link on my desktop. Then I re-updated to 5.8 in NA. ( in about 5 minutes.)

I don't think it would have worked if the 5.6 installer had been for 64bit, since that installer gave me no options for modifying the installation path.

Thanks for the help, E.D!


----------



## EvilDragon

NI installers have both 64- and 32-bit plugins in them. You gotta mind the VST paths when going through installer steps, don't just click "Next".


----------



## Vardaro

The 5.6 installer gave me no path option: it just told me what it was going to do..

Or maybe the 5.6 installer refused to crush the 5.8 64bit dll's and just installed its 32bit components? It crushed the standalone .exe o.k...


----------



## Tod

I don't recall having any path options either, except for the instruments and samples. I just learned long ago to save my dll files somewhere else before I update. I don't worry about the Stand-a-lone, I never use it.

I'm not sure what you mean by "crush", I think it just replaces the files.


----------



## Vardaro

I meant "replace", but it felt like crushing...


----------



## Levitanus

Where can I find the KSP changelog? I updated just today (was busy) because some users have problems with one of my scripts particularly in 5.8
The 24 hours of debugging lead me to the thought that there is a new callback or something has been added, that reacts on my ui_callbacks entirely. But, or my KSP reference is unupdated, or just has not be written yet.

P.S. Ok, I have read the thread entirely and assumed, there is no new API. So I'm confused to double-time. Really can not catch the bug. I have huge lags in the interface, but I'm almost sure, it does not depend on my ui_control callbacks.
For example, I have glitches even in this code:



Code:


....

on ui_control($Layout__Unit1Knob1)
  pgs_set_key_val(Unit1Knob1,0,1)
end on

....

on pgs_changed
  select (pgs_get_key_val(FXRACK,0))
    case 1
      $i := 0
      while ($i<588)
        select ($i)
          case 0 to 255
            %master_preset[$i] := pgs_get_key_val(FXRACK_PRESET,$i)
          case 256 to 511
            %master_preset[$i] := pgs_get_key_val(FXRACK_PRESET1,$i-256)
          case 512 to 767
            %master_preset[$i] := pgs_get_key_val(FXRACK_PRESET2,$i-512)
        end select
        inc($i)
      end while
      call get_master_preset
      $KnobsPreserved := 1
      call AssignUnit1Plugin
      call AssignUnit2Plugin
      call AssignUnit3Plugin
      wait(10000)
      $KnobsPreserved := 0
      if (1=1)
        set_control_par($Layout__OverlaySliderID,$CONTROL_PAR_HIDE,$HIDE_WHOLE_CONTROL)
        $Layout__i := 0
        while ($Layout__i<374)
          if (%Layout__control__Page[$Layout__i]=$Layout__UnitsPage)
            set_control_par(%Layout__Page__IDs[$Layout__i],$CONTROL_PAR_HIDE,$HIDE_PART_NOTHING)
          end if
          if (%Layout__control__Page[$Layout__i] # $Layout__UnitsPage and (%Layout__control__Page[$Layout__i] # 0))
            set_control_par(%Layout__Page__IDs[$Layout__i],$CONTROL_PAR_HIDE,$HIDE_WHOLE_CONTROL)
          end if
          inc($Layout__i)
        end while
      end if
      call RenderInserts
      $Layout__lfoTweakButton := 0
      $Layout__seqTweakButton := 0
      pgs_set_key_val(FXRACK,0,0)
    case 2
      call set_master_preset
      $i := 0
      while ($i<588)
        select ($i)
          case 0 to 255
            pgs_set_key_val(FXRACK_PRESET,$i,%master_preset[$i])
          case 256 to 511
            pgs_set_key_val(FXRACK_PRESET1,$i-256,%master_preset[$i])
          case 512 to 767
            pgs_set_key_val(FXRACK_PRESET2,$i-512,%master_preset[$i])
        end select
        inc($i)
      end while
      pgs_set_key_val(FXRACK,0,-1)
  end select
  select (pgs_get_key_val(FXRACK_BYPASS,0))
    case 0
      select ($Unit1PluginOnProxy)
        case 0
          $Layout__Unit1PluginOn := 0
          call OnUnit1PluginOn
        case 1
          $Layout__Unit1PluginOn := 1
          call OnUnit1PluginOn
      end select
    case 1
      select ($Unit1PluginOnProxy)
        case 0
          $Layout__Unit1PluginOn := 1
          call OnUnit1PluginOn
        case 1
          $Layout__Unit1PluginOn := 0
          call OnUnit1PluginOn
      end select
  end select
  select (pgs_get_key_val(FXRACK_BYPASS,1))
    case 0
      select ($Unit2PluginOnProxy)
        case 0
          $Layout__Unit2PluginOn := 0
          call OnUnit2PluginOn
        case 1
          $Layout__Unit2PluginOn := 1
          call OnUnit2PluginOn
      end select
    case 1
      select ($Unit2PluginOnProxy)
        case 0
          $Layout__Unit2PluginOn := 1
          call OnUnit2PluginOn
        case 1
          $Layout__Unit2PluginOn := 0
          call OnUnit2PluginOn
      end select
  end select
  select (pgs_get_key_val(FXRACK_BYPASS,2))
    case 0
      select ($Unit3PluginOnProxy)
        case 0
          $Layout__Unit3PluginOn := 0
          call OnUnit3PluginOn
        case 1
          $Layout__Unit3PluginOn := 1
          call OnUnit3PluginOn
      end select
    case 1
      select ($Unit3PluginOnProxy)
        case 0
          $Layout__Unit3PluginOn := 1
          call OnUnit3PluginOn
        case 1
          $Layout__Unit3PluginOn := 0
          call OnUnit3PluginOn
      end select
  end select
  if (pgs_get_key_val(Unit1Knob1,0)=1)
    pgs_set_key_val(Unit1Knob1,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob2,0)=1)
    pgs_set_key_val(Unit1Knob2,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob3,0)=1)
    pgs_set_key_val(Unit1Knob3,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob4,0)=1)
    pgs_set_key_val(Unit1Knob4,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob5,0)=1)
    pgs_set_key_val(Unit1Knob5,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob6,0)=1)
    pgs_set_key_val(Unit1Knob6,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob7,0)=1)
    pgs_set_key_val(Unit1Knob7,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob8,0)=1)
    pgs_set_key_val(Unit1Knob8,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob9,0)=1)
    pgs_set_key_val(Unit1Knob9,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob10,0)=1)
    pgs_set_key_val(Unit1Knob10,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob11,0)=1)
    pgs_set_key_val(Unit1Knob11,0,0)
  end if
  if (pgs_get_key_val(Unit1Knob12,0)=1)
    pgs_set_key_val(Unit1Knob12,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob1,0)=1)
    pgs_set_key_val(Unit2Knob1,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob2,0)=1)
    pgs_set_key_val(Unit2Knob2,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob3,0)=1)
    pgs_set_key_val(Unit2Knob3,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob4,0)=1)
    pgs_set_key_val(Unit2Knob4,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob5,0)=1)
    pgs_set_key_val(Unit2Knob5,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob6,0)=1)
    pgs_set_key_val(Unit2Knob6,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob7,0)=1)
    pgs_set_key_val(Unit2Knob7,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob8,0)=1)
    pgs_set_key_val(Unit2Knob8,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob9,0)=1)
    pgs_set_key_val(Unit2Knob9,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob10,0)=1)
    pgs_set_key_val(Unit2Knob10,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob11,0)=1)
    pgs_set_key_val(Unit2Knob11,0,0)
  end if
  if (pgs_get_key_val(Unit2Knob12,0)=1)
    pgs_set_key_val(Unit2Knob12,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob1,0)=1)
    pgs_set_key_val(Unit3Knob1,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob2,0)=1)
    pgs_set_key_val(Unit3Knob2,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob3,0)=1)
    pgs_set_key_val(Unit3Knob3,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob4,0)=1)
    pgs_set_key_val(Unit3Knob4,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob5,0)=1)
    pgs_set_key_val(Unit3Knob5,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob6,0)=1)
    pgs_set_key_val(Unit3Knob6,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob7,0)=1)
    pgs_set_key_val(Unit3Knob7,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob8,0)=1)
    pgs_set_key_val(Unit3Knob8,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob9,0)=1)
    pgs_set_key_val(Unit3Knob9,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob10,0)=1)
    pgs_set_key_val(Unit3Knob10,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob11,0)=1)
    pgs_set_key_val(Unit3Knob11,0,0)
  end if
  if (pgs_get_key_val(Unit3Knob12,0)=1)
    pgs_set_key_val(Unit3Knob12,0,0)
  end if
end on


P.P.S. I know. it looks bad, but It is only for doing anything in the callback.
If remove lines in pgs, it works. The same with couple-line functions, like


Code:


function OnKnobs
    // NI_CALLBACK_ID etc
    ....
    // arg1 is id of value-label of ui-element
    arg1 -> hide := HIDE_PART_BG
    wait(1000)
    // if NI_CALLBACK_ID etc
    arg1 -> hide := HIDE_WHOLE_CONTROL
end function


P.P.P.S. More than, with profiling of ui_callbacks, they are executed just in 6-10 microseconds with all big code called. But ui is stacked.

P.P.P.P.S.  I have also counted all controls of all types (though there is a problem) and not so scary:


Code:


slider amount: 85
button amount: 142
switch amount: 52
label amount: 94
menu amount: 2
table amount: 1
waveform amount: 0
knob amount: 0
file_selector amount: 0
level_meter amount: 0
text_edit amount: 1
value_edit amount: 1
xy amount: 2


P.P.P.P.P.S. Of course, I've blocked all listener and persistent_changed code at first. And have not ui_update callback at all.


----------



## EvilDragon

Why would you do what you're doing there in PGS? :/

That is some really nasty code right there. Too many branches that are ran EVERY time there's a PGS call (which, if you're setting a PGS key on ui_slider callback, is a LOT of calls). No wonder you get laggy GUI (and possibly CPU spikes too).

If you absolutely must do something like that via PGS, you need to have a message passing system - have a separate PGS key that will be used to designate when a message is sent (otherwise do nothing in PGS callback), and to which parameter it should apply, then select-case your way through all the parameters.

But this is really nasty.


----------



## Levitanus

EvilDragon said:


> Why would you do what you're doing there in PGS?


It's really, really the last example I took from the code. There is no pgs in the subject script. There is the function with set_engine_par and hide_part. Nothing really strange in it. Look at the second example. It stacked too, without any pgs code.


----------



## EvilDragon

Well, just with these tidbits of code I cannot confirm anything happening here...


Not sure what you're getting at here.


----------



## Levitanus

EvilDragon said:


> I cannot confirm anything happening here...


this is the main strange thing)


----------



## EvilDragon

That's because the code you sent is useless for checking. Post a more useful piece of code that actually works and compiles in Kontakt so that we can easily see what's going on.


----------



## geronimo

Update in version 5.8.1. via Native Access _ (cool)



*IMPROVED* Wet & Dry sliders on many effects (e.g., Reverbs and Delays) would cause loud artefacts when used; control signal smoothing is now a lot more robust with artefacts greatly reduced
*IMPROVED KSP*: "Array out of bounds" warnings now include additional info (name and size of the array and index of attempted access)
*FIXED* Some older Kontakt Player libraries (like East West RA) would stay in Demo mode even when properly authenticated
*FIXED* Group MIDI input channel settings are now recalled correctly after saving and reloading an NKI
*FIXED* Kontakt would crash when trying to set the Sample Subdirectory on the Save As dialog
*FIXED* In some cases (e.g. with Top Shelf Drums by 3 Sigma Audio), the instrument GUI would be corrupt when using multiple instances of the same NKI
*FIXED* Kontakt would crash when trying to multi-select groups with Shift+Click
*FIXED* Kontakt would crash when assigning automation to controls the name of which included special characters
OS REQUIREMENTS This version requires macOS 10.11 or higher or Windows 7 or higher


----------



## derstefmitf

*IMPROVED KSP*: "Array out of bounds" warnings now include additional info (name and size of the array and index of attempted access)

This is great.


----------



## Vardaro

Just updated to 5.8.1.
Spotlight Solo Strings still crashes it. Grrr..


----------



## geronimo

derstefmitf said:


> This is great.



I don't understand well, since my french origins: on an impression that it concerns the arrays and their errors messages.
What is it exactly, please ?


----------



## Tod

derstefmitf said:


> *IMPROVED KSP*: "Array out of bounds" warnings now include additional info (name and size of the array and index of attempted access)
> 
> This is great.



Oh yeah, +1 to that.


----------



## EvilDragon

There's a caveat regarding that particular new KSP improvement but I am not sure if I can say anything about it officially yet...


----------



## Tod

Oh no, ha ha, he that giveth, taketh away.


----------



## SchnookyPants

KS2-88. (?)


----------



## EvilDragon

That has nothing to do with Kontakt updates whatsoever.


----------



## SchnookyPants

_Stillll got it... _


----------

