very Experimental support for fixed lanes
This is just a first attempt at supporting the new fixed lanes feature in Reaper 7. It works similar to envelopes in that after focusing a track you can use OSARA: next/previous lane actions to cycle through the fixed lanes on the track. this restricts item navigation to the items on the selected lane.
For better support we would need Cockos to make some additions to the API:
- to get/set the name of a lane
- to tell if a lane is a comp lane and if comping is enabled
- ability to show lane context menus
- In general it would just be nice if lanes were better supported by reaper actions so that they can be selected, pasted on to etc.
From what I can tell a comp area is just an item on a comp lane. After selecting one the actions to move comp area up/down work.
This is just a draft as I am sure there are bugs and it is far from complete.
Build succeeded! Build osara pr967-1229,fb79c591 completed (commit https://github.com/jcsteh/osara/commit/fb79c59152 by @RDMurray) Downloads:
Discussed this on Zoom. A few things to do here:
- Get this rebased. Sorry @RDMurray. :)
- When we switch lanes, it probably makes sense to change the actively playing lane accordingly. Not quite sure how to do this, but maybe C_LANEPLAYS on the item does it?
- New actions and API things have been added since this PR. We should take a look at those and figure out whether this gives us stuff we need.
- We could potentially get someone with sight to help testing things, but we should come up with a bunch of API queries we want to make after each step so we know how each step is reflected in the API.
Build succeeded! Build osara pr967-1375,d5e2e7d0 completed (commit https://github.com/jcsteh/osara/commit/d5e2e7d0f8 by @RDMurray) Downloads:
I added reporting of lane name for osara: next/previous fixed item lane.
I did some experimentation, some random observations:
- It seems there's a bit more to comp areas than just items on the comp lane, and unfortunately we don't have access to them through the API or actions as far as I can tell.
Say you record a long item, then punch in a shorter item in the middle, creating 3 comp areas. The comp lane contains three items. If you move the middle comp area up, switching it to the first recording the comp lane now only has one item, but there are still three comp areas.
They are stored in the RPP as LINKEDLANE lines.
From my test project:
ITEMLANES 3
LINKEDLANE 0 0.8821875 2 0 -1 0.01 0.01
LINKEDLANE 0.8721875 3.696375 1 0 -1 0.01 0.01
LINKEDLANE 3.686375 5.5441875 2 0 -1 0.01 0.01
The first two fields are start and end time and the 3rd is lane number.
-
It is possible to get the take style behaviour when recording if you run "Track lanes: Comp into new empty lane" first. It makes a new comp area each time you record.
-
I don't know if reaper has a concept of selected comp areas. In my experimenting "Fixed lane comp area: Move down" and "Fixed lane comp area: Delete comp area" have acted on all comp areas.
-
"Fixed lane comp area: Split comp area at edit cursor" works and also splits the corresponding item on the comp lane.