[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Denemo-devel] A Plan for JACK in denemo
From: |
Jeremiah Benham |
Subject: |
Re: [Denemo-devel] A Plan for JACK in denemo |
Date: |
Mon, 14 Dec 2009 20:27:54 -0600 |
On Dec 14, 2009, at 5:14 AM, Richard Shann <address@hidden>
wrote:
I have fixed a serious bug in the device_manager.c that was corrupting
the view widget (it was being passed as if it was the treestore). This
may be enough to prevent the crashes. But I think a lot of
complication
should be stripped out. I will not have time to work on it this week
but
what I suggest is that we keep it simple at first:
No starting/restarting jackd - if it is not running set up a flag to
say
so and do not do any jack things - just let the user set up the
device/client list in prefs.
I read through the Jack api. I don't see any kind of function that
reports if Jack is running or not. What we can do is try and create
the users devices. If the device creation returns an error them the
Jack server is more than likely not running.
If jackd is running
The Denemo prefs are read to find the user's client and port names and
numbers. These are used to populate jack at the point **** below.
Should we test that it is running by creating a client then delet it.
If there was not an error then Jack is running and sets a gboolean to
TRUE?
int
init_jack(void){
int err = 0;
create_jack_midi_client();******** populate all clients from
Denemo.prefs here
input_port = jack_port_register(midi_device[0].jack_client,
INPUT_PORT_NAME, JACK_DEFAULT_MIDI_TYPE,
JackPortIsInput, 0);
...
The user is responsible for the Denemo.prefs making sense - i.e. they
have to assign client and port numbers that do not overlap. The user
gets told if they have used the same client/port number twice.
I am confused here. I thought that users dint see numbers at all. They
just see names of clients and ports. Having duplicate port names would
not matter if they were in different devices or clients.
If there are no device/client prefs, nothing is registered, the only
thing the user can do is go to the prefdialog and define some.
Ok.
In the prefdialog, all that is done is write Denemo.prefs. So the user
has to quit and re-start denemo to get jack working with the new
prefs.
(Very crude, but simple, we can improve it later)
Ok.
At this level of simplicity it should be possible to track down any
bugs. If you have time to work on this Jeremiah, please do, as I shall
be very busy all week now.
I will do what I can.
Jeremiah
Richard
_______________________________________________
Denemo-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/denemo-devel