6.7 KiB
6.7 KiB
Changelog
All notable changes to the Moonlight Drive-In project.
[Unreleased]
Planned Features
- LEGO Dimensions Portal integration (7-zone simultaneous NFC reading)
- Bluetooth LED controller integration for ambient lighting
- Expanded capacity beyond 64 movie mappings
- Additional automation patterns
- Enhanced gallery interfaces with custom grouping
[2.0.0] - Current Version
Added - Folder Sequence Support
- Folder-based sequential playback: Map NFC tags to folders containing multiple videos
- Automatic progression: Each scan plays the next video in the sequence
- State persistence: Tracks current position in each folder sequence
- Reset functionality: Button to restart all sequences from beginning
- folder_mapping.txt: New mapping file for folder sequences
- folder_state.json: Automatic state tracking file
- groupvideos directory: Dedicated location for folder sequences
Added - Web Interface
- Multi-page web dashboard: Statistics, Controls, Videos, System pages
- Real-time updates: SocketIO-based live status updates
- Mobile responsive: Works on phones, tablets, and desktops
- Network access: Control from any device on the same network
- Video dropdown: Manual video selection interface
- Hot-reload mappings: Reload configuration without restart
- System statistics: Comprehensive performance monitoring
Added - Enhanced Debug Console
- Global input capture: NFC works even when video is fullscreen
- Cross-platform support: pynput, Windows hooks, and Linux X11
- Folder reset button: Quick restart of all folder sequences
- Enhanced logging: Color-coded log messages
- Status indicators: Real-time system status display
- Web URL display: Easy access to web interface URLs
Added - MPV Integration
- Seamless transitions: Dual-player architecture for smooth playback
- Superior quality: MPV rendering for better video quality
- Hardware acceleration: GPU-accelerated video decoding
- Format support: Wide range of video formats
- Performance tracking: Transition timing and statistics
Improved - Anti-Repeat Algorithm
- 36-trailer history: Prevents repetition in trailer playback
- Intelligent rotation: Automatically manages available trailer pool
- History management: Clears oldest history when pool runs low
- Pool statistics: Shows available vs. recent trailers
Improved - Configuration System
- Automatic directory creation: Sets up folder structure on first run
- Example files: Generates template mapping files
- Enhanced validation: Better error checking and reporting
- Folder support: Native support for folder-based sequences
- State management: Save and load folder playback positions
Technical Improvements
- Thread-safe GUI updates using
root.after() - ASCII-safe console output (no Unicode emoji issues)
- Proper Windows PATH handling with quotes
- Enhanced error handling and logging
- Modular code architecture
- Comprehensive documentation
[1.5.0] - Web Interface Integration
Added
- Flask-based web interface
- SocketIO for real-time communication
- Remote NFC input capability
- Network client support (port 1360)
- Performance monitoring
- Web-based statistics display
Fixed
- Thread safety issues in web integration
- JSON serialization for datetime objects
- Network IP detection for web URLs
[1.0.0] - VLC to MPV Migration
Changed
- Migrated from VLC to MPV backend
- Improved video quality
- Better hardware acceleration
- Enhanced transition smoothness
Added
- Dual-player architecture
- Seamless video transitions
- Queue-based video management
- Transition timing metrics
Deprecated
- VLC-based main.py (kept for reference)
[0.9.0] - Enhanced Debug Console
Added
- Global keyboard capture
- NFC input buffering
- Timeout-based input processing
- Multi-platform input support
- Enhanced statistics display
- Color-coded logging
Improved
- Console UI layout
- Error handling
- Status indicators
- User feedback
[0.8.0] - NFC Integration
Added
- NFC reader support (ACS ACR122)
- key_mapping.txt for NFC configuration
- Automatic video triggering
- 64-video mapping capacity
Features
- Physical NFC tag control
- Instant video switching
- Mapping file validation
[0.5.0] - Initial Release
Added
- Basic VLC video playback
- Trailer rotation
- Simple video queue
- Directory-based video loading
- Configuration system
- Logging framework
Features
- Fullscreen video playback
- Automatic trailer cycling
- Manual video control
- Basic statistics
Development History
Phase 1: Foundation (0.1.0 - 0.5.0)
- Initial video player concept
- VLC integration
- Basic automation
Phase 2: NFC Integration (0.6.0 - 0.8.0)
- NFC reader support
- Physical tag control
- Mapping system
Phase 3: Enhanced Console (0.9.0 - 0.9.5)
- Global input capture
- Better UI
- Improved logging
Phase 4: MPV Migration (1.0.0 - 1.5.0)
- Backend rewrite
- Quality improvements
- Web interface addition
Phase 5: Folder Support (2.0.0)
- Sequential playback
- Folder mapping system
- State persistence
- Enhanced web interface
Known Issues
Current
- None reported
Workarounds Available
- Unicode console: Use ASCII version of console
- Windows PATH: Use quoted paths in batch files
- Folder validation: Run diagnostic script
Compatibility
Tested Platforms
- Windows 10 (primary)
- Windows 11 (primary)
- Linux (experimental)
Tested Hardware
- NFC: ACS ACR122 USB reader
- Display: 1920x1080 (Full HD)
- KAIYU Bluetooth LED Controller (in progress)
Tested Video Formats
- MP4 (recommended)
- AVI
- MKV
- MOV
- WMV
Migration Notes
From 1.x to 2.0
- Update Python dependencies:
pip install -r web_requirements.txt - Create groupvideos directory:
videos/groupvideos/ - Create folder_mapping.txt if using folder sequences
- Existing key_mapping.txt continues to work
- No changes needed to video files
From VLC to MPV
- Install MPV player
- Update requirements
- Use
mpv_main_fixed.pyinstead ofmain.py - Mappings remain unchanged
Contributors
- Jess - Project creator and primary developer
Roadmap
Short Term (Next Release)
- LEGO Dimensions Portal basic integration
- LED controller basic support
- Enhanced gallery system
- Custom icon support (64x64px)
Medium Term
- Multi-zone NFC reading
- Advanced LED effects
- Remote configuration editor
- Mobile app for control
Long Term
- Cloud sync for settings
- Multi-projector support
- Advanced automation
- Event scheduling
License
Personal project for Moonlight Drive-In theater system.
For setup instructions, see SETUP.md
For technical details, see README.md