Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mid2agb improvements #380

Closed
wants to merge 13 commits into from
Closed

mid2agb improvements #380

wants to merge 13 commits into from

Conversation

camthesaxman
Copy link
Contributor

I've gotten two midi songs so far to match out of 8 that I tried. I have trouble dumping some of them to get the same compression and divide the rests the same way.

@ghost
Copy link

ghost commented Jul 19, 2017

There are a few problems with the implementation of running status.

  1. The running status will be corrupted by FindNoteEnd. It needs to be saved/restored.
  2. The running status is carried over from previous tracks. It may be a good idea to set it to a default value on beginning a new track or detect the lack of a status at the beginning of a track as an error.
  3. Events with status 0xF0 or greater shouldn't affect the running status.

@camthesaxman
Copy link
Contributor Author

Are you able to play these MIDI files? I seem to only be able to play them in Windows Media Player 10 on Windows XP, and I'm not sure why.

@iimarckus
Copy link
Member

I can play them just fine with FluidSynth.

@camthesaxman
Copy link
Contributor Author

Others have said that they don't play in Winamp and newer versions of Windows Media Player. I have yet to try those programs. I also tried Timidity on Linux Mint, but it refused to play any sound because it didn't detect the instruments, even though the program change events are there. I'd like to know what's causing the incompatibilities with some MIDI players.

@iimarckus
Copy link
Member

iimarckus commented Jul 19, 2017

They work fine for me in Timidity too. I don’t pretend to know how MIDI/soundfonts work or anything, but I had no problems with Timidity or Fluidsynth except the instruments didn’t sound like the GBA (which I figured was expected).

@camthesaxman
Copy link
Contributor Author

I ran a script that tested all of my dumped MIDI files, and I added all of the ones that matched.

@ghost
Copy link

ghost commented Jul 20, 2017

The MIDI files seem to be silent in the Windows 10 version of Windows Media Player.

@camthesaxman
Copy link
Contributor Author

Try these MIDI files and see if they work now.

@ghost
Copy link

ghost commented Jul 21, 2017

I still don't hear anything. Other MIDIs do work, though.

@camthesaxman
Copy link
Contributor Author

Hmm... I'm not sure what's causing the incompatibility. The files play fine for me on WMP10, MidiYodi, Timidity, SeNSSoFT Midi Player (Windows Phone app), and my Suzuki G-33 keyboard, and can be imported into MuseScore. WMP12 seems to be the only program I've tried that has a problem with these files, and I don't know enough about MIDI to figure out what's causing it to be silent.

Kermalis added a commit to Kermalis/pokeruby that referenced this pull request Sep 15, 2018
huderlem added a commit that referenced this pull request Sep 15, 2018
@camthesaxman
Copy link
Contributor Author

I guess this PR is obsolete now that Diego fixed the midi issues in pokeemerald. It would be better to apply those mid2agb changes to pokeruby and pokefirered.

@PikalaxALT
Copy link
Collaborator

If this PR is obsolete, then please close it without merge.

@PikalaxALT PikalaxALT closed this Jul 23, 2019
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