Commit graph

81 commits

Author SHA1 Message Date
Christopher Snowhill
bf6627aa73 MIDI input: Fix general pacing issues with AU
The timing of block based mode was kind of off. Now it should be just
fine. Thanks to testing on Windows in foo_midi.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-03 13:50:25 -08:00
Christopher Snowhill
7e5107d431 User Settings: Obey standards
Replace "midi.plugin" with "midiPlugin", as per the value naming
conventions that Apple set out. Migrate the old value if found.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 16:38:53 -08:00
Christopher Snowhill
3c35cf1037 MIDI Input: Fall back to system DLS Synth
If there's no configured SoundFont bank, or if the selected bank has
gone missing, and the user has configured the player to use the
FluidSynth driver, fall back to the system DLS Synthesizer, which has
its own Roland bank to fall back on if unconfigured.

Also, whether falling back, or already on an AU synthesizer, don't fail
if there's no bank configured or found. DLS doesn't explicitly require a
bank, and most other synthesizers of interest would not require a bank
either.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 00:09:40 -08:00
Christopher Snowhill
0c4d5002f6 Metadata: Now supports storing cuesheet tags and encoding quality status properties 2022-01-21 22:38:54 -08:00
Christopher Snowhill
684951bdc0 Change a bunch of NSArray declarations to const collection literals 2022-01-18 18:12:57 -08:00
Christopher Snowhill
1540b84b09 Clean up association names 2022-01-18 03:20:07 -08:00
Christopher Snowhill
39a5ee8ab7 Utility: Add stubs to regenerate Info.plist with file type associations 2022-01-18 03:07:32 -08:00
Christopher Snowhill
8ad7e086a8 Update copyright year 2022-01-02 23:34:29 -08:00
Christopher Snowhill
bce21b44d4 MIDI: Overhaul player completely, now Audio Unit support works properly, and the Sound Canvas VA hack is no longer needed. Now System Exclusive messages may be filtered for all plugins. 2021-11-02 19:52:12 -07:00
Christopher Snowhill
fdae7eec21 File info: Implemented support for Album Artist and Codec fields 2021-10-01 19:18:42 -07:00
Christopher Snowhill
0891a20bba MIDI: Detect presence and compatibility of Sound Canvas VA before attempting to import it later. It currently does not work with arm64, only x86_64 native or Rosetta 2. 2021-08-10 17:35:15 -07:00
Christopher Snowhill
59a5a7687e MIDI: Fix Sound Canvas VA duplication function to support the 32 signed instances current versions ship 2021-08-10 17:35:14 -07:00
Christopher Snowhill
b2a6a67170 MIDI: FluidSynth is now configured to load samples dynamically instead of caching entire banks at once 2021-05-08 19:41:35 -07:00
Christopher Snowhill
17fd41fbbc Updated FluidSynth again, restoring SF3 support 2021-05-08 00:47:03 -07:00
Christopher Snowhill
5d29b741a0 Updated FluidSynth 2021-05-07 21:08:48 -07:00
Christopher Snowhill
37aa36f9f4 MIDI: Fix FluidSynth device-id setting, which requires unique settings objects 2021-05-06 19:02:25 -07:00
Christopher Snowhill
f9d3a5f9eb MIDI: Fix FluidSynth SysEx code 2021-05-06 14:59:27 -07:00
Christopher Snowhill
1a95c234b2 Update FluidSynth code, changing default gain, and letting it handle SysEx messages on its own 2021-05-06 13:35:24 -07:00
Christopher Snowhill
e8e2fc3164 MIDI: Add SF3 extension to FluidSynth loader 2021-05-03 19:18:55 -07:00
Christopher Snowhill
4cf76dd7e3 MIDI: Replaced BASSMIDI with FluidSynth 2021-05-03 19:18:55 -07:00
Christopher Snowhill
4d7a4ec29d MIDI: No longer call BASS_Free on shutdown, may have been possible to cause a hang on shutdown 2021-04-27 00:19:26 -07:00
Christopher Snowhill
4ea289ba27 MIDI: Reject files with no event data 2021-04-11 17:23:55 -07:00
Dzmitry Neviadomski
3a387c3a3f Update Copyright year to 2021 with regex. 2021-03-03 23:05:57 +03:00
Dzmitry Neviadomski
70a22e9611 Fix some more warnings. 2021-01-27 05:12:07 +03:00
Christopher Snowhill
58b6ea5881 Added HMQ extension for HMP format 2020-12-08 19:16:03 -08:00
Christopher Snowhill
f5c7c4d49a Update midi_processing to latest version, fixing some severe MIDI file handling issues, including Standard MIDI file SysEx and SysEx continuation handling 2020-04-14 02:10:52 -07:00
Christopher Snowhill
c1a45135b3 Remove unnecessary cleanup code that impeded cases where multiple decoders could handle a single file type. 2019-07-07 00:37:56 -07:00
Christopher Snowhill
11845e18d6 Update Secret Sauce functionality. 2017-12-27 18:57:41 -08:00
Christopher Snowhill
436f1caff7 Updated DMXOPL to version 1.9.1. 2017-07-17 18:34:34 -07:00
Chris Moeller
113c52a616 Updated Doom oplmusic synth to latest version. 2017-06-23 16:50:41 -07:00
Chris Moeller
b18222052b Updated DMXOPL to version 1.8.2. 2017-06-23 16:50:10 -07:00
Christopher Snowhill
95e853a544 Updated DMXOPL to version 1.7. 2017-06-12 20:24:57 -07:00
Christopher Snowhill
d2dc14a72c Added DMXOPL patch set by sneakernets. 2017-06-02 14:36:52 -07:00
Christopher Snowhill
9bc3b55cb7 Fixed XG mode. 2017-05-18 17:51:33 -07:00
Christopher Snowhill
3cd248f126 Fix seeking for SCVA. 2016-12-20 16:59:44 -08:00
Christopher Snowhill
26a9e2b3a1 Updated SCVA player with more stringent resetting. 2016-11-30 21:29:03 -08:00
Christopher Snowhill
590cf42521 Fix crash on startup when MIDI files are resumed. 2016-11-29 16:00:18 -08:00
Christopher Snowhill
ebfcd03c5d - Change MIDI overrides to support 'default (auto)' mode
- Change MIDI flavor default to 'default (auto)'
- Fix MIDI preference page to correctly enable the flavor option only where applicable
- Fix SCVA player to reset existing instances reliably
2016-11-29 15:46:38 -08:00
Christopher Snowhill
af69cd53c3 Increase OPL3 volume 4x, which is about what it needs with this core and these instruments. 2016-11-21 21:00:02 -08:00
Christopher Snowhill
87c90c4019 Replace OPL3 weighted average resampler with a sinc resampler. 2016-11-21 20:59:25 -08:00
Chris Moeller
a1fab29749 MIDI decoder only initializes synthesizer if decoding actually begins, which should speed up loading file metadata. 2016-06-29 22:12:58 -07:00
Chris Moeller
78ccb5d2bf Rewrote the MIDI SFList loader, and added support for the new JSON based format. 2016-06-19 13:06:55 -07:00
Chris Moeller
03e7b666ae Added support for DMX and MSOPL true stereo extension. 2016-06-19 13:05:30 -07:00
Chris Moeller
597a342838 Adding a lot of MIDI files should hopefully be faster now. 2016-06-19 12:58:17 -07:00
Chris Moeller
03b825ced3 Hopefully fix the last of the Automatic Reference Counting issues that remained. 2016-06-19 12:57:18 -07:00
Chris Moeller
4fdbf35aba Imported OPL3 FM synthesizer drivers from 'OPL3 MIDI Driver for Windows' and 'Doom OPL Windows MIDI driver' 2016-05-28 21:39:10 -07:00
Chris Moeller
026380fe40 Now MIDI decoder will stop playing if init/startup fails, rather than attempting to play with no SoundFonts loaded. 2016-05-09 21:56:44 -07:00
Chris Moeller
0e3644177e Updated everything else to ARC, and plugged a release cycle. 2016-05-05 13:05:39 -07:00
Chris Moeller
e58e934db1 Fixed MIDI GS reset 2016-04-12 21:45:49 -07:00
Chris Moeller
6c8a08fff1 Implemented MIDI flavor override control for Sound Canvas VA Audio Unit 2016-04-12 21:16:25 -07:00