So, I’ve made a lot of tools. PushBack and PushBackKeys might be two of my most used tools for myself. What worked before seems to not work properly anymore… the intended behaviour for PushBackKeys was the same as PushBack, namely, if the cursor (in Pattern Editor) is in a group track, and you call the pushback keys window, it would apply ‘groove’ / patterned delay values, to every track in the group. That’s why I added this piece of code in the beginning of the tool.
-- Track.track_index property local track_index_property = property(function(self) for index, track in ipairs(renoise.song().tracks) do if (rawequal(self, track)) then return index end end end) renoise.Track.track_index = track_index_property renoise.GroupTrack.track_index = track_index_property -- GroupTrack.leaves_indexes property function find_leaves_indexes(self) local list = table.create() for _, t in ipairs(self.members) do if t.type == 1 then list:insert(t.track_index) elseif t.type == 4 then local sublist = find_leaves_indexes(t) for i = 1, #sublist do list:insert(sublist[i]) end end end return list end local grouptrack_leaves_indexes_property = property(find_leaves_indexes) renoise.GroupTrack.leaves_indexes = grouptrack_leaves_indexes_property
This code is somewhat modified from what I have got in a suggestion from It-Alien. The problem is now, I think, that the leaves_indexes only get applied to existing groups, i.e. if I select three tracks and group them with ‘Add Selected Tracks to Group’ tool, the PBK tool won’t work, and doesn’t fire an error at all, for the created group track. Should I check within that last tool if the PBK tool is added and then explicitly add the leaves_indexes_property??