Skip to content

Perform a proper synthesizer reset - #613

Merged
ryohey merged 1 commit into
ryohey:mainfrom
spessasus:spessasynth-fix
May 21, 2026
Merged

Perform a proper synthesizer reset#613
ryohey merged 1 commit into
ryohey:mainfrom
spessasus:spessasynth-fix

Conversation

@spessasus

Copy link
Copy Markdown
Contributor

Per MIDI specification (RP-15), Reset All Controllers message does not actually reset all channel controllers. More importantly, it doesn't global parameters such as chorus, drum status and MIDI system.

This PR adds a GS reset after, ensuring that the synthesizer fully resets into a fresh state when loading a new song.
While most MIDI files do have a reset at the start, some don't and this PR fixes them.

CC @ryohey @robertnhart

@vercel

vercel Bot commented Apr 27, 2026

Copy link
Copy Markdown

@spessasus is attempting to deploy a commit to the Ryohei Kameyama's projects Team on Vercel.

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented May 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
signal Ready Ready Preview, Comment May 20, 2026 2:18pm

Request Review

@robertnhart

Copy link
Copy Markdown
Collaborator

I did a simple test with the Preview version. I set Signal to output to a virtual MIDI cable, then I connected the virtual MIDI cable to a MIDI monitor app. It looks like the reset code gets called when I open a new file.

If you are using Signal with an external MIDI device, perhaps you might not want Signal to send a GS Reset every time you open a new file. I wonder if this behavior might cause confusion or problems for some users (?).

@spessasus

Copy link
Copy Markdown
Contributor Author

I don't think that's an issue, esp given that most files I have already have a GM/GS/XG reset at the start.
It'll be more confusing without it, as signal already reset the synth via CC, but only partially, so it was really confusing that things like controllers reset but pitch wheel range, tunigns, etc. didn't.

@ryohey
ryohey self-requested a review May 21, 2026 23:43

@ryohey ryohey left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems reasonable, thanks!

@ryohey
ryohey merged commit 632de96 into ryohey:main May 21, 2026
3 checks passed
@spessasus
spessasus deleted the spessasynth-fix branch May 21, 2026 23:47
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.

3 participants