Commit Graph

134 Commits

Author SHA1 Message Date
Niels Martin Hansen 1e723934a1 Fix 27384486e4: Error in GM Reset sysex data 2019-07-07 22:46:21 +02:00
Niels Martin Hansen a0c78c73e3 Fix: Correctly reset playback between songs in win32_m driver 2019-07-04 22:27:34 +02:00
Niels Martin Hansen 27b7c5a5fd Fix: Correctly reset playback between songs in DMusic driver 2019-07-04 22:27:34 +02:00
Niels Martin Hansen a4cf1c8aec Fix: Don't keep mutex locked while parsing MIDI data 2019-07-04 22:27:34 +02:00
Niels Martin Hansen 9839ce006c Fix: Time values should be DWORD everywhere in win32_m 2019-07-04 22:27:34 +02:00
Niels Martin Hansen f8633fc63b Codechange: Fix comment indentation 2019-07-04 22:27:34 +02:00
Niels Martin Hansen 27384486e4 Codechange: Use common source for well-known SysEx messages in Windows music drivers 2019-07-04 22:27:34 +02:00
Niels Martin Hansen 9d8a83bf8d Codechange: Add some const in preparation 2019-07-04 22:27:34 +02:00
Niels Martin Hansen c74df8581d Codechange: Use std::mutex instead of CRITICAL_SECTION in win32_m 2019-07-04 22:27:34 +02:00
glx 9184a62958 Codechange: replace grow() usage for MidiFile 2019-05-04 19:50:53 +01:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Michael Lutz ae748166d0 Codechange: Use platform independent C++11 function for sleeping on a thread. 2019-04-06 11:27:39 +02:00
Michael Lutz 05bc2ed7cb Codechange: Replace custom thread code with C++11 thread objects.
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
2019-04-06 11:27:39 +02:00
Michael Lutz 05f4e73608 Codechange: Replace custom mutex code with C++11 mutex'es.
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
2019-04-06 11:27:39 +02:00
Niels Martin Hansen df673e9b2c Fix: Fluidsynth should not try to lock sample data in memory 2019-03-30 22:11:32 +01:00
glx22 66dd7c3879
Fix: MSVC warnings (#7423) 2019-03-28 00:09:33 +01:00
Henry Wilson cc62f4163f Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector 2019-03-26 20:15:57 +00:00
Henry Wilson c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
Henry Wilson a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 2019-03-26 20:15:57 +00:00
Henry Wilson af7d9020a1 Codechange: Use override specifer for overriding member declarations
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.

Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
2019-03-24 16:10:04 +01:00
Patric Stout aa350528df Remove: libtimidity support (NOT timidity support)
libtimidity was introduced with the support for PSP. PSP has been
dropped almost a year ago, but this music driver was not. This
corrects that oversight.

timidity (via extmidi) still works fine. This purely removes the
libtimidity support, which was only really available for PSP.
2019-03-05 22:03:00 +01:00
Nikolas Nyby 8a6e03c4d2 Fix #7189: Fluidsynth volume gain too high 2019-02-21 10:08:07 +01:00
Niels Martin Hansen cb60a5e57f Change: Fluidsynth music driver plays through mixer instead of own audio driver 2019-01-05 17:17:10 +01:00
Michael Lutz 05a93c121c Fix: [OSX] Macro redefinition warning. 2018-12-08 20:13:27 +01:00
Charles Pigott 0c619b7c4b Add: Fluidsynth music driver support (jmak) 2018-11-01 18:06:38 +01:00
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Charles Pigott ca5b68145a Fix #6839: OLD_GM_DIR midi search path got lost (#6900) 2018-09-12 09:19:06 +02:00
Niels Martin Hansen bb086f9240 Fix: Better "temp" path for decoded MPSMIDI files when source filename has no path separators 2018-09-03 21:57:04 +02:00
Niels Martin Hansen 560b01f307 Fix: Check the search paths for standard MIDI files 2018-09-03 21:57:04 +02:00
glx a4eccd8076 Fix: dmusic compilation with MSYS2/MINGW 2018-07-24 21:39:21 +02:00
Charles Pigott 63898f61b0 Codechange: Rearrange struct packing defines and make MinGW use _Pragma pack style 2018-07-19 20:24:17 +02:00
Niels Martin Hansen a1b7812c7e Change: Improved looping of title song 2018-06-15 23:09:17 +02:00
Niels Martin Hansen 11a846e3d5 Change: Compensate for MIDI transmission time when skipping start of song 2018-06-15 23:09:17 +02:00
Niels Martin Hansen 276192f714 Change #6684: Cutting point overrides for music base sets
This improves bad looping of title screen song from Windows TTD, and fixes
a long silence at the end of "Can't get there from here" from Windows TTD.
2018-06-15 23:09:17 +02:00
Niels Martin Hansen a8080f14a9 Change: DOS music loading for non-Windows music drivers 2018-06-05 22:58:35 +02:00
Niels Martin Hansen e2fa4b71c6 Feature: Console command to dump decoded music to .mid file 2018-06-05 22:58:35 +02:00
Niels Martin Hansen 2ae9df7248 Feature: Decoder for DOS version music
This is based on reverse-engineering the TTD DOS driver for General MIDI music.
2018-06-05 22:58:35 +02:00
Niels Martin Hansen f946b3da56 Codechange: Pass a MusicSongInfo struct instead of bare filename to music drivers.
Preparation for later extending the info passed to music drivers.
2018-06-05 22:58:35 +02:00
Michael Lutz ce51e54d26 Change: [Win32] Parse and load DLS files for the DirectMusic driver without relying on high-level functions. 2018-05-26 22:28:01 +02:00
Michael Lutz 255549250f Change: [Win32] Replace the current high-level Direct Music driver with a low-level driver that directly works with MIDI data.
This allows using different music sources besides standard MIDI files on disk.
2018-05-26 22:28:01 +02:00
Niels Martin Hansen 52655b5849 Change: [Win32 MIDI] Reset pitch bend range controllers on song change
Some songs (at least one in OpenMSX) use the MIDI pitch bend range controllers
but don't reset these at the end. This causes all subsequent songs to sound
wrong.
2018-05-01 22:29:53 +02:00
Niels Martin Hansen 99a39c842c Change: [Win32 MIDI] Send Roland reverb control message like TTD DOS does 2018-05-01 22:29:53 +02:00
Niels Martin Hansen b902e01e10 Change #6685: Replace Win32 music driver with one not depending on MCI
MCI MIDI is poorly supported on newer versions of Windows and can cause large
delays at the beginning of tracks.

The new driver is based on a from-scratch reader for Standard MIDI Files. This
should be re-usable in other music drivers too, and can allow for finer control
of playback in general.

It also provides a better framework for reading MIDI data from other formats
than just SMF.
2018-05-01 22:29:53 +02:00
Patric Stout 85adde7485 Remove: PSP support 2018-04-29 15:32:16 +02:00
Patric Stout 17bd580630
Remove: NO_DEBUG_MESSAGES was only read and setting it broke compilation (#6703)
Given any speed issue cannot be attributed to checking for _debug_NNN_level, removing this is a safe action

This fixes #6652.
2018-04-11 22:07:21 +02:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
peter1138 a9a7abf26c (svn r27834) -Change: Parse extmidi command string for parameters to pass on. 2017-03-29 17:36:46 +00:00
michi_cc 94b3965989 (svn r27675) -Fix [FS#6502]: [OSX] Building with 10.11 or 10.12 SDKs. 2016-10-31 19:29:01 +00:00