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
|
||||
|
||||
- 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
|
||||
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
|
||||
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:
|
||||
muteFlags(),toneFlags(), gain( ... gainA) but where the size of the dest array
|
||||
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*.
|
||||
@ -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.
|
||||
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
|
||||
|
||||
@ -65,7 +76,7 @@ element to be deleted.
|
||||
|
||||
- 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
|
||||
|
||||
@ -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 'appId' is assigned by the UI server when the JS client regsiters the control.
|
||||
|
||||
Client sends 'init' message.
|
||||
Server sends 'create' messages.
|
||||
Client sends 'register' messages.
|
||||
Client sends 'init' message.
|
||||
Server sends 'create' messages.
|
||||
Client sends 'register' messages.
|
||||
Server send' 'id_assign' messages.
|
||||
|
||||
# sockaddr_in reference
|
||||
@ -115,10 +126,14 @@ struct in_addr {
|
||||
|
||||
# Development Setup
|
||||
|
||||
0)
|
||||
```
|
||||
sudo dnf install g++ fftw-devel alsa-lib-devel libubsan
|
||||
```
|
||||
1) Install libwebsockets.
|
||||
|
||||
```
|
||||
sudo dnf install g++ openssl-devel cmake
|
||||
sudo dnf install openssl-devel cmake
|
||||
cd sdk
|
||||
git clone https://libwebsockets.org/repo/libwebsockets
|
||||
cd libwebsockets
|
||||
@ -145,7 +160,6 @@ struct in_addr {
|
||||
|
||||
# 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?
|
||||
|
||||
@ -167,6 +181,7 @@ specific types, to pass through. For example a 'selector' (n inputs, 1 output) o
|
||||
|
||||
- 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:
|
||||
-----------------------
|
||||
|
Loading…
Reference in New Issue
Block a user