Christoph Oelckers
7a851fd3f1
libADL MIDI test. It sounds awful so obviously there's still something wrong here. Definitely not usable yet.
2018-02-23 21:56:34 +01:00
Christoph Oelckers
39f26028aa
- reworked the advanced sound menu to take advantage of the new soundfont handling.
...
The text input field for the configs have been removed. Instead it will now present a list of soundfonts that are found in specific locations.
For that it will look in the 'soundfont' directories of the FileSearch.Directories entry of the config.
Acceptable file formats here are SF2 and zipped GUS patch sets. These zipped patch sets need to have a timidity.cfg at the root and refer to all containing data by relative path. References to outside files are not allowed here.
It is still possible to refer to sound fonts elsewhere on the hard drive by manually entering a path at the console - but these won't show in the menu and will get lost if one cycles through the list of available options.
Of the available softsynths, FluidSynth will only list SF", Wildmidi will only list GUS patch sets and Timidity++ and GUS will list both.
Please note that although the GUS synth can read SF2, the output appears to be broken die to some old bug.
2018-02-23 19:23:39 +01:00
Christoph Oelckers
5da1433c57
- fixed a memory leak and removed debug output.
2018-02-23 18:57:30 +01:00
Christoph Oelckers
88f9f0982c
- fixed Timidity++ playback.
2018-02-23 18:33:54 +01:00
Christoph Oelckers
4a179954b1
- removed Timidity_mastervolume CVAR. The reason why this was added got addressed at a lower level with the new code (i.e. the EXE's output was far too loud) and if there need to be adjustments to evening out the volume of the different MIDI synths it should be done in the data generation step, not as an added factor to the system volume of the track.
2018-02-23 17:27:36 +01:00
Christoph Oelckers
d25cc1baa0
- Fixed today's work now that I'm able to hear some sound again. Also some reorganization
2018-02-23 17:01:17 +01:00
Christoph Oelckers
ddedcd9fc2
Removed all conditional checks on HAVE_FLUIDSYNTH
...
With the current setup it makes zero sense to exclude it. This was all a remnant of its introduction when it couldn't be taken for granted.
2018-02-23 14:36:26 +01:00
Christoph Oelckers
adebd644f2
Rewroter 'writemidi' CCMD to work independently of the currently playing song's data.
...
The first benefit of separating the MIDI data sources from the playback classes. :)
2018-02-23 14:26:29 +01:00
Christoph Oelckers
16f17deb0f
We no longer have a sound system that can handle music playback, so the code for it can go away.
2018-02-23 13:23:03 +01:00
Christoph Oelckers
9a1479ab08
Separate MIDI streamer and source creation in the high level code.
2018-02-23 13:20:07 +01:00
Christoph Oelckers
9aa1199902
Split the different MIDI format implementations into a separate 'Source' class.
...
This is necessary to write a universal, device independent wave dumper for MIDIs.
With each format inheriting from the main player class it is not possible to create a generic dumper player.
2018-02-23 12:40:43 +01:00
Christoph Oelckers
8734511e80
Removed PathExpander and PseudoMidiDevice which are no longer being used
...
PathExpander has been integrated into the sound font manager and PseudoMidiDevice was only used as the base class for the old Timidity++ device with the external executable.
2018-02-23 09:21:42 +01:00
Christoph Oelckers
aae832386f
Fixed warnings in Timidity++ code emitted by XCode, except one which cannot be eliminatet without compromising the code.
2018-02-23 09:07:42 +01:00
Christoph Oelckers
6618656e7c
Adjusted Timidity++ to soundfint manager
2018-02-23 08:54:01 +01:00
Christoph Oelckers
f9893a700a
- fixed some warnings.
2018-02-23 01:01:18 +01:00
Christoph Oelckers
d6fe1fb39f
- simplified the sound font manager a bit.
...
- allow the GUS to change sound fonts at run time.
- implemented sound font manager support in the GUS synth. This works but also made me realize that the SF2 support of this synth has been rather broken, apparently forever.
2018-02-23 00:48:03 +01:00
Christoph Oelckers
c12c068355
- WildMidi now uses the soundfont manager.
...
- added the missing handler for reading Timidity configs from the lump directory.
- fixed incomplete init of the GUS synth when no soundfont can be located.
- fixed bad initialization of WildMidi sampling frequency. It would default to 11.025 kHz if no valid rate was set. Now it will use the sound device's native frequency.
2018-02-22 22:35:49 +01:00
Christoph Oelckers
1361956072
- Soundfont manager works for FluidSynth.
2018-02-22 18:03:22 +01:00
alexey.lysiuk
12eb760ff4
Do not abort if Korax target destroyed before attack begins
...
https://forum.zdoom.org/viewtopic.php?t=59551
2018-02-22 16:52:45 +02:00
Christoph Oelckers
8b8a7e5e45
- sfmanager gets initialized
2018-02-22 14:30:43 +01:00
Christoph Oelckers
aaedae6972
- do not abort if FScanner cannot open a file.
2018-02-22 14:10:25 +01:00
Christoph Oelckers
504d68e2f8
All compile errors on Mac fixed.
2018-02-22 13:50:41 +01:00
Christoph Oelckers
2c138d703d
Move function out of header due to compile errors on macOS
2018-02-22 13:46:29 +01:00
Christoph Oelckers
04344505c0
Soundfont header
2018-02-22 13:42:12 +01:00
Christoph Oelckers
a6fa906764
Framework for context independent sounffont management
...
Not tested yet!
2018-02-22 12:51:45 +01:00
Christoph Oelckers
3d08c1fbc7
Merge branch 'master' into timidity++
...
# Conflicts:
# src/sound/mididevices/music_timiditypp_mididevice.cpp
2018-02-22 09:10:42 +01:00
Christoph Oelckers
9bf11155eb
Ignore .DS_Store for macOS
2018-02-22 08:40:32 +01:00
Christoph Oelckers
542d3431ff
- Start of soundfont refactoring. This does not compile yet!
2018-02-22 07:21:19 +01:00
Christoph Oelckers
0688d53ea8
- allow reloading the sound font for the GUS device.
2018-02-21 23:38:04 +01:00
Magnus Norddahl
57e66555da
- Change the search paths for auto folders
2018-02-21 23:20:31 +01:00
Magnus Norddahl
05827ffcda
- Implement auto textures for materials
2018-02-21 23:12:46 +01:00
Christoph Oelckers
e84ec2978a
- plugged the pending memory leaks.
2018-02-21 21:33:56 +01:00
Christoph Oelckers
5219916de5
- there's no need to drag the event time around, this really was just an artifact of Timidity's original implementation which is no longer in use.
...
- plugged a few memory leaks.
2018-02-21 21:11:31 +01:00
Christoph Oelckers
af705d1c59
- silenced a few pointless console messages generated by Timidity++.
2018-02-21 20:44:51 +01:00
Christoph Oelckers
af1de8ddc9
- removed volume testing output.
...
- final tweak to volume adjustment: Do this upon extraction for better results.
If this is done via the synth's parameters it will affect channel balance.
The given factor of 5 is necessary to roughly match the output of FluidSynth.
2018-02-21 20:12:37 +01:00
Christoph Oelckers
59352af486
- Volume tweaking.
2018-02-21 19:05:14 +01:00
Christoph Oelckers
e6bae25423
- Timidity++ is now fully integrated into the softsynth interface.
...
The only thing left to do is tweaking the volume of the output to match the one from the EXE.
2018-02-21 17:35:44 +01:00
alexey.lysiuk
74357ced0c
Fixed read of potentially junk values in ZScript parser
...
The following ill-formed ZScript code might crash targets with sizeof(int) != sizeof(void*) like 64-bit Intel
class test { void func() { if (true) ( return; ) } }
2018-02-21 16:26:04 +02:00
Christoph Oelckers
445e9451cb
- Added the long event handler for Timidity++.
...
This will be hard to test because there's basically no material out there using the features this implements.
2018-02-21 02:02:29 +01:00
Christoph Oelckers
4813eeeb85
- Timidity++ now plays ZDoom's event stream, although still through the Windows output module.
...
This also means that readmidi.cpp is no longer needed.
2018-02-21 01:29:39 +01:00
Christoph Oelckers
57967a1033
- safety commit.
2018-02-20 23:36:59 +01:00
Christoph Oelckers
cbcfea99cb
- use the intended interface to pass some data to the player.
2018-02-20 21:52:45 +01:00
Christoph Oelckers
a8283ffdd6
- something can be heard.
...
This doesn't pipe the audio through OpenAL yet but the fundamentals for further progress are done.
2018-02-20 20:50:01 +01:00
Christoph Oelckers
5ce3b00b90
- commented out the noisy debug messages in Timidity++ so that they do not waste execution time and memory for nothing - there are almost 300 of them.
2018-02-20 19:45:37 +01:00
Rachael Alexanderson
420602e154
- check for deathmatch starts before forcing an unfriendly player to use them.
2018-02-20 05:35:40 -05:00
alexey.lysiuk
ff897997d6
Fixed hang when TiMidity++ executable failed to launch
...
https://forum.zdoom.org/viewtopic.php?t=59539
2018-02-20 12:20:18 +02:00
Rachael Alexanderson
117b796c6b
- fixed: Phobia: The Age (or any mod with DEHACKED overriding player bits) overwrote the player's Friendly flag
2018-02-20 04:45:15 -05:00
alexey.lysiuk
1bcbdf9fd1
Added CHAN_LOOP to ZScript ESoundFlags enum
...
https://forum.zdoom.org/viewtopic.php?t=59417
2018-02-20 10:51:12 +02:00
Christoph Oelckers
d72b87f469
- skeleton of new player class for Timidity++ - not tested yet.
2018-02-20 01:23:56 +01:00
Magnus Norddahl
4e7ca68bd6
Merge remote-tracking branch 'gzdoom/master' into materials
2018-02-20 00:22:06 +01:00