Skip to content

CDJ-BeatBoxer: A drum machine fully synced to your CDJs via ProDJ Link using beat-link. Better version of CDJ-BeatBox

Notifications You must be signed in to change notification settings

FerdiStro/CDJ-BeatBoxer

Repository files navigation

CDJ-BeatBoxer

All Contributors

A drum machine fully synced to your CDJs via ProDJ Link using beat-link. Better version of CDJ-BeatBox.Compile and run in a single bin for performative TUI build in Rust.

Java Rust

GitHub Actions Workflow Status GitHub Release

Dev-Setup

  1. Install mise and follow instruction guides
  2. Run-mise trust
  3. Run-mise install

Build and Run local

To build just run:

./build-combined-bin.sh

After that execute the CDJ-BeatBoxer:

./CDJ-BeatBoxer

Engine

For building and starting the engine just use Gradle. Go to /BeatBoxer-Engien and use one of these:

#Build
./gradlew build

#Build and ZIP
./gradlew bundleApp

#Build and run 
./gradlew run

TUI

For building and starting the TUI just use cargo. Go to /BeatBoxer-Tui and use one of these:

#Build
cargo build

#Run main TUI. Select current env 
cargo run --bin beatboxer-tui

#Production build. before run these make sure you executed ./gradlew bundleApp
cargo build --release --bin prod_binary

#Test TUI for testing the engine
cargo run --bin test_ui

Build and Release

Project CI/CD listen to git tag - 'v*'.
To build on push just add new tag:

git tag vX.X.X
git push origin vX.X.X

Architecture

Engine:
architecture

Binary-Structs

Communication between TUI → Engine and Engine → TUI uses shared-memory-files. The binar-struct is documented in the Binary-Structs.md

System dependencies

sudo apt install libasound2-dev


Contributors

Pharrell Kaim
Pharrell Kaim

💻
Ferdinand Strobel
Ferdinand Strobel

💻

About

CDJ-BeatBoxer: A drum machine fully synced to your CDJs via ProDJ Link using beat-link. Better version of CDJ-BeatBox

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •