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
This archive was generated by hypermail 2b28 : Tue Nov 27 2001 - 20:48:51 EET