# Debian / Ubuntu
sudo apt install build-essentials nodejs npm
sudo apt install libfftw3-dev libjack-jackd2-dev zlib1g-dev libsndfile1-dev
sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev
sudo ld-config
# Fedora
sudo dnf install make automake libtool gcc-c++ nodejs npm
sudo dnf install fftw-devel jack-audio-connection-kit-devel zlib-devel libsndfile-devel
sudo dnf install gtk3-devel webkit2gtk3-devel
sudo ldconfig -v
git clone ...
cd MckMixer
make dependencies
make gui
make
Open the folder in VS Code and run make debug
and cd gui && npm run dev
. Then use the run and debug target.
The svelte gui can be debugged with an webkit enabled browser like epiphany on inspector://127.0.0.1:1234
.
If libfreeverb3 is not found, add /usr/local/lib to /etc/ld.conf or in separate .conf file in the directory /etc/ld.conf.d/ and run sudo ldconfig -v.
- GUI Directory (www) is relative to executable
- Install directory for freeverb3 lib on Fedora is wrong
- Cleanup Makefile
- Mixing mono and stereo channel to a stereo master bus
- Delay FX Bus
- Feedback Filtering
- Ping pong delay
- Tempo and Time mode switchable (secs vs tabs per step)
- Tempo sync (MIDI)
- Reverb FX Bus
- More reverb type
- More reverb controls
- HTML GUI with websocket communication
- Sleek design
- Dark theme
- Saving and loading JACK connections
- Controlling connections from GUI
- MIDI Control
- Settings page with MIDI learn
- Master bus recording
- Looper functionality with MIDI sync, MIDI control & overdubbing
- Define folder for recordings
- Architecture
- Bind JACK ports to channel buffer
- Save & load presets on the fly
- Backup folder for presets / config
- Metering
- Pre/Post Meters for Inputs
- Master Meter for Outputs
- Oscillograph view for output / maybe input