I am beginning to see that, whatever the problems with Bristol may or may not
be, there are some basic things about how midi is routed in Linux that I need
to understand first. i.e. there are a significant number of different files
in /dev that are midi related, but I don't really know the difference
between all of them. For instance I have not been clear about the
difference between midi, raw midi and the sequencer (it is only from reading
Dave Phillips' post in this thread that I even know that it is the sequencer
we are dealing with in the midi patch bay), nor have I been clear whether,
for instance, /dev/sequencer is an alsa or oss device. Is there a guide
somewhere that explains this kind of stuff?
Another thing: Am I right to understand that whether or not I use jacklaunch
should in itself make no difference to what happens with midi? In other
words will "jacklaunch ./startBristol" and just "./startBristol" do
the same
thing? Experiment seems to tell me that, but I want to make sure.
Anyway, this is what happens when I try to launch Bristol in various ways:
$jacklaunch ./startBristol -midi oss
$jacklaunch ./startBristol -midi alsa
Both of the above cause Bristol to launch with no midi-related error messages
and no midi in the patchbay.
$jacklaunch ./startBristol -seq
This is supposed to start Bristol using the alsa sequencer. The application
tries to start up, a window opens but no gui appears, "129:Bristol" shows up
for a second or so in the midi patchbay and then Bristol shuts down.
Here is the output
bash-2.05b$ jacklaunch ./startBristol -seq
You may want to make bristolengine a suid-root executable
spawning midi thread
Could not reschedule thread to 2
parent going into idle loop
connected to :0.0 (80c53d8)
display is 2752 by 1200 pixels
Window is w 2752, h 1200, d 24, 0 0 0
Using DirectColor display
masks are ff0000 ff0000 ff0000
flags are 8a000000
midi sequencer
Returning socket 5
Opened listening control socket: 5028
Client ID = 129
Queue ID = 0
Device name did not parse, defaults 128.0
Cannot subscribe port 0 from client 128: Operation not permitted
Error opening midi device /dev/midi, exiting midi thread
INIT: 80c50f0
Initialise the mini link to bristol: 80c9e50
hostname is localhost, bristol
port is 5028
Connected to the bristol control socket: 5
bristolengine already active
80c4f40 80000000 0
parent exiting
return - no data in buffer
cleanupBristol(0)
./startBristol: line 127: 8259 Broken pipe bristol $* -engine
bash-2.05b$
Does that make things any clearer? There are other options I could mess about
with, such as -mididev, but those seemed most obviously connected.
Robert
On March 14, 2005 04:30 am, quoth Dave Phillips:
Tobias Ulbricht wrote:
As far as my experience goes, if Bristol provides
an ALSA midi sequencer
port, it'll automatically show up in qjackctl. Am I right?
If so, jack does not really do MIDI handling/sequencing, I guess.
The MIDI Connections patchbay in QJackCtl is a nice convenience, it's
not a fundamental aspect of JACK itself. The MIDI patchbay represents
(IIRC) the status of the ALSA sequencer. If Bristol is not an ALSA
sequencer client then it will not display in the MIDI patchbay, though
as a JACK client it will appear in the Audio Connections tab.
As far as I know, at this point JACK has nothing to do with MIDI.
Best,
dp
--
Robert Persson
ireneshusband(a)fastmail.fm
YahooMess:ireneshusband AIM:shamanicpolice
"No matter how much ye shake yer peg
The last wee drap rins doon yer leg."