Extensive documentation for using the library cleaning and organization toolkit for DJs and Producers on macOS.
.pkg installers and automation of development tasks.DJProducerTools_MultiScript_ES.sh – Spanish interface.DJProducerTools_MultiScript_EN.sh – English interface.install_djpt.sh – simple installer (downloads the latest version).cat <<'EOF' > install_djpt.sh
#!/usr/bin/env bash
set -e
for f in DJProducerTools_MultiScript_ES.sh DJProducerTools_MultiScript_EN.sh; do
url="https://raw.githubusercontent.com/Astro1Deep/DjProducerTool/main/$f"
curl -fsSL "$url" -o "$f"
chmod +x "$f"
done
echo "Done. Run ./DJProducerTools_MultiScript_ES.sh or ./DJProducerTools_MultiScript_EN.sh"
EOF
chmod +x install_djpt.sh
./install_djpt.sh
python3 recommended for ffprobe/librosa and optional ML features._DJProducerTools/ (config, logs, plans, quarantine)../DJProducerTools_MultiScript_ES.sh # Spanish version
./DJProducerTools_MultiScript_EN.sh # English version
_DJProducerTools/ in the BASE_PATH (config/logs/plans/quarantine)._DJProducerTools is found near the current directory, that root is used as the BASE_PATH._DJProducerTools/config/: djpt.conf (BASE_PATH, roots, SafeMode/Lock/DryRun flags), exclusion profiles, path history._DJProducerTools/reports/: hash_index.tsv, media_corrupt.tsv, workspace_scan.tsv, serato_video_report.tsv, playlists_per_folder.m3u8, ml_predictions_*.tsv, etc._DJProducerTools/plans/: dupes_plan.tsv/json, cleanup_pipeline_*.txt, workflow_*.txt, integration_engine_*.txt, efficiency_*.tsv, ml_organization_*.tsv, predictive_backup_*.txt, cross_platform_*.txt, mirror_integrity_*.tsv, etc._DJProducerTools/quarantine/: files moved by option 11 or chains that use it._DJProducerTools/logs/: executions, ML installations; viewer in option 28._DJProducerTools/venv/: virtual environment for optional ML.SAFE_MODE and DJ_SAFE_LOCK block dangerous actions (quarantine/moves). Disable both if you want to apply plans.DRYRUN_FORCE forces simulation in some actions.DEBUG_MODE: If a task gets “stuck” with the spinning logo, you can edit the script and set DEBUG_MODE=1 at the top. This will disable animations and show real-time command output to help you diagnose the issue.1) Secure backup + snapshot (8 -> 27) 2) Exact dedup + quarantine (10 -> 11) 3) Metadata + names cleanup (39 -> 34) 4) Media health: rescan + playlists + relink (18 -> 14 -> 15) 5) Show prep: backup/snapshot/dup/playlist (8 -> 27 -> 10 -> 11 -> 14 -> 8) 6) Integrity + corrupt files (13 -> 18) 7) Efficiency plan (42 -> 44 -> 43) 8) Basic ML organization (45 -> 46) 9) Predictive backup (49 -> 8 -> 27) 10) Cross-platform sync (50 -> 39 -> 8 -> 8) 11) Quick diagnosis (1 -> 3 -> 4 -> 5) 12) Serato health (7 -> 59) 13) Hash + mirror check (9 -> 68) 14) Audio prep (31 -> 69 -> 70) 15) Integrity audit (6 -> 9 -> 27 -> 68) 16) Cleanup + safe backup (39 -> 34 -> 10 -> 11 -> 8 -> 27) 17) Library sync prep (18 -> 14 -> 50 -> 8 -> 27) 18) Visuals health (V2 -> V6 -> V8 -> V9 -> 8) 19) Advanced audio organization (31 -> 30 -> 35 -> 45 -> 46) 20) Reinforced Serato security (7 -> 8 -> 59 -> 12 -> 49) 21) Multi-disk dedup + mirror (9 -> 10 -> 46 -> 11 -> 68)
_DJProducerTools/plans/ (dupes, cleanup, workflows, integrations, sync, efficiency)._DJProducerTools/reports/ (hashes, corrupt files, catalogs, playlists, cues, ML)._DJProducerTools/quarantine/ (applied by option 11 or chains that use it)._DJProducerTools/logs/ (viewer in option 28).hash_index (9) and dupes_plan (10); disable SafeMode/Lock if you want to apply changes (11).docs/menu_es_full.svg and docs/menu_en_full.svg.bash docs/generate_menu_svgs.sh.To avoid disasters before a gig, follow this rule using the script’s tools:
-q:a 0). The script automatically moves the heavy WAVs to a _WAV_Backup folder so you can archive them on your studio drive and only carry the lightweight MP3s.Older CDJs can fail with strange characters or very large artworks.
artist_pages.tsv (in config/) with templates for bio, press kit, rider/stage plot, DMX/OBS/Ableton showfiles, and links to platforms/networks (Spotify, Apple, YouTube, SoundCloud, Beatport, Traxsource, Bandcamp, Mixcloud, Audius, Tidal, Deezer, Amazon, Shazam, Juno, Pandora, Instagram, TikTok, Facebook, Twitter/X, Threads, RA, Patreon, Twitch, Discord, Telegram, WhatsApp, Merch, Boiler Room…). You can edit it inline and export to CSV/HTML/JSON (reports/).LICENSE.md).The project includes a basic unit test suite to verify the functionality of the main utility functions.
Open a terminal and navigate to your project’s root directory. Use quotes if the path contains spaces:
cd "/Users/ivan/Desktop/0 SERATO BIBLIOTECA/DJProducerTools_Project "
Give execution permissions to the test script (you only need to do this once):
chmod +x tests/test_runner.sh
Run the tests:
bash tests/test_runner.sh
The runner will automatically discover and run all test functions, showing a summary of passed and failed tests.
tests/test_runner.sh loads the main script (DJProducerTools_MultiScript_EN.sh).test_*) validates a specific piece of logic using simple helpers like assert_equals.strip_quotes and should_exclude_path.To add a new test, open tests/test_runner.sh and create a new function whose name starts with test_. The runner will detect it automatically.
build_macos_pkg.sh: Creates a native macOS .pkg installer that installs the application in /Applications. Ideal for simple distribution.generate_menu_svgs.sh: Automatically generates SVG screenshots of the menus. Requires termtosvg (pip install termtosvg).test_runner.sh: Runs the unit test suite to ensure code quality.tests/check_consistency.sh: Verifies the project’s internal consistency. It checks menus, functions, chains, documentation existence, looks for pending TODOs/FIXMEs, validates the syntax of all .sh scripts using shellcheck (if installed), and scans for hardcoded secrets. Essential to run before a commit.build_release_pack.sh: Prepares a complete package for a GitHub release. It generates a draft CHANGELOG.md by grouping commits by type (e.g., feat, fix) from the git history. It can also optionally publish the release automatically to GitHub if you configure an access token.generate_html_report.sh: Runs the check_consistency.sh script and generates a visual status report in HTML format (project_status_report.html), with separate sections for failures, pending tasks (TODOs), and successful checks.These scripts automate the development lifecycle, from testing to final product creation and documentation updates.