Skip to main content
Version: 14.0.14

Developers

warning

This guide uses Linux/Unix commands.

Windows users may need to adapt paths and use PowerShell or WSL.

Prerequisites​

Get codebase​

git clone​

# with HTTPS
git clone https://github.com/sound-scape-explorer/sound-scape-explorer.git

# with SSH
git clone git@github.com:sound-scape-explorer/sound-scape-explorer.git

Download zip​

sound-scape-explorer-14.1.0.zip 125 MB

Monorepo structure​

sound-scape-explorer/             # Monorepo root
├── .github/workflows # CI/CD pipeline definitions
├── audio # "Audio" module (Express app)
├── bin # User installation scripts
├── campaign # "Campaign" module (React app)
├── examples # Examples
├── front # "Visualisation" module (Vue app)
├── processing # "Processing CLI" module (Python app)
├── shared # Shared utils, enums and schemas for JS packages
└── visualisation # "Standalone" app (Electron app)

Python setup​

cd processing
python3.11 -m venv venv
source venv/bin/activate
./install_deps_with_dev.sh

JS setup​

# at monorepo root
./reinstall_npm_packages.sh
pnpm visualisation:prepare-bins

Starting a development environment​

Python​

The installation script sets up the environment with watch mode enabled.

Update your code and run sse commands from the activated venv shell to see changes immediately.

JS​

You will need to start each module independently.

We recommend using a terminal multiplexer like tmux.

# Each terminal supposes monorepo root as current working directory

# First terminal - Visualisation module
# Will spawn at http://localhost:5530/
cd front
pnpm dev

# Second terminal - Audio module
# Will spawn at http://localhost:5531/
cd audio
pnpm dev $(which ffmpeg) $(which ffprobe) /path/to/audio/folder

# Third terminal - Campaign module
# Will spawn at http://localhost:5532/
cd campaign
pnpm dev

# Fourth terminal - Electron module
# Will spawn GUI
cd visualisation
npm run dev # !!!!! npm not pnpm

Build​

Python package​

cd processing
source venv/bin/activate
python -m build

Electron package​

pnpm visualisation:prebuild
cd visualisation
npm run build

Run tests​

./run_tests_all.sh