-
Notifications
You must be signed in to change notification settings - Fork 95
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
Add Midi Support to FS-UAE using the PortMidi library. #209
Conversation
* supports macos, Linux, and Windows * automatically gets activated on Amiga serial port with midi baudrate * adds both midi in and out connections * full midi command support including sysex * allows to configure the in/out ports in config with: serial_port = midi:<out_port>[,<in_port]
Thanks, this looks good and is a great addition to FS-UAE, I will merge into master soon :) |
wouldn't it be better to add this to winuae ? so other projects that sync winuae sources could profit from it as well. |
Hi @FrodeSolheim, great to hear that you like my contribution. I am really looking forward to have midi in the official fs-uae builds... @rofl0r, winuae already has midi support for years now. Unfortunately, this midi module is using Windows midi calls directly and therefore not portable. That's the reason why I wrote a new, portable one for fs-uae |
aww, but maybe @tonioni would be interested in having a portable version regardless ? |
repeat last command rather than throwing away excess bytes
Thanks again, finally merged :) So it will be included in the upcoming develoment release. Will try with a WHDLoad Sierra game now, I assume that should work with munt/mt32emu :) |
Works :D It took a little debugging to get started, mostly because PortMidi did not represent devices like I expected to. I brought up Munt on alsa port 128:0 on Linux, but I had to use config serial_port = midi:Standard to get output on correct port. I had the following devices on my system (and no indication on what "Standard" is):
Anyway, that's not really a problem with this implementation, just something that needs to be improved at bit w.r.t. user friendlyness. But could simply be documentation. Or possibly some GUI in the Launcher. But initially, just documenting how to find/select the right device (and serial port option string) should be good enough. And run some additional testing on macOS and Windows :) |
I also added some minor changes to the MIDI code, the may change was to make midi_open a function without arguments (for compatibility with other UAE code) and a couple of compatibility functions to allows this to compile with WinUAE code that has been pulled in in the meantime. |
finally :) glad to see the merge on master... |
very cool!! going to try this with OctaMED as soon as i can get the new dev version working |
Further to my previous comment, I have managed to boot a hard drive file containing OctaMED and have just successfully played an old Midi file from the 90s @Newk77 in case you have not tested it yet. Latancy seems OK in of itself but I'm yet to play both Amiga audio and Midi together in the same song to see if there are any latency issues. I'll post videos on YouTube at some point if I have any success. Great job @cnvogelg :) |
Just confirming that there is noticeable latency when playing a test block in OctaMED @Newk77 and using two tracks, one with a hihat played on a drum machine and the other track playing a hihat sample. |
supports macos, Linux, and Windows
automatically gets activated on Amiga serial port with midi baudrate
adds both midi in and out connections
full midi command support including sysex
allows to configure the in/out ports in config with:
serial_port = midi:<out_port>[,<in_port]
tested on macos and Ubuntu 18.04. resolves #30