Commit Graph

164 Commits

Author SHA1 Message Date
rubidium42
6bd7f8816d
Fix #9117, 04ce1f07: [Fluidsynth] Infinite wait when stopping song (#9181)
In FluidSynth 2.2.0 an extra state was added to denote stopping. To transition
from this state to a stopped state the rendering needs to be running. Since
04ce1f07 locking was added that skipped the rendering when something else held
a lock, so the state would never get to stopped and join would never return.
2021-05-03 16:40:19 +01:00
Loïc Guilloux
888389c28d
Codechange: Use std::string in console commands/aliases registration, and std::map instead our sorted linked list (#9057)
* Codechange: Use std::string in console commands and aliases registration

* Codechange: Use std::map to register console commands

* Codechange: Use std::map to register console aliases

* Cleanup: Remove now unused function
2021-04-24 15:19:57 +02:00
Ghislain Antony Vaillant
e7cf589868 Fix: Honor default soundfont for FluidSynth
Debian now provides a default soundfont for FluidSynth via its alternatives system.

In short, FluidSynth is configured to look for `/usr/share/sounds/sf3/default-GM.sf3` as its default soundfont, and each soundfront package (FluidR3, OPL-3, MuseScore...) may provide or override this symlink. By default, FluidSynth is installed on Debian with the `TimGM6mb` soundfont by default due to its limited size.

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929185 for further details.
2021-04-07 12:30:04 +02:00
Ghislain Antony Vaillant
9725bd8dd0 Fix: Use FluidSynth default soundfont 2021-04-07 12:29:21 +02:00
Niels Martin Hansen
e0561dbded Fix #8713: Change OTTD2FS and FS2OTTD to return string objects instead of static buffers 2021-04-07 09:31:47 +02:00
Milek7
33c5f984f5
Codechange: Use COINIT_MULTITHREADED in CoInitializeEx (#8938) 2021-04-04 07:40:56 +01:00
Niels Martin Hansen
b427ddce88 Codechange: Switch to explicit wide strings 2021-02-23 11:25:39 +01:00
Niels Martin Hansen
beeb9e0a1b Remove: [Win32] Last pretenses of being able to build for Windows 95 2021-02-23 11:25:39 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Michael Lutz
65f65ad2ad Codechange: Convert some more FIO functions to take std::string. 2020-12-27 13:19:25 +01:00
Michael Lutz
f3326d34e7 Codechange: Use std::string in FIO search path handling. 2020-12-27 13:19:25 +01:00
Charles Pigott
348c231e12 Codechange: Make codestyle for CMake files consistent for 'control' statements 2020-09-25 14:43:13 +01:00
TechGeekNZ
716c883737 Fix: Globally apply preprocessor directive coding style
Global; except for the 32-bit SSE blitter, which has some #DEFINEs
in not-very-nice places.
2020-07-03 09:08:46 +02:00
Patric Stout
4d04009d12 Codechange: remove #ifdef from .cpp files to exclude features
With CMake, these files are simply not compiled to start with.
2020-06-05 19:36:05 +02:00
Patric Stout
56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
Michael Lutz
37bc2f8064 Codechange: Use std::string in the driver and blitter selection code. 2020-05-21 20:02:34 +02:00
Niels Martin Hansen
2c84549db0 Fix: Two issues in MIDI file writer
Variable-length values would write threshold values with a byte too many.
System Exclusive messages would cause write to fail since the end byte was treated as part of next message.
2020-05-08 22:43:43 +02:00
Michael Lutz
4bfa3ff619 Remove: [OSX] Old QuickTime music driver. 2020-04-12 18:44:43 +02:00
Michael Lutz
b17ea3de36 Remove: [OSX] Support for the pre-10.5 audio/music APIs. 2020-04-12 18:44:43 +02:00
Niels Martin Hansen
04ce1f0713 Fix #7885: [Fluidsynth] Use recommended method of setting sample rate 2020-02-07 21:01:11 +01:00
Milek7
41163331aa Fix: Silence all notes when stopping song in fluidsynth 2020-01-12 16:19:02 +00:00
Milek7
823333c4b0 Fix: correct checking of fluid_settings_setnum return code 2020-01-12 14:55:20 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Michael Lutz
d5a9bd404a Codechange: [OSX] Use std::unique_ptr with a custom deleter to simply memory management of Core Foundation types. 2019-11-01 22:32:53 +01:00
Charles Pigott
3cc6b7f725 Fix: Signedness issue in midi driver 2019-09-30 14:00:06 +01:00
Charles Pigott
7b400d43c1 Codechange: Fix warning about discarding qualifiers by *really* casting the variable 2019-09-30 14:00:06 +01:00
Charles Pigott
b839e355ba Fix: Compilation error on MinGW due to usage of C++17 template deduction 2019-09-30 14:00:06 +01:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
Michael Lutz
316e4e9417 Fix: [OSX] Macro name conflict when trying to compile the QuickTime music driver. 2019-09-29 20:31:48 +02:00
Niels Martin Hansen
a933afabfd Add: [Win32] Select MIDI device by port name 2019-08-31 21:13:25 +01:00
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