diff options
Diffstat (limited to 'opcodes/ftgenonce.xml')
-rw-r--r-- | opcodes/ftgenonce.xml | 76 |
1 files changed, 40 insertions, 36 deletions
diff --git a/opcodes/ftgenonce.xml b/opcodes/ftgenonce.xml index b927715..3a209c9 100644 --- a/opcodes/ftgenonce.xml +++ b/opcodes/ftgenonce.xml @@ -1,50 +1,69 @@ - <refentry id="ftgenonce"> - <indexterm id="IndexFtgenonce"><primary>ftgenonce</primary></indexterm> - <refentryinfo><title>Table Control</title></refentryinfo> +<indexterm id="Indexftgenonce"><primary>ftgenonce</primary></indexterm> +<refentryinfo><title>Signal Flow Graph Opcodes</title></refentryinfo> <refmeta> <refentrytitle>ftgenonce</refentrytitle> </refmeta> - + <refnamediv> <refname>ftgenonce</refname> <refpurpose> - Generate a function table from within an instrument definition, without - duplication of data. + Generate a score function table from within the orchestra, which is deleted at the end of the note. </refpurpose> </refnamediv> - + <refsect1> <title>Description</title> <para> - Generate a function table from within an instrument definition, without - duplication of data. + Enables the creation of function tables entirely inside + instrument definitions, without any duplication of data. + </para> + + <para> + The ftgenonce opcode is designed to simplify writing instrument definitions + that can be re-used in different orchestras simply by #including them + and plugging them into some output instrument. There is no need to define + function tables either in the score, or in the orchestra header. + </para> + + <para> + The ftgenonce opcode is similar to ftgentmp, and has identical arguments. + However, function tables are neither duplicated nor deleted. Instead, + all of the arguments to the opcode are concatenated to form the key to a + lookup table that points to the function table number. Thus, every request + to ftgenonce with the same arguments receives the same instance of the + function table data. Every change in the value of any ftgenonce argument + causes the creation of a new function table. </para> </refsect1> - + <refsect1> <title>Syntax</title> - <synopsis>ifno <command>ftgenonce</command> ip1dummy, ip2dummy, isize, igen, iarga, iargb, ...</synopsis> + <synopsis>ifno <command>ftgenonce</command> ip1, ip2dummy, isize, igen, iarga, iargb, ...</synopsis> </refsect1> - + <refsect1> <title>Initialization</title> <para> - <emphasis>ifno</emphasis> -- an automatically - assigned table number above 100. + <emphasis>ifno</emphasis> -- an automatically + assigned table number. </para> <para> - <emphasis>ip1</emphasis> -- ignored. + <emphasis>ip1</emphasis> -- the number of the table to be + generated or 0 if the number is to be assigned. </para> - <para> - <emphasis>ip2dummy</emphasis> -- ignored. + <para> + + <emphasis>ip2dummy</emphasis> -- ignored. </para> <para> <emphasis>isize</emphasis> -- table size. Corresponds to p3 of the score <emphasis>f statement</emphasis>. </para> + <para> <emphasis>igen</emphasis> -- function table <emphasis>GEN</emphasis> routine. Corresponds to p4 of the score <emphasis>f statement</emphasis>. </para> + <para> <emphasis>iarga, iargb, ...</emphasis> -- function table arguments. Correspond to p5 through p<emphasis>n</emphasis> of the score <emphasis>f statement</emphasis>. </para> @@ -52,27 +71,12 @@ <para>Csound was originally designed to support tables with power of two sizes only. Though this has changed in recent versions (you can use any size by using a negative number), many opcodes will not accept them.</para> </note> </refsect1> - +<!-- <refsect1> <title>Performance</title> - <para> - The ftgenonce opcode is designed to simplify writing instrument definitions - that can be re-used in different orchestras simply by #including them - and plugging them into some output instrument. There is no need to define - function tables either in the score, or in the orchestra header. - </para> - - <para> - The ftgenonce opcode is similar to ftgentmp, and has identical arguments. - However, function tables are neither duplicated nor deleted. Instead, - all of the arguments to the opcode are concatenated to form the key to a - lookup table that points to the function table number. Thus, every request - to ftgenonce with the same arguments receives the same instance of the - function table data. Every change in the value of any ftgenonce argument - causes the creation of a new function table. - </para> - </refsect1> - + </refsect1>--> + + <refsect1> <title>Credits</title> <para> |