Commit Graph

4 Commits

Author SHA1 Message Date
Oliver c87a5a1e30 refactor(audio): restructure audio constants and remove deprecated files
- Add AudioConsts.cs with Cues, NameDictionaries, and Parameters classes
- Remove AudioEnumIds.cs, AudioEnums.cs, and AudioObjectDefinitions.cs
- Update AudioObject.cs to include CueName property and serialization
- Update AudioSystem.cs to use new NameDictionaries and Parameters classes
- Update SetStateBind.cs to use Parameters.GameState type
- Change UI text from "PlaySound" to "StopSound" in SampleScene.unity
- Update binary audio data file AudioObject.bytes
2026-04-17 16:00:19 +08:00
Oliver 0fdd76022d feat: SyncPoint.SameAsCurrentSegment music transition
- Add SameAsCurrentSegment mode to align new container's timeSamples with the old container's playback position, accounting for FadeInOffset
- Fix BeatClock callback burst when Restart is called with a past dspTime
- Add GetFirstLeafSource() for resolving playback position across nested containers
- Manual BeatClock.Restart replaces OnContainerEntered subscription for accurate timing with SyncPoint
2026-04-16 20:50:34 +08:00
Oliver dac34089dd WIP: MusicTransition SyncPoint 2026-04-16 17:55:29 +08:00
Oliver 91f1b18771 feat: add PlayOnTrigger for music-synced audio playback
- Add PlayOnTrigger method to AudioSystem for scheduling audio playback on music sync events (beat/bar/grid)
- Rename ButtonInvoker to SetStateBind for better clarity
- Update PlaySoundBind to support both direct playback and trigger-based playback with callback flags
- Add CallbackFlags enum (MusicSyncBeat, MusicSyncBar, MusicSyncGrid)
- Update Metronome demo to use new callback flag naming convention
- Add test audio file sfx_notice_test.wav
- Update scene UI to demonstrate PlayOnTrigger functionality
2026-04-16 14:39:58 +08:00