FTables
Introduction
ftables, or Function Tables, is a term borrowed from MUSIC N
and the Csound, used to describe fixed-lenth floating point
tables, often used by things like table lookup oscillators.
Presumably, the "function" aspect may come from the fact that
these tables were often allocated then put through a
function to do things like generate sine waves.
Ftables are a data structure defined in Soundpipe, and are
often abbreviated as ftbl in code, and in C have the struct
name sp_ftbl.
GEN Routines
GEN routines are another throwback term found in MUSIC N and Csound. These are things that take in csound
Making Ftables
A new ftable can be created using the runt word ftnew,
available also as a scheme function via ugens.org. Typicially these are stored in registers via regset.
(regset (ftnew 8192) 0)
This will create an ftable local to the patch that gets freed when the patch is recompiled.
Persistant tables can be created and managed by monolith via the monolith dictionary.
An ftable can be created by monolith using the command
monolith:ftbl-create:
(monolith:ftbl-create "foo" 8192)
To access the ftable, use monft, available as a runt word
or scheme command:
(gen_sine (monft "foo"))
TODO Gen routines
gen_sine loadwav, etc.
TODO UGens that take ftables
oscf, osci, fosc, fmpair, tabread, trd, etc.
Getting ftable size/duration
The runt words tblsize and tbldur get
size and duration, respectively.
tblsize returns the length of the ftable in
samples, while tbldur returns the length
of the ftable in seconds.
Retrieving table values
tget sets an ftable.