From 2ca72079fcbc51bacdcc568872ad2778430eb4b7 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Thu, 13 Mar 2025 07:32:10 +0300
Subject: [PATCH] MSVC project: fix mod backend in cmake config, remove unused
header
(cherry picked from commit 1f61243c7c4aa843e1a68e312b1e9fb1fddeb5a0)
---
VisualC/external/include/libmodplug/modplug.h | 173 ------------------
.../pkg-support/cmake/sdl2_mixer-config.cmake | 4 +-
2 files changed, 2 insertions(+), 175 deletions(-)
delete mode 100644 VisualC/external/include/libmodplug/modplug.h
diff --git a/VisualC/external/include/libmodplug/modplug.h b/VisualC/external/include/libmodplug/modplug.h
deleted file mode 100644
index 64e157c6a..000000000
--- a/VisualC/external/include/libmodplug/modplug.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
- */
-
-#ifndef MODPLUG_H__INCLUDED
-#define MODPLUG_H__INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined(_WIN32) || defined(__CYGWIN__)
-# if defined(MODPLUG_BUILD) && defined(DLL_EXPORT) /* building libmodplug as a dll for windows */
-# define MODPLUG_EXPORT __declspec(dllexport)
-# elif defined(MODPLUG_BUILD) || defined(MODPLUG_STATIC) /* building or using static libmodplug for windows */
-# define MODPLUG_EXPORT
-# else
-# define MODPLUG_EXPORT __declspec(dllimport) /* using libmodplug dll for windows */
-# endif
-#elif defined(__OS2__) && defined(__WATCOMC__)
-# if defined(MODPLUG_BUILD) && defined(__SW_BD) /* building libmodplug as a dll for os/2 */
-# define MODPLUG_EXPORT __declspec(dllexport)
-# else
-# define MODPLUG_EXPORT /* using dll or static libmodplug for os/2 */
-# endif
-#elif defined(MODPLUG_BUILD) && defined(SYM_VISIBILITY)
-# define MODPLUG_EXPORT __attribute__((visibility("default")))
-#else
-#define MODPLUG_EXPORT
-#endif
-
-struct _ModPlugFile;
-typedef struct _ModPlugFile ModPlugFile;
-
-struct _ModPlugNote {
- unsigned char Note;
- unsigned char Instrument;
- unsigned char VolumeEffect;
- unsigned char Effect;
- unsigned char Volume;
- unsigned char Parameter;
-};
-typedef struct _ModPlugNote ModPlugNote;
-
-typedef void (*ModPlugMixerProc)(int*, unsigned long, unsigned long);
-
-/* Load a mod file. [data] should point to a block of memory containing the complete
- * file, and [size] should be the size of that block.
- * Return the loaded mod file on success, or NULL on failure. */
-MODPLUG_EXPORT ModPlugFile* ModPlug_Load(const void* data, int size);
-/* Unload a mod file. */
-MODPLUG_EXPORT void ModPlug_Unload(ModPlugFile* file);
-
-/* Read sample data into the buffer. Returns the number of bytes read. If the end
- * of the mod has been reached, zero is returned. */
-MODPLUG_EXPORT int ModPlug_Read(ModPlugFile* file, void* buffer, int size);
-
-/* Get the name of the mod. The returned buffer is stored within the ModPlugFile
- * structure and will remain valid until you unload the file. */
-MODPLUG_EXPORT const char* ModPlug_GetName(ModPlugFile* file);
-
-/* Get the length of the mod, in milliseconds. Note that this result is not always
- * accurate, especially in the case of mods with loops. */
-MODPLUG_EXPORT int ModPlug_GetLength(ModPlugFile* file);
-
-/* Seek to a particular position in the song. Note that seeking and MODs don't mix very
- * well. Some mods will be missing instruments for a short time after a seek, as ModPlug
- * does not scan the sequence backwards to find out which instruments were supposed to be
- * playing at that time. (Doing so would be difficult and not very reliable.) Also,
- * note that seeking is not very exact in some mods -- especially those for which
- * ModPlug_GetLength() does not report the full length. */
-MODPLUG_EXPORT void ModPlug_Seek(ModPlugFile* file, int millisecond);
-
-enum _ModPlug_Flags
-{
- MODPLUG_ENABLE_OVERSAMPLING = 1 << 0, /* Enable oversampling (*highly* recommended) */
- MODPLUG_ENABLE_NOISE_REDUCTION = 1 << 1, /* Enable noise reduction */
- MODPLUG_ENABLE_REVERB = 1 << 2, /* Enable reverb */
- MODPLUG_ENABLE_MEGABASS = 1 << 3, /* Enable megabass */
- MODPLUG_ENABLE_SURROUND = 1 << 4 /* Enable surround sound. */
-};
-
-enum _ModPlug_ResamplingMode
-{
- MODPLUG_RESAMPLE_NEAREST = 0, /* No interpolation (very fast, extremely bad sound quality) */
- MODPLUG_RESAMPLE_LINEAR = 1, /* Linear interpolation (fast, good quality) */
- MODPLUG_RESAMPLE_SPLINE = 2, /* Cubic spline interpolation (high quality) */
- MODPLUG_RESAMPLE_FIR = 3 /* 8-tap fir filter (extremely high quality) */
-};
-
-typedef struct _ModPlug_Settings
-{
- int mFlags; /* One or more of the MODPLUG_ENABLE_* flags above, bitwise-OR'ed */
-
- /* Note that ModPlug always decodes sound at 44100kHz, 32 bit, stereo and then
- * down-mixes to the settings you choose. */
- int mChannels; /* Number of channels - 1 for mono or 2 for stereo */
- int mBits; /* Bits per sample - 8, 16, or 32 */
- int mFrequency; /* Sampling rate - 11025, 22050, or 44100 */
- int mResamplingMode; /* One of MODPLUG_RESAMPLE_*, above */
-
- int mStereoSeparation; /* Stereo separation, 1 - 256 */
- int mMaxMixChannels; /* Maximum number of mixing channels (polyphony), 32 - 256 */
-
- int mReverbDepth; /* Reverb level 0(quiet)-100(loud) */
- int mReverbDelay; /* Reverb delay in ms, usually 40-200ms */
- int mBassAmount; /* XBass level 0(quiet)-100(loud) */
- int mBassRange; /* XBass cutoff in Hz 10-100 */
- int mSurroundDepth; /* Surround level 0(quiet)-100(heavy) */
- int mSurroundDelay; /* Surround delay in ms, usually 5-40ms */
- int mLoopCount; /* Number of times to loop. Zero prevents looping.
- * -1 loops forever. */
-} ModPlug_Settings;
-
-/* Get and set the mod decoder settings. All options, except for channels, bits-per-sample,
- * sampling rate, and loop count, will take effect immediately. Those options which don't
- * take effect immediately will take effect the next time you load a mod. */
-MODPLUG_EXPORT void ModPlug_GetSettings(ModPlug_Settings* settings);
-MODPLUG_EXPORT void ModPlug_SetSettings(const ModPlug_Settings* settings);
-
-/* New ModPlug API Functions */
-/* NOTE: Master Volume (1-512) */
-MODPLUG_EXPORT unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
-MODPLUG_EXPORT void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
-
-MODPLUG_EXPORT int ModPlug_GetCurrentSpeed(ModPlugFile* file);
-MODPLUG_EXPORT int ModPlug_GetCurrentTempo(ModPlugFile* file);
-MODPLUG_EXPORT int ModPlug_GetCurrentOrder(ModPlugFile* file);
-MODPLUG_EXPORT int ModPlug_GetCurrentPattern(ModPlugFile* file);
-MODPLUG_EXPORT int ModPlug_GetCurrentRow(ModPlugFile* file);
-MODPLUG_EXPORT int ModPlug_GetPlayingChannels(ModPlugFile* file);
-
-MODPLUG_EXPORT void ModPlug_SeekOrder(ModPlugFile* file,int order);
-MODPLUG_EXPORT int ModPlug_GetModuleType(ModPlugFile* file);
-MODPLUG_EXPORT char* ModPlug_GetMessage(ModPlugFile* file);
-
-MODPLUG_EXPORT unsigned int ModPlug_NumInstruments(ModPlugFile* file);
-MODPLUG_EXPORT unsigned int ModPlug_NumSamples(ModPlugFile* file);
-MODPLUG_EXPORT unsigned int ModPlug_NumPatterns(ModPlugFile* file);
-MODPLUG_EXPORT unsigned int ModPlug_NumChannels(ModPlugFile* file);
-MODPLUG_EXPORT unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
-MODPLUG_EXPORT unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
-
-/*
- * Retrieve pattern note-data
- */
-MODPLUG_EXPORT ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows);
-
-/*
- * =================
- * Mixer callback
- * =================
- *
- * Use this callback if you want to 'modify' the mixed data of LibModPlug.
- *
- * void proc(int* buffer,unsigned long channels,unsigned long nsamples) ;
- *
- * 'buffer': A buffer of mixed samples
- * 'channels': N. of channels in the buffer
- * 'nsamples': N. of samples in the buffeer (without taking care of n.channels)
- *
- * (Samples are signed 32-bit integers)
- */
-MODPLUG_EXPORT void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
-MODPLUG_EXPORT void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* MODPLUG_H__INCLUDED */
diff --git a/VisualC/pkg-support/cmake/sdl2_mixer-config.cmake b/VisualC/pkg-support/cmake/sdl2_mixer-config.cmake
index 72aea3cac..eda84f610 100644
--- a/VisualC/pkg-support/cmake/sdl2_mixer-config.cmake
+++ b/VisualC/pkg-support/cmake/sdl2_mixer-config.cmake
@@ -21,8 +21,8 @@ set(SDL2MIXER_FLAC_DRFLAC TRUE)
set(SDL2MIXER_GME FALSE)
set(SDL2MIXER_MOD TRUE)
-set(SDL2MIXER_MOD_MODPLUG TRUE)
-set(SDL2MIXER_MOD_XMP FALSE)
+set(SDL2MIXER_MOD_MODPLUG FALSE)
+set(SDL2MIXER_MOD_XMP TRUE)
set(SDL2MIXER_MOD_XMP_LITE FALSE)
set(SDL2MIXER_MP3 TRUE)