README.md : Added ToDo's.

This commit is contained in:
kevin 2022-05-21 09:29:26 -04:00
parent b6a0ce94b9
commit 4fb7d26c48

View File

@ -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:
----------------------- -----------------------