> 4. What programming languages are to be supported? > > Standard C (which supports C++ by extension), with very clearly specified > calling conventions (cdecl vs. stdcall). It seems that this topic has degenerated into a discussion of how to _instantiate_ plugins in a cross-platform way, rather than how to talk to them. I think each platform (HW+OS+Host) will probably require a recompilation of a given plugin, and that is acceptable. Instead I think we should talk about a cross-platform "control" API. Why not follow the precedent set by the MIDI standard? (Particularly since this will be an MMA undertaking? :) ) For all of its faults, the MIDI standard is one of the most succesful specifications in the history of digital electronics. Why not define GMPI as a "byte stream" API similar to MIDI? The MIDI spec has demonstrated that a byte stream can be transmitted effectively over a physical wire or between software apps on the same host equally well. So to define a cross-platform byte stream spec, what should we discuss? Byte order (endian-ness) Packetizing Publishing of plugins to the host (add a firewire plugin, and it announces "I'm here! Use me!") Addressing a packet to a given plugin on the local OR remote host Time stamping Definition of / querying for GMPI "optional" features Querying for "extended" (vendor-specific) features Of course, there will be many ways to "wrap" a byte stream into a more user-friendly API. But from a host-to-plugin standpoint, there are conceptually only 2 functions: read() and write() ---------------------------------------------------------------------- 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