Commit Graph

44 Commits

Author SHA1 Message Date
Oliver c30239111c feat: Unified ResourceLoader
- 新增 统一 `ResourceLoader`类,负责同步/异步加载资源,并对已加载的资源缓存。
- 修改 `MusicTransition`, `AudioSystem`, `LongAudioContainerPlayer`, `MusicSegment`, 'SfxSystem`, `HapticSystem`使用最新的`ResourceLoader`。
2026-05-14 11:35:38 +08:00
Oliver b0d117a24d update meta file 2026-05-12 15:51:54 +08:00
Oliver 6e8e17ec44 feat: StartOffset
- 实现startOffset
- 修复EndOffset = 0 + 循环播放时,音乐会大量重复播放的错误。
- 增加数据校验和 BeatClock 联动。StartOffset不正确时停止bar+级 callback。
- BeatClock 现在会在每次重新播放时重启,以解决EndOffset配置错误被舍弃时,拍子对不上的问题。
2026-05-12 15:47:04 +08:00
Oliver bc388303be 更新测试文件 2026-05-08 16:41:04 +08:00
Oliver e81d6c379d refactor: 移除未使用的变量 2026-05-08 16:40:50 +08:00
Oliver a29b56a65e feat: 在Inspector中可直接修改起始音乐。 2026-05-08 16:40:26 +08:00
Oliver af4cd4da3f WIP: StartOffset 2026-05-07 12:09:16 +08:00
Oliver 0f30f98846 refactor: 重构 Transition 查询逻辑,移除 PathId 改用 ContainerId 匹配 2026-04-28 15:30:01 +08:00
Oliver fccd6c9e0e 添加测试文件 2026-04-27 20:23:30 +08:00
Oliver 61414b2fef feat: 未配置bpm时不启动回调 2026-04-27 20:10:32 +08:00
Oliver 5bd0135f7b WIP: 无效音乐配置不会启动音乐回调 2026-04-27 19:57:48 +08:00
Oliver 401dfc69b2 feature: change playing sound property 2026-04-23 19:32:06 +08:00
Oliver f38103d2dc feature: Segment end offset 2026-04-21 17:25:48 +08:00
Oliver e46c324ac5 refactor: WaitForAlignment coroutine use BeatClock.cs insted of calculate independently. 2026-04-21 15:01:55 +08:00
Oliver 15f220a4c7 fix: change crossfade curve 2026-04-21 10:40:36 +08:00
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 63c5f6766c refactor: use PlayDelayed API for audio delay and add Stop by ID support
- Replace PlayAfterDelay coroutine with AudioSource.PlayDelayed
- Add Stop(audioId) public API
- Add startWithMusic toggle
- Clean up namespace and debug macros
2026-04-17 11:20:17 +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
Oliver a4e6e6eccb feat: music callback 2026-04-16 11:52:55 +08:00
Oliver 5ba9c9ef2f fix: restore missing method 2026-04-16 11:11:30 +08:00
Oliver c3b69f48f6 Merge branch 'main' into feature/MusicCallback 2026-04-16 11:06:23 +08:00
Oliver 19faccd312 feat: Add switch container functionality 2026-04-15 21:05:17 +08:00
Oliver c3eb094fdc refactor: 更新音频导入路径变量并完善CLI方法文档
- 将对话框中的音频资源路径变量从`k_audioResourcePath`更改为`AudioAbsolutePath`
- 为RunCLI方法添加详细的XML文档注释,说明其在命令行自动化工作流中的作用
- 修正枚举AudioCategory的格式化
2026-04-15 10:57:33 +08:00
Oliver 9890d33741 feat: Add audio import tool and standardize audio import settings
- Add editor tool to batch apply audio import settings based on configuration files
- Standardize sample rates: SFX/Voice to 22050 Hz, Music to 44100 Hz
- Set quality: SFX/Voice to 0.5, Music to 0.13
- Adjust load types based on audio duration
- Set project sample rate to 48000 Hz
- Update preload settings for voice and music files
2026-04-15 10:05:05 +08:00
Oliver 340b52e6b4 feat: Add haptic system integration and audio test UI
- Add new audio assets and PlaySoundBind script for testing audio playback via UI input field.
- Implement haptic feedback integration in SfxSystem and fix initialization timing in HapticSystem.
- Update project settings with correct Android target architecture.
- Adjust DSP buffer size and enable development build debug logging.
2026-04-14 10:18:34 +08:00
Oliver 936c8e388b refactor: 使用ActiveSound对象传递音高和音量参数 2026-04-13 17:27:59 +08:00
Oliver 7b9e1a3393 feat: implement volume step feature
- Add volume step functionality with VolumeStepResolver class
- Add VolumeStepThreshold, Volume, and VolumeStep properties to AudioObject
- Integrate volume step resolution in SfxSystem for dynamic audio volume control
2026-04-13 16:56:34 +08:00
Oliver 69944f44ea WIP: Music callback
- 头几拍会抖动一下,导致对不上拍子
2026-04-07 10:06:02 +08:00
Oliver a04c08d4cf feat: prepare music callback data. 2026-04-03 14:48:42 +08:00
Oliver fb1225463d refactor: Remove pitch parameter from PlayAfterDelay coroutine 2026-04-03 14:30:45 +08:00
Oliver 3d44ac939b feat: 重构音频系统 - 重命名AudioScheduler为SfxSystem并添加Accented音效类型
- 将AudioScheduler重命名为SfxSystem,统一命名规范
- 新增MixingType.Accented音效类型,支持强调音效独立混音
- 重构音频混合器层级: Master下新增Regular中间层
- SfxSystem使用外部AudioSourcePool,与MusicSystem隔离
- 修复ambiencePoolRoot父节点错误(原错误挂载到musicPoolRoot)
- Play方法支持onPlay回调
- 同步更新AudioObject.bytes二进制配置数据
2026-04-03 11:53:15 +08:00
Oliver 7fc3282e80 feat: implement audio object definitions and refactor audio system
- Add AudioObjectDefinitions.cs with name-to-ID mappings and ambiguity detection
- Update AudioSystem.cs to support Play(uint) and deprecated Play(string) with warnings
- Rename PitchStepManager to PitchStepResolver and update all references
- Refactor generated code to use 'this.' prefix and foreach loops
- Remove TestEnum from audio enums and IDs
- Update SampleScene.unity to use new AudioSystem namespace and rain sound parameter
- Optimize binary serialization in generated audio classes
2026-04-02 14:31:46 +08:00
Oliver d824d65549 使用DoTween重构淡变效果 2026-03-27 17:57:27 +08:00
Oliver 480cf9a016 增加低通效果开关
- 引入DoTween
- 实现功能
2026-03-27 17:56:49 +08:00
Oliver e00758ab9b 自动化注册GroupState 2026-03-26 16:25:24 +08:00
Oliver 47e378968f 配合打表工具更新 2026-03-26 15:07:02 +08:00
Oliver e6907a0855 移除未使用method 2026-03-25 17:22:14 +08:00
Oliver b6393449c9 解决重复切换State的时候会导致重复播放对应Segment的问题。
修复FadeIn读取了FadeOut参数的问题。
增加Initial Delay功能。
重构AudioScheduler.ConfigureSource() -> SetupSource(), RegisterActiveSound(), StartPlayBack()。
移动长音频相关功能至LongAudio文件夹。
2026-03-25 17:01:38 +08:00
Oliver e46e57d580 提供DebugOverlay 2026-03-25 16:56:19 +08:00
Oliver 43f1fac33d 禁用FaderLog 2026-03-20 18:49:25 +08:00
Oliver a6733854de 可能的性能优化 2026-03-20 18:48:11 +08:00
Oliver c5778c498b first commit 2026-03-20 17:55:53 +08:00