So where should I start?
The first place for some reading is the README.developers file that comes with the JACK source. This isn't much help for people who want to write their first audio app, though, so let's look for something simpler.
There is a tutorial here on creating a capture client that writes to wav files. I'm sure that this is a good tutorial (it's the only one linked to from the JACK site, so it must be good) but I've chosen not to follow it just yet for a couple of reasons. Firstly, I want to make a noise - the capture client doesn't do that - and secondly, I had a quick flick through it and there is talk about how the thread synchronisation isn't done how it should be, and I decided to keep away from it until I know how thread synchronisation should be done.
The creators of JACK have given us a set of example JACK clients to look at, and I'm going to use these as my starting point.
Firstly, there is a simple client that seems to copy it's input to it's output - we'll check that in a moment. The source code is in simple_client.c. I've also decided to use the metronome client as a second reference. The source is in metro.c. If you haven't played with the metronome, go and do it now. It makes beeps of a given frequency at a given tempo (there are more options - go and look) so it's an ideal place to pilfer code for our first noise-making program.
Pilfer code? Yes. My first program is going to be a complete hack. I want to start writing right now, with no design, no idea how to do it and no safetey net.
So what is this bastard code going to do? Remember that I said I only ever made a beep? Well now I'm going to do much more than that: I'm going to make a bleep. It has a whole extra 'L'.Top - Previous - Next