Experimental real-time audio and signal processing application development framework.
Go to file
2020-03-18 16:03:12 -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 cwIo.h/cpp,cwIoTest.cpp : Audio interface updates. 2020-02-29 00:13:11 -05:00
cwAudioDevice.cpp Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwAudioDevice.h Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05: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
cwAudioDeviceTest.cpp Added cw::audio::device::report(); 2020-02-12 13:22:48 -05: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 Many changes and additions. 2019-12-24 10:05:24 -05:00
cwMidi.h Many changes and additions. 2019-12-24 10:05:24 -05:00
cwMidiAlsa.cpp cwMidiAlsa.h/cpp,cwMidiPort.h : Updated MIDI system to remove global manager variable. 2020-01-27 17:47:14 -05:00
cwMidiPort.cpp cwMidiAlsa.h/cpp,cwMidiPort.h : Updated MIDI system to remove global manager variable. 2020-01-27 17:47:14 -05:00
cwMidiPort.h cwMidiAlsa.h/cpp,cwMidiPort.h : Updated MIDI system to remove global manager variable. 2020-01-27 17:47:14 -05: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 cwSerialPort.h/cpp,cwSerialPortSrv.h/cpp : serialPort now manages multiple ports. 2020-03-05 22:04:53 -05: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 : Added more reporting from test callback. 2020-03-18 16:03:12 -04:00
cwSocket.h cwSocket.h/cpp : added callback on connection. 2020-03-18 15:53:11 -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 : Added call to pthread_attr_destroy() to fix problem with pthread library memory leak. 2020-02-12 13:26:18 -05: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 Standardized filesys and mem namespaces. 2019-12-27 21:51:28 -05:00
cwWebSock.h Many changes and additions. 2019-12-24 10:05:24 -05: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 cwSocket.h/cpp,Makefile : New socket system implementation. 2020-03-16 22:59:07 -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