R3.1 x64, Win10 x64
I experienced it months ago, but I did not know exactly what was happening so far. I thought it must be a problem for the Lua API available to create tools, but now I think it is not. Which is something internal under the hood of Renoise, which may be directly related to this matter.
- Creates a basic tool to execute a function.
- Use the following function for delete multiple tracks (or similar that does the same):
function delete_multiple_tracks( song, i, n ) song = renoise.song() n = song.sequencer_track_count -- maximum number of tracks (only tracks and groups) print('n:', n) for i = 1, n, 1 do --erase 1 to "n" tracks --if song.selected_track.type ~= renoise.Track.TRACK_TYPE_MASTER then song:delete_track_at( song.selected_track_index ) --end end end
- Your song should have several tracks, some of them with groups and subgroups. Collapse some groups.
- Run the tool to apply the function delete_multiple_tracks()
- For example. Create a main group, a subgroup and a track inside the subgroup. Collapse main group (CTRL+J), the function is unable to delete the group collapsed and their members. The 3 tracks (main group, subgroup and track) are not deleted. The function should delete all tracks (all the tracks and all the groups). Include many more groups, subgroups and tracks and collapse groups. You will see that something strange happens.
- This causes unnecessary jumps in the index even by selecting the Master Track, when should never happen.
I have not tried the reverse function ( for i = n, 1, -1 do ). But I guess the same thing will happen. I think it has to do with the problem already fixed here.
This creates problems when creating tools with functions that involve deleting multiple tracks in a single function. It may be appropriate to take a deep look, to really see what happens.