I agree that this would be useful. I've been scripting a bit today to make track locking somehow available, but I have not find a reliable way. This is what I have:
Code:
-- USER VARIABLES ---------------------------------------------------
--string which all lockable folders contain
userFolderString = "BUS"
--minimum height of folder tracks
userHeight = 200 --px
-- END USER VARIABLES----------------------------------------------
function main()
trackNum = reaper.CountTracks(0)
for i=0, trackNum-1 do
track = reaper.GetTrack(0, i)
--get name
name = ""
_, name = reaper.GetSetMediaTrackInfo_String( track, "P_NAME", name, false )
--if the name contains desired string
if name:find(userFolderString)~=nil then
reaper.SetMediaTrackInfo_Value(track, "I_HEIGHTOVERRIDE", userHeight )
end --if
end --for i
reaper.TrackList_AdjustWindows( false )
reaper.defer(main)
end --function main
main()
The main problem is that when using a standard vertical zoom action, Reaper is taking the height of the last touched track as a basis. That means that when a locked BUS is a last touched track, the you cannot make the other tracks smaller that the BUS