Skip to content

[Option B] Update CLIMain wiring for IAudioStrategy #35

@danieljsinclair

Description

@danieljsinclair

Issue

Update CLIMain wiring to use IAudioStrategy and IAudioHardwareProvider.

Background

CLIMain currently wires up IAudioMode + IAudioRenderer. After Option B refactoring, it needs to wire up IAudioStrategy + IAudioHardwareProvider.

Goal

Update CLIMain to:

  • Create IAudioHardwareProvider (CoreAudioHardwareProvider for macOS)
  • Create IAudioStrategy via AudioStrategyFactory
  • Wire dependencies correctly
  • Remove old AudioModeFactory and AudioRendererFactory references

Implementation Plan

  1. Update CLIMain.cpp to create CoreAudioHardwareProvider
  2. Update CLIMain.cpp to create IAudioStrategy via AudioStrategyFactory
  3. Update SimulationConfig to use IAudioStrategy instead of IAudioMode
  4. Remove AudioModeFactory includes and usage
  5. Remove AudioRendererFactory includes and usage
  6. Update all strategy/creation logic
  7. Test all audio modes (--threaded, --sync-pull)

Acceptance Criteria

  1. CLIMain creates IAudioHardwareProvider
  2. CLIMain creates IAudioStrategy via factory
  3. All old factory references removed
  4. All smoke tests pass (--sine, --threaded, --sync-pull)
  5. Clean build with no warnings
  6. No behavioral changes (audio sounds identical)

Testing

  • All smoke tests pass
  • Simulator-level audio tests produce identical output
  • Integration tests pass
  • Manual testing of all audio modes

Dependencies

Related Issues

None - this is final wiring task for Option B

Success Criteria

When this issue is complete, Option B refactoring is complete:

  • 10+ classes reduced to 2 interfaces + 4 implementations
  • Architecture is simplified and SOLID-compliant
  • All tests pass (GREEN)
  • No behavioral changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions