11 Commits

Author SHA1 Message Date
Geert Rademakes
4a7d9c178a feat: Add intelligent song matching system
- Add SongMatchingService with multi-criteria matching algorithms
- Add matching API routes for auto-linking and manual matching
- Add SongMatching component with statistics and suggestion modal
- Update SongList to show music file availability and play buttons
- Update MusicStorage page with song matching tab
- Enhance Song interface with music file integration
- Add comprehensive matching statistics and reporting

Features:
- Filename, title, artist, album, and duration matching
- Fuzzy matching with Levenshtein distance
- Confidence scoring and match type classification
- Auto-linking with configurable thresholds
- Manual matching with detailed suggestions
- Visual indicators for music file availability
- Integration with existing playlist functionality

Matching algorithms prioritize:
1. Exact filename matches
2. Artist-Title pattern matching
3. Metadata-based fuzzy matching
4. Duration-based validation

The system provides a complete workflow from upload to playback,
automatically linking music files to Rekordbox songs with manual
override capabilities for unmatched files.
2025-08-06 13:55:18 +02:00
Geert Rademakes
7fb8614130 feat: Major performance optimizations - Add React.memo, useMemo, and useCallback to prevent unnecessary re-renders - Implement request cancellation with AbortController to prevent memory leaks - Add debounced search to reduce API calls - Optimize song selection and playlist switching performance - Fix browser crashes and memory leaks - Add proper cleanup functions 2025-08-06 10:03:26 +02:00
Geert Rademakes
db4408b953 Added config page! 2025-04-25 10:29:24 +02:00
Geert Rademakes
ab531462c2 Some extra ui improvements 2025-04-25 09:38:53 +02:00
Geert Rademakes
7e1f4e1cd4 UI fixes! 2025-04-25 09:21:38 +02:00
Geert Rademakes
1a3beb7e6f Details are working again 2025-04-24 23:50:54 +02:00
Geert Rademakes
3a13c24301 Folders working! 2025-04-24 23:45:14 +02:00
Geert Rademakes
ea2942edc1 url based navigation 2025-04-24 22:11:51 +02:00
Geert Rademakes
35da4f83ce With amazing details screen on the sidebar now! 2025-04-24 19:55:10 +02:00
Geert Rademakes
5c62f9d147 UI improvements! 2025-04-24 16:08:06 +02:00
Geert Rademakes
901c78990b frontend AND backend bro!! 2025-04-24 15:28:22 +02:00