[gmpi] Re: NAMM follow-up, some major decisions to make

  • From: "Angus F. Hewlett" <angus@xxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 01 Feb 2005 12:14:58 +0000

Jeff McClintock wrote:

Ron Kuper wrote:

How does this sound for a plan:


Sounds good. Lets do it.  Enough talk.

Let's channel some of this energy into writting the API.

It's not like it's a huge task. The core VST API is what... 17 files, the core AudioEffect class is 7 pages of code.

The VST API is two files (AEffect.h and AEffectX.h), possibly including AEffEditor.hpp for the ERect struct (personally, I've patched our VST SDK headers so that ERect is defined in AEffect.h to keep the interface as clean as possible). AudioEffect.cpp is part of the SDK, and not the API - it's entirely possible (and in some cases desirable) to build a VST without using the AudioEffect class at all.


The VST API consists of only:-

- The entry point for a VST plug-in
- The definition of the audioMaster callback type.
- The definition of the AEffect struct
- The definition of about five (rather arbitrary) functions to which the AEffect struct holds pointers - dispatcher, setparameter, getparameter, process and processReplacing
- The dispatcher opcode enum for the AEffect dispatcher function
- The dispatcher opcode enum for the audioMasterCallback function
- A handful of simple data structures used as datatypes by the two dispatchers - event-list, event, parameter-properties, pin-properties, view-rectangle and a couple of others
- Specifications for calling conventions, byte order, struct member alignment
- A set of (very much under-specified) rules as to call sequences, allowed arguments, threading, CPU state and suchlike...


Cheers,
      Angus.

--
=========================================================
Angus F. Hewlett, Managing Director (CEO)
FXpansion Audio UK Ltd - http://www.fxpansion.com
Registered in the UK - #4455834 - VAT: GB 798 7782 33
=========================================================



---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: