: 17/01/2011 Added project and item templates for VS2008/VS2010.
No separate Samples Source code download. I didn;t have time to rebuild the VM I tested that on. Download the sample source code from the Source Code tab and use these directions to build it. http://vstnet.codeplex.com/wikipage?title=Building%20the%20Source%20Code
VST.NET 0.9 ChangeSet 54407
Fixed missing return statement in plugin stub in Host Interop.
Added code comments and started a unit test for the observables (Framework).
Implemented observable objects and collections. Not tested yet!
Small fix for loading multiple VST.NET plugins and bootstrapper cleanup on failure.
Added the wrapper plugin sample.
Refactored the loading of a managed plugin into a helper method on the Bootstrapper and reused it when loading a managed plugin from the VstManagedPluginContext (Interop.Host). Fixed typo's in Configuration properties.
Added per plugin config file support. Changed the IVstPluginCommandStub interface (Core.Plugin): it now has a property that receives the plugin Configuration object. Probe paths in the plugin config file (that must be next to the renamed Interop assembly) are considered for assembly resolvement.
Added a Bootstrapper class to Interop to boostrap the Core assembly. Then the AssemblyLoader (in Core) takes over. Fixes some bugs in AssemblyLoader and ErrorHelper. REMmed out the gacutil post build step in the Core and Framework projects. So the assemblies are NOT placed in the GAC by default after each build.
Refactored the AssemblyLoader and moved it to Core.Plugin. Its now more flexible to take multiple global and private probe paths for assembly resolution. Also introduced the "vstnetProbePaths" appSetting in (exe)config. This semi-colon separated list of paths will be used as GlobalProbePaths. Even the managed plugin (.net.vst
)dll can be resolved through these probe paths (modified the ManagedPluginFactory). Not tested extensively yet.
Adjusted Interop to work with the latest refactoring (VstEvent.Data)
Adjusted the sample code to the latest refactoring in Core (VstMidiEvent.Data).
Added a UnitTest project. Some minor bug fixes. Refactored the VstEvent, VstMidiEvent, VstMidiSysExEvent and the VstGenericEvent. The byte Data property has been moved from the derived classes to the VstEvent base class.
Added class diagrams for newest classes and interfaces.
Small changes for CLSComplience: VstMidiEvent.Detune is now a short and underscores are gone from VstPluginCanDo. Also fixed the Host sample to ask and show the correct cando's.
Changed the lifetime of the unmanaged (Midi) events that are passed to a plugin (Interop.Host). Memory stays valid untill next call to ProcessEvents or Close (or dtor).
Fixed a bug in DeleteUnmanagedEvents.Also removed an uncorrect check in ProcessAcc.
Added MainsChanged calls to the process noise and editor button impl.
Fixes for (Interop.Host).IVstPluginCommandStub.ProcessReplacing implementation. Both no audio buffers and more than 2 buffers now work
Fix for incorrect check in (Interop.Host)VstPluginCommandStub.ProcessReplacing.
Fixed the (Interop.Host.IVstPluginCommandStub)GetEditorRect implementation. Expanded the Host sample to also show the editor UI of the plugin (does not auto generate one yet).
Fixed a bug in the pointer arithmetic of the VstAudio(Precision)Buffer.
Updated the Host sample to confirm to the new IVstHostCommandStub interface (CanDo takes a string). Also added some diagnostic code to the Process Noise function to determine if the audio was actually processed or just passed through.
Changed the IVstHostCommandStub interface so that the CanDo method takes a string and not an enum. Introduced a VstCanDoHelper class to assist in parsing strings back to VstHostCanDo or VstPluginCanDo enum values or converting those values to a sting that is a VST compatible cando string.