Hi all. Just returned from military services (mandatory period).
It is likely, that i was somehow unsubscribed from list.
In summary, proposed changes are joined in two parts:
1. A few advances for freewheel mode: waiting wheel and per client
free/waiting wheel mode.
2. Get support for any count of "rooms", as they are called in LADISH
therminology, but IMHO, a bit more flexible.
Waiting wheel.
Like freewheel, but doesn't speed up system. When performance is
enough, behave like without any mode (produce sound). And only when it
is not enough, automatically free wheel, until performance is enough
again.
Per client time wheel management.
Clients could be joined into groups, where they have own time flow and
may interact as they are not in free/waiting wheel mode (pass
sound/MIDI each to others).
Other proposals, in two words:
- Ability to change master client (for now it is audio card) on the fly.
- Attaching of audio devices as clients with ability to change driver
and its settings for each (i mean - for all devices; this feature
should go with previous item).
Now about sctucture.
Some components are plugins, which are like LADSPA / LV2 / Other kinds
of audio plugins, but are optimized for use only on JACK (in short,
they are JACK modules).
JACK components:
* single plugin shell (types: plugin host, jack / alsa app) - just to
load other plugins as audio applications, connecting them to other
audio systems, like alsa or other jack instance, like jack app.
* Patchbay (types: plugin host, plugin). Master instance should
be ran by already called plugin shell. Other instances may be loaded
as plugins (making more rooms), or as jack applications. Time wheel
mode changes affect all dependent clients, inluding other patchbays.
* JACK app interface (plugin)
* Adapter for other types of audio plugins (LADSPA, LV2, and
so on). As you can see, such jack implementation may be jack app
itself, and so - it is good to use existing work just as plugin host
(like AMS, Ingen, Jost).
Such jack structure should allow easy implementation of both multiroom
session managers, like LADISH (which is forced for now to implement it
by self) and even allow nested sessions: i'm thinking about universal
modular session manager, which could be used as user session manager,
but also allow nested desktop sessions, and could be expanded by
plugins, adding integration to various systems, like X11 (to manage
windows), jack / alsa (no comments needed) and so on.