Initial commit: lesson-highlights generator
This commit is contained in:
@@ -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 ""
|
||||
Reference in New Issue
Block a user