aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-11-16 06:01:20 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-11-16 06:01:20 +0000
commitc061b2eeed752a72529509246a5842f13ea62630 (patch)
tree0e284b0426a7e3aa7705fc073f1d3c9d30f767be
parent7648660873eb26cdaa16f100d5a0f13fd587d40f (diff)
adding manual and help patches
svn path=/trunk/abstractions/nqpoly/; revision=3939
-rw-r--r--nqpoly4.html79
-rw-r--r--nqpoly4/nqpoly4-help.pd26
-rw-r--r--nqpoly~/nqpoly~-help.pd21
3 files changed, 126 insertions, 0 deletions
diff --git a/nqpoly4.html b/nqpoly4.html
new file mode 100644
index 0000000..3c3df21
--- /dev/null
+++ b/nqpoly4.html
@@ -0,0 +1,79 @@
+<html>
+<header>
+<title>pix.test.at</title>
+</header>
+<body bgcolor="#000000" text="#00f000" link="#00ff00" alink="#80ff80" vlink="#008000">
+
+<table border="0" height="100%" width="50%" align="center">
+<tr><td>
+<pre>
+ _ _ _
+ _ __ __ _ _ __ ___ | |_ _| || |
+| '_ \ / _` | '_ \ / _ \| | | | | || |_
+| | | | (_| | |_) | (_) | | |_| |__ _|
+|_| |_|\__, | .__/ \___/|_|\__, | |_|
+ |_|_| |___/
+</pre>
+<p>
+okay, here is a hasty release of <a href="nqpoly4-20030329-1.tar.gz">nqpoly4</a>.
+<p>
+i've been mentioning this to too many people, so i had to finally put it online, even though i haven't had time to clean it up as much as i'd like. i was working on a better help file but it will have to wait (here's hoping you like learning by example).
+<p>
+the main differences in this version are:
+ <blockquote>
+ <p><b>new object name.</b> the new object name is <tt>nqpoly4</tt>. i decided to put a version number in the name because this version is completely incompatible with the old one. it's version 4 because versions 2 and 3 are incomplete attempts at a rewrite, lost on my harddrive somewhere.
+ <p><b>no more audio outlet.</b> you now send audio out of your "grains" using throw~ and catch~ objects. this makes it less ugly to make stereo grains, or grains that deal with audio input. it also takes the emphasis away from audio "grains", since that is only part of what nqpoly can be used for. i also dropped the ~ from the name for the same reason.
+ <p><b>extra grain creation parameters.</b> the first two parameters passed to a grain are its index, and the total number of grains that exist. see the <b>minimal-test.pd</b> patch for an example. these values are used in the gem example included with this release.
+ </blockquote>
+<p>
+ files:
+ <blockquote>
+ <p><b>nqpoly4.pd</b> and <b>nqpwrap4.pd</b> are the core files. as with the last version, your grains either need to be in the same directory as these files, or on PDs path.
+ <p><b>minimal.pd</b> and <b>minimal-test.pd</b> are a very simple test to show how voice creation / delegation works. on opening <b>minimal-test.pd</b> you should see:
+<pre>
+created_with: 0 5 param_1 param_2
+created_with: 1 5 param_1 param_2
+created_with: 2 5 param_1 param_2
+created_with: 3 5 param_1 param_2
+created_with: 4 5 param_1 param_2
+</pre>
+<p>this shows each of the copies of the <b>minimal.pd</b> grain being created. the first parameter is an index, and the second parameter is the total number of grains being created.
+<p>if you click the <b>foo bar</b> message box, you will send a trigger to the first available copy of <b>minimal.pd</b> which should print:
+<pre>
+voice: 0
+called_with: foo bar
+waiting_1000ms: bang
+voice: 0
+finished: bang
+</pre>
+<p>this just prints which voice has been activated, and which parameters it was activated with. the grain pretends to take 1000ms to process the message, so that you can test object delegation. if you press the <b>foo bar</b> button twice within 1000ms, you will see:
+<pre>
+voice: 0
+called_with: foo bar
+waiting_1000ms: bang
+voice: 1
+called_with: foo bar
+waiting_1000ms: bang
+voice: 0
+finished: bang
+voice: 1
+finished: bang
+</pre>
+<p>the first <b>foo bar</b> message arrives at voice 0. while it is busy processing the first message, the second message is handed to voice 1.
+<p>
+kind of terse, but that's really all there is to it.
+</blockquote>
+
+<p><b>petal.pd</b> and <b>petal-test.pd</b> make up a simple gem example. with the gem library loaded, have a look at <b>petal-test.pd</b>. this is only one possible way you could use gem with nqpoly, there is much more room for experimentation. this patch is also interesting because it doesn't use the voice delegation part of nqpoly. it is really just using nqpoly as a way to avoid a lot of cut+paste work.
+<p><b>tabgrain.pd</b>, <b>tabgrain-test.pd</b>, <b>phasor.pd</b> and <b>tabar~.pd</b> make up the obligatory granular synthesis patch. tabgrain-test.pd is a little complicated, but if you click all of the message boxes, you should start getting sound output. the <b>tabgrain.pd</b> object is the beginnings of a granulab-style granular synthesiser, it's mostly complete, requiring just a little more work on the pre-nqpoly4 side to give it similar functionality. i keep telling myself i'll do this one day.
+</blockquote>
+<p>
+this probably counts are an increase in the amount of documentation for nqpoly, if you have already read the documentation from the last version. so, if you would like to understand nqpoly a little more, i suggest you <a href="nqpoly20020204.tgz">check out the old version</a>.
+<p>
+you can also <a href="/index.html">email me</a> if you have any questions.
+</td></tr>
+<tr><td>--<br/><a href="http://pix.test.at/">pix.test.at</a></td></tr>
+</table>
+
+</body>
+</html>
diff --git a/nqpoly4/nqpoly4-help.pd b/nqpoly4/nqpoly4-help.pd
new file mode 100644
index 0000000..4d83131
--- /dev/null
+++ b/nqpoly4/nqpoly4-help.pd
@@ -0,0 +1,26 @@
+#N canvas 101 68 444 569 10;
+#X text 7 26 (not quite poly) is an abstraction that uses various voodoo
+to fake the functionality of the [poly~] object in max.;
+#X obj 10 6 nqpoly4;
+#X text 8 63 in short \, [nqpoly4] can take abstractions that obey
+certain requirements and can link them together to make a polyphonic
+instrument.;
+#X text 9 111 since it automates the normally painful task of making
+a patch polyphonic \, it is very easy to do things like 60-nite polyphonism
+\, which really starts becoming granular synthesis.;
+#X obj 18 459 nqpoly~;
+#X text 20 478 is the old version that was tied to audio. Right-click
+and select "Help" for more info.;
+#X obj 38 369 minimal-test;
+#X obj 38 389 petal-test;
+#X obj 38 409 tabgrain-test;
+#X text 22 346 Here are a few demos:;
+#X text 156 388 a simple GEM example;
+#X text 157 368 very simple demo;
+#X text 157 410 a granular synthesis patch;
+#X text 8 191 usage: nqpoly <number of objects> <abstraction name>
+<up to 4 creation args>;
+#X text 13 241 your abstraction is ultimately called with the parameters:
+<index> <number of objects> <arg1> <arg2> <arg3> <arg4>;
+#X text 13 280 For [loadbang] \, you need to use the bang from the
+right inlet on your objects that are written for [nqpoly4].;
diff --git a/nqpoly~/nqpoly~-help.pd b/nqpoly~/nqpoly~-help.pd
new file mode 100644
index 0000000..ffa1a2a
--- /dev/null
+++ b/nqpoly~/nqpoly~-help.pd
@@ -0,0 +1,21 @@
+#N canvas 0 22 465 428 10;
+#X obj 206 18 nqpoly~;
+#X text 102 18 not-quite-poly;
+#X obj 205 398 nqpoly4;
+#X text 139 398 see also:;
+#X obj 177 247 nqpoly~-test;
+#X obj 177 267 tgrain~-test;
+#X text 101 230 examples:;
+#X text 35 304 The voice allocation is handled automatically \, provided
+that the patches for each voice is written properly. This patch should
+accept the control messages on its left inlet \, and when it completes
+its task and is available for reallocation \, it should send a bang
+out of its outlet.;
+#X text 29 72 (not quite poly) is an abstraction that uses various
+voodoo to fake the functionality of the [poly~] object in max.;
+#X text 30 109 in short \, [nqpoly4] can take abstractions that obey
+certain requirements and can link them together to make a polyphonic
+instrument.;
+#X text 31 157 since it automates the normally painful task of making
+a patch polyphonic \, it is very easy to do things like 60-nite polyphonism
+\, which really starts becoming granular synthesis.;