A UGen that adds data points with associated identifiers to a FluidDataSet Internally, this calls setPoint
, so IDs that already exist will be overwritten, and new IDs will be added. The actual work is done on the server's command queue, rather than the real-thread.
By default the object takes a control input (idNumber
) as a numerical index that gets used for the point identifiers. This index is used to write each time the Ugen is re-triggered with a zero to non-zero transition. The identifier is then concatenated with the idPrefix
symbol, which is fixed at instantiation. In this way, one can make custom, incrementing identifiers, e.g.
would add points like my_data0, mydata1, mydata2...
if successively retriggered.
Alternatively, for one shot use you may not want a numerical suffix at all. Setting idNumber
to nil
will bypass this and use only the idPrefix
string.
The equivalent of calling FluidDataSet: -setPoint, but within a Synth
dataset |
An instance of FluidDataSet |
idPrefix |
A string or symbol with a prefix for generated identifiers. |
idNumber |
An integer with the offset to start creating identifiers from. If the UGen is run in a server-side loop (i.e. repeatedly re-triggered), the generated identifiers will count upwards from this offset. If nil, then no numerical index will be applied to the generated identifier (i.e. only the idPrefix is used). |
buf |
The Buffer containing the data point. |
trig |
A kr trigger signal |
blocking |
If 0 then the job will run in its own thread (not reccomended for this object) |
incremental buffer writing - sky is the limit
Circular Writing
Each time FluidDataSetWr is triggered it is like the FluidDataSet: -setPoint method so if the identifier does not exist it creates it. If the identifier does it exist then it updates it with the new values.
By looping idNumber
values, we can use a FluidDataSet similar to a "circle buffer", always have the most recent n
points in it that we want.