Commit Graph

17 Commits

Author SHA1 Message Date
Joe Mattiello eb2928eb0c
CoreMIDI add driver (#17569)
CoreMIDI install into build

Signed-off-by: Joseph Mattiello <git@joemattiello.com>
2025-02-15 18:57:09 +01:00
negativeExponent 22d7fbd521
alsa_midi: Prevent some notes to linger when application is closed (#16815)
Appears to be enough to silence any lingering notes when midi is playing
and core is suddenly closed. Tried adding this on the core side but
midi_free comes first before retro_deinit/retro_unload_game so the
driver was already closed.

Another way to fix this in the core's side is to call 'flush'
immediately after any midi writes, but that doesn't appear to be the
api's design, flush is supposed to get called at the end of the
retro_run.

Im open for any better methods. but this should work for the issue
without causing other problems.

Co-authored-by: negativeExponent <negativeExponent@users.noreply.github.com>
2024-07-25 11:38:09 -07:00
negativeExponent 240e5eb9e5
winmm_midi: Fix midi_write_long_event unable to send sysex correctly (#16804)
data size has to be DWORD aligned.

Fix https://github.com/libretro/RetroArch/issues/16790

review before merge for confirmation/corrections:
@LibretroAdmin @zoltanvb and others
2024-07-22 19:08:29 -07:00
negativeExponent bd69602686 winmm_midi.c: Ditto for MEVT_F_SHORT
similar to MEVT_F_LONG, this too is full DWORD, though its value remains 0
2024-07-18 08:24:20 -05:00
negativeExponent 2dae318636 midi: Fix unneeded left shift for MEVT_F_LONG
MEVT_F_LONG is a DWORD type with a value of 0x80000000, so there is no need to left-shit it.
2024-07-18 08:23:24 -05:00
twinaphex bfeffb2423 Fix local header path includes 2021-12-04 16:11:02 +01:00
twinaphex 55410cf407 Use C-style comments 2021-02-03 10:04:42 +01:00
Bernhard Schelling 4fcace9aed
Recover from messages not handled by the device
When an underlying MIDI device does not understand/support a MIDI message (very common with sysex messages) it returns an error code.
With this fix MIDI output can continue gracefully even after an emulated game sends an unsupported message.
2021-01-13 02:07:21 +09:00
Bernhard Schelling 8a1ca893f0
Fix winmm midi driver hanging on content closing
midiStreamStop can freeze the process when there has been a NOTE-ON message without a corresponding NOTE-OFF.
Just removing the call to midiStreamStop and letting the midiStreamClose below it do the entire stopping and closing fixes that.
2021-01-03 03:22:31 +09:00
twinaphex 1fafdb2843 Style nits 2020-02-10 13:18:27 +01:00
twinaphex 617940fb8d Move midi_null driver to retroarch.c 2020-01-09 17:00:46 +01:00
Adrien Moulin 9cecf6623f Midi: correct pitch bend in ALSA driver
MIDI standard pitch bend center position is 0x2000 but ALSA's is 0
2019-08-14 21:47:54 +02:00
orbea 4c56167446 Convert to linux line endings. 2019-02-03 15:43:42 -08:00
Zoran Vuckovic c1662ded34 Add ALSA MIDI driver 2018-10-04 21:48:11 +02:00
twinaphex 7bd705983e Convert strcmp to string_is_equal 2018-09-15 07:47:44 +02:00
twinaphex ec5d046f4c Cleanups - get rid of strcmp references 2018-09-15 07:44:21 +02:00
Zoran Vuckovic b487c3cace Add MIDI support 2018-06-16 21:17:32 +02:00