mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-01-31 04:50:48 +00:00
Default MIDI device is now created by sound backend
OpenAL backend now plays music by default It uses WinMM device on Windows and OPL on other platforms
This commit is contained in:
parent
938043892a
commit
54ca55f070
7 changed files with 29 additions and 1 deletions
|
@ -64,6 +64,7 @@ extern HWND Window;
|
||||||
#include "cmdlib.h"
|
#include "cmdlib.h"
|
||||||
#include "s_sound.h"
|
#include "s_sound.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
|
#include "i_musicinterns.h"
|
||||||
|
|
||||||
#if FMOD_VERSION > 0x42899 && FMOD_VERSION < 0x43400
|
#if FMOD_VERSION > 0x42899 && FMOD_VERSION < 0x43400
|
||||||
#error You are trying to compile with an unsupported version of FMOD.
|
#error You are trying to compile with an unsupported version of FMOD.
|
||||||
|
@ -3478,6 +3479,11 @@ FMOD_RESULT FMODSoundRenderer::SetSystemReverbProperties(const REVERB_PROPERTIES
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MIDIDevice* FMODSoundRenderer::CreateMIDIDevice() const
|
||||||
|
{
|
||||||
|
return new SndSysMIDIDevice;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // NO_FMOD
|
#endif // NO_FMOD
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,8 @@ public:
|
||||||
|
|
||||||
void DrawWaveDebug(int mode);
|
void DrawWaveDebug(int mode);
|
||||||
|
|
||||||
|
virtual MIDIDevice* CreateMIDIDevice() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DWORD ActiveFMODVersion;
|
DWORD ActiveFMODVersion;
|
||||||
int SFXPaused;
|
int SFXPaused;
|
||||||
|
|
|
@ -250,6 +250,11 @@ public:
|
||||||
{
|
{
|
||||||
return "Null sound module has no stats.";
|
return "Null sound module has no stats.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual MIDIDevice* CreateMIDIDevice() const override
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void I_InitSound ()
|
void I_InitSound ()
|
||||||
|
|
|
@ -85,6 +85,7 @@ public:
|
||||||
typedef bool (*SoundStreamCallback)(SoundStream *stream, void *buff, int len, void *userdata);
|
typedef bool (*SoundStreamCallback)(SoundStream *stream, void *buff, int len, void *userdata);
|
||||||
|
|
||||||
struct SoundDecoder;
|
struct SoundDecoder;
|
||||||
|
class MIDIDevice;
|
||||||
|
|
||||||
class SoundRenderer
|
class SoundRenderer
|
||||||
{
|
{
|
||||||
|
@ -157,6 +158,8 @@ public:
|
||||||
|
|
||||||
virtual void DrawWaveDebug(int mode);
|
virtual void DrawWaveDebug(int mode);
|
||||||
|
|
||||||
|
virtual MIDIDevice* CreateMIDIDevice() const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual SoundDecoder *CreateDecoder(FileReader *reader);
|
virtual SoundDecoder *CreateDecoder(FileReader *reader);
|
||||||
};
|
};
|
||||||
|
|
|
@ -273,7 +273,7 @@ MIDIDevice *MIDIStreamer::CreateMIDIDevice(EMidiDevice devtype) const
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case MDEV_SNDSYS:
|
case MDEV_SNDSYS:
|
||||||
return new SndSysMIDIDevice;
|
return GSnd->CreateMIDIDevice();
|
||||||
|
|
||||||
case MDEV_GUS:
|
case MDEV_GUS:
|
||||||
return new TimidityMIDIDevice(Args);
|
return new TimidityMIDIDevice(Args);
|
||||||
|
|
|
@ -2052,6 +2052,16 @@ void OpenALSoundRenderer::PrintDriversList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MIDIDevice* OpenALSoundRenderer::CreateMIDIDevice() const
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
extern UINT mididevice;
|
||||||
|
return new WinMIDIDevice(mididevice);
|
||||||
|
#else
|
||||||
|
return new OPLMIDIDevice(nullptr);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void OpenALSoundRenderer::PurgeStoppedSources()
|
void OpenALSoundRenderer::PurgeStoppedSources()
|
||||||
{
|
{
|
||||||
// Release channels that are stopped
|
// Release channels that are stopped
|
||||||
|
|
|
@ -131,6 +131,8 @@ public:
|
||||||
virtual void PrintDriversList();
|
virtual void PrintDriversList();
|
||||||
virtual FString GatherStats();
|
virtual FString GatherStats();
|
||||||
|
|
||||||
|
virtual MIDIDevice* CreateMIDIDevice() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct {
|
struct {
|
||||||
bool EXT_EFX;
|
bool EXT_EFX;
|
||||||
|
|
Loading…
Reference in a new issue