Open Lovinity opened 5 years ago
Using web workers will not be possible for SkywayJS nor any of the audio-related functionality; those use the DOM, which Workers have no access to. However:
We can still send other CPU intensive tasks to a worker, such as calculating calendar events. Maybe we can send SkywayJS and audio related items to a separate browserView in the main window on another thread.
We might want to consider moving all audio-related functionality, including SkywayJS, into its own BrowserWindow so it uses its own thread and process. It can pass messages back and forth between the renderer or the main process
The above has been moved to browserWindows with DOM processing in renderer (browserWindows send data via messages to renderer, which renderer then processes to the DOM).
The rest of cleanup has been deferred
DJ Controls is in dire need of a code cleanup. This is a container for all of the code cleanup proposals and tasks. More may be added over time.
[ ] Implement new WWSU.js when it is developed (from the WWSU repository), and use it for TAFFYDB.
[ ] Find ways to consolidate on the amount of code written
[ ] Consider parallel functions where possible
[x] Consider using javascript Workers for CPU-intensive functionality such as for
the audio recorder / silence detection, calendar calculations, andSkywayJS. Be aware workers do not have direct access to the DOM; they have to pass messages back and forth from the renderer.js.[ ] Organize the code into groups
[ ] Improve documentation, especially of functions
[ ] Create classes for repetitive elements, such as control buttons
[ ] Test everything