Features: - Dual-AVPlayer Smart DJ crossfade with LUFS normalization - Mitsuha-style FFT visualizer (real-time + offline pre-computed) - Companion API integration (Smart DJ, tag editing, vis frames) - Offline-first SyncEngine with delta sync and album detail pre-caching - Audio pre-fetcher for gapless queue playback - Optimistic action queue (star/unstar with background retry) - ShazamKit recognition with MusicKit preview playback - Radio streaming with HLS/PLS/M3U support and buffer seek - Watch app with Crown Sequencer and Ultra speaker support - Batch metadata editing with album_artist fix for split albums - Cache-first UI pattern across all views - NWPathMonitor offline detection with reactive song greying
40 lines
906 B
Bash
Executable file
40 lines
906 B
Bash
Executable file
#!/bin/bash
|
|
# NavidromePlayer — Xcode project generator
|
|
# Runs XcodeGen and opens the project in Xcode
|
|
#
|
|
# Usage:
|
|
# ./generate.sh Generate project and open Xcode
|
|
# ./generate.sh --no-open Generate project only
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# Check for XcodeGen
|
|
if ! command -v xcodegen &> /dev/null; then
|
|
echo "❌ XcodeGen not found. Install it with:"
|
|
echo " brew install xcodegen"
|
|
exit 1
|
|
fi
|
|
|
|
# Check for project.yml
|
|
if [ ! -f "project.yml" ]; then
|
|
echo "❌ project.yml not found in $(pwd)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "🔧 Generating Xcode project..."
|
|
xcodegen generate
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ NavidromePlayer.xcodeproj generated successfully"
|
|
|
|
if [ "$1" != "--no-open" ]; then
|
|
echo "📂 Opening in Xcode..."
|
|
open NavidromePlayer.xcodeproj
|
|
fi
|
|
else
|
|
echo "❌ XcodeGen failed"
|
|
exit 1
|
|
fi
|