Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

very Experimental support for fixed lanes #967

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

RDMurray
Copy link
Collaborator

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.

@jcsteh
Copy link
Owner

jcsteh commented Mar 20, 2024

Discussed this on Zoom. A few things to do here:

  1. Get this rebased. Sorry @RDMurray. :)
  2. 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?
  3. 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.
  4. 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.

@RDMurray
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants