JACK recording/playing programming in C + Ubuntu (GNU/Linux)

Its very difficult to use the work "JACK" in google and programming and audio, most results appear to give me windows tutorials/questions that relate to how to properly plug-in your audio jack or there are ones similar to mine "Line-in with Audio jack programming". How ever I can't find any tutorials on the audio sound system called "JACK" and I need to know how to initialize, list sound cards, pick a sound card from that list and then record and playback my chosen input/output.

So far my only resources are the following for JACK programming.... http://jackit.sourceforge.net/cgi-bin/lxr/http/source/example-clients/capture_client.c http://www.alsa-project.org/~tiwai/alsa-driver-api/ch01.html#id292665 http://www.alsa-project.org/~tiwai/alsa-driver-api/re01.html

The capture_client.c I think is built to work in any situation so I'm confused on what is actually going on line by line. Which is why I'd hope to find a JACK tutorial. I need RAW audio data so I can manually encrypt it into packets so I'm thinking I need JACK scince I've found out Gstreamer only uses low-level encryption, ALSA is a pain to write code for(takes forever) but it actually worked though, and all the other audio libraries just plain are not for my situation or just stink.

Answers


This is where i bagan learning. He goes through compiling and the actual code.


when searching the internet try using jackd (short for jack daemon).

Jack is designed primarily for being able to chain several applications together into a single signal chain. As such the daemon handles the hardware ports usually by utilising alsa depending on the audio hardware. The daemon sets the sample rate and format, the format is always normalised float and the sample rate is set by the user. This eliminates sample rate and format conversions between applications.

It sounds like either you are going to have to think outside the box to get jackd to work for you or the functionality needs to be included in the daemon (jack already has the ability to send audio data over a network for instance) or jackd really just isn't suitable for your purposes.


Need Your Help

Mac OSX javac -cp

java macos classpath javac

Trying to understand command line compiling but having issues working with classpath, "javac: file not found: Hello.java"

How can I get XPATH to return a node between two different siblings?

xpath pom.xml siblings

I am working on pom file modifications to change the version node value. I can get xpath to modify all version nodes, but I only want it to change the version node when both the artifactId and