Brain fart! Kontakt isn't remembering to load a sound!

Ok guys,

I’m having a problem getting my head around this…

I’m programming for a show. I have 4 or 5 linked racks. I have one with 2 piano instruments (In Kontakt) and a few different states used in several songs. Works fine. I have another instance of Kontakt with about 18 different instruments in it, on different MIDI channels which again, is used in many different songs and song states. Works fine. I’ve run out of MIDI channels in this instance so I’ve started another linked rack to add some more instruments. I’ve added 2, which again, are referenced by different song states. These work fine.

However.

I come to a new cue in the show and I think. ‘OK, I need another sound in my second Kontakt Rack’ I add the sound, set it how I want it, make the MIDI routes in the song, all good. Shutdown Cantabile, come back again, open (and pre-load) the set-list, all the Kontakt instruments come back, set how they were, apart from this new one in the 2nd Kontakt rack!

I’ve tried saving the multi in Kontakt, saved the Rack (even though when I add the sound in the 2nd instance of Kontakt, it’s not showing in Cantabile as changed…) saved the songs, saved all, nothing seems to make Cantabile (or Kontakt) remember to load this 3rd sound in!

Help?!?!?!

Cheers as always for the great help I know is coming from you guys…

Toaster

Ok,

I think I’ve worked it out but maybe you can explain to me why this happens…

this new rack is used in a song earlier in the set list and it seems that because the new sound wasn’t in the rack when it’s called by the first song, it doesn’t appear later on… Is this because of the Linked rack thing? And also, would I be better off using embedded racks, because wouldn’t that mean that it was loading all the sounds more than once?

??

Toaster!
Answering my own questions since 2016…

Hi!
Sounds a little bit overcomplicated :slight_smile:
Why not to use another rack for that sound ?

Kind regards

Hi Toaster,

My suspicion is that you have “Selected Program” or “Entire Bank” enabled for the Kontakt plugin, and that for your two songs you’re using different rack states, which means Cantabile is restoring the saved state of Kontakt for each song, rather than always using that newer state. If you want a Kontak rack with different sounds on different channels, the best way is to disable all state behaviour on the Kontakt plugin itself. That way it’s identical for all rack states, and if you make a change to Kontakt and resave, it’ll apply to all rack states.

So if you’ve had state behaviour set for the plugin, disable that on one of the rack states where Kontakt is doing what you want, save, and that should hopefully work. Note that it’s also a good idea to then step through each of the rack states, so that the correct Kontakt state is stored for each rack state. That way, if you ever re-enable state behaviour on the plugin, it won’t revert to that old incorrect state.

If you use linked racks, the same rack will be used for both songs, so if you play a set with both songs, it’ll only be loaded once, and shared. If you were to use embedded racks, then it would be loaded once for each song, thus occupying more memory, and incurring more loading time.

Also, once it’s an embedded rack, it’s isolated from the linked rack file on disk, so any further changes you make to the rack embedded in the song will only apply to that song - it won’t be applied in other songs,

Neil

3 Likes

Ok, I’ve done that @Neil_Durant,

To try and help, I’ve got a song at the beginning of the set list that has all the racks that I’m using, with the ‘selected program’ and ‘entire bank’ state behaviours turned off. If I add an instrument to this rack, save the multi (I’m not sure I even should need to do this!) save the 1st song, restart Cantabile, sometimes it’s remembering things, sometimes it’s not! Now, I’m sure that it’s something that I’m doing/not doing, but I can’t for the life of me work out what!

I’ve probably done things a little about face or something but what I’m doing I don’t know?

Also, I’ve noticed that Cantabile does weird things when I copy and paste Routes from one song/state to another.

For example, I’ve copied 4 MIDI routes from one state to another, later in the show. (I do this because I’m too lazy to set up all those routes everytime I need that particular combination of sounds!)
Sometimes when I copy, it does screwy things to the state previous to the one I’m pasting into. Again, I’m sure that I’m doing something wrong but it doesn’t make any sense because sometimes it does it and others it doesn’t!

Cheers for all the help so far,

Toaster

Ok,

So I seem to have solved it (I think!) but again, I don’t know why. I stepped through the entire show, so far with the dodgy rack open in order to see if one of the songs was doing something to make it forget the sound. It didn’t disappear from the Kontakt rack. I didn’t change a single thing, saved all, restarted Cantabile and voila! It’s there…

@brad and @Neil_Durant, shed any light on why?

Just coz I’d love to know what I’m doing wrong in order to not go through this every time I have a show to program!

Cheers,

Toaster

Hi @toaster

I tend to agree with Neil - sounds like a preset/state selection issue. Are you familiar with “Pseudo-Presets” that Cantabile will be using with Kontakt?

ie: because Kontakt only exports a single VST preset slot to the host, Cantabile synthesizes a bank of 128 presets by saving the entire plugin state in each in slot. So if you switch presets on Kontakt using a Cantabile preset selector, the entire plugin will be reloaded.

So, you need to be careful not to have different presets selected in each song/state - or, you need to turn off Entire Bank and Selected Preset behaviours as mentioned by Neil.

Or, perhaps there’s something else going on, but can’t think what that might be off hand.

Brad

Yes, be careful with this, because you’re copying all of the route’s state behaviour along with the route itself - is that what you intended to be doing?

I’m not 100% sure I follow what you mean here. In detail, what are you trying to do when you say you’re copying 4 MIDI routes from one state to another? You shouldn’t generally need to copy things in order to re-use a combination of sounds later in the show; usually it can be done by re-using an earlier rack state or whatever.

I think you might need to be a bit more explicit about whether routes are song or rack routes, and whether the states you’re talking about are rack or song states. And can you give a concrete example of what screwy things happen to the previous state?

Remember, you don’t really paste a route into a “state” - you’re pasting into a rack or a song, and that route has its own state behaviour for each rack or song state.

Neil

1 Like

Ok,

Still having this problem and really not getting why!

I’ll try and describe the problem better…

I have this multi in Kontakt

I realise I need another sound in it…

I load the new instrument… the church organ

I save the song… (it’s just a blank song that has all the racks I use in the show in it…)

I save all…

I save the Kontakt Multi…

I rename the preset (psuedo preset as @brad called it…) just on the offchance it may work…

I close down Cantabile without stepping into any other states…

I re-open Cantabile and open the rack again and…

The organ is gone!!!

I’ve tried stepping through the entire show, with the rack GUI open and as I step through songs that don’t use this rack, the GUI disappears and reappears on the songs and states that use it. Everytime the GUI reappears it still has the organ sound loaded. There are no other psuedo presets being selected, all the state behaviours for Kontakt plugin within the Rack are deselected. The Selected Rack State and Exported rack states are deselected for the Rack. I haven’t stepped through to any other states, yet even after a save all, the organ doesn’t reload when I restart Cantabile…

I suppose the crux of my question is, when and how does Cantabile save the loaded instruments in my racks, because it’s obviously done it at some point… The rack doesn’t show as altered either when I add an instrument to Kontakt either!

Help!!!

My show opens on friday…

Cheers as always for the help you’ve offered so far…

Toaster

I’ve just created two racks with two presaved Kontakt multi:

Then i saved these 2 racks and saved a song with these 2 racks.
Works like a charm.

A little bit wasting the memory, but it is ok for test purposes :slight_smile:

kind regards

1 Like

I’m glad it works for you Alexander!

What happens if you now add another instrument for say a second song in your set list?

Kontakt works best when you use banks. Create an empty bank (File -> New Instrument Bank). assign it to a MIDI channel (ex. 1) in the header. Drag/drop patches from the library into as many of the 128 slots as you want. Send patch changes to channel 1 to select a patch using Bindings. Then do the same with MIDI channel 2, create a bank, drag/drop patches from the Kontakt library. You can build up a huge number of patches from which to select over different channel, all in one instance of Kontakt. I do it a little different, but the idea is to figure out banks. Then use Cantabile Bindings to send patch numbers (no bank number required) to Kontakt banks listening to various MIDI channels. Bindings are controlled with song states. Using the States/Binding guarantees that Kontakt will select the patch you want.

Even better, put Kontakt in a rack and use rack states to pick the patch/layer you want.

1 Like

Hi @Toaster

I think I figured out what’s going on here…

  1. When you add a new instrument to a multi, Kontakt provides no notification to the host that something has changed and the file needs to be saved so the rack file doesn’t get marked modified
  2. When you use Save All, unmodified racks don’t get saved so the changes in Kontakt don’t get saved.

So I think in this case you need to manually save the rack (while rack is open for editing, choose File Save Rack), or make some other change in the rack to mark it modified.

I stated above that Kontakt doesn’t provide a notification that something has changed but in fact it does send two undocument “vendor specific” events. I’m going to ping NI see if I can get clarification on what these are - perhaps one is a plugin modified notification that Cantabile can use to mark the rack modified.

Brad

1 Like

Brad, you’re amazing, I’ll try that when I go to work tomorrow…

Cheers,

Toaster.

In light of there being a possibility of Cantabile not knowing if a rack actually contains unsaved state within a plugin, would it make sense to actually save all racks in the current song when saving all, just to be on the safe side?

This reminds me of something that (I think) has been mentioned before - that if you save a rack that isn’t marked as modified, there’s absolutely no feedback that it has done anything, which is a bit unnerving. I wonder if there could be some momentary feedback of some kind when these things are explicitly saved manually?

Neil

@Toaster
Added a third rack in a second test song (slightly modified 2nd rack - added one instrument in Kontakt multi)
And I have got no problems at all.
All instruments loaded as they should be.

P.S. i do manually saved all the racks
kind regards

Yes, I think that makes sense… will look into it.

Suggestions? Obvious thought it to display something in the main toolbar status window…

That would work - just popping up “Saved” for a second there might be sufficient.

Neil

I’ve changed it so that saving a song will always save the referenced racks even if not marked modified.

Also, added some feedback…

A single file got saved:

A single song and N racks:

Some other combination, eg: set list, song and N racks:


Ignore the crazy load/pf metrics - screen shots from an un-optimized debug build and no, I don’t read my own blog posts :slight_smile:

1 Like

Hmmmm, does that mean that all my racks modified by bindings will be saved in their modified state? That would be a major step back :unamused:. Or have I misunderstood something?

Cheers,

Torsten

2 Likes