Re: [linux-audio-dev] audio application mixing/routing arch

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] audio application mixing/routing arch
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Fri Mar 31 2000 - 15:35:09 EEST


>My mistake, terminology-wise. I meant to say, "shouldn't there be a
>single, standard, daemon-style host, and everything else is a plugin"?
>When I say "daemon", I really mean it... no GUI at all, and providing
>absolutely no functionality of its own, other than hosting the
>plugins.

The problem with this is "just hosting the plugins". Hosting
essentially means (in my interpretation): (un)loading them, connecting
them together, running them.

Loading them: easy, trivial, etc.
Running them: fairly easy

Connecting them together: now, how does a standard, daemon-style host
connect them together ? You'd have to have a (G)UI that allowed the user
to specify the routing, then relay this information to the
daemon. What you're describing now sounds more like a replacement for
esd.

Hmmm. You know, after a moments thought, I'm not so sure that this is
such a terrible idea. Imagine the scene:

   Daemon GUI app GUI for plugin A GUI for plugin B
          | | |
          | | |
          | | |
       Dameon(runs: plugin A plugin B plugin C(gui-free)

The Daemon GUI app could be really trivial (I'm thinking of Maarten's
cool little ALSA sequencer GUI that he did with FLTK recently), or
something more like Cubase/Logic, but its fundamental role w.r.t. to
the daemon is to tell the daemon to load/unload plugins, and how to
connect them. The Daemon GUI app could also, of course, provide
plugins of its own to insert into the flow graph.

One can easily imagine how this would be used to create a generic
Linux user-space sound daemon, with a lot of potential. It would have
no coupling to X Windows, so it would work in console mode too. It
could do anything that a plugin existed for. It would have low
latency, because the plugins all run in the same address space.

I see a potential problem with the relationship between the GUI's for
plugins, which are distinct processes, and the plugins themselves,
because this connection is subject to the GUI vanishing (X goes down,
the plugin GUI app crashes) etc. Not good.

Something to think about here, I think.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Mar 31 2000 - 16:23:14 EEST