summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorPepper <pepper@scannerjammer.com>2015-01-16 15:38:48 -0500
committerPepper <pepper@scannerjammer.com>2015-01-16 15:38:48 -0500
commit131832f418372c0654aa4169c4283f863cb96226 (patch)
treec86492441c3de3d13ebe2c2e2d9bc5dcf04aeaf0 /README
first commit
Diffstat (limited to 'README')
-rw-r--r--README98
1 files changed, 98 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..e88b612
--- /dev/null
+++ b/README
@@ -0,0 +1,98 @@
+ * Copyright (C) 2005 James McDermott
+ * jamesmichaelmcdermott@gmail.com
+ *
+ * This program is derived from jack-dssi-host
+ * (Copyright 2004 Chris Cannam, Steve Harris and Sean Bolton).
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 01222-1307
+ * USA
+
+
+cli-dssi-host:
+-------------
+A command-line DSSI host.
+
+
+Installation:
+------------
+$ ./configure
+$ make
+$ sudo make install
+
+
+Usage:
+-----
+$ cli-dssi-host
+A command-line DSSI host.
+Usage:
+$ cli-dssi-host <dssi_plugin.so>[:<label>]
+ [-p [<bank>:]<preset>] (use -p -1 for default port values;
+ -p -2 for random values; omit -p to read port values from stdin)
+ [-l <length>] (in seconds, between note-on and note-off; default is 1s)
+ [-r <release_tail>] (in seconds: amount of data to allow after note-off;
+ default waits until silence (up to a maximum of 15s))
+ [-f <output_file.wav>] (default == "output.wav")
+ [-c <no_channels>] (default == 1; use -c -1 to use plugin's channel count)
+ [-n <midi_note_no>] (default == 60)
+ [-v <midi_velocity>] (default == 127)
+ [-d <project_directory>]
+ [-k <configure_key>=<value>] ...
+ [-b] (clip out-of-bounds values, including Inf and NaN, to within bounds
+ (calls exit()) if -b is omitted)
+
+
+Synopsis:
+--------
+
+cli-dssi-host writes a short .wav file with audio generated by sending
+1 note-on and then 1 note-off to a DSSI plugin. You can specify the
+length and the MIDI note and velocity. Things like presets, labels
+within dlls, multiple channels and configure key-value pairs seem to
+work!
+
+Examples:
+--------
+
+$ cli-dssi-host simple.so -p -1
+
+(which uses default values for all control-in ports);
+
+$ cli-dssi-host less_trivial_synth.so < lts.prs
+
+(where lts.prs is a text file containing one argument for each
+control-in port);
+
+$ cli-dssi-host xsynth-dssi.so -p 0:3
+
+(which loads program (aka preset) 3 in bank 0);
+
+$ cli-dssi-host trivial_sampler.so:stereo_sampler -p -1 -k load=snare.wav -c -1
+
+(where load=snare.wav is a configure key-value pair, and -c -1
+tells the program to write as many channels as the stereo_sampler
+plugin has audio outputs).
+
+Bugs/things to do:
+-----------------
+
+The -l arg specifies length in seconds between note-on and note-off.
+(or nearly - would have to set the note-off.time.tick exactly for that.)
+But it's not ideal, since we still have to record the release tail.
+Maybe an extra arg to specify absolute length.
+
+The function which calculates when the release tail is finished could
+probably be improved - e.g. by stopping at a zero-crossing, as well
+as waiting for a low-power frame.
+