[SOLVED] How do I hide FX DSP Chain Plugins that are open?

Hi, what’s the API call for hiding FX DSP Chain plugins that are visible? I’ve taken to lazily experimenting with adding plugins to instruments instead of tracks, but i’d prefer to be able to close the plugins with a script rather than having to click on them myself. is there a solution for hiding/showing plugins that are in the Instrument FX DSP Chain?

The place I put them into is

renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EFFECTS

and I’d prefer to be able to hide the external interfaces after opening them, with a simple script.

i mean, is this a missing feature? I’m trying to make the same thing happen for FX DSP Chains as Track DSPs…

renoise.tool():add_keybinding{name="Global:Paketti:Hide Track DSP Devices",invoke=function()
  if table.count(renoise.song().selected_track.devices) >1 then
     for i=2,(table.count(renoise.song().selected_track.devices)) do 
      if renoise.song().selected_track.devices[i].external_editor_available==true
       then
       renoise.song().selected_track.devices[i].external_editor_visible=false
      end
     end
  end
end}

but try as i might looking at the documentation, i can’t seem to find it.

renoise.song().tracks[].devices[].is_maximized, _observable
→ [boolean]

https://files.renoise.com/xrnx/documentation/Renoise.Song.API.lua.html#h2_42

i’m not seeing any effect whatsoever of closing the Sample FX DSP Chain Plugins, when using

renoise.song().tracks[renoise.song().selected_track_index].devices[renoise.song().selected_device_index].is_maximized=false

Näyttökuva 2022-6-19 kello 14.55.27

yeah @ffx this “is_maximized” stuff is for minimizing trackdsp plugins or maximizing them. not for showing&hiding the FX Effects DSP Chain plugins.

Näyttökuva 2022-6-19 kello 14.58.21

ok, got it working

renoise.tool():add_keybinding{name="Global:Paketti:Hide Track DSP Devices",invoke=function()

  local function hide_devices(device_chain)
    if #device_chain.devices > 1 then
      for i = 2, #device_chain.devices do
        if device_chain.devices[i].external_editor_available == true then
          device_chain.devices[i].external_editor_visible = false
        end
      end
    end
  end

  if renoise.song().selected_track and #renoise.song().selected_track.devices > 1 then
    hide_devices(renoise.song().selected_track)
  end

  local instrument = renoise.song().selected_instrument
  if instrument and #instrument.sample_device_chains > 0 then
    for _, device_chain in ipairs(instrument.sample_device_chains) do
      if #device_chain.devices > 1 then
        hide_devices(device_chain)
      end
    end
  end

  if instrument and instrument.plugin_properties.plugin_device then
    local pd = instrument.plugin_properties.plugin_device
    if pd.external_editor_available == true then
      pd.external_editor_visible = false
    end
  end

end}

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.