denemo-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]