Skip to content

Feature/Add FlatLaf GUI support#41

Draft
arif-banai wants to merge 2 commits into
masterfrom
feature/enhanced-gui
Draft

Feature/Add FlatLaf GUI support#41
arif-banai wants to merge 2 commits into
masterfrom
feature/enhanced-gui

Conversation

@arif-banai

Copy link
Copy Markdown
Owner

I want to provide an enhanced user experience when running the bot with the GUI enabled.

The current GUI is a simple java swing implementation, and just displays the logs. No other utility or function.

This is a WIP, will elaborate more as this gets more refined.

At a high level, I want the GUI to be a capable Dashboard/Control Panel, providing deeper insight about the bot's operation and enable an enhanced user experience (being able to make changes to the bot/config via the UI)

- Introduce FlatLaf dependencies for modern GUI styling.
- Refactor GUI components to utilize JFrame and FlatLaf themes.
- Implement GUI configuration options for theme and font size in BotConfig.
- Enhance ConsolePanel with search and filtering capabilities.
- Create MainFrame as the new main GUI window with tabbed interface.
- Add StatusBar and StatusPanel for displaying bot status and guild information.
- Update theme management to support runtime theme switching.
- Bump version to 0.6.3-alpha-new-gui.

This commit lays the groundwork for a new GUI experience in JMusicBot, enhancing user interaction and visual appeal.
@arif-banai arif-banai self-assigned this Jan 28, 2026
@arif-banai arif-banai added the enhancement New feature or request label Jan 28, 2026
@arif-banai arif-banai changed the title Add FlatLaf GUI support feature/Add FlatLaf GUI support Jan 28, 2026
@arif-banai arif-banai changed the title feature/Add FlatLaf GUI support Feature/Add FlatLaf GUI support Jan 28, 2026
@codecov

codecov Bot commented Jan 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0.25063% with 3582 lines in your changes missing coverage. Please review.
✅ Project coverage is 11.93%. Comparing base (b1963c1) to head (92a23c3).
⚠️ Report is 2 commits behind head on master.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...jagrosh/jmusicbot/gui/panels/PerformancePanel.java 0.00% 525 Missing ⚠️
...om/jagrosh/jmusicbot/audio/PerformanceMetrics.java 0.00% 415 Missing ⚠️
...agrosh/jmusicbot/gui/panels/SystemHealthPanel.java 0.00% 312 Missing ⚠️
.../com/jagrosh/jmusicbot/gui/panels/ConfigPanel.java 0.00% 291 Missing ⚠️
...sh/jmusicbot/gui/panels/EnhancedTimelinePanel.java 0.00% 280 Missing ⚠️
...agrosh/jmusicbot/gui/panels/SourceHealthPanel.java 0.00% 274 Missing ⚠️
.../com/jagrosh/jmusicbot/gui/panels/StatusPanel.java 0.00% 175 Missing ⚠️
...m/jagrosh/jmusicbot/audio/TrackLoadingMonitor.java 0.00% 170 Missing ⚠️
...m/jagrosh/jmusicbot/audio/SystemHealthMonitor.java 0.00% 154 Missing ⚠️
...main/java/com/jagrosh/jmusicbot/gui/MainFrame.java 0.00% 137 Missing ⚠️
... and 16 more
Additional details and impacted files
@@             Coverage Diff             @@
##           master      #41       +/-   ##
===========================================
- Coverage   23.83%   11.93%   -11.91%     
===========================================
  Files          87      104       +17     
  Lines        3486     7031     +3545     
  Branches      483      885      +402     
===========================================
+ Hits          831      839        +8     
- Misses       2600     6137     +3537     
  Partials       55       55               

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

- Updated Docker configuration to include optimized JVM options for audio performance, utilizing ZGC with a default heap size of 512MB.
- Added performance tuning guidelines in README.md, detailing JVM flags and buffer configurations to minimize audio stuttering.
- Introduced new performance metrics tracking with GCMonitor and PerformanceMetrics classes to monitor garbage collection events and audio frame processing.
- Implemented SystemHealthMonitor and VoiceConnectionMonitor for comprehensive diagnostics of system health and voice connection stability.
- Enhanced GUI with new panels for performance and system health monitoring, providing users with real-time insights into audio processing and system metrics.

This commit significantly improves the audio handling capabilities of JMusicBot, ensuring a smoother user experience and better diagnostics for performance issues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant