|
tico 0.1
Mechanical Watch Terminal Timegrapher
|
Audio capture and terminal visualization tool that captures from a microphone and displays a time-domain graph that scrolls across your terminal.
By default, tico automatically selects the most appropriate microphone device using robust heuristics:
This logic ensures that USB microphones are prioritized for best compatibility and quality, but the program will work out-of-the-box on most Linux systems with ALSA.
You can override the device selection by specifying the device name with the -d option.
Before building, install the required dependencies:
This project uses CMake with preset configurations for different compilers and build types.
| Preset | Compiler | Build Type | Description |
|---|---|---|---|
debug | GCC | Debug | Debug build with default GCC |
release | GCC | Release | Release build with default GCC |
debug-gcc | GCC | Debug | Explicit GCC debug build |
release-gcc | GCC | Release | Explicit GCC release build |
debug-clang | Clang (auto-detected latest) | Debug | Debug build with newest installed Clang |
release-clang | Clang (auto-detected latest) | Release | Release build with newest installed Clang |
doxygen | Clang (auto-detected latest) | Debug | Generate API documentation with Doxygen |
For convenience, workflow presets combine configure → build → test steps:
Run formatting checks, clang-tidy, clang build-and-test, and a GCC build in one command:
The quality workflow runs these steps:
debug-clang)format-check)clang-tidy)debug-clang)debug_ctest-clang)quality-gcc-build -> runs debug-gcc configure + build)doxygen)API documentation is generated using Doxygen.
You can generate API documentation as part of a workflow or as a standalone step:
build/clang-debug/html/build/release/html/)build/clang-release/html/)You can also use the build presets directly:
cmake --build --preset doxygen (debug/clang)cmake --build --preset doxygen-release (release/gcc)cmake --build --preset doxygen-release-clang (release/clang)Note: The generated HTML documentation will be found in the
html/directory inside the build directory for the preset you use.
Run tests using CTest presets:
build/debug/ - GCC debug buildbuild/release/ - GCC release buildbuild/gcc-debug/ - Explicit GCC debugbuild/gcc-release/ - Explicit GCC releasebuild/clang-debug/ - Clang debugbuild/clang-release/ - Clang releaseThe project requires C11 standard support and exports compile commands for IDE integration.
This project is licensed under the GNU General Public License v3.0 (GPLv3).
Note: The GPLv3 license is required because this project depends on the FFTW library, which is licensed under GPL. As a result, any software linked with FFTW must also be distributed under the GPL.
See the LICENSE file for the full license text.