Commit fbb2116
fix: Volume P-lock now works for all instrument types
Root cause: Volume P-lock was computed and LOGGED in scheduler but not
actually PASSED to most play methods. Only playSampledInstrument was
correctly receiving the volume parameter.
Changes:
- Add volume parameter to playSample (engine.ts:455)
- Add volume parameter to playSynthNote (engine.ts:342)
- Add volume parameter to playToneSynth (engine.ts:802)
- Add volume parameter to playAdvancedSynth (engine.ts:857)
- Update synthEngine.playNote and SynthVoice.start to accept volume
- Update ToneSynthManager.playNote to pass volume as velocity
- Update AdvancedSynthEngine chain to accept and apply volume
- Update scheduler to pass volumeMultiplier to ALL play methods
Implementation details:
- playSample: Apply volume via envelope gain ramp
- playSynthNote: Scale envelope peak by volume
- playToneSynth: Pass volume as velocity to triggerAttackRelease
- playAdvancedSynth: Pass volume to amplitude envelope
Testing:
- Added volume-plock.test.ts with contract tests
- All 1817 unit tests pass
- All 45 integration tests pass
Documentation:
- Updated BUG-PATTERNS.md with fix summary and status
- Added Bug Pattern #3: "Computed Value Logged But Not Used"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent 3f8441f commit fbb2116
File tree
7 files changed
+548
-46
lines changed- app/src/audio
- docs
7 files changed
+548
-46
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
485 | 485 | | |
486 | 486 | | |
487 | 487 | | |
| 488 | + | |
488 | 489 | | |
489 | | - | |
| 490 | + | |
490 | 491 | | |
491 | 492 | | |
492 | 493 | | |
493 | 494 | | |
494 | 495 | | |
495 | | - | |
| 496 | + | |
496 | 497 | | |
497 | 498 | | |
498 | 499 | | |
| |||
517 | 518 | | |
518 | 519 | | |
519 | 520 | | |
520 | | - | |
521 | | - | |
| 521 | + | |
| 522 | + | |
522 | 523 | | |
523 | 524 | | |
524 | 525 | | |
| |||
724 | 725 | | |
725 | 726 | | |
726 | 727 | | |
| 728 | + | |
727 | 729 | | |
728 | 730 | | |
729 | 731 | | |
730 | 732 | | |
731 | | - | |
| 733 | + | |
| 734 | + | |
732 | 735 | | |
733 | 736 | | |
734 | | - | |
| 737 | + | |
735 | 738 | | |
736 | 739 | | |
737 | 740 | | |
738 | 741 | | |
| 742 | + | |
739 | 743 | | |
740 | 744 | | |
741 | 745 | | |
742 | 746 | | |
743 | | - | |
| 747 | + | |
| 748 | + | |
744 | 749 | | |
745 | 750 | | |
746 | 751 | | |
| |||
771 | 776 | | |
772 | 777 | | |
773 | 778 | | |
774 | | - | |
| 779 | + | |
775 | 780 | | |
776 | 781 | | |
777 | 782 | | |
| 783 | + | |
778 | 784 | | |
779 | | - | |
| 785 | + | |
780 | 786 | | |
781 | 787 | | |
782 | 788 | | |
783 | 789 | | |
784 | 790 | | |
785 | 791 | | |
786 | | - | |
| 792 | + | |
787 | 793 | | |
788 | 794 | | |
789 | 795 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
| 334 | + | |
334 | 335 | | |
335 | 336 | | |
336 | 337 | | |
337 | 338 | | |
338 | 339 | | |
339 | 340 | | |
340 | | - | |
| 341 | + | |
| 342 | + | |
341 | 343 | | |
342 | 344 | | |
343 | 345 | | |
| |||
346 | 348 | | |
347 | 349 | | |
348 | 350 | | |
349 | | - | |
| 351 | + | |
350 | 352 | | |
351 | | - | |
| 353 | + | |
352 | 354 | | |
353 | 355 | | |
354 | 356 | | |
| |||
451 | 453 | | |
452 | 454 | | |
453 | 455 | | |
454 | | - | |
| 456 | + | |
| 457 | + | |
455 | 458 | | |
456 | 459 | | |
457 | 460 | | |
| |||
498 | 501 | | |
499 | 502 | | |
500 | 503 | | |
501 | | - | |
| 504 | + | |
502 | 505 | | |
| 506 | + | |
503 | 507 | | |
504 | 508 | | |
505 | | - | |
| 509 | + | |
506 | 510 | | |
507 | 511 | | |
508 | 512 | | |
| |||
523 | 527 | | |
524 | 528 | | |
525 | 529 | | |
526 | | - | |
527 | | - | |
| 530 | + | |
| 531 | + | |
528 | 532 | | |
529 | 533 | | |
530 | 534 | | |
| |||
788 | 792 | | |
789 | 793 | | |
790 | 794 | | |
| 795 | + | |
791 | 796 | | |
792 | 797 | | |
793 | 798 | | |
794 | 799 | | |
795 | 800 | | |
796 | | - | |
| 801 | + | |
| 802 | + | |
797 | 803 | | |
798 | 804 | | |
799 | 805 | | |
| |||
803 | 809 | | |
804 | 810 | | |
805 | 811 | | |
806 | | - | |
| 812 | + | |
807 | 813 | | |
808 | 814 | | |
809 | 815 | | |
| |||
841 | 847 | | |
842 | 848 | | |
843 | 849 | | |
| 850 | + | |
844 | 851 | | |
845 | 852 | | |
846 | 853 | | |
847 | 854 | | |
848 | 855 | | |
849 | | - | |
| 856 | + | |
| 857 | + | |
850 | 858 | | |
851 | 859 | | |
852 | 860 | | |
| |||
863 | 871 | | |
864 | 872 | | |
865 | 873 | | |
866 | | - | |
| 874 | + | |
867 | 875 | | |
868 | 876 | | |
869 | 877 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
291 | 291 | | |
292 | 292 | | |
293 | 293 | | |
294 | | - | |
295 | | - | |
| 294 | + | |
| 295 | + | |
296 | 296 | | |
297 | 297 | | |
298 | | - | |
299 | | - | |
300 | | - | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
309 | | - | |
| 309 | + | |
310 | 310 | | |
311 | | - | |
| 311 | + | |
| 312 | + | |
312 | 313 | | |
313 | 314 | | |
314 | 315 | | |
| |||
317 | 318 | | |
318 | 319 | | |
319 | 320 | | |
320 | | - | |
| 321 | + | |
321 | 322 | | |
322 | | - | |
| 323 | + | |
| 324 | + | |
323 | 325 | | |
324 | 326 | | |
325 | 327 | | |
| |||
335 | 337 | | |
336 | 338 | | |
337 | 339 | | |
338 | | - | |
| 340 | + | |
339 | 341 | | |
340 | | - | |
| 342 | + | |
341 | 343 | | |
342 | 344 | | |
343 | 345 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
| 628 | + | |
628 | 629 | | |
629 | 630 | | |
630 | 631 | | |
631 | 632 | | |
632 | 633 | | |
633 | 634 | | |
634 | | - | |
| 635 | + | |
| 636 | + | |
635 | 637 | | |
636 | 638 | | |
637 | | - | |
| 639 | + | |
638 | 640 | | |
639 | 641 | | |
640 | 642 | | |
| |||
662 | 664 | | |
663 | 665 | | |
664 | 666 | | |
665 | | - | |
666 | | - | |
| 667 | + | |
| 668 | + | |
667 | 669 | | |
668 | 670 | | |
669 | 671 | | |
| |||
840 | 842 | | |
841 | 843 | | |
842 | 844 | | |
843 | | - | |
| 845 | + | |
844 | 846 | | |
845 | 847 | | |
846 | 848 | | |
| |||
856 | 858 | | |
857 | 859 | | |
858 | 860 | | |
| 861 | + | |
859 | 862 | | |
860 | | - | |
| 863 | + | |
| 864 | + | |
861 | 865 | | |
862 | 866 | | |
863 | | - | |
| 867 | + | |
864 | 868 | | |
865 | 869 | | |
866 | 870 | | |
867 | | - | |
868 | | - | |
| 871 | + | |
| 872 | + | |
869 | 873 | | |
870 | 874 | | |
871 | 875 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
| 336 | + | |
336 | 337 | | |
337 | 338 | | |
338 | 339 | | |
339 | 340 | | |
340 | 341 | | |
341 | | - | |
| 342 | + | |
| 343 | + | |
342 | 344 | | |
343 | 345 | | |
344 | 346 | | |
| |||
378 | 380 | | |
379 | 381 | | |
380 | 382 | | |
| 383 | + | |
381 | 384 | | |
382 | 385 | | |
383 | 386 | | |
384 | 387 | | |
385 | 388 | | |
386 | | - | |
| 389 | + | |
387 | 390 | | |
388 | 391 | | |
389 | 392 | | |
| |||
396 | 399 | | |
397 | 400 | | |
398 | 401 | | |
399 | | - | |
| 402 | + | |
400 | 403 | | |
401 | 404 | | |
402 | 405 | | |
| |||
0 commit comments