I am calling this code in my controller (which inherits from Steinberg::Vst::EditController) in the tresult PLUGIN_API initialize(FUnknown *context) override implementation.
When running in the VST3PluginTestHost, I am getting a nullptr after getting the interface which seems to indicate that VST3PluginTestHost does not implement it.
Yes I did. The only difference I can see is that I am not calling processContextRequirements.needTransportState() in the constructor of my processor. I added it in my code with the exact same outcome (unclear if it is required or not TBH).
That being said, I just ran an experiment and compiled the transport-example on my machine:
which proves that I am getting nullptr in the built-in example with the provided VST3PluginTestHost
In the following screenshot, you can see that the playback is “On” as shown by the green icon and the “Playback On” section in the plugin. Clicking the “Playback Stop” button in the plugin does nothing.
unrelated… this ( processContextRequirements.needTransportState()) is only for requesting information contained in the processContext pass at each process call.