32 Commits

Author SHA1 Message Date
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
238eb649a2 Split up midi_driver code to midi_driver.c 2021-09-20 03:43:37 +02: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
twinaphex
203bea3fe6 (MIDI) Turn bunch of functions static
(Menu) Remove menu_display_null driver
2020-01-06 17:30:09 +01:00
twinaphex
48cca00d91 Revert "(retroarch.c) Cleanups"
This reverts commit db9a067e644229036ed70c8f78e8726b77037f14.
2019-11-18 06:43:30 +01:00
twinaphex
db9a067e64 (retroarch.c) Cleanups 2019-11-18 06:20:47 +01:00
twinaphex
0aa9bd9c22 (retroarch.c) Cleanups - start getting rid of driver_find_ident
functions
2019-11-18 06:06:59 +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
twinaphex
04d4ddc2d7 Buildfix 2019-06-17 20:09:48 +02:00
twinaphex
491283cea1 UI Companion drivre and MIDI driver integrated into retroarch.c too 2019-06-17 19:15:35 +02:00
Brad Parker
9493a4911e crash fix 2019-02-23 11:17:00 -05:00
CompCom
48e4848536 Disable alsa midi on classic(hakchi) builds. 2019-02-16 16:04:24 +11: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
twinaphex
eac56c4382 Try to avoid strcpy and strcmp in midi_driver.c 2018-09-15 07:32:48 +02:00
Twinaphex
2bdffff435 Silence more warnings 2018-06-21 07:34:27 +02:00
Zoran Vuckovic
8d99044fb4 Document MIDI interface 2018-06-18 21:26:10 +02:00
twinaphex
ca3b8149a8 MSVC 2003 buildfix 2018-06-18 05:03:26 +02:00
twinaphex
7d3f62a816 Buildfix 2018-06-18 01:35:38 +02:00
twinaphex
a6b0dd9f57 Buildfixes 2018-06-18 01:05:52 +02:00
Zoran Vuckovic
22d30a0dbf Fix segfault on device change 2018-06-17 18:50:27 +02:00
Zoran Vuckovic
b487c3cace Add MIDI support 2018-06-16 21:17:32 +02:00