Paul,
I agree it is both confusing to explain and difficult to get it as well. So
let me try again in other words:
I am considering to use keykit as a kind of host application that evaluates
incoming MIDI events (sent by an external electric organ's MIDI interface),
starts external applications according to these incoming MIDI events and
sends data (that means MIDI data and configuration data for the application).
It is important for me to have control over any option that fluidsynth has
when run from the system command line interface. "Any option" here especially
(but not only) means the shell like commands that You can enter in fluidsynth
after You have started it from the system command line.
It is not sufficient for me to use qsynth as a wrapper for fluidsynth
instead, because then I cannot tell a particular fluidsynth instance to
create 32 channels and another to create 48 channels, and I also cannot tell
one particular instance of fluidsynth to create a new MIDI router without
using the GUI.
When fluidsynth is run from within qsynth, qsynth is in charge for and in
control of any fluidsynth instance running from within qsynth. As far as I
understand it, there is no way for me to send configuration data to a
fluidsynth instance running inside qsynth. Or - there is a trick I do not yet
know of.
I also cannot tell keykit (as far as I understand it) to connect instance #1
of fluidsynth to my electric organ and instance #2 to connect to the sytem's
MIDI through (for example).
That is why I need both application name and it's MIDI ports at the same time.
I understand that keykit knows about all MIDI connections that exist on my
system, but it does not know which external application created which one of
them. Also, in the "Port Enabler" tool and the "Port Map" tool only
keykit's
own port show up.
If You start up Qjackctl, fluidsynth (no qsynth; connect to jack) and keykit
(latest version is able to connect to jack), enable in and out port for MIDI
in keykit, then You can see in Qjackctl in window "Connection" in tab
"ALSA"
that there shows up something like:
Readable Clients/ Ouput Ports:
14: Midi Through
131: keykit
Writeable Clients / Input Ports:
14: MIDI Through
130: FLUID Synth (3571)
131: keykit
In contrast to this, look at tab "MIDI":
Readable Clients / Output Ports:
system:
midi_capture 1
midi_capture 2
Writeable Clients / Input Ports:
midi_playback 1
midi_playback 2
midi_playback 3
midi_playback 4
From that latter - how do You know, that midi_playback 3 comes from fluidsynth
and not keykit itself? Or from which application it comes at all?
It is this list that is given by jack_lsp, and in this list the different
applications cannot be distinguished from each other.
Am I missing something myself now?
Regards,
Crypto.
Am Montag, 11. August 2008 14:11:44 schrieb Paul Davis:
i feel that you are confused. keykit doesn't need
to know identities of
applications. you *might* want to know how many MIDI ports it should
create, but you can get qjackctl to take care of the interconnects.
am i missing something?
--p