Skip to content

Ver2 better error wavs - #895

Open
NoSloppy wants to merge 27 commits into
profezzorn:masterfrom
NoSloppy:Ver2-better-error-wavs
Open

NoSloppy wants to merge 27 commits into
profezzorn:masterfrom
NoSloppy:Ver2-better-error-wavs

Conversation

@NoSloppy

@NoSloppy NoSloppy commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

Error messages at boot and preset change use SOUNDQ instead of piling on top of each other. Boot/font announcements wait until the errors have finished.
DodgeSound() is kept, ducking everything other than a queued error wav or Talkie, and late-starting sounds get caught as well.

  • Falls through to Talkie/beeper when no error wav exists.
  • Fixes the freeze that was caused by checking sound length before it was available.
  • Defers EFFECT_BOOT / EFFECT_NEWFONT events, not just sounds, so as to keep the Event2 contract intact.
  • EFFECT_BOOT now falls through to font if not boot.wav exists
  • Clears the queue on preset change so things don't pile up/linger, and prevents simultaneous error wav-Talkie playback.

@profezzorn

Copy link
Copy Markdown
Owner

How much memory does this cost?

@profezzorn

Copy link
Copy Markdown
Owner

Also, the description is all AI slop, and not helpful.
It does explain exactly what is changed, but I can see that by reading the code.
Explanations should focus on why, not what.

@NoSloppy

NoSloppy commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

How much memory does this cost?

I'm getting 1456 bytes.

@NoSloppy

NoSloppy commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Explanations should focus on why, not what.

Made it human and simplified.

@profezzorn

Copy link
Copy Markdown
Owner

Defers EFFECT_BOOT / EFFECT_NEWFONT events, not just sounds, so as to keep the Event2 contract intact.

So, the more I think about this, the more I come to the same conclusion that I did last time; Error messages are not a normal part of ProffieOS operations, so it doesn't make sense to alter how ProffieOS works to make error messages slightly better. (Unless those alterations also makes ProffieOS better in some way.)

There are things we need to fix, like:

  • multiple error messages playing on top of each other
  • crashing when no player is found to play an error message
  • making sure that all played sounds are dodged while the error message(s) are playing

My current thinking is that since the sound queue now has the ability to do anything (with virtual classes) maybe we should make the beeper and talkie all use the sound queue. That way, making error messages not overlap becomes trivial. Dodging should also become simpler that way I think, and since we would have one queue instead of three, it would use less memory as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants