OK. My confusion with events is that they are 7bit? Is that right? So 0xFA is actually 127?

Anyway, to be more specific, my issue is that I'm trying to host and start a step sequencer. It starts in Ableton when the play button is pressed, but I'm not sure what message to send it when I want to start it. It's like Ableton is starting it with ozmosis.

It keeps erroring on the line "if (_HostStubAdapter != null && _HostStubAdapter.IsInitialized())" with an "Object reference not set to an instance of an object" exception. But the object _HostStubAdapter is not null at runtime! I
can see that it's not null in the debugger.

When I load these plugins up in Ableton, they flash with lights when I hit play on the transport. When I host them, they don't flash. What is it that Ableton is magically doing that I'm not doing? I've confirmed that I'm passing through everything that
the plugin is asking for. It was asking for the version, and I pass that.

I tried loading both of the plugins that I'm trying to work with in the Plugin Wrapper. They both lock Ableton up. One of them opens the plugin successfully, and the other throws an error. But, with both of them, when I hit the play button on the transport,
it freezes up all controls in Ableton. I can't remove the plugin, I can't exit the app. Here's the error I see when I load the plugin. This doesn't happen when I load the plugin in Ableton directly.

Pfjew that sounds messy. One thing you could try is to turn on VST.NET tracing while using the wrapper plugin - and/or your own plugin.

http://vstnet.codeplex.com/SourceControl/latest#Source/Code/Jacobi.Vst.Interop/app.config
Here is a template app.config you need to put next to the host (Ableton) and rename it to the exact name of the host (for instance Ableton.exe) and append '.config' (Ableton.exe.config)
Fill in the plugin name (the name of the renamed interop .dll) and set the levels of tracing and the output (TraceListeners) you want. Perhaps you can see if there is something more to this...?

The assertion has something to dp with sampleFrames - it expects them to be 0. Perhaps you can attach a debugger and break when this dialog is shown to see what the callstack is?

That midi VST sequencer I remember that b***** of a plugin. It was tough to make it work as it tends to not check it's parameter leading to segfaults but it is possible to host it accurately in Vt.Net. It will call GetVstInfo quite often, make sure everything
in VstTimeInfo is implemented and at valid values. Don't leave important fields like tempo at 0. You can search in the Discussion tab of CodePlex to find examples of VstTimeInfo I posted previously.

Well, I believe my original question is answered. I guess this is a weird midi thing. My original question was how to pass the start transport message to a VST. The answer to that is that while some VSTs might expect that, at least some VSTs don't. Actually,
in my case, theses VSTs are simply waiting for TimeInfo. They constantly poll for Time Info. This makes sense because a step sequencer will constantly need updated Time Info.

So, in my case, rather than implement my own Time Info system, I'm simply passing the time info from the DAW Host. I never got the original Apollo sequencer to work inside my modular, so that is still an outstanding issue, but I got another one called B-Step
to work without an issue:

When I create the vst context, I pass in an interface with this. The _DAWCommandStub variable is just what I get from my host Ableton on GetPluginInfo:

At the end of the day, I'm not too worried about this one. I just wanted to get a step sequencer to output midi to another VST plugin, and I achieved that with B-Step which works perfectly. Basically, it looks like this plugin does something weird. I would
like to fix this, but I can't get too caught up on this one.