diff options
author | Wohlstand <admin@wohlnet.ru> | 2025-03-25 17:34:31 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2025-03-25 17:34:31 +0300 |
commit | de4fbb90c70da8a4dcf7d612f75bf5e8177e94bf (patch) | |
tree | 673e7e0a3bf8663109e24b5769a211f0b837d0f9 | |
parent | b1324a0f1a6ccba2fb0b5144fa26bbb9fd917213 (diff) | |
parent | f265f0183b147818a0e0b046c79db97588138449 (diff) | |
download | libADLMIDI-de4fbb90c70da8a4dcf7d612f75bf5e8177e94bf.tar.gz libADLMIDI-de4fbb90c70da8a4dcf7d612f75bf5e8177e94bf.tar.bz2 libADLMIDI-de4fbb90c70da8a4dcf7d612f75bf5e8177e94bf.zip |
Merge branch 'master' of github.com:Wohlstand/libADLMIDI
-rw-r--r-- | src/chips/esfmu/esfm.c | 8 | ||||
-rw-r--r-- | utils/winmm_drv/cpl/config_dialog.c | 1 | ||||
-rw-r--r-- | utils/winmm_drv/src/MidiSynth.cpp | 5 |
3 files changed, 11 insertions, 3 deletions
diff --git a/src/chips/esfmu/esfm.c b/src/chips/esfmu/esfm.c index 023a6ee..9a3e686 100644 --- a/src/chips/esfmu/esfm.c +++ b/src/chips/esfmu/esfm.c @@ -1762,6 +1762,10 @@ ESFM_process_feedback(esfm_chip *chip) uint3 mod_in_shift; uint32_t phase, phase_acc; uint10 eg_output; +#if defined(__GNUC__) && defined(__i386__) && !defined(__x86_64__) && !defined(__arm__) && !defined(_ESFMU_DISABLE_ASM_OPTIMIZATIONS) + size_t logsinrom_addr; + size_t exprom_addr; +#endif if (slot->mod_in_level && (chip->native_mode || (slot->in.mod_input == &slot->in.feedback_buf))) { @@ -1848,8 +1852,8 @@ ESFM_process_feedback(esfm_chip *chip) : "cc", "ax", "bx", "cx", "dx", "r8", "r9", "r10", "r11" ); #elif defined(__GNUC__) && defined(__i386__) && !defined(_ESFMU_DISABLE_ASM_OPTIMIZATIONS) - size_t logsinrom_addr = (size_t)logsinrom; - size_t exprom_addr = (size_t)exprom; + logsinrom_addr = (size_t)logsinrom; + exprom_addr = (size_t)exprom; asm ( "movzbl %b[wave], %%eax \n\t" diff --git a/utils/winmm_drv/cpl/config_dialog.c b/utils/winmm_drv/cpl/config_dialog.c index 1742ab1..8808e6d 100644 --- a/utils/winmm_drv/cpl/config_dialog.c +++ b/utils/winmm_drv/cpl/config_dialog.c @@ -55,6 +55,7 @@ static const char * const emulator_type_descriptions[] = "DOSBox", "Opal", "Java OPL3", + "ESFMu", NULL }; diff --git a/utils/winmm_drv/src/MidiSynth.cpp b/utils/winmm_drv/src/MidiSynth.cpp index 078d930..cef311f 100644 --- a/utils/winmm_drv/src/MidiSynth.cpp +++ b/utils/winmm_drv/src/MidiSynth.cpp @@ -286,8 +286,10 @@ public: int Start() { + HANDLE renderThread; getPosWraps = 0; prevPlayPos = 0; + for(UINT i = 0; i < chunks; i++) { if(waveOutWrite(hWaveOut, &WaveHdr[i], sizeof(WAVEHDR)) != MMSYSERR_NOERROR) @@ -297,7 +299,8 @@ public: } } - _beginthread(RenderingThread, 8192 * sizeSample, this); + renderThread = (HANDLE)_beginthread(RenderingThread, 8192 * sizeSample, this); + SetThreadPriority(renderThread, THREAD_PRIORITY_HIGHEST); return 0; } |