Editmode Modification - Detect Columns

Hi, I’ve been working on this and have run into a problem. The problem is this - I can print out a specific function’s current state (edit_step). But when I want to store current_edit_step in memory and return back to it when second run of said script is toggled, nothing happens.

Here’s what I’ve currently got going on:
If your note_step is 3, and you are in the note column, toggling record on and off will do nothing to the note_step/edit_step.
If your note_step is 3, and you are in the effect column, toggling record on will take you to editstep 0 on record=ON
and retain you at editstep 0 on record=OFF toggle.

For now I’m yet to figure out how to differentiate between different note columns, i.e. if delay line can be set to editstep=0
too.

function recon()  
local a = renoise.app()  
local t=renoise.song().transport  
local s=renoise.song()  
local currentstep=renoise.song().transport.edit_step  
--edit step  
print (renoise.song().transport.edit_step)  
 currentstep = renoise.song().transport.edit_step  
  
 if t.edit_mode then  
 t.edit_mode = false  
 a:show_status("[Record Off)]")   
 renoise.song().transport.edit_step=currentstep  
  
-- if s.selected_effect_column_index == 0 then  
 --renoise.song().transport.edit_step=0  
 --a:show_status("[Effect Column=No, EditStep set to 1]")  
 --else  
 --return  
 --end   
 else  
 t.edit_mode = true  
 a:show_status("[Record On)]")   
 if s.selected_effect_column_index == 1 then  
 renoise.song().transport.edit_step=0  
 a:show_status("[Effect Column=Yes, EditStep set to 0]")   
 elseif s.selected_effect_column_index == 0 then  
 renoise.song().transport.edit_step=currentstep  
 a:show_status("[Effect Column=No, EditStep is " .. currentstep .. "]")  
  
  
 return  
 end  
end  
end  

Anyway, I’m fidning it shocking how much IT/Schism/ST3 behaviour can be implemented with Renoise, and I do hope to learn one day how to stably set a table content and to wipe it after having used the table-value :)

What I couldn’t really comprehend was how to add to this so that for instance in the delay the edistep would be 0 and in the note column the editstep would be as_it_was…

Sometimes things are very obvious and you somehow have the answer right under your nose.

renoise.song().selected_note_column_index

I’m seeing a 0 when in effect column, and a 1 when anywhere in note_column… While this is useful for umm differentiating between the note_column and effect_column, I’m not seeing it give any information as to note_delay_column or any such :)

Well, you didn’t said you wanted to differentiate between note/pan/vol/delay columns. You were only discussing note columns.
If you have two or three note columns, selected_note_column_index can also return 2 or 3.
If you want to use specific vol/pan/delay columns, consider binding specific sets of shortcuts for each columns instead of attempting to guess where the cursor is.
API wish added to the API wishlist.