Skip to content

Update CLIMain wiring for IAudioStrategy #32

Description

@danieljsinclair

Issue Type

Implementation - Architecture Refactoring

Severity

High - Critical path for Option B implementation

Problem Statement

CLIMain currently wired for IAudioMode/IAudioRenderer. Need to update wiring for IAudioStrategy + IAudioHardwareProvider.

Current State

  • CLIMain uses AudioModeFactory to create modes
  • CLIMain uses IAudioMode/IAudioRenderer interfaces
  • Tight coupling to old architecture
  • Cannot use new IAudioStrategy/IAudioHardwareProvider

Target State

CLIMain wired for new architecture:

  • Uses AudioStrategyFactory to create IAudioStrategy instances
  • Uses IAudioHardwareProvider for hardware operations
  • Loose coupling via interfaces
  • Easy to swap implementations

Implementation Tasks

  1. Update CLIMain.h to use IAudioStrategy instead of IAudioMode
  2. Update CLIMain.cpp to use AudioStrategyFactory
  3. Remove all references to old IAudioMode/IAudioRenderer interfaces
  4. Update AudioPlayer to accept IAudioStrategy via DI
  5. Update AudioPlayer to use IAudioHardwareProvider

Acceptance Criteria

  • CLIMain.h uses IAudioStrategy interface
  • CLIMain.cpp uses AudioStrategyFactory
  • All IAudioMode references removed
  • All IAudioRenderer references removed
  • AudioPlayer accepts IAudioStrategy via DI
  • AudioPlayer uses IAudioHardwareProvider
  • Build succeeds
  • All tests pass

Testing Requirements

  • Build succeeds with new wiring
  • All unit tests pass
  • All integration tests pass
  • No functionality lost
  • Smoke tests pass

Related Issues

References

  • ARCHITECTURE_FILE_CLASS_AUDIT.md - Wiring violations
  • AUDIO_MODULE_ARCHITECTURE.md - Phase 6 consolidation plan

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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