README.md : Added ToDo's.
This commit is contained in:
parent
b6a0ce94b9
commit
4fb7d26c48
55
README.md
55
README.md
@ -2,6 +2,22 @@
|
|||||||
|
|
||||||
# To Do
|
# To Do
|
||||||
|
|
||||||
|
- Remove applications from the libcw folder and put them in their
|
||||||
|
own folders.
|
||||||
|
|
||||||
|
- The UI needs to be better documented. Start by giving clear names
|
||||||
|
to the various parts: Browser, UI Manager, UI Server, Application.
|
||||||
|
Maybe describe in Model,View,Controller terms?
|
||||||
|
|
||||||
|
- Document the meaning and way that id's and names/labels are used,
|
||||||
|
and intended to be used, and found by UI. As it is they are confusing.
|
||||||
|
|
||||||
|
- The UI app id map should be validated after the UI is created.
|
||||||
|
In otherwords the parent/child pairs shoud actually exists.
|
||||||
|
|
||||||
|
- Arrange the project layout so that all the UI based apps use the same ui.js.
|
||||||
|
Currently changes and improvements to one version of ui.js cannot be automatically
|
||||||
|
shared.
|
||||||
|
|
||||||
- The ui manageer should buffer the current valid value of a given control
|
- The ui manageer should buffer the current valid value of a given control
|
||||||
so that the value can be accessed synchronously. This would prevent the application
|
so that the value can be accessed synchronously. This would prevent the application
|
||||||
@ -11,14 +27,19 @@ read by the app (e.g. getUiValue( appId, valueRef)) just prior to being used.
|
|||||||
As it is the UI values that are on the interface cannot be accessed synchronously
|
As it is the UI values that are on the interface cannot be accessed synchronously
|
||||||
instead the app is forced to notice all 'value' changes and store the last legal value.
|
instead the app is forced to notice all 'value' changes and store the last legal value.
|
||||||
|
|
||||||
|
- Add an ui::appIdToUuId() that returns the first matching appId, and then
|
||||||
|
optionally looks for duplicates as an error checking scheme.
|
||||||
|
|
||||||
|
- The ui eleA[] data structure should be changed to a tree
|
||||||
|
because the current expandable array allows empty slots which need to be checked
|
||||||
|
for whenever the list is iterated. It is also very inefficient to delete from the
|
||||||
|
eleA[] because an exhaustive search is required to find all the children of the
|
||||||
|
element to be deleted.
|
||||||
|
|
||||||
- Should a warning be issued by audioBuf functions which return a set of values:
|
- Should a warning be issued by audioBuf functions which return a set of values:
|
||||||
muteFlags(),toneFlags(), gain( ... gainA) but where the size of the dest array
|
muteFlags(),toneFlags(), gain( ... gainA) but where the size of the dest array
|
||||||
does not match the actual number of channesl?
|
does not match the actual number of channesl?
|
||||||
|
|
||||||
- Document the meaning and way that id's and names/labels are used,
|
|
||||||
and intended to be used, and found by UI. As it is they are confusing.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Any socket function which takes a IP/port address should have a version which also takes a sockaddr_in*.
|
- Any socket function which takes a IP/port address should have a version which also takes a sockaddr_in*.
|
||||||
@ -47,17 +68,7 @@ This is easy to reproduce by simply decreasing the size of the buffers in the pr
|
|||||||
- numeric_convert() d_min is NOT zero, it's smallest positive number, this fails when src == 0.
|
- numeric_convert() d_min is NOT zero, it's smallest positive number, this fails when src == 0.
|
||||||
min value is now set to zero.
|
min value is now set to zero.
|
||||||
|
|
||||||
- The UI app id map should be validated after the UI is created.
|
|
||||||
In otherwords the parent/child pairs shoud actually exists.
|
|
||||||
|
|
||||||
- Add an ui::appIdToUuId() that returns the first matching appId, and then
|
|
||||||
optionally looks for duplicates as an error checking scheme.
|
|
||||||
|
|
||||||
- The ui eleA[] data structure should be changed to a tree
|
|
||||||
because the current expandable array allows empty slots which need to be checked
|
|
||||||
for whenever the list is iterated. It is also very inefficient to delete from the
|
|
||||||
eleA[] because an exhaustive search is required to find all the children of the
|
|
||||||
element to be deleted.
|
|
||||||
|
|
||||||
- thread needs setters and getters for internal variables
|
- thread needs setters and getters for internal variables
|
||||||
|
|
||||||
@ -65,7 +76,7 @@ element to be deleted.
|
|||||||
|
|
||||||
- cwAudioBuf.cpp - the ch->fn in update() does not have the correct memory fence.
|
- cwAudioBuf.cpp - the ch->fn in update() does not have the correct memory fence.
|
||||||
|
|
||||||
- change file names to match object names
|
- Change file names to match object names
|
||||||
|
|
||||||
- Replace 24 bit read/write in cwAudioFile.cpp
|
- Replace 24 bit read/write in cwAudioFile.cpp
|
||||||
|
|
||||||
@ -90,9 +101,9 @@ The 'jsUuId' is generated by the JS client when the UI element is created.
|
|||||||
The 'uuId' is generated by the UI server when the JS client registers the control.
|
The 'uuId' is generated by the UI server when the JS client registers the control.
|
||||||
The 'appId' is assigned by the UI server when the JS client regsiters the control.
|
The 'appId' is assigned by the UI server when the JS client regsiters the control.
|
||||||
|
|
||||||
Client sends 'init' message.
|
Client sends 'init' message.
|
||||||
Server sends 'create' messages.
|
Server sends 'create' messages.
|
||||||
Client sends 'register' messages.
|
Client sends 'register' messages.
|
||||||
Server send' 'id_assign' messages.
|
Server send' 'id_assign' messages.
|
||||||
|
|
||||||
# sockaddr_in reference
|
# sockaddr_in reference
|
||||||
@ -115,10 +126,14 @@ struct in_addr {
|
|||||||
|
|
||||||
# Development Setup
|
# Development Setup
|
||||||
|
|
||||||
|
0)
|
||||||
|
```
|
||||||
|
sudo dnf install g++ fftw-devel alsa-lib-devel libubsan
|
||||||
|
```
|
||||||
1) Install libwebsockets.
|
1) Install libwebsockets.
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo dnf install g++ openssl-devel cmake
|
sudo dnf install openssl-devel cmake
|
||||||
cd sdk
|
cd sdk
|
||||||
git clone https://libwebsockets.org/repo/libwebsockets
|
git clone https://libwebsockets.org/repo/libwebsockets
|
||||||
cd libwebsockets
|
cd libwebsockets
|
||||||
@ -145,7 +160,6 @@ struct in_addr {
|
|||||||
|
|
||||||
# Flow Notes:
|
# Flow Notes:
|
||||||
|
|
||||||
- Add a version of var_register() that both registers and returns the value of the variable.
|
|
||||||
|
|
||||||
- When a variable has a variant with a numberic channel should the 'all' channel variant be removed?
|
- When a variable has a variant with a numberic channel should the 'all' channel variant be removed?
|
||||||
|
|
||||||
@ -167,6 +181,7 @@ specific types, to pass through. For example a 'selector' (n inputs, 1 output) o
|
|||||||
|
|
||||||
- Create a master cross-fader.
|
- Create a master cross-fader.
|
||||||
|
|
||||||
|
DONE: Add a version of var_register() that both registers and returns the value of the variable.
|
||||||
|
|
||||||
Flow Instance Creation:
|
Flow Instance Creation:
|
||||||
-----------------------
|
-----------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user