58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# 01. Copy cavacore library files to project
|
|
|
|
meta:
|
|
id: real-time-audio-visualization-01
|
|
feature: real-time-audio-visualization
|
|
priority: P0
|
|
depends_on: []
|
|
tags: [setup, build]
|
|
|
|
objective:
|
|
- Copy necessary cava library files from cava/ directory to src/utils/ for integration
|
|
|
|
deliverables:
|
|
- src/utils/cavacore.h - Header file with cavacore API
|
|
- src/utils/cavacore.c - Implementation of cavacore library
|
|
- src/utils/audio-stream.h - Audio stream reader header
|
|
- src/utils/audio-stream.c - Audio stream reader implementation
|
|
- src/utils/audio-input.h - Common audio input types
|
|
- src/utils/audio-input.c - Audio input buffer management
|
|
|
|
steps:
|
|
- Identify necessary files from cava/ directory:
|
|
- cavacore.h (API definition)
|
|
- cavacore.c (FFT processing implementation)
|
|
- input/common.h (common audio data structures)
|
|
- input/common.c (input buffer handling)
|
|
- input/fifo.h (FIFO input support - optional, for testing)
|
|
- input/fifo.c (FIFO input implementation - optional)
|
|
- Copy cavacore.h to src/utils/
|
|
- Copy cavacore.c to src/utils/
|
|
- Copy input/common.h to src/utils/
|
|
- Copy input/common.c to src/utils/
|
|
- Copy input/fifo.h to src/utils/ (optional)
|
|
- Copy input/fifo.c to src/utils/ (optional)
|
|
- Update file headers to indicate origin and licensing
|
|
- Note: Files from cava/ directory will be removed after integration
|
|
|
|
tests:
|
|
- Unit: Verify all files compile successfully
|
|
- Integration: Ensure no import errors in TypeScript/JavaScript files
|
|
- Manual: Check that files are accessible from src/utils/
|
|
|
|
acceptance_criteria:
|
|
- All required cava files are copied to src/utils/
|
|
- File headers include proper copyright and license information
|
|
- No compilation errors from missing dependencies
|
|
- Files are properly formatted for TypeScript/JavaScript integration
|
|
|
|
validation:
|
|
- Run: `bun run build` to verify compilation
|
|
- Check: `ls src/utils/*.c src/utils/*.h` to confirm file presence
|
|
|
|
notes:
|
|
- Only need cavacore.c, cavacore.h, and common.c/common.h for basic functionality
|
|
- input/fifo.c is optional - can be added later if needed
|
|
- FFTW library will need to be installed and linked separately
|
|
- The files will be integrated into the audio-waveform utility
|