Obtaining the DAW track colour

I am developing an audio plugin that uses the track name and
track colour of the track in the DAW that the plugin is on. I
have been obtaining the track name and colour by implementing
the following method in the main AudioProcessor object of my
JUCE plugin:

void updateTrackProperties (const TrackProperties &properties) override;

This works fine on Ableton, FL Studio, and Reaper.

However, it does NOT work on Bitwig, Logic, Garage Band,
and Studio One. These DAWs transmit the track name,
but not the track colour. Studio One is an exception in that
it provides neither the track name nor the track colour!

I contacted Bitwig Studios to ask about this and they said:

  1. We can’t help you with JUCE.

  2. “Steinberg::Vst::ChannelContext::kChannelColorKey for VST3 is supported by Bitwig Studio”.

So basically they are saying that the Bitwig DAW is providing the track
colour to the VST3 interface, but that my plugin is not accessing it properly.
If Bitwig Studios is correct, then perhaps the other DAWs are sending the track
colours too, but I just can’t see them.

So what should I do next? It seems I have three options:

Option 1: If it’s a bug in JUCE, try to get JUCE to fix the bug.

Option 2: If, somehow, I’m not using the JUCE interface correctly,
someone can let me know and I can fix my code.

Option 3: Bypass JUCE and somehow access the VST3 interface directly.

Can anyone offer any advice on how to fix this?

Try setting a breakpoint in the VST3 wrapper’s setChannelContextInfos function, and see if you’re getting the expected values there, (and if it’s calling your updateTrackProperties function or not).

1 Like