Repository navigation
Commit 60cabab
Define sounds as a recipe table and route them through one master gain
Following the Game-Systems web-sfx spec: click, error, and success are
recipes (wave, frequency and slide, duration, volume), and the success
arpeggio uses a steps list with start offsets. Every voice goes through
a master gain node, at most 16 play at once (the oldest is stopped),
exponential ramps stop at 0.0001 instead of 0, nodes disconnect when
they end, clicks get a few percent of pitch jitter, and a missing or
blocked AudioContext turns sound off instead of throwing. The context
was already created on first use rather than at load.
Fixes #1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1 parent fc1f46c commit 60cabab
3 files changed
Lines changed: 171 additions & 69 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
264 | | - | |
265 | | - | |
266 | | - | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
267 | 296 | | |
268 | 297 | | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
273 | 310 | | |
274 | | - | |
275 | | - | |
| 311 | + | |
| 312 | + | |
276 | 313 | | |
277 | 314 | | |
278 | | - | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
279 | 321 | | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
288 | 331 | | |
289 | | - | |
290 | | - | |
| 332 | + | |
| 333 | + | |
291 | 334 | | |
292 | 335 | | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
293 | 344 | | |
294 | 345 | | |
295 | | - | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
296 | 349 | | |
| 350 | + | |
| 351 | + | |
297 | 352 | | |
298 | 353 | | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
331 | 359 | | |
332 | 360 | | |
333 | 361 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
626 | 627 | | |
627 | 628 | | |
628 | 629 | | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
635 | 645 | | |
636 | 646 | | |
637 | | - | |
| 647 | + | |
638 | 648 | | |
639 | 649 | | |
640 | 650 | | |
641 | 651 | | |
642 | 652 | | |
643 | | - | |
644 | | - | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
645 | 663 | | |
646 | 664 | | |
647 | | - | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
648 | 669 | | |
649 | | - | |
650 | 670 | | |
651 | 671 | | |
652 | 672 | | |
| |||
655 | 675 | | |
656 | 676 | | |
657 | 677 | | |
658 | | - | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
659 | 684 | | |
660 | 685 | | |
661 | | - | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
662 | 689 | | |
663 | 690 | | |
664 | 691 | | |
| |||
668 | 695 | | |
669 | 696 | | |
670 | 697 | | |
671 | | - | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
672 | 746 | | |
673 | 747 | | |
674 | 748 | | |
| |||
0 commit comments