Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
-Added README files to the tutorials, to explain what they teach / do
- Loading branch information
1 parent
ab6b803
commit 1a9250e
Showing
4 changed files
with
45 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
JackClient | ||
|
||
What we're going to do today is create a simple JACK client. Its going | ||
to create 2 ports, one input, and one output. Then it will copy the data | ||
from one port to the other. | ||
|
||
This is essentially a useless JACK client, but it provides a good | ||
overview of how JACK programming works, and this basic functionality | ||
is essential for any fancy programs: read Ardour, QTractor, QSynth, | ||
Yoshimi etc *all* have a JACK process callback just like this one! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
Ladspa Host | ||
|
||
For this tutorial we're going to have to use some slightly more advanced | ||
features of glibmm, loading a plugin file, and then retrieving the | ||
LADSPA details from it. | ||
|
||
Once we have instantiated the plugin (created one processing "unit") | ||
then we "connect" the ports of the plugin to the variables of the host, | ||
and finally we tell it to run for "nframes" amount of audio samples. | ||
|
||
So the structure is pretty logical: | ||
|
||
Load .so plugin file from disk | ||
Retrieve details of plugin from file handle | ||
Instantiate plugin | ||
connect ports | ||
run the plugin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Looped Sample | ||
|
||
This tutorial will show you how to load a sample into memory, and then | ||
play it back trough a JACK port, continually looping. There's not really | ||
that much to it, just a bit of thinking of the order things happen, and | ||
arrays. If you've read the "Writing a sample" tutorial, you'll already | ||
be familiar with LibSndFile, the library we use to read / write samples, | ||
so there's nothing too hard to handle :) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Writing Soundfile To Disk | ||
|
||
This short tutorial will show you how to write a buffer of audio that's | ||
in memory to disk. We use a library called Libsndfile for this purpose, | ||
its a great library to read and write a variety of soundfile formats. | ||
|
||
So if you haven't done so yet, you'll need to install libsndfile-dev or | ||
similar to allow you link your C++ program against that library. Note | ||
that we're going to use the C++ wrapper around the C library, and hence | ||
we're including <sndfile.hh> |