Repository navigation
Fix window size, file browser, and add parameter filtering with checkboxes - #2
Merged
Merged
Conversation
- Fix MainWindow to use explicit size (1200x800) instead of getWidth/getHeight - Add toFront(true) to ensure window appears on top - Fix FileChooser lifetime by using shared_ptr to keep it alive during async callback - Fix FFT constructor calls (remove Order parameter) - Fix processBlock signature for JUCE 8.0 (single buffer parameter)
…undles On macOS, VST3 plugins are bundles (directories), not files. existsAsFile() returns false for bundles, causing false 'file not found' errors. Use exists() which works for both files and directories.
- Add errorMessageOut parameter to loadPluginInstance to return detailed errors - Show specific error messages in GUI (format not recognized, description failed, etc.) - Update CLI to also use detailed error messages - Better diagnostics for plugin loading failures
- Convert executable to macOS app bundle using MACOSX_BUNDLE - Set proper bundle identifiers and metadata - Update Makefile to handle .app bundle - App will now show dock icon when running
- Add uiOnly parameter to buildParameterMap to filter parameters - Filter out meta parameters, non-automatable, and MIDI CC parameters - GUI now shows only UI-exposed parameters (19 for GAINSTATION2 vs 2099 total) - CLI also filters to UI-exposed parameters for cleaner output - Measurement engine still uses all parameters for completeness
- Replace text checkmark with visual checkbox component - Checkboxes show checked/unchecked state clearly - Selected parameters have blue filled checkbox with white checkmark - Unselected parameters show empty checkbox - Makes it much clearer which parameters are selected
- Replace drawTickBox call with manual checkbox drawing - Draw checkbox border and fill manually - Draw checkmark using Path for better control - Fixes issue where weird characters were appearing instead of checkboxes
- Disable ListBox row selection to prevent confusion when clicking checkboxes - Fix Select All button to properly resize and fill selectedParameters vector - Add bounds checking in listBoxItemClicked to prevent out-of-bounds access - Remove rowIsSelected highlighting that was confusing users - Ensure selectedParameters vector is always the correct size Fixes: - Select All button now works correctly - Clicking a checkbox no longer changes which parameter is selected - More reliable checkbox toggling
- Add explicit repaint() calls after updating selectedParameters - Fixes issue where checkboxes don't update visually until scrolling - UI now updates in real-time when clicking Select All/Deselect All or individual checkboxes
- Use scrollToEnsureRowIsOnscreen to force repaint of visible items - Restore scroll position after update to avoid jarring movement - Fixes issue where checkboxes don't update until user scrolls manually
- Use repaintRow() to repaint each visible row after selection changes - Fix getRowContainingPosition() call signature (2 args, not 3) - Repaint all visible rows when Select All/Deselect All is clicked - Repaint specific row when individual checkbox is toggled - Should fix UI not updating until scroll issue
- Add run-gui-debug target to easily run debug builds - Update build-debug to show executable locations - Update help text to show both run-gui and run-gui-debug options
- Create a new plugin instance for the measurement thread - Prevents thread safety issues from accessing pluginInstance from background thread - Add log flushing to ensure logs appear immediately - Should fix app freezing during measurement
- Change run-gui-debug to run executable directly instead of using 'open' - This allows console output (std::cerr) to be visible in terminal - Helpful for debugging measurement issues
- Add DEBUG compile definition for debug builds in CMakeLists.txt - Set default plugin path to GAINSTATION2.vst3 in debug builds only - Release builds will still have empty default path
- Add DEBUG=1 compile definition when building in Debug mode - Allows code to detect debug builds for dev-only features like default plugin path
- Update progress label during run grid generation - Show warning if too many runs (>100k) are generated - Add progress callback to runMeasurementGrid to update UI - Show current run number and progress bar during measurement - Makes measurement progress much more visible to user
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR includes several improvements:
Fixes issues with: