Skip to content

Add MMD background audio volume control - #14

Merged
anyapipira merged 1 commit into
mainfrom
dev-mmd-volume
Aug 25, 2026
Merged

anyapipira merged 1 commit into
mainfrom
dev-mmd-volume

Conversation

@anyapipira

Copy link
Copy Markdown
Owner

Summary

Add a BGM volume control to the MMD dance dialog so background audio does not start at full system volume by default.

Behavior

  • Place the volume slider directly beside the audio start-offset control.
  • Show volume as an integer percentage with a 0% to 100% range.
  • Default new and existing installations without a saved value to 50%.
  • Apply volume changes immediately to an active XAudio2 source voice.
  • Reapply the configured gain whenever playback creates a new source voice, including after seeking, looping, output-device changes, or restarting playback.
  • Persist the volume in UI preferences and validate/clamp loaded values.
  • Lay out the offset and volume controls inline without the previous fixed-column overlap risk for longer localized labels.

Localization and documentation

  • Add the Volume label in English, Simplified Chinese, and Japanese.
  • Document the 50% default, supported range, and preference persistence in all three MMD guides.
  • Clarify in all three building guides that Media Foundation, Core Audio/MMDevice, and XAudio2 2.9 are Windows/Windows SDK system dependencies. They require no separate audio SDK or redistributable on the supported Windows 10+ runtime and are not bundled third-party DLLs.

Verification

  • Built AnyaDanceUI in Release configuration.
  • Built anyadance_tests in Release configuration.
  • Ran ctest --test-dir build -C Release --output-on-failure: all tests passed.
  • Added audio-player coverage for the 50% default and volume clamping.

@anyapipira
anyapipira requested a review from Alitzlan August 25, 2026 23:43
@anyapipira
anyapipira merged commit bfd844d into main Aug 25, 2026
2 checks passed
@anyapipira
anyapipira deleted the dev-mmd-volume branch August 25, 2026 23:45
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