From ad6689b42faacd48276b225d7f800a5acce6f62f Mon Sep 17 00:00:00 2001 From: airkjw Date: Thu, 11 Jun 2026 13:28:02 +0900 Subject: [PATCH] Add synthesized SFX and audio wiring Pure-Dart WAV synthesizer (tool/gen_sfx.dart) generates place/clear/ combo/win/lose effects; AudioService player pool fires on placement, line clears, combo streaks, and phase transitions. Co-Authored-By: Claude Fable 5 --- assets/audio/clear.wav | Bin 0 -> 14156 bytes assets/audio/combo.wav | Bin 0 -> 21212 bytes assets/audio/lose.wav | Bin 0 -> 39734 bytes assets/audio/place.wav | Bin 0 -> 5336 bytes assets/audio/win.wav | Bin 0 -> 58256 bytes lib/services/audio_service.dart | 42 ++++++++++++ lib/state/providers.dart | 7 ++ lib/ui/screens/game_screen.dart | 19 ++++++ pubspec.yaml | 3 + test/ui/game_screen_golden_test.dart | 68 ++++++++++++++++++++ test/ui/goldens/game_screen.png | Bin 0 -> 19544 bytes tool/gen_sfx.dart | 92 +++++++++++++++++++++++++++ 12 files changed, 231 insertions(+) create mode 100644 assets/audio/clear.wav create mode 100644 assets/audio/combo.wav create mode 100644 assets/audio/lose.wav create mode 100644 assets/audio/place.wav create mode 100644 assets/audio/win.wav create mode 100644 lib/services/audio_service.dart create mode 100644 test/ui/game_screen_golden_test.dart create mode 100644 test/ui/goldens/game_screen.png create mode 100644 tool/gen_sfx.dart diff --git a/assets/audio/clear.wav b/assets/audio/clear.wav new file mode 100644 index 0000000000000000000000000000000000000000..7d2b74930c3d169d0aa713143e8157a1598599c3 GIT binary patch literal 14156 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 J8GtZ-@_z^a@(%z2 literal 0 HcmV?d00001 diff --git a/assets/audio/lose.wav b/assets/audio/lose.wav new file mode 100644 index 0000000000000000000000000000000000000000..3e8b84707c9db1528476b48ac26e02685c3fd21b GIT binary patch literal 39734 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

DM5~Z}2n%rqyU8EysC$Sn`V5^VCP{*& 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 RBLPV$j*7WOhk+t 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 Y;f(lkt(fKzf&wjo00!WI6hMLh0g#0?BLDyZ literal 0 HcmV?d00001 diff --git a/lib/services/audio_service.dart b/lib/services/audio_service.dart new file mode 100644 index 0000000..6ab8a6a --- /dev/null +++ b/lib/services/audio_service.dart @@ -0,0 +1,42 @@ +import 'package:audioplayers/audioplayers.dart'; + +enum Sfx { place, clear, combo, win, lose } + +/// Fire-and-forget SFX. A small player pool avoids cutting sounds off when +/// effects overlap (place + clear on the same move). +class AudioService { + AudioService({this.enabled = true}); + + bool enabled; + + static const _files = { + Sfx.place: 'audio/place.wav', + Sfx.clear: 'audio/clear.wav', + Sfx.combo: 'audio/combo.wav', + Sfx.win: 'audio/win.wav', + Sfx.lose: 'audio/lose.wav', + }; + + final _players = [ + for (var i = 0; i < 3; i++) AudioPlayer()..setReleaseMode(ReleaseMode.stop), + ]; + var _next = 0; + + Future play(Sfx sfx) async { + if (!enabled) return; + final player = _players[_next]; + _next = (_next + 1) % _players.length; + try { + await player.stop(); + await player.play(AssetSource(_files[sfx]!)); + } catch (_) { + // Audio must never break gameplay. + } + } + + void dispose() { + for (final p in _players) { + p.dispose(); + } + } +} diff --git a/lib/state/providers.dart b/lib/state/providers.dart index ff2e4aa..f11cb2a 100644 --- a/lib/state/providers.dart +++ b/lib/state/providers.dart @@ -1,8 +1,15 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../services/audio_service.dart'; import 'game_session_notifier.dart'; final gameSessionProvider = NotifierProvider( GameSessionNotifier.new, ); + +final audioServiceProvider = Provider((ref) { + final service = AudioService(); + ref.onDispose(service.dispose); + return service; +}); diff --git a/lib/ui/screens/game_screen.dart b/lib/ui/screens/game_screen.dart index 9ef9dd5..da3a196 100644 --- a/lib/ui/screens/game_screen.dart +++ b/lib/ui/screens/game_screen.dart @@ -4,6 +4,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../game/engine/game_engine.dart'; import '../../game/models/stage.dart'; import '../../l10n/gen/app_localizations.dart'; +import '../../services/audio_service.dart'; import '../../state/game_session_notifier.dart'; import '../../state/providers.dart'; import '../theme/palette.dart'; @@ -124,8 +125,26 @@ class _GameScreenState extends ConsumerState { } } + void _playSfx(GameViewState? prev, GameViewState? next) { + if (next == null) return; + final audio = ref.read(audioServiceProvider); + if (prev?.fxTick != next.fxTick && next.lastPlacement != null) { + final placement = next.lastPlacement!; + if (placement.linesCleared > 0) { + audio.play(placement.comboStreak >= 2 ? Sfx.combo : Sfx.clear); + } else { + audio.play(Sfx.place); + } + } + if (prev?.phase != next.phase) { + if (next.phase == GamePhase.won) audio.play(Sfx.win); + if (next.phase == GamePhase.lost) audio.play(Sfx.lose); + } + } + @override Widget build(BuildContext context) { + ref.listen(gameSessionProvider, _playSfx); final view = ref.watch(gameSessionProvider); if (view == null) { return const Scaffold(body: Center(child: CircularProgressIndicator())); diff --git a/pubspec.yaml b/pubspec.yaml index 2908df4..98d7eb9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -63,6 +63,9 @@ flutter: # the material Icons class. uses-material-design: true + assets: + - assets/audio/ + # To add assets to your application, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg diff --git a/test/ui/game_screen_golden_test.dart b/test/ui/game_screen_golden_test.dart new file mode 100644 index 0000000..d5aee3e --- /dev/null +++ b/test/ui/game_screen_golden_test.dart @@ -0,0 +1,68 @@ +import 'package:block_seasons/core/rng.dart'; +import 'package:block_seasons/game/engine/piece_generator.dart'; +import 'package:block_seasons/l10n/gen/app_localizations.dart'; +import 'package:block_seasons/game/models/stage.dart'; +import 'package:block_seasons/state/providers.dart'; +import 'package:block_seasons/ui/screens/game_screen.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_test/flutter_test.dart'; + +final _stage = StageConfig.fromJson({ + 'id': 'golden_stage', + 'seed': 777, + 'moveLimit': 22, + 'preset': [ + {'x': 2, 'y': 2, 't': 'gem'}, + {'x': 5, 'y': 2, 't': 'gem'}, + {'x': 2, 'y': 5, 't': 'gem'}, + {'x': 3, 'y': 7, 't': 'filled', 'c': 1}, + {'x': 4, 'y': 7, 't': 'filled', 'c': 2}, + {'x': 5, 'y': 7, 't': 'filled', 'c': 3}, + {'x': 1, 'y': 6, 't': 'filled', 'c': 4}, + ], + 'objectives': [ + {'type': 'clearGems', 'count': 3}, + ], + 'stars': { + 'two': {'movesLeft': 5}, + 'three': {'movesLeft': 10}, + }, + 'generatorProfile': 'mid', +}); + +void main() { + testWidgets('game screen golden snapshot', (tester) async { + await tester.binding.setSurfaceSize(const Size(390, 844)); // iPhone-ish + final container = ProviderContainer(); + addTearDown(container.dispose); + container + .read(gameSessionProvider.notifier) + .startStage(_stage, generator: PieceGenerator(SeededRng(7))); + + await tester.pumpWidget( + UncontrolledProviderScope( + container: container, + child: MaterialApp( + debugShowCheckedModeBanner: false, + localizationsDelegates: AppLocalizations.localizationsDelegates, + supportedLocales: AppLocalizations.supportedLocales, + theme: ThemeData( + colorScheme: ColorScheme.fromSeed( + seedColor: const Color(0xFF5B7FFF), + brightness: Brightness.dark, + ), + useMaterial3: true, + ), + home: const GameScreen(), + ), + ), + ); + await tester.pumpAndSettle(); + + await expectLater( + find.byType(GameScreen), + matchesGoldenFile('goldens/game_screen.png'), + ); + }); +} diff --git a/test/ui/goldens/game_screen.png b/test/ui/goldens/game_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..83df2ecc6d61ee9d69857df89725d127fba77979 GIT binary patch literal 19544 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 OQG2ZUs94cF;Qs-W7jgLj literal 0 HcmV?d00001 diff --git a/tool/gen_sfx.dart b/tool/gen_sfx.dart new file mode 100644 index 0000000..01fab93 --- /dev/null +++ b/tool/gen_sfx.dart @@ -0,0 +1,92 @@ +// Synthesizes the game's SFX as 16-bit PCM WAVs so no licensed audio is +// needed. Run after changing any envelope: +// dart run tool/gen_sfx.dart +import 'dart:io'; +import 'dart:math' as math; +import 'dart:typed_data'; + +const sampleRate = 44100; + +void main() { + final outDir = Directory('assets/audio')..createSync(recursive: true); + + _write(outDir, 'place.wav', _tone([(180, 220)], 0.06, gain: 0.5)); + _write(outDir, 'clear.wav', _tone([(440, 880)], 0.16, gain: 0.6)); + _write( + outDir, + 'combo.wav', + _concat([ + _tone([(660, 660)], 0.07, gain: 0.55), + _tone([(880, 880)], 0.07, gain: 0.55), + _tone([(1175, 1175)], 0.1, gain: 0.6), + ])); + _write( + outDir, + 'win.wav', + _concat([ + _tone([(523, 523)], 0.12, gain: 0.55), + _tone([(659, 659)], 0.12, gain: 0.55), + _tone([(784, 784)], 0.12, gain: 0.55), + _tone([(1047, 1047)], 0.3, gain: 0.6), + ])); + _write(outDir, 'lose.wav', _tone([(330, 150)], 0.45, gain: 0.5)); + + stdout.writeln('SFX written to ${outDir.path}'); +} + +/// Sine sweep segments (startHz, endHz) with a soft attack/decay envelope. +Float64List _tone(List<(double, double)> sweeps, double seconds, + {double gain = 0.5}) { + final n = (seconds * sampleRate).round(); + final out = Float64List(n); + var phase = 0.0; + for (var i = 0; i < n; i++) { + final t = i / n; + final seg = sweeps[(t * sweeps.length).floor().clamp(0, sweeps.length - 1)]; + final freq = seg.$1 + (seg.$2 - seg.$1) * t; + phase += 2 * math.pi * freq / sampleRate; + final attack = math.min(1.0, i / (0.005 * sampleRate)); + final decay = math.min(1.0, (n - i) / (0.05 * sampleRate)); + out[i] = math.sin(phase) * gain * attack * decay; + } + return out; +} + +Float64List _concat(List parts) { + final total = parts.fold(0, (sum, p) => sum + p.length); + final out = Float64List(total); + var offset = 0; + for (final p in parts) { + out.setAll(offset, p); + offset += p.length; + } + return out; +} + +void _write(Directory dir, String name, Float64List samples) { + final pcm = Int16List(samples.length); + for (var i = 0; i < samples.length; i++) { + pcm[i] = (samples[i].clamp(-1.0, 1.0) * 32767).round(); + } + final dataSize = pcm.length * 2; + final header = ByteData(44) + ..setUint32(0, 0x52494646, Endian.big) // RIFF + ..setUint32(4, 36 + dataSize, Endian.little) + ..setUint32(8, 0x57415645, Endian.big) // WAVE + ..setUint32(12, 0x666d7420, Endian.big) // fmt + ..setUint32(16, 16, Endian.little) + ..setUint16(20, 1, Endian.little) // PCM + ..setUint16(22, 1, Endian.little) // mono + ..setUint32(24, sampleRate, Endian.little) + ..setUint32(28, sampleRate * 2, Endian.little) + ..setUint16(32, 2, Endian.little) + ..setUint16(34, 16, Endian.little) + ..setUint32(36, 0x64617461, Endian.big) // data + ..setUint32(40, dataSize, Endian.little); + final file = File('${dir.path}/$name'); + final bytes = BytesBuilder() + ..add(header.buffer.asUint8List()) + ..add(pcm.buffer.asUint8List()); + file.writeAsBytesSync(bytes.toBytes()); + stdout.writeln(' $name (${(dataSize / 1024).toStringAsFixed(1)} KB)'); +}