Skip to content

Comments

Merge ai_devmaster — build-system fixes, controller refactor, docs & cleanup#1

Merged
soficis merged 24 commits intomasterfrom
ai_dev
Feb 18, 2026
Merged

Merge ai_devmaster — build-system fixes, controller refactor, docs & cleanup#1
soficis merged 24 commits intomasterfrom
ai_dev

Conversation

@soficis
Copy link
Owner

@soficis soficis commented Feb 18, 2026

Summary

Merge the development work on ai_dev into master.
Scope: build-system and dependency improvements, controller refactors, renderer/DSP fixes, README + assets updates, repository cleanup, and new tests.


Key changes

  • Build system
    • Updated CMakeLists.txt — improved dependency handling (FetchContent options, explicit SOURCE/BINARY dir flags), better Windows/Visual Studio generator support.
    • .gitignore expanded to exclude build artifacts, IDE files, logs and temporary files (includes docs/ per request).
  • Core logic / refactor
    • Refactored controller layer: SessionController, ProcessingController, ImportController, ExportController, ModelController.
    • Renderer/DSP updates: OfflineRenderPipeline, BuiltInRenderer, StemAnalyzer.
    • Improved BatchQueueRunner and batch/CLI tooling for stable batch processing.
  • Tests & tools
    • Added/updated unit tests and Python integration tests under tests/.
    • dev_tools.cpp, BatchCommands and CLI helpers: better progress/cancellation and diagnostics.
  • Docs / UX
    • README.md updated — screenshot added (assets/AutoMixMaster.jpg), ASCII logo preserved and styling adjusted; tone changed to neutral and targeted at amateur producers.
  • Cleanup / removals
    • Removed legacy/duplicate source and test files as part of repository cleanup.
    • Deleted temporary build logs and stray files.

Files / areas touched (representative)

  • CMakeLists.txt, .gitignore, README.md
  • src/app/controllers/*, src/renderers/*, src/util/*
  • tests/unit/*, tests/python/*
  • tools/commands/*, assets/AutoMixMaster.jpg

Migration / verification (recommended)

  1. Clean previous build artifacts:
    • Windows: remove build_* directories or run git clean -fdx (use with caution).
  2. Configure & build (Windows example):
    • cmake -S . -B build_win_vs2026_release -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=Release
    • cmake --build build_win_vs2026_release --config Release --target AutoMixMasterApp
  3. Run tests:
    • Run CTest or your test runner for tests/ (see CMakeLists.txt).
  4. Smoke-check:
    • Confirm app launches, basic UI renders, file import/export flows and batch commands.

Risks & breaking changes

  • Files intentionally removed (legacy controllers/tests) — verify nothing relies on them externally.
  • CMake/dependency handling changed — CI/build scripts that rely on old paths may need minor updates.

Rebase / merge notes

  • ai_dev was rebased onto master; conflicts were resolved during the rebase (local ai_dev changes retained where selected).
  • No uncommitted local work was lost. Deleted files are recoverable from previous commits if needed (use git reflog / git checkout <commit> -- <path>).

Soficis added 9 commits February 13, 2026 14:16
…ies, batch queue acceleration,

external renderer integrations, and significant test expansion to AutoMixMaster.

### Core Audio Processing Enhancements

**New DSP Modules**:
- Lookahead Limiter: True-peak detection with configurable sample-accurate attack/release and soft
  clipping integration for transparent loudness control
- De-Esser: Frequency-selective sibilance reduction (2-8 kHz) with soft knee dynamics
- Dynamic De-Harsh EQ: Adaptive mid-range harshness reduction (2-8 kHz) triggered by perceived
  loudness
- Mid-Side Processor: Stereo field manipulation with width and frequency-dependent processing
- Soft Clipper: Pre-limiter saturation with variable drive control
- True Peak Detector: ITU-R BS.1770-4 true peak metering with configurable oversampling

**Analysis & Feature Extraction**:
- New FeatureSchemaV1: Standardized feature extraction from AnalysisResult for ML model ingestion
- ArtifactProfile: Risk assessment framework for automatic detection of mix/master artifacts
- Enhanced stem analysis with multi-band spectral decomposition

### Renderer & Limiter Infrastructure

- ExternalLimiterRenderer: JSON-RPC contract support for third-party limiter binary integrations
- RendererRegistry: Auto-discovery and validation of external renderer plugins via descriptor files
- Extended limiter pack discovery with configurable asset paths and platform-specific binary loading
- PhaseLimiterRenderer enhancements with improved error handling and fallback behavior

### Batch Processing & Performance

- BatchQueueRunner: Multi-threaded batch job execution with progress callbacks and cancellation support
- BatchTypes: New domain model for batch items, results, and error tracking
- Parallel stem analysis with configurable worker thread pool
- Parallel rendering with hardware_concurrency auto-tuning
- Residual blend support in batch pipeline

### AI Model Infrastructure

- ModelManager enhancements: Support for both ONNX Runtime and RTNeural backends
- feature_schema_version gating: Inbound compatibility checks for model packs
- Model warm-up optimization during pack load to eliminate first-inference latency
- MasteringCompliance: Post-processing mastering output validation and correction

### Audio Preview & Loudness Metering

- AudioPreviewEngine: Real-time A/B preview of original vs. processed audio with transport controls
- LoudnessMeter: EBU R128 / ITU-R BS.1770 standards-compliant loudness measurement
- Per-stem solo/mute capability during preview
- Integration with residual blend for realistic preview rendering

### Build System & Distribution

- DISTRIBUTION_MODE CMake option: `OSS` (GPL v3) and `PROPRIETARY` (commercial JUCE) modes
- ENABLE_LIBEBUR128: Standards-compliant loudness metering (on by default)
- ENABLE_EXTERNAL_TOOL_SUPPORT: User-supplied renderer integrations (on by default)
- ENABLE_GPL_BUNDLED_LIMITERS: Optional bundled GPL limiter packs (OSS mode)
- ENABLE_SANITIZERS & ENABLE_CLANG_TIDY: Developer tool support
- Extended CMake platform detection and automatic framework linking

### Documentation

- Moved comprehensive development roadmap to docs/roadmap.md for better organization
- README now includes references to parallel processing, batch hardware acceleration, and external
  limiter integrations
- Added limiter pack discovery and asset management documentation

### Test Coverage

New comprehensive test suites:
- AudioIoTests: Audio file I/O and format handling
- AnalysisTests: Stem analysis, artifact detection, and feature extraction
- AudioPreviewEngineTests: Preview engine functionality and transport control
- LoudnessMeterTests: EBU R128 metering accuracy
- LookaheadLimiterTests: Limiter behavior, attack/release curves, true peak detection
- BatchProcessingTests: Batch queue execution, parallel rendering, error handling
- OfflineRenderPipelineTests: End-to-end render pipeline validation
- OnnxModelInferenceTests: ONNX model loading and inference
- MasteringModulesTests: Mastering chain integration
- ExternalLimiterRendererTests: External limiter JSON contract validation
- RendererRegistryTests: Auto-discovery and plugin validation
- Enhanced existing tests in AiExtensionTests, AutoMasterTests, SessionSerializationTests

### Backward Compatibility

- Existing MixPlan and MasterPlan structures extended with new DSP options
- BuiltInRenderer remains default with graceful fallbacks when external renderers fail
- AI model inference retains deterministic output for baseline regression testing

### Platform Support

- Cross-platform limiter binary discovery (Windows .exe, macOS/Linux native)
- Platform-aware execution provider selection for ONNX Runtime (DirectML/CoreML/CUDA)
- Third-party component registry for licenses and attributions
…, and mastering upgrades

- Build/config:
  - Expanded CMake options (RTNeural toggles, bundled LAME fallback, external tool support, sanitizers/clang-tidy gates).
  - Added new core/app sources: stem separation, transport controller, waveform preview, multiband processor, LAME downloader.
  - Enforced Visual Studio 2026 generator on Windows Visual Studio builds.

- UI/app workflow:
  - Major MainComponent upgrade: transport controls (play/pause/stop/seek), waveform preview, stem solo/mute selectors, GPU provider selector, platform/master preset controls, codec-aware export controls, and LAME prefetch action.
  - Improved responsiveness by moving heavy operations to async/background flow and keeping cancel/progress behavior available.

- AI/runtime:
  - ONNX inference backend expanded with provider preference handling, quantized model preference, warmup, optimization/threading/profiling configuration, and backend diagnostics.
  - Model pack metadata loading extended to support runtime specialization fields.

- Stem separation:
  - Added StemSeparator module with model-available path and deterministic fallback behavior.
  - Integrated separated-stem metadata (`separationConfidence`, `separationArtifactRisk`) into domain model and session serialization.

- Analysis/features:
  - Stem analysis expanded with additional spectral/temporal descriptors.
  - Updated runtime feature schema and training schema export (`FeatureSchema.cpp`, `feature_schema_v1.json`).

- Mastering/rendering:
  - Added MultibandProcessor and multiband settings/plumbing in MasterPlan + heuristic mastering strategy.
  - Added platform loudness presets via new `assets/mastering/platform_presets.json`.
  - External limiter integration hardened with validation/capability diagnostics in renderer path and registry behavior.

- Export/codec portability:
  - WavWriter enhanced with runtime format availability probing and richer export path handling.
  - Added LAME downloader utility for fallback MP3 encoding workflows.

- Dev tooling:
  - Added `validate-external-limiter` and `install-lame-fallback` commands.
  - Expanded exported feature payload fields in `automix_dev_tools`.

- Tests:
  - Added new unit tests for stem separation and transport controller.
  - Updated existing tests for ONNX diagnostics and renderer validation behavior.
  - Existing test files also include formatting/line-ending normalization edits.

- Docs:
  - Rewrote README to reflect implemented roadmap features, build matrix updates, and new runtime capabilities.

- Repo-wide normalization/vendor data churn:
  - Large non-functional rewrites in `.clang-*`, `.editorconfig`, and many `assets/phaselimiter/*` license/resource files (predominantly normalization/line-ending style changes, with very large JSON churn).
…orkflows, and export/runtime hardening

- Add native ONNX Runtime session path when ENABLE_ONNX finds runtime headers/libs, including provider-aware tuning, profiling artifact capture, and deterministic fallback retention.
- Extend stem separation with 2/4/6-stem variant selection, separator_pack manifest discovery, runtime controls (target stems/GPU budget/max streams), and QA bundle output (energyLeakage/residualDistortion/transientRetention).
- Introduce project profile catalog + loader and trust-policy assets:
  - assets/profiles/project_profiles.json
  - assets/renderers/trust_policy.json
- Expand session/render serialization with timeline and profile/safety/export-mode fields (loop markers, zoom/fine-scrub, exportSpeedMode, mp3UseVbr, mp3VbrQuality, projectProfileId, safetyPolicyId, preferredStemCount).
- Upgrade GUI/transport UX with loop in/out controls, waveform zoom/loop overlay, fine scrub, task center history, and resizable 1280x720 window defaults.
- Harden responsiveness by moving session load/import/export preflight-heavy work off UI thread, adding stale-result guards and progress throttling.
- Improve offline render throughput with cached stem/raw mix reuse, adaptive mix block sizing, and cache invalidation controls.
- Upgrade export/audio IO path with metadata extraction + retention, MP3 CBR/VBR handling, and external LAME ID3 mapping.
- Align renderer behavior across BuiltIn/PhaseLimiter/ExternalLimiter for original-mix soft-target guidance, plan-source/decision-log provenance reporting, and trust-policy signature handling with capability snapshot artifacts.
- Expand automix_dev_tools with comparator/catalog/collaboration/evaluation/plan-diff/catalog-installer/lame-installer workflows.
- Add tests for profile loading, renderer trust-policy enforcement, transport loop behavior, separator variant QA outputs, and session schema round-trip fields.
- Include repository-wide newline/format normalization churn across config and bundled asset/license files.
…utomation

- Add Hugging Face model hub integration:
  - new hub service for discovery/install/update checks
  - new GUI Models menu actions
  - new CLI commands: model-browse/model-install/model-health
- Add metadata policy engine and wire it through:
  - project profiles, render settings, JSON serialization
  - built-in/external/phaselimiter renderer export metadata paths
  - unit tests for metadata policy behavior
- Expand dev tooling:
  - profile-export/profile-import
  - adaptive-assistant and session-review
  - eval-trend and batch-studio-api launcher
  - add tools/batch_studio_api.py
- Add nightly CI workflow for golden eval trend artifacts
- Apply repository-wide EOL/style normalization across source/config/tests/assets
…I, and modular CLI refactor

This update integrates the HuggingFace model hub and metadata trust workflows, introduces the Batch Studio REST API, and completes a major refactor of the developer tools into a modular command-based registry system. Includes core hardening for model fetching and export engines.
…odules

- add `MainComponentBackend` and `MainComponentControllers` to move orchestration and callback wiring out of the UI shell
- add focused controllers for session/original-mix/preview/profile workflows
- add shared utilities: `BackgroundJob`, `CallbackDispatch`, and `HashUtils`
- add tests: `tests/unit/ControllerTests.cpp` and `tests/python/test_batch_studio_api.py`
- update model/renderer integration points (`ModelPackLoader`, `RendererRegistry`)
- update README visuals and include `assets/AutoMixMaster.jpg`
- refresh `.gitignore` patterns for local build and temp artifacts
- restore multiline ignore formatting
- keep `docs/` ignored in repository status
@soficis soficis requested a review from Copilot February 18, 2026 03:43
@soficis soficis self-assigned this Feb 18, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR merges extensive development work from ai_dev into master, focusing on build system improvements, controller layer refactoring, enhanced AI/ML model infrastructure, expanded test coverage, and documentation updates.

Changes:

  • Build system modernization: improved CMake configuration with better dependency handling, Windows/Visual Studio support, and expanded .gitignore
  • Core architecture refactor: new controller layer (SessionController, ProcessingController, ImportController, ExportController, ModelController, ProfileController, PreviewController, OriginalMixController) for better separation of concerns
  • AI/ML infrastructure expansion: enhanced feature extraction schema (65+ features), model pack metadata requirements, multi-root model scanning, improved ONNX inference backend, and demo model catalog
  • New domain types and utilities: project profiles, batch processing types, transport controller, loudness metering, metadata policy handling, stem health analysis, and artifact profiling
  • Comprehensive test suite additions: 15+ new unit test files covering controllers, DSP modules, renderers, analysis, and AI components
  • Repository cleanup: removal of legacy files, addition of CI workflows, and documentation improvements

Reviewed changes

Copilot reviewed 152 out of 172 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tools/catalog/modelpacks/*/model.json Demo model pack metadata for role classifier, mix parameters, and master parameters
tools/catalog/modelpacks/*/model.onnx Placeholder ONNX model binaries for demo catalog
tests/unit/*Tests.cpp New comprehensive unit tests for transport, separation, rendering, profiles, batch processing, DSP modules, and analysis
tests/regression/* Updated regression test infrastructure with mono correlation metric and adjusted tolerances
tests/python/test_batch_studio_api.py Python integration tests for path containment validation
src/util/* New utility modules for metadata policy, string operations, file operations, hash functions, callbacks, and background jobs
src/renderers/* Refactored renderer infrastructure with registry, trust policy, external renderer support
src/platform/ThirdPartyComponentRegistry.* Legal compliance tracking for third-party components
src/engine/* New transport controller, loudness meter, audio preview engine, batch queue runner, and metadata I/O
src/dsp/* New DSP modules including true peak detection, soft clipper, mid/side processing, multiband processing, de-esser, and dynamic de-harsh EQ
src/domain/* Expanded domain types for project profiles, batch processing, enhanced render settings, timeline state, and master plan presets
src/app/controllers/* Complete controller layer implementation for session, processing, import, export, models, profiles, preview, and original mix
src/app/WaveformPreviewComponent.* New waveform visualization component with zoom and loop range support
src/app/Main.cpp Window resizing enabled with larger default size
src/analysis/* Enhanced analysis infrastructure with stem health assistant, artifact profiling, and expanded metrics
src/ai/* Major AI infrastructure improvements: feature schema v1, enhanced model manager with multi-root scanning, improved ONNX backend, stem separator, mastering compliance, HuggingFace hub integration
src/automix/HeuristicAutoMixStrategy.cpp Enhanced mixing heuristics using expanded feature set
src/automaster/IAutoMasterStrategy.h Extended mastering report with additional metrics
assets/* New asset files for renderer trust policy, project profiles, platform presets, demo models, and renderer descriptors
.github/workflows/nightly_golden_eval.yml CI workflow for nightly regression evaluation
Comments suppressed due to low confidence (1)

src/domain/ProjectProfile.cpp:1

  • The lossyBitrateKbps value is clamped to a maximum of 320, which prevents users from specifying valid higher bitrates (e.g., 384 or 512 kbps supported by MP3 VBR). Consider increasing the upper bound to at least 512 to support premium quality settings.
#include "domain/ProjectProfile.h"

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Feb 18, 2026

@soficis I've opened a new pull request, #2, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Contributor

Copilot AI commented Feb 18, 2026

@soficis I've opened a new pull request, #3, to work on those changes. Once the pull request is ready, I'll request review from you.

soficis and others added 5 commits February 17, 2026 21:49
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
Copy link
Contributor

Copilot AI commented Feb 18, 2026

@soficis I've opened a new pull request, #4, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Contributor

Copilot AI commented Feb 18, 2026

@soficis I've opened a new pull request, #5, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits February 18, 2026 03:53
Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
[WIP] Update build system and refactor controller based on feedback
Copilot AI and others added 5 commits February 18, 2026 03:55
Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
…ial versions

Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
[WIP] Address feedback on build system fixes and controller refactor
[WIP] Address feedback from review of ai_dev to master pull request
[WIP] Address feedback from review on merge ai_dev to master
@soficis soficis merged commit 7c53642 into master Feb 18, 2026
@soficis soficis deleted the ai_dev branch February 20, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants