libcw testing and utility application
Go to file
2022-12-22 15:22:59 -05:00
build Makefile.am,build/linux/*/build.sh,README.me : Remove dependency on locally build libwebsockets. 2022-12-16 11:28:36 -05:00
m4 Initial commit 2012-10-29 14:07:53 -07:00
src/cwtest Initial commit 2022-12-17 17:45:15 -05:00
.gitignore .gitignore : updated 2020-03-24 08:42:54 -04:00
configure.ac configure.ac : Update copyright date 2022-12-22 15:22:59 -05:00
Makefile.am Makefile.am,build/linux/*/build.sh,README.me : Remove dependency on locally build libwebsockets. 2022-12-16 11:28:36 -05:00
README.md Makefile.am,build/linux/*/build.sh,README.me : Remove dependency on locally build libwebsockets. 2022-12-16 11:28:36 -05:00

libcw Testing and Development App

GDB Setup:

set env LD_LIBRARY_PATH ~/src/libcm/build/linux/debug/lib
r ~/src/cwtest/src/cwtest/cfg/main.cfg mtx

// if problems occur with gdb hanging while download debuginfo 
sudo dnf upgrade --enablerepo=*-debuginfo "*-debuginfo"   # update all debuginfo files

Valgrind setup

export LD_LIBRARY_PATH=~/src/libcm/build/linux/debug/lib
valgrind --leak-check=yes --log-file=vg0.txt ./cwtest  ~/src/cwtest/src/cwtest/cfg/main.cfg mtx

#Design Questions:

How should errors be presented to the user? developer?

#To Do:

All callbacks should return meaningful result codes.

UI Properties

name            - becomes the HTML id for this element
appId             application id for this element
title             label or title for this element
className         Base class name for this element. All elements have a built-in default class name.
addClassName      Add this class name to the class name.
clickable         This elemnt will send a 'click' msg when clicked.
enable            This element is enabled
visible           This element is visible.

Preset Select

  • backup to numbered file on save
  • play on preset letter select
  • Velocity of the individual notes of chords should be scaled to such that their sum matches the dynamic value.
  • allow the network to be reloaded without restarting the program
  • create an interactive spec-dist panel to experiment with presets

REVIEW:

  • gain problem
  • was it really the transition bug and not a gain bug?
  • FFT normalization
  • Float/Int conversion on ALSA output
  • create a metering object to examine signal at various places in network
  • add compressor/limiter like in cm based network

DONE:

  • save preset check box state.

  • verify that all fragments are saved and restored

  • UI: remove 'Filename' entry box.

  • flow proc: gain, audio channel split map, audio channel merge map, fixed delay

  • Fix CPU usage: work around for serial port server.

  • App: apply wet/dry and gain when new presets are loaded.

  • App: add 'Note' to fragment

  • App: add per fragment play control with begin/end locations

  • UI: reorganinze top panel layout

  • App: Add a status box to report errors and warnings to the user.

  • App: Send log output to "Log" UI.

  • App: When a invalid value is entered (thereby disabling a control) a message should be written to the status box.

  • App: Add ranges to numeric controls.

  • App: What happens when an invalid value is entered in a GUI control?

  • App: interactive wet in gain, wet out gain, dry gain, piano midi enable, sampler midi enable, sampler delay

  • App: interactive print network

  • App: automatically load on start

  • flow: Allow setting a specific variable value from a network preset

  • preset_sel: The sampler requires a different velocity map than the piano. The piano was scaled down but now the sampler is too quiet.

  • preset_set: deleting a fragment does not automatically fill in the missing location space.

  • libcw: Make IO sub-systems optionally synchronous

  • UI: clear UI when the app disconnects.

  • UI: Add an error indicator and API for each control (e.g. border set to red)

  • UI: Add the ability to order child lists via the 'order' attribute.

  • UI: Add API to delete a UI element

  • UI: add HTML class and name assignments to row/col div's. (See 'name' and 'addClassName' attribute.)

  • UI: add min/max/incr/decpl attributes to numeric variables (See uiSetNumbRange.)

  • PresetSel: Select and highlight a fragment.

  • PresetSel: + test adding,deleting, saving and restoring fragment records

  • Enable 'Delete' button when a fragment is selected.