From eb25cfe36aaedfdc89c58fff18e1f9dbe18b38f3 Mon Sep 17 00:00:00 2001 From: kevin Date: Sun, 8 Jan 2023 14:18:22 -0500 Subject: [PATCH] README.md : Updates --- README.md | 124 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 100 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 63bf39f..7c80e5b 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,91 @@ -Plan: -1. Add MIDI processors - this may be complicated by cross fading scheme. +TODO: fix cwDsp.h: ampl_to_db(),db_to_ampl(), add pow_to_db() and db_to_pow(). +Implement vectorized version in terms of the scalar versions in cwDsp.h. +Decide on standard dB range. e.g. -100 to 0, 0 to 100 .... + +* Flow Variables Class +** Attributes + + type: real,int,string,audio,spectrum,enum + + flags: attribute flags + - src: This variable must be connected. + - multi: This variable may be instantiated multiple times + - fan_in: This variable allows multiple incoming connections. + + value: + - real,int { min,max,value,center,step } + - enum [ list of (id,label) pairs ] + + + doc: documentation string + + + max_multi: max count of instantiations due to multiple connections + + min_multi: min count of instantiations due to multiple connections + +* Flow Proc Class +** Attributes + + doc: documentation string + + sub_proc: + - sub_proc_cnt: set an absolute sub_proc_cnt + - sub_proc_cnt_min: + - sub_proc_cnt_max: + + - sub_proc_var + + label + + flags: [ audio_chs, multi_chs, fan_in_chs ] + + Calculate the sub_proc_cnt based on the count of mult's,fan_ins, and audio channels. + + +* Proc Instance setup + + + + + + +* Plan + + + +** Flow processor 'multi' processor: + Add the ability for a processor to expand the number of variables based on + incoming connections. + - Variables with this capability must have the 'multi' attribute in the class description. + - The new variables will be named by adding a suffix in the connection command. + e.g. in:{ in.a:out.foo } connect the output out.foo to a new variable instantiated + on the the local variable description 'in'. + - The new variable may then be addressed by referring to 'in.a'. + - The proc instance may then ask for a count of variable instances for a given base varaible. + var_get_multi_count( ...,'in') and address them by var_get( ...,'in',multi_idx). + - Note that once a variable is given the 'multi' attribute the only way for the instance + to access the variable is by supplying the 'multi' index since the variable + label alone will not be adequate to select among multiple instances. + + +** Flow processor Fan-in capability: + Add the ability for a processor variables to support multiple incoming connections. + + - Fan-in capability must be enabled in the processor class description with the 'fan-in' attribute. + - The array of variables associated with fan-in connections will be + addressed via "