Initial commit: lesson-highlights generator

This commit is contained in:
hmo
2026-05-03 03:07:22 +08:00
commit 9e62247a60
55 changed files with 6189 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
#!/bin/bash
# Piano Highlight Generator - Build Script for Linux/macOS
# Prerequisites: Python 3.10+, FFmpeg (in PATH)
set -e
echo "================================================"
echo " Piano Highlight Generator - Nuitka Build"
echo "================================================"
echo ""
# Check Python version
echo "Checking Python version..."
python3 --version || { echo "ERROR: Python not found. Please install Python 3.10 or higher."; exit 1; }
# Check FFmpeg
echo ""
echo "Checking FFmpeg..."
if ! command -v ffmpeg &> /dev/null; then
echo "WARNING: FFmpeg not found in PATH. The built executable will require FFmpeg."
echo "Please install FFmpeg: sudo apt install ffmpeg (Ubuntu/Debian) or brew install ffmpeg (macOS)"
echo ""
fi
# Create dist directory if not exists
mkdir -p dist
# Install build dependencies
echo ""
echo "Installing build dependencies..."
pip3 install nuitka pandas
# Build
echo ""
echo "Starting Nuitka compilation..."
echo "This may take several minutes on first run..."
echo ""
python3 -m nuitka \
--standalone \
--onefile \
--output-dir=dist \
--output-name=PianoHighlightGenerator \
--enable-plugin=pyside6 \
--include-data-files=src/core/prompts=prompts \
--python-version=3.10 \
src/main.py
echo ""
echo "================================================"
echo " Build complete!"
echo "================================================"
echo ""
echo "Output: dist/PianoHighlightGenerator.bin"
echo ""
echo "NOTE: FFmpeg must be in PATH for the executable to work."
echo ""
echo "To run FFmpeg from a specific location, either:"
echo " 1. Add FFmpeg to your PATH"
echo " 2. Place FFmpeg binary in the same directory as the executable"
echo ""