View Single Post
Old 10-20-2011, 03:21 AM   #229
Klinke
Human being with feelings
 
Klinke's Avatar
 
Join Date: Jul 2008
Location: Berlin / Germany
Posts: 832
Default

This is a little bit complicated, because you would need a direct communication between two extensions, one that is controlling the BCF and the Reaper_WWW extension. For both you have the source code, so you could create a named pipe or a socket to enable the communication between the extensions.

In CSurf_MCU the offset (of the leftmost shown track of a specific hardware) is calculated by adding m_allmcus_bank_offset (the offset for all conected MCUs/BCFs/Extenders/..., this is the value that is modified when you press the select next/previous bank buttons) and m_offset (a fixed value that is given by the user via the Control Surface Settings). When this offset is changing, you must transmit a message to the WWW extension. I'm unfamiliaer with the WWW extension code, but after a short look, it seems that there you must modify the last for loop in the ProcessCommand method. Instead of

if (minv<0) minv=0;
if (maxv>nt) maxv=nt;
for (;minv<maxv;minv++)

you would need

minv = the offset value you got from the MCU extension
if (maxv>nt) maxv=nt;
if (maxv>minv+8) maxv=minv+8; (assuming you have only one hardware unit and want to show only 8 channels)
for ...

If you use the "Show only the tracks that are also shown in the Mixer" feature, you must also communicate g_csurf_mcpmode from the MCU extension and use it's state as second parameter in CSurf_TrackFromID in the for loop of the www extension.
Klinke is offline   Reply With Quote