Experimental real-time audio and signal processing application development framework.
Go to file
kpl 5cda838a93 Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules.
Other minor changes to prepare for integration into cwIo.
In cwMidi* replaced 'byte_t' with 'uint8_t'.
In cwAudioDevice* removed redundant 'device' prefix from function names.
2020-03-23 10:41:28 -04:00
dns_sd dns_sd/rpt.h/cpp : Initial commit. 2020-03-04 14:25:59 -05:00
html/websockSrvTest Many changes and additions. 2019-12-24 10:05:24 -05:00
study/serial Many changes and additions. 2019-12-24 10:05:24 -05:00
.gitignore .gitignore : initial commit. 2020-03-04 14:26:33 -05:00
cwAudioBuf.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwAudioBuf.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwAudioBufDecls.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwAudioDevice.cpp Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwAudioDevice.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwAudioDeviceAlsa.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwAudioDeviceAlsa.h Changed audio system to use external driver modules. 2019-12-25 21:44:14 -05:00
cwAudioDeviceDecls.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwAudioDeviceTest.cpp Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwAudioDeviceTest.h Added cw::audio::device::report(); 2020-02-12 13:22:48 -05:00
cwAvahiSurface.cpp Updated dns_sd/ to match the Arduino build. 2020-02-13 11:29:52 -05:00
cwCommon.h cwCommon.h : Add literal result code values to result code comments. 2020-03-16 22:58:05 -04:00
cwCommonImpl.cpp Initial commit 2019-12-18 22:24:12 -05:00
cwCommonImpl.h Initial implementation cwTcpSocket* 2019-12-27 16:52:45 -05:00
cwDnsSd.cpp cwDnsSd.cpp/cwMdns.cpp : Remove use of socket handle in calls to socket::initAddr(). 2020-03-16 22:55:39 -04:00
cwDnsSd.h cwUtility, cwDnsSd, cwEuCon : Initial commit. 2020-02-12 13:43:00 -05:00
cwEuCon.cpp cwDnsSd.cpp,cwEuCon.cpp : Updates to support EuCon simulation. 2020-02-29 00:15:18 -05:00
cwEuCon.h cwUtility, cwDnsSd, cwEuCon : Initial commit. 2020-02-12 13:43:00 -05:00
cwFile.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwFile.h Changed audio system to use external driver modules. 2019-12-25 21:44:14 -05:00
cwFileSys.cpp cwFileSys.cpp : Added comments. 2020-01-27 17:49:19 -05:00
cwFileSys.h Implemented filesys::dirEntries() 2019-12-27 23:35:39 -05:00
cwIo.cpp cwIo.cpp : Temporarily remove call to serialPortSrv:create() while serial port system is modified. 2020-03-16 22:56:58 -04:00
cwIo.h cwIo.h/cpp,cwIoTest.cpp : Audio interface updates. 2020-02-29 00:13:11 -05:00
cwIoTest.cpp cwIo.h/cpp,cwIoTest.cpp : Audio interface updates. 2020-02-29 00:13:11 -05:00
cwIoTest.h cwIo.h/cpp, cwIoTest.h/cpp : Initial commit. 2020-01-27 17:53:44 -05:00
cwLex.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwLex.h Initial implementation cwTcpSocket* 2019-12-27 16:52:45 -05:00
cwLib.cpp cwLib.h/cpp, cwMutex.h/cpp : Initial commit. 2020-03-04 14:05:54 -05:00
cwLib.h cwLib.h/cpp, cwMutex.h/cpp : Initial commit. 2020-03-04 14:05:54 -05:00
cwLog.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwLog.h Initial implementation cwTcpSocket* 2019-12-27 16:52:45 -05:00
cwMdns.cpp cwDnsSd.cpp/cwMdns.cpp : Remove use of socket handle in calls to socket::initAddr(). 2020-03-16 22:55:39 -04:00
cwMdns.h cwMdns.h/cpp : Initial commit. 2020-01-27 17:51:38 -05:00
cwMem.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwMem.h Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwMidi.cpp Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwMidi.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwMidiAlsa.cpp Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwMidiDecls.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwMidiPort.cpp Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwMidiPort.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwMpScNbQueue.h cwMpScNbQueue.h : Added comments. 2020-01-27 17:50:02 -05:00
cwMutex.cpp cwLib.h/cpp, cwMutex.h/cpp : Initial commit. 2020-03-04 14:05:54 -05:00
cwMutex.h cwLib.h/cpp, cwMutex.h/cpp : Initial commit. 2020-03-04 14:05:54 -05:00
cwNbMem.cpp cwNbMem.h/cpp : Initial commit. 2020-01-27 17:51:56 -05:00
cwNbMem.h cwNbMem.h/cpp : Initial commit. 2020-01-27 17:51:56 -05:00
cwNumericConvert.h Initial commit 2019-12-18 22:24:12 -05:00
cwObject.cpp cwObject.cpp,cwObjectTemplate.h,main.cpp : Fixed cwObject bool parsing. 2020-02-29 00:12:15 -05:00
cwObject.h cwObject.h/cpp : Added list_ele(). 2020-01-27 17:48:17 -05:00
cwObjectTemplate.h cwObject.cpp,cwObjectTemplate.h,main.cpp : Fixed cwObject bool parsing. 2020-02-29 00:12:15 -05:00
cwSerialPort.cpp cwSerialPort.cpp : fix bug where the incorrect byte count could be sent on a receive callback. 2020-03-16 22:54:14 -04:00
cwSerialPort.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwSerialPortDecls.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwSerialPortSrv.cpp cwSerialPort.h/cpp,cwSerialPortSrv.h/cpp : serialPort now manages multiple ports. 2020-03-05 22:04:53 -05:00
cwSerialPortSrv.h cwSerialPort.h/cpp,cwSerialPortSrv.h/cpp : serialPort now manages multiple ports. 2020-03-05 22:04:53 -05:00
cwSocket.cpp cwSocket.cpp : Sockets are now automatically closed when poll() detects HUP or NVAL conditions. 2020-03-18 19:54:01 -04:00
cwSocket.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwSocketDecls.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwTcpSocket.cpp cwTcpSocket.h/cpp : Remove the handle_t argument in initAddr() 2020-03-16 22:52:21 -04:00
cwTcpSocket.h cwTcpSocket.h/cpp : Remove the handle_t argument in initAddr() 2020-03-16 22:52:21 -04:00
cwTcpSocketSrv.cpp Many changes and additions to cwTcpSocket* to support MDNS and DNS-SD operations. 2020-02-12 13:25:13 -05:00
cwTcpSocketSrv.h Many changes and additions to cwTcpSocket* to support MDNS and DNS-SD operations. 2020-02-12 13:25:13 -05:00
cwTcpSocketTest.cpp Many changes and additions to cwTcpSocket* to support MDNS and DNS-SD operations. 2020-02-12 13:25:13 -05:00
cwTcpSocketTest.h Many changes and additions to cwTcpSocket* to support MDNS and DNS-SD operations. 2020-02-12 13:25:13 -05:00
cwText.cpp Many changes and additions. 2019-12-24 10:05:24 -05:00
cwText.h Many changes and additions. 2019-12-24 10:05:24 -05:00
cwTextBuf.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwTextBuf.h Many changes and additions. 2019-12-24 10:05:24 -05:00
cwThread.cpp cwThread.cpp : Threads are no longer created in detached state 2020-03-18 19:05:48 -04:00
cwThread.h cwThread.h/cpp : thread_id_t is changed form unsigned to unsigned long long. 2020-01-27 17:50:57 -05:00
cwTime.cpp cwTime.h : Added now(), advanceMs() and futureMs(). 2020-03-04 14:06:27 -05:00
cwTime.h cwTime.h : Added now(), advanceMs() and futureMs(). 2020-03-04 14:06:27 -05:00
cwUtility.cpp cwUtility, cwDnsSd, cwEuCon : Initial commit. 2020-02-12 13:43:00 -05:00
cwUtility.h cwUtility, cwDnsSd, cwEuCon : Initial commit. 2020-02-12 13:43:00 -05:00
cwWebSock.cpp Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwWebSock.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwWebSockDecls.h Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
cwWebSockSvr.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwWebSockSvr.h Implemented filesys::dirEntries() 2019-12-27 23:35:39 -05:00
main.cfg Initial commit 2019-12-18 22:24:12 -05:00
main.cpp cwSocket.h/cpp, main.cpp : Updates to socksrv::test(). 2020-03-18 14:08:21 -04:00
Makefile Added 'decls' include files to hold public declarations for audio,midi,serial,socket, and websock modules. 2020-03-23 10:41:28 -04:00
README.md cwSocket.h/cpp : added callback on connection. 2020-03-18 15:53:11 -04:00
setup.sh Changed audio system to use external driver modules. 2019-12-25 21:44:14 -05:00
valgrind_test.sh valgrind_test.sh : Add 5th command line argument placeholder. 2020-03-16 22:59:31 -04:00

  • Clean up the cwObject namespace - add an 'object' namespace inside 'cw'

  • Add underscore to the member variables of object_t.

  • logDefaultFormatter() in cwLog.cpp uses stack allocated memory in a way that could easily be exploited.

  • lexIntMatcher() in cwLex.cpp doesn't handle 'e' notation correctly. See note in code.

  • numeric_convert() in cwNumericConvert.h could be made more efficient using type_traits.

  • thread needs setters and getters for internal variables

  • change cwMpScNbQueue so that it does not require 'new'.

  • cwAudioBuf.cpp - the ch->fn in update() does not have the correct memory fence.

  • change file names to match object names

  • change all NULL's to nullptr

  • implement kTcpFl in cwTcpSocket.cpp

Development Setup

  1. Install libwebsockets.
    sudo dnf install g++ openssl-devel cmake
    cd sdk
    git clone https://libwebsockets.org/repo/libwebsockets
    cd libwebsockets
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/kevin/sdk/libwebsockets/build/out ..
  1. Environment setup:

    export LD_LIBRARY_PATH=~/sdk/libwebsockets/build/out/lib