I'm thinking the same now, especially as I'm starting to see some sample host code appear. It looks pretty intimidating from a C programming POV, and would seem overly complex to C++ coder who wasn't familiar with COM. -----Original Message----- From: gmpi-bounce@xxxxxxxxxxxxx [mailto:gmpi-bounce@xxxxxxxxxxxxx] On Behalf Of Angus F. Hewlett Sent: Monday, February 14, 2005 5:38 AM To: gmpi@xxxxxxxxxxxxx Subject: [gmpi] Re: low level API - Abstract Factory summary The more I think about it, the more I reckon true COM may be overkill. It's a very nice programming system, and one that I'm *generally* a big fan of. HOWEVER, the idea of allowing 1001 VST noobs access to AddRef and Release on a smorgasbord of objects and interfaces within my host code... I shudder to think. Definite breeding ground for bugs. I see this in the same category as allowing 3rd party UI code to run in-process in a host - something that, if we want to deliver improvements in stability, should be avoided like the plague. Regarding languages like VB, Java, scripting.. provided the interface is reasonably clean C or C++, it's relatively easy to create bindings for them via SWIG. Best regards, Angus. B.J. Buchalter wrote: >on 2/12/05 2:00 AM, Tim Hockin at thockin@xxxxxxxxxx wrote: > > >Seems like it, but QI is required for COM; again, think languages like >Visual Basic; I'm pretty sure that if these plugins are really COM >compliant, that you would be able to use them from VB or any of those COM >supporting languages. If they are not COM compliant, I don't think you would >be able to do so (but I am speculating here). > >OTOH, it protects against mistakes; essentially it stong-types the Interface >instead of weak-typing it. If a host is built when GMPI v3 is in existance, >and utilizes the v3 API, and is tested with v3 plug-ins, but the only way to >know which version of the API the plug-in supplies is a version number, it >is possible that the host fails to check the version number of the API >support and crashes hard when it tries to use a v2 or v1 plug. If the API is >versioned through QI, the host will fail to acquire an interface for v3 on a >v1 or v2 plug; at this point it will know that it can't use that plug (just >as if the plug had failed to load for any number of other reasons). > >Anyway, it may be that we really do want multiple disjoint interfaces on the >GMPI_Plugin object. But there is some implementational complexity that >appears to be related to doing that.... > >Best regards, > > >B.J. Buchalter > >Metric Halo >5 Donovan Drive >Hopewell Junction, NY 12533 USA >tel +1 845 223-6112 >fax +1 603 250-2451 > > >---------------------------------------------------------------------- >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 > > > > > -- ========================================================= 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 ---------------------------------------------------------------------- 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