README.md : Updates.
This commit is contained in:
parent
986b842bc6
commit
f8a907f360
66
README.md
66
README.md
@ -581,7 +581,8 @@ Syntax:
|
|||||||
-------
|
-------
|
||||||
The 'in' list has the follow syntax:
|
The 'in' list has the follow syntax:
|
||||||
`in: { in-stmt* }`
|
`in: { in-stmt* }`
|
||||||
`in-stmt` -> `in-var-id`":" `src_expr`
|
`in-stmt` -> `in_expr`":" `src_expr`
|
||||||
|
`in-expr` -> `in-proc-id`".`in-var-id`
|
||||||
`src-expr` -> `src-proc-id`"."`src-var-id`
|
`src-expr` -> `src-proc-id`"."`src-var-id`
|
||||||
`in-var-id` -> `var-id`
|
`in-var-id` -> `var-id`
|
||||||
`src-proc-id` -> `var-id`
|
`src-proc-id` -> `var-id`
|
||||||
@ -595,6 +596,20 @@ The 'in' list has the follow syntax:
|
|||||||
Semantics:
|
Semantics:
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
### `in-proc-id`
|
||||||
|
|
||||||
|
- The `in-proc-id` is only used when the in-stmt
|
||||||
|
is iterating over the in-proc sfx-id.
|
||||||
|
This precludes iterating over the in-var, as discussed below.
|
||||||
|
|
||||||
|
In this case the only useful option is to set the 'var-id` to `_`
|
||||||
|
as the in-proc is taken as the the proc which the
|
||||||
|
in-stmt belongs to.
|
||||||
|
|
||||||
|
The iterating source and/or var sfx-id are then set
|
||||||
|
to the current proc sfx-id + source `pri-int`.
|
||||||
|
|
||||||
|
|
||||||
### `in-var-id`
|
### `in-var-id`
|
||||||
|
|
||||||
- The `label` part of the `in-var-id` must match to a
|
- The `label` part of the `in-var-id` must match to a
|
||||||
@ -911,19 +926,31 @@ Add proc instance field: `log:{ var_label_0:0, var_label_1:0 } `
|
|||||||
Next:
|
Next:
|
||||||
|
|
||||||
- Complete subnets:
|
- Complete subnets:
|
||||||
+ subnet var desc's should be the same as non+subnet vars but also include the 'proxy' field.
|
+ Subnets should have presets written in terms of the subnet vars rather than the network vars
|
||||||
|
or the value application needs to follow the internal variable src_var back to the proxy var.
|
||||||
|
|
||||||
|
+ write a paragraph in the flow_doc.md about overall approach taken to subnet implementation.
|
||||||
|
Subnets are implemented in the following phases:
|
||||||
|
- During program initialization the subnet cfg files is scanned and the
|
||||||
|
proxy vars for each subnet are used to create `class_desc_t` records for each subnet.
|
||||||
|
- When the subnet is instantiated the proxy vars are instantiated first.
|
||||||
|
- Then the internal network is instantiated.
|
||||||
|
|
||||||
|
+ DONE: subnet var desc's should be the same as non+subnet vars but also include the 'proxy' field.
|
||||||
In particular they should get default values.
|
In particular they should get default values.
|
||||||
If a var desc is part of a subnet then it must have a proxy.
|
If a var desc is part of a subnet then it must have a proxy.
|
||||||
The output variables of var desc's must have the 'out' attribute
|
The output variables of var desc's must have the 'out' attribute
|
||||||
|
|
||||||
+ subnets should have presets written in terms of the subnet vars rather than the network vars
|
|
||||||
|
|
||||||
+ improve the subnet creating code by using consistent naming + use proxy or wrap but not both
|
+ DONE: improve the subnet creating code by using consistent naming + use proxy or wrap but not both
|
||||||
|
|
||||||
+ improve code comments on subnet creation
|
+ DONE: improve code comments on subnet creation
|
||||||
|
|
||||||
+ write a paragraph in the flow_doc.md about overall approach taken to subnet implementation.
|
- Implement feedback
|
||||||
|
- Audio inputs should be able to be initialized with a channel count and srate without actually connecting an input.
|
||||||
|
This will allow feedback connections to be attached to them at a later stage of the network
|
||||||
|
instantiation.
|
||||||
|
- Implement subnet preset application.
|
||||||
- Implement the var attributes and attribute checking.
|
- Implement the var attributes and attribute checking.
|
||||||
- Implement dynamic loading of procs.
|
- Implement dynamic loading of procs.
|
||||||
- Implement a debug mode to aid in building networks and subnets (or is logging good enough)
|
- Implement a debug mode to aid in building networks and subnets (or is logging good enough)
|
||||||
@ -936,22 +963,10 @@ Next:
|
|||||||
One way around this is to instantiate them with an initial set of inputs but then
|
One way around this is to instantiate them with an initial set of inputs but then
|
||||||
allow those inputs to be replaced by a later connection.
|
allow those inputs to be replaced by a later connection.
|
||||||
|
|
||||||
- DONE: Fix up the coding language - change the use of `instance_t` to `proc_t` and `inst` to `proc`, change use of `ctx` in cwFlowProc
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BUGS:
|
BUGS:
|
||||||
- The counter modulo mode is not working as expected.
|
- The counter modulo mode is not working as expected.
|
||||||
|
|
||||||
- There is no way for a proc in a poly context to use it's poly channel number to
|
|
||||||
select a mult variable. For example in an osc in a poly has no way to select
|
|
||||||
the frequency of the osc by conneting to a non-poly proc - like a list.
|
|
||||||
Consider:
|
|
||||||
1. Use a difference 'in' statememt (e.g. 'poly-in' but the
|
|
||||||
same syntax used for connecting 'mult' variables.)
|
|
||||||
2. Include the proc name in the 'in' var to indicate a poly index is being iterated
|
|
||||||
e.g. `lfo: { class:sine_tone, in:{ osc_.dc:list.value_ } }`
|
|
||||||
|
|
||||||
|
|
||||||
Host Environments:
|
Host Environments:
|
||||||
@ -967,6 +982,13 @@ Host Environments:
|
|||||||
|
|
||||||
- DONE: Turn on variable 'broadcast'. Why was it turned off? ... maybe multiple updates?
|
- DONE: Turn on variable 'broadcast'. Why was it turned off? ... maybe multiple updates?
|
||||||
|
|
||||||
```
|
- DONE: There is no way for a proc in a poly context to use it's poly channel number to
|
||||||
|
select a mult variable. For example in an osc in a poly has no way to select
|
||||||
```
|
the frequency of the osc by conneting to a non-poly proc - like a list.
|
||||||
|
Consider:
|
||||||
|
1. Use a difference 'in' statememt (e.g. 'poly-in' but the
|
||||||
|
same syntax used for connecting 'mult' variables.)
|
||||||
|
2. Include the proc name in the 'in' var to indicate a poly index is being iterated
|
||||||
|
e.g. `lfo: { class:sine_tone, in:{ osc_.dc:list.value_ } }`
|
||||||
|
|
||||||
|
- DONE: Fix up the coding language - change the use of `instance_t` to `proc_t` and `inst` to `proc`, change use of `ctx` in cwFlowProc
|
||||||
|
Loading…
Reference in New Issue
Block a user