What would be the clean way to have a text label display the DAW's transport position?

Hi there, newbie here. :slight_smile:

I am trying to get my head around Steinberg’s VST3 SDK and its GUI framework - doing little test plugins, reading through code and stuff. I have a very basic question. What would be the clean way to have a text label display e.g., the DAW’s transport position (or any other information I pull from the processor’s process function) ? I have seen some tutorials that show how to update the processor in response to the controller, but not the other way round.

Do I have to implement a custom view or a subcontroller for this or is there a more direct way - I probably miss something trivial … ?

Many thanks,

So this is the proper way I assume:

  • the process function updating a member variable holding the current projectTimeMusic value.
  • A timer thread sending said projectTimeMusic values to the controller, via a ConnectionPoint.

Now here is my next question:

  • How can I get a controller from within say the processor’s constructor, so I can set up a connection between the two?

the connection is done by the host. You can place a breakpoint in your override of IConnectionPoint::connect() to see when this is happening.
Then you can send IMessage instances between the processor and controller.

Many thanks for this!!!

I wasn’t aware that the connection is established automatically, that makes things so much easier. :slight_smile:

Maybe you want to read about the basic conception of VST3 for further information: https://developer.steinberg.help/display/VST/VST+3+API+Documentation

Cool The link you posted is a much nicer version of the documentation I keep finding via Google (https://steinbergmedia.github.io/vst3_doc/vstinterfaces/classSteinberg_1_1Vst_1_1IEventList.html)