Commit Graph

25 Commits

Author SHA1 Message Date
Mikkeli Matlock c466de62b2 updated gitignore 2026-03-15 15:16:32 +09:00
Mikkeli Matlock 3b689e0c4c Changed font size adjustable range 2025-08-22 00:52:58 +09:00
Mikkeli Matlock fa844dfde1 Updating CLAUDE settings to match initial rules 2025-08-22 00:36:33 +09:00
Mikkeli Matlock 9e65e721d4 Update project roadmap and documentation
- Reflect current implementation status with complete GUI and font system
- Update roadmap with prioritized development plan focusing on plot control widgets
- Reorganize future goals into urgent/short-term/mid-long term categories
- Add comprehensive feature overview and usage instructions
- Clarify next priority: plot control system clustering

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 00:26:27 +09:00
Mikkeli Matlock 265e8254cd Add unified font control system with auto-regeneration
- Add open file button for direct audio file selection
- Implement clustered FontControlWidget with font selector, size slider, and refresh controls
- Add auto-regeneration of matplotlib plots when fonts change
- Enhance FontManager with system font discovery and startup selection logic
- Replace individual font selector with comprehensive font control interface
- Support both custom fonts and system font candidates with proper prioritization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 00:18:31 +09:00
Mikkeli Matlock 4337a31b80 Implement threading, logging, and CJK font support
Major improvements to GUI stability and internationalization:

- Fix GUI freezing by implementing threaded audio analysis
  - Add AudioAnalysisWorker thread for background processing
  - Progress signals with percentage updates
  - Thread-safe communication via Qt signals

- Add comprehensive CLI logging system
  - 5 log levels: ERROR, WARN, INFO, DEBUG, TRACE
  - Command line control: --log-level, --log-file
  - Real-time feedback during analysis operations

- Implement CJK font fallback system
  - FontManager with 3-tier fallback (custom → system → default)
  - Cross-platform CJK font detection (Windows/macOS/Linux)
  - Licensing-safe fonts/ directory with gitignored font files
  - Setup utility and comprehensive documentation

- Fix numpy array formatting issue with BPM detection
- Add progress indicators for long-running operations
- Preserve fonts directory structure with placeholder file

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 23:39:53 +09:00
Mikkeli Matlock b07b363454 Implement modular GUI architecture with embedded matplotlib
Major refactor from popup-based to persistent PyQt5 interface:
- Extract plotting logic from AudioFile class into separate PlottingEngine
- Create AudioVisualizationWidget with embedded matplotlib canvas
- Add AnalysisResultsManager as bridge between processing and GUI
- Replace simple drag-drop widget with professional splitter layout
- Preserve legacy batch processing mode with execution guard

Features:
- Drag-and-drop audio analysis (.mp3/.wav/.flac support)
- File list with metadata display (BPM, amplitudes, track info)
- Persistent visualization area (no more matplotlib popups)
- Multi-file support with click-to-view functionality
- Threading-ready architecture for future background processing

Technical improvements:
- Clean separation of concerns (analysis/visualization/GUI)
- Qt signal-slot communication pattern
- Modular component design ready for multithreading
- Proper import guards prevent legacy code interference

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 22:43:11 +09:00
Mikkeli Matlock a9a4b1725c Add comprehensive documentation and usage instructions
- Added CLAUDE.md with detailed project documentation and roadmap
- Enhanced README.md with usage section for command line and GUI modes
- Updated with Claude Code credit
- Improved master_core.py with better song name handling and BPM display

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 00:47:47 +09:00
Mikkeli Matlock 09ab08b503 updated headroom conditions 2024-10-24 18:49:00 +09:00
Mikkeli Matlock c6cc924e73 disabled mp3 tag temporarily 2024-10-23 01:07:16 +09:00
Mikkeli Matlock e971d031de updated readme 2024-10-11 14:26:13 +09:00
Mikkeli Matlock 79005de818 objectification, but with minor problems 2024-10-11 14:23:56 +09:00
Mikkeli Matlock 25d334251e Fix conflicts 2024-10-10 16:28:49 +09:00
Mikkeli Matlock c839ebc78c objectified core 2024-10-10 16:27:59 +09:00
Mikkeli Matlock 1876b0cb9c more comment symbols 2024-09-28 02:11:37 +09:00
Mikkeli Matlock 15fbb5d47a more comment symbols 2024-09-28 02:11:05 +09:00
Mikkeli Matlock 6968fdc6c6 objectification 2024-09-25 13:48:01 +09:00
Mikkeli Matlock e213d8b014 structural fix 2024-09-25 10:35:07 +09:00
Mikkeli Matlock d912229b9b renamed module so it can be imported 2024-04-10 20:26:44 +09:00
Mikkeli Matlock 96ddad7943 fixed gitignore 2024-04-10 20:25:44 +09:00
Mikkeli Matlock 3c440e2a27 removed file list 2024-04-10 20:23:27 +09:00
Mikkeli Matlock e88878a1b3 GUI frame 2024-04-10 20:22:59 +09:00
Mikkeli Matlock 0872d30428 added gitignore 2024-04-10 20:19:00 +09:00
Mikkeli Matlock d05d5bf1c0 initial commit 2024-04-10 20:15:13 +09:00
WAN Ziyu 8cda38e1f1 Initial commit 2024-04-10 20:14:02 +09:00