[gmpi] Re: +++ RESET +++ (was RE: a little order?)

  • From: Mike Berry <mberry@xxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 11 Feb 2003 10:30:51 -0700

A few thoughts here:

 > 2.  Kinds of plugins we seek to build
 > a. Audio processors
 > b. MIDI processors
 > c. Audio processors with MIDI control
 > d. No codecs (no changing sample format)

How about:

2. Kinds of plugins matrix:
                       Audio Data     Event Data
Requires Input
Generates Output

Any plugin should fill an X in at least one spot in this matrix. 
Standard audio processors would need input and output of audio, and 
input of events. Audio instruments might have input of events and output 
of audio. The host can then make the plugin available in the right 
situations based on the matrix answers.

 > 4.  Audio packaging
 > a. Interleaved or multiple mono
 > b. One assumed data type for audio, defined at compile time per CPU/OS
 > c. Buffers allocated by the plugin at defined points in object lifetime
 > d. Facilitate streaming to external DSP hardware
e. A method for the host to specify memory alignment of a particular 
audio buffer, and to guarantee a minimum buffer alignment.

 > 5.  Time representation
 > a. Audio wants samples, MIDI/music wants ticks, measures, beats
 > b. Timecode would be nice
 > c. Plugin has access to a host's sample rate, PPQN and tempo map /
 > "conductor track"
d. Host-defined 64 bit integer tick per second value required to be 
constant during run-time. All times and sample rates are represented in 
this tick's units.

 > 8.  Threading
 > a. Thread management is up to the host
 > b. Plugin API should have no O/S dependent synchronization primitives
c. A thread identifier passed by the host in selector calls, and 
required for callbacks.

14. Localization
a. A well defined method for the host to specify the current language.

 > 15. (from Marc)
 > a.  plugin discovery (standard location, registration)
 > b.  different levels of creation (just enough for host to inquire 
  > about properties plus another level to prepare resources for audio 
   > processing  [for more efficient scanning, and other issues], or 
only  > one simply level of creation)
c.  defined rules for plugin behavior at each creation stage. For 
instance, no user interface allowed during capability queries.

Mike Berry
Adobe Systems

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: