Snippet To Set An Instrument To A Plug-In

Hello,

Does anybody have a quick snippet for setting an instrument to a plugin like Nexus (Audio/Generators/AU/aumu:NEXU:reFX)? In Renoise.Song.API.lua, I can’t, for the life of me, see how to set the plugin_device.name in the renoise.InstrumentDevice since it is read-only.

This is indeed read-only:
renoise.song().instruments[].plugin_properties.available_plugins[]

The functions are listed on top of the plugin instrument part, this is the function you are looking for:

renoise.song().instruments[].plugin_properties:load_plugin(plugin_name)

It returns true or false (sucess or failure in loading)

Thanks for this. Works like a charm. I’d like to set Nexus to one of its internal presets, but I can’t see how to do this. When I look at the presets property, there is only one. When I go to Nexus editor, I see many presets. Is there a way to use lua to set nexus to one of its internal presets?

print(renoise.song():instrument(1).plugin_properties.plugin_name)
Audio/Generators/AU/aumu:NEXU:reFX
rprint(renoise.song():instrument(1).plugin_properties.plugin_device.presets)
[1] => Init

Try the VST version instead?

Some AudioUnits have problems communicating presets with the outside world.

For example:

AU Of Crystal:

  
Audio/Generators/AU/aumu:AtFr:GOSW  
[1] => Init  
  

VST of Crystal:

  
Audio/Generators/VST/Crystal  
[1] => --- Atmosphere ---  
[2] => Swept Away  
[3] => Ghost in the Synth  
[4] => Oyster Shell  
[5] => Method  
[6] => Siberian Night  
[7] => Beast Belly  
[8] => Strange Cries  
[9] => Dream of Jungle  
[...]  
[124] => Morph source 2  
  

Same plugin, written by the same person, but the AudioUnit one is lacking in presets due to slack implementation.

How awful and distressing. I’m on an Apple computer and I don’t see VST versions. What to do?

Kick some AU-developer balls to fix their junk?

I’m on OSX too. Many vendors provide both AU and VST.

Make sure you enable VST in Renoise?

Renoise → Preferences → Plugins → Put some checkmarks next to VST.

It may very well be, that the VST version of Nexus may not show all presets too. Since Nexus is a Rompler and probably has several thousand presets, it would be kinda impossible to show all to the host. Instead those instruments use their own internal preset handling and often only communicate the loaded one to the host. A lot of Windows VSTs do similar behaviour here. One idea i had was saving the VSTi/AU as XRNI and load that with a script, but i haven’t found a function with a quick look through the docs, which can load an instrument from a file.

Thanks to Connor, I got VST’s working. Sylenth shows presets, but Nexus doesn’t. Can you explain more about your idea of VSTi/AU as XRNI and loading with a script?

Are their ways to use lua or pattern events to tell Nexus to go to a particular preset without having to set it using the mouse?