[gmpi] Re: Topic 3: Cross platform

  • From: "Laurent de Soras [Ohm Force]" <laurent@xxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Thu, 06 Mar 2003 22:16:42 +0100

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

- 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 :).

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

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

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

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

Other related posts: