PDA

View Full Version : Feedback from a CSurf journey...


Padre_PC
10-02-2009, 05:30 AM
While working on the Automap CSurf (see dedicated thread in General Discussions forum) I took some notes about various things. Some are FR, some are bug reports, some are just questions, here we go:

* FR: New IReaperControlSurface::SetSurfaceXXX() methods I would use:

- Track FX Bypass has changed
- Track FX add/remove
- Track FX selection in FX window has changed
- Project "Save as..." has occurred
- Track send info has changed (new/delete, vol, pan, mute, mode, etc.)
- Track hardware send info has changed (new/delete, vol, pan, mute, mode, etc.)

* Bugs:

- TrackFX_FormatParamValue() returns true with uninitialized buffer for "Bypass" param (already reported with answer from schwa)
- Pre-Fader/Post-Fader/Pre-FX listbox in IO menu is not updated by GetSetTrackSendInfo("I_SENDMODE")

* Questions:

- What is the purpose of IReaperControlSurface::OnTrackSelection()? I'm under the impression that it reacts exactly like IReaperControlSurface::SetSurfaceSelected(true) except that it does not get
called by track change actions: only UI select + CSurf_OnTrackSelection() seem to trigger it.

- Same question for CSurf_OnTrackSelection()

Klinke
10-03-2009, 01:34 PM
Okay, i use this opportunity to add some FR/BRs of stuff that i miss while working on the MCU-Plugin:

* FR:
- Access to the metronome would be nice. The MCU has a LED above the Click-button, but i can only toggle the on/off state using the "Option -> Toggle metronome" action and don't know the state, so the LED doesn't reflect the metronome state.
- I also can't request the actual "Record mode". At the moment i overwrite changes done within Reaper with the mode that is selected using the MCU Drop button.
- It would be nice to have the possibility to open and close the window of a specific plugin.
- And as mentioned in the TrackFX_FormatParamValue() thread, i would like to see VST support for the effGetParamDisplay opcode (that's the FR that is most important for me).

*BR:
- In GetSetTrackSendInfo the sends are sorted after the track number, but the receives after the time of creation. An uniform behavior would be nice, and i prefer the track number comparator.
- In the Reaper Mixer the send-leves are not updated after they are changed via GetSetTrackSendInfo.
- When a track is selected on the MCU, i send a
CSurf_OnSelectedChange( tr, 1 );
but track related actions like "Track: View FX chain for current track" still work on the track that was selected within Reaper and ignore the track selection change.

Best,
Klinke

Padre_PC
10-04-2009, 12:00 AM
* FR:
- It would be nice to have the possibility to open and close the window of a specific plugin.

+1

*BR:
- When a track is selected on the MCU, i send a
CSurf_OnSelectedChange( tr, 1 );
but track related actions like "Track: View FX chain for current track" still work on the track that was selected within Reaper and ignore the track selection change.

I've tested and experienced that with the Automap CSurf too.

yhertogh
11-20-2009, 03:20 AM
Okay, i use this opportunity to add some FR/BRs of stuff that i miss while working on the MCU-Plugin:

* FR:
- Access to the metronome would be nice. The MCU has a LED above the Click-button, but i can only toggle the on/off state using the "Option -> Toggle metronome" action and don't know the state, so the LED doesn't reflect the metronome state.
- I also can't request the actual "Record mode". At the moment i overwrite changes done within Reaper with the mode that is selected using the MCU Drop button.
- It would be nice to have the possibility to open and close the window of a specific plugin.
- And as mentioned in the TrackFX_FormatParamValue() thread, i would like to see VST support for the effGetParamDisplay opcode (that's the FR that is most important for me).

*BR:
- In GetSetTrackSendInfo the sends are sorted after the track number, but the receives after the time of creation. An uniform behavior would be nice, and i prefer the track number comparator.
- In the Reaper Mixer the send-leves are not updated after they are changed via GetSetTrackSendInfo.
- When a track is selected on the MCU, i send a
CSurf_OnSelectedChange( tr, 1 );
but track related actions like "Track: View FX chain for current track" still work on the track that was selected within Reaper and ignore the track selection change.

Best,
Klinke

You always have to wrap CSurf_OnXXXXChange into CSurf_SetSurfaceXXXX e.g.

CSurf_SetSurfaceSelected(tr,CSurf_OnSelectedChange (tr,1),NULL);

Otherwise you get this weird behaviour. Also watch out for 'last touched track' (or 'current track) versus 'selected track'

Yves