how to use a shortcut to display the midi tab in instrument?

hi, what kind of a function should i use to be able to cycle between instrument editor modulation, sample editor and that midi tab right after sampler->plugin->midi above the oscilloscopes?

There are of course dedicated key bindings to switch to any of the middle frames, but I guess you want this cycling behaviour that can be easily bound to a single key.

Try this on for size:

function cycle_middle_frame()

  -- Populate this table with all the frames you wish to cycle through.
  -- Reference: Renoise.Application.API.lua
  local frames = {
    -- renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR,
    -- renoise.ApplicationWindow.MIDDLE_FRAME_MIXER,
    -- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_OVERVIEW,
    renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR,
    -- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_KEYZONES,
    renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_MODULATION,
    -- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EFFECTS,
    -- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_PLUGIN_EDITOR,
    renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_MIDI_EDITOR,
  }
  
  -- Get the active frame ID.
  local active_frame = renoise.app().window.active_middle_frame
  
  -- Try to locate the frame ID within our table.
  local index = -1
  for i = 1, #frames do
    if frames[i] == active_frame then
      index = i
      break
    end
  end
  
  -- If the frame ID is in our list, cycle to the next one.
  if index > -1 then
    index = index + 1
    if index > #frames then
      index = 1
    end
  -- Else, default to the first one.
  else
    index = 1
  end
  
  -- Show the frame.
  renoise.app().window.active_middle_frame = frames[index]

end

cycle_middle_frame()

There are of course dedicated key bindings to switch to any of the middle frames, but I guess you want this cycling behaviour that can be easily bound to a single key.

Try this on for size:

function cycle_middle_frame()
-- Populate this table with all the frames you wish to cycle through.
-- Reference: Renoise.Application.API.lua
local frames = {
-- renoise.ApplicationWindow.MIDDLE_FRAME_PATTERN_EDITOR,
-- renoise.ApplicationWindow.MIDDLE_FRAME_MIXER,
-- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_OVERVIEW,
renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EDITOR,
-- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_KEYZONES,
renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_MODULATION,
-- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_SAMPLE_EFFECTS,
-- renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_PLUGIN_EDITOR,
renoise.ApplicationWindow.MIDDLE_FRAME_INSTRUMENT_MIDI_EDITOR,

Somehow hitting “like” on this post just doesn’t suffice. You basically handed me all the keys required to grok how to do this - and similar applicationwindow things, and how to eventually enlarge the functionality of F4. That’s awesome! Thanks dblue!