Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- reaper.ClearConsole()
- function print (msg) -- make a print function that automatically puts a line break
- reaper.ShowConsoleMsg(tostring(msg))
- reaper.ShowConsoleMsg("\n")
- end
- print(os.time())
- global_drum_address = 0 -- just some number
- reaper.gmem_attach(global_drum_address)
- drumPresetSelector = reaper.gmem_read(global_drum_address)
- print(drumPresetSelector)
- -- Declare constants
- local numPresets = 3
- local firstDrumTrack = 22 -- Drums start at track 23, but Reaper counts 0-based
- -- Function to increment selector and arm/disarm tracks
- function incrementAndArm ()
- drumPresetSelector = (drumPresetSelector + 1) % numPresets -- Increment and wrap around at numPresets
- for i = firstDrumTrack,firstDrumTrack+numPresets-1 do -- Loop through tracks
- track = reaper.GetTrack(0,i)
- print(i)
- print(drumPresetSelector)
- print(track)
- if i == firstDrumTrack + drumPresetSelector then
- response = reaper.SetMediaTrackInfo_Value(track, "I_RECARM", 1)
- print("arm" .. " " .. i .." " .. firstDrumTrack + drumPresetSelector)
- else
- response = reaper.SetMediaTrackInfo_Value(track, "I_RECARM", 0) -- Disarm other tracks
- print("disarm")
- end
- end
- print(drumPresetSelector)
- reaper.gmem_write(global_drum_address,drumPresetSelector)
- return "done"
- end
- print(incrementAndArm())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement