Saving preset vs export effect chain

Obviousely when exporting an effect chain in instrument effects ,it only exports the current chain which is acceptable , but when saving presets again it only saves the current chain , not the whole effect ( all chains)

Why is that?
How is it possible to simply save all the fx chains of an instrument in 1 preset file?

Anyone please ? I’m asking this to find a way to save my effect chains. But it won’t work if there are multiple chains

I’m surprised no one is noticing this thread .
I hope it’s not because no one knows any solution to this issue .
@taktik

That’s indeed not possible. You can only save a single effect chain or modulation chain or the entire instrument, but not multiple chains.

With a LUA tool I think this is possible. Using Renoise doesn’t just mean creating music. You can also expand its capabilities with a little programming.

“Device chain” is instrument dependent, not sample dependent. So:

Related API documentation:

renoise.app():prompt_for_path(dialog_title) --dialog to select a destination folder: a local path.
#renoise.song().instruments[].sample_device_chains --to define the range for iterate: (1 until X, if X>0).
renoise.song().selected_sample_device_chain_index --to iterate between range of device chains or...
renoise.song().instruments[].sample[].device_chain_index  --to iterate between range of device chains
renoise.song().instruments[].sample_device_chains[].name --to define the name of each device chain file *.XRNT.
renoise.app():save_instrument_device_chain(filename)  --to save the selected_device_chain inside the disk
renoise.tool():add_menu_entry(menu_entry_definition_table) --to create the link in the desired menu to invoke the tool.

Create an LUA tool (XRNX: main.lua and manifest.xml) with this information. You can save all device chains in a couple of actions within the selected folder. The select folder dialog could appear from the menu link directly. By selecting the folder, it would automatically save all possible files. You will have multiple XRNT files in one folder.

By doing this, you can create a tool that does the opposite. Load multiple effect chains in a single action. For this, the best thing is that the names of the files are numbered: 1-name.xrnt, 2-name.xrnt, 3-name.xrnt. Then you just have to select the containing folder.

Thank you all .
It’s strange why it’s not possible easily to save all chains at once . Maybe it’s something I do not understand. Why would someone wanted to save each chain ? Why not the whole chains?
I’ll try to see if i could make a tool as you mentioned .

Bytheway it seems that it will save all the chains at seperate files not embeded in one file?

To be able to load only a specific device chain.

In reasonable use, there is no reason why this should not exist. Maybe because there are no file quantity limits. Also, most files in other formats are saved individually, not in a group. If so, it should be extended to all other formats.

Yes, multiple XRNT. The only way to pack everything into one file is to save an XRNI instrument, but it will also save all its properties.

However, there are no excuses. There are many requests from users who want certain options that are perfectly feasible through an LUA tool. But they want to compose, not program.
Look at the following API documentation:

-- Load a file into the currently selected components (selected instrument,
-- track, sampl, ...) of the song. If no component is selected it will be 
-- created when possible. Any errors during the export are shown to the user. 
-- returns success.
renoise.app():load_track_device_chain(filename) 
  -> [boolean]
renoise.app():load_track_device_preset(filename) 
  -> [boolean]
renoise.app():load_instrument(filename)
  -> [boolean]
renoise.app():load_instrument_multi_sample(filename)
  -> [boolean]
renoise.app():load_instrument_device_chain(filename)
  -> [boolean]
renoise.app():load_instrument_device_preset(filename)
  -> [boolean]
renoise.app():load_instrument_modulation_set(filename)
  -> [boolean]
renoise.app():load_instrument_phrase(filename)
  -> [boolean]
renoise.app():load_instrument_sample(filename)
  -> [boolean]

-- Quicksave or save the current song under a new name. Any errors
-- during the export are shown to the user.
renoise.app():save_song()
renoise.app():save_song_as(filename)
-- Save a currently selected components of the song. Any errors
-- during the export are shown to the user. returns success
renoise.app():save_track_device_chain(filename) 
  -> [boolean]
renoise.app():save_instrument(filename)
  -> [boolean]
renoise.app():save_instrument_multi_sample(filename)
  -> [boolean]
renoise.app():save_instrument_device_chain(filename)
  -> [boolean]
renoise.app():save_instrument_modulation_set(filename)
  -> [boolean]
renoise.app():save_instrument_phrase(filename)
  -> [boolean]
renoise.app():save_instrument_sample(filename)
  -> [boolean]

It is possible to create tools related to all these functions, simply by iterating. They are there for a reason.