[gmpi] Re: Topic 3: Cross platform

  • From: Marcus Clements <marcus@xxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Thu, 06 Mar 2003 21:54:00 +0000



Laurent de Soras [Ohm Force] wrote:

Paul Davis wrote:


show us any such libraries that can be used by an RT-safe plugin
.... the point here is that there are a number of things that the
plugin *must* do in certain ways (or not do) that involve OS
services. if we leave that to each plugin developer to either
implement by themselves or to pick some library somewhere, the chances
are that most of us will do it in a sub-optimal way.

Yeah but whats the cost of forcing all plugins to be 'optima? If we have to make x-platform versions of *all* necessary OS services how long is that going to take?
It's got to be independent of the API and optional or GMPI will take years to appear.



i'd prefer that the GMPI development community provide such features,
and thus avoid the hassle that a "you need to do this, but we leave it
to you to figure out how" approach demonstrably creates.



I think I understand your point (please tell me if i'm wrong) about not leaving the plug-in developer facing alone the cross- platform dev., and agree on the fact that it would be great that the GMPI community provide this kind of services. But I think making them part of GMPI interface, mandatory or optionally, is the wrong way to go. They would be better in a separate library, for the following reasons (in no particular order) :

- Independence between the services and the host/plug-in
communication interface.


Agreed.

- Also more independence between host and plug-in. You
were talking about sub-optimal implementation by plug-in
developers, but also remember that host developers can
also do things in a sub-optimal way :).

Absolutley right. the take up of GMPI is going to be rather slow amongst applications if they *have* to implement all this stuff.


- These libraries could be used in other projects, which
would no involve GMPI at all.


Agreed.

- GMPI remains simple to implement. This is great for
minimal host or plug-ins. If we consider only the DSP
side, there are a lot of effects/instr/etc which don't
require any OS specific calls (or just malloc(); most
programming languages provide such a function). And
many plug-in developers are just not interested in
cross-platform programming.


This is crucial. For first-time plugin coders (may of whom may be new to programming in general), having a whole new set of OS services to learn may put them off completely. Without newbies GMPI might never take hold.

- No bad surprise when trying to implement GMPI on a
platform where some required functionalities are missing
(PocketPC ?)

- Evolution and modularity. If the services of lib A are not
enough for your needs, build lib A v1.5 or use lib B etc.

- Nothing prevent us to start a parallel project to design
this kind of librarie, as well as GUI libraries, etc. and
to mention in the GMPI documentation : "If you need to
start threads, read files from the disk etc without dealing
with the system functions, please take a look at bla-bla-bla
cross-platform libraries bla-bla-bla especially designed
for you bla-bla-bla". I guess it's a good way to answer your
question :




so we produce a deliberately cross-platform API, and then just say
"oh, and figure out how to write cross-platform plugins by yourself"?


And further to this, couldn't the x-platform library be presented with a 'utils' library with common functions, DSP based and otherwise. All of this should be open source.

-- Laurent

==================================+========================
Laurent de Soras                  |               Ohm Force
DSP developer & Software designer |  Digital Audio Software
mailto:laurent@xxxxxxxxxxxx       | http://www.ohmforce.com
==================================+========================

----------------------------------------------------------------------
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

Other related posts: