Re: [linux-audio-dev] jack files

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] jack files
From: Paul Davis (pbd_AT_Op.Net)
Date: Tue Nov 27 2001 - 20:50:14 EET


>What's the difference between fltk_client.c, monitor_client.c,
>simple_client.c, and client.c? Is the fltk_client optional?

the makefile.am should reveal all, but i'll summarize:

simple_client.c: the simplest functional JACK client, has one input port
                 one output, copies input to output

monitor_client.c: tester for port-monitoring (physical ports might
                   have capabilities to allow this; others do not, see
                   jack.h for comments)

fltk_client.c: like simple_client, but use FLTK toolkit to provide a
                  GUI slider to control the gain level used when
                  copying input to output

client.c: goes into the libjack. its the backend for the client-side
            thread.

>Also, what does a jack driver have to export? I've been looking through
>alsa_driver.c but I'm not sure what the necessary functions that I have to
>implement would be. I've been wanting to port Jack to OS X.

the driver.h file shows the API. there are a series of "virtual
functions" (i.e. functions accessed via pointers-to-functions) which
have to be implemented.

see alsa_driver.h as an example of how its used. note: i wanted to
avoid the GTK+ style of "OOP" here, hence the JACK_DRIVER_DECL
macro. this avoids code like:

      alsa_driver_t *alsa_driver;
      jack_driver_t *driver = JACK_DRIVER(alsa_driver);

instead, an alsa_driver_t IS-A jack_driver_t without any casting.

if you have strong opinions on this design, let me know.

----

OTOH, given the existence of CoreAudio on OSX, porting JACK seems a little strange.

also, as luck would have it, today finds me mostly working on JACK again.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Nov 27 2001 - 20:48:51 EET