Coder Social home page Coder Social logo

Comments (6)

helgoboss avatar helgoboss commented on May 29, 2024

I think this needs to be implemented manually by evaluating GetSetTrackGroupMembership. Could be easier to do when implementing #4 by providing the foundation to allow resolving to multiple targets at once.

from realearn.

helgoboss avatar helgoboss commented on May 29, 2024

It works for record arm already, maybe for some other things as well?

from realearn.

TheMiscreant avatar TheMiscreant commented on May 29, 2024

From ChocolateHawkins:

Another issue I've noticed with Realearn is when I map to a VCA master fader, the VCA follow functions (fader, solo, mute, etc.) do not work.

To add a detail: it'd be nice to bypass grouping by holding down 'SHIFT' when toggling a parameter via ReaLearn.

from realearn.

helgoboss avatar helgoboss commented on May 29, 2024

Status quo

Legend:

  • "no" = it doesn't work yet
  • "yes" = it works already

Leads:

  • Volume (CSurf_OnVolumeChangeEx denying gang)
    • In general: no
    • Reverse volume: no
  • Pan (CSurf_OnPanChangeEx denying gang)
    • In general: no
    • Reverse pan: no
  • Width (CSurf_OnWidthChangeEx denying gang)
    • In general: no
    • Reverse width: no
  • Mute (CSurf_OnMuteChangeEx denying gang + CSurf_SetSurfaceMute notifying all): yes
  • Solo
    • In-place (GetSetMediaTrackInfo + CSurf_SetSurfaceSolo notifying all): no
    • Ignore routing (GetSetMediaTrackInfo + CSurf_SetSurfaceSolo notifying all): no
    • Use REAPER preference (CSurf_OnSoloChangeEx denying gang + CSurf_SetSurfaceSolo notifying all): yes
  • Polarity/Phase (SetMediaTrackInfo_Value): no
  • Record Arm (CSurf_OnRecArmChangeEx denying gang): yes
  • Automation Mode (SetTrackAutomationMode): yes
  • VCA (see volume): yes

Options:

  • Do not lead when following: yes (works for all leads with "yes")

Findings:

  • GetSetMediaTrackInfo or SetMediaTrackInfo_Value of course doesn't respect track grouping stuff (that was clear already)
  • Additional CSurf_SetSurface* function calls don't have any effect on track grouping
  • CSurf_On*ChangeEx function calls which deny gang respect track grouping only for on/off-style things (solo, mute, record arm)
  • CSurf_On*ChangeEx function calls which allow gang respect track grouping always!

Solution:

  • For volume, pan and width: Add a checkbox to respect track grouping (internally allows gang, off for old presets, by default off)
  • For mute, arm, solo (use REAPER preference)
    • Ask Justin why calling the CSurf_On*ChangeEx functions with denying gang still invokes track grouping. Maybe a bug?
    • If there's a way to disrespect track grouping, add a checkbox to respect it (on for old presets, by default off)
  • For phase, solo (in-place, ignore routing): Ask Justin if there's a way to respect track grouping. Maybe temporarily change REAPER preference?
    • If there's a way to respect track grouping, add a checkbox to respect it (off for old presets, by default off)

from realearn.

helgoboss avatar helgoboss commented on May 29, 2024

I renamed this to "Support track grouping parameters" because VCA works already!

from realearn.

helgoboss avatar helgoboss commented on May 29, 2024

I added a "Respect track grouping" and "Selection ganging" checkbox to all relevant targets.

One limitation: Volume, pan and width targets can respect track grouping only if selection ganging is also enabled.

from realearn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.