[Scummvm-git-logs] scummvm master -> bbfb3037e45e077526755e58d3ebe174a53e6b5b

bluegr noreply at scummvm.org
Mon Apr 28 21:58:53 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
bbfb3037e4 AUDIO: Remove rate parameter for Mod/XM/S3M and Universal Tracker streams


Commit: bbfb3037e45e077526755e58d3ebe174a53e6b5b
    https://github.com/scummvm/scummvm/commit/bbfb3037e45e077526755e58d3ebe174a53e6b5b
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2025-04-29T00:58:50+03:00

Commit Message:
AUDIO: Remove rate parameter for Mod/XM/S3M and Universal Tracker streams

Changed paths:
    audio/mods/mod_xm_s3m.cpp
    audio/mods/mod_xm_s3m.h
    audio/mods/universaltracker.cpp
    audio/mods/universaltracker.h
    engines/sludge/sound.cpp


diff --git a/audio/mods/mod_xm_s3m.cpp b/audio/mods/mod_xm_s3m.cpp
index 07bb00f06c0..52646a9fb87 100644
--- a/audio/mods/mod_xm_s3m.cpp
+++ b/audio/mods/mod_xm_s3m.cpp
@@ -63,8 +63,10 @@
 #include "common/debug.h"
 #include "common/file.h"
 #include "common/memstream.h"
+#include "common/system.h"
 
 #include "audio/audiostream.h"
+#include "audio/mixer.h"
 #include "audio/mods/mod_xm_s3m.h"
 #include "audio/mods/module_mod_xm_s3m.h"
 
@@ -166,7 +168,7 @@ public:
 	int getRate() const override { return _sampleRate; }
 	bool endOfData() const override { return _dataLeft <= 0; }
 
-	ModXmS3mStream(Common::SeekableReadStream *stream, int initialPos, int rate, int interpolation);
+	ModXmS3mStream(Common::SeekableReadStream *stream, int initialPos, int interpolation);
 	~ModXmS3mStream();
 };
 
@@ -178,9 +180,10 @@ const short ModXmS3mStream::sinetable[] = {
 		255, 253, 250, 244, 235, 224, 212, 197, 180, 161, 141, 120,  97,  74,  49,  24
 	};
 
-ModXmS3mStream::ModXmS3mStream(Common::SeekableReadStream *stream, int initialPos, int rate, int interpolation) :
+ModXmS3mStream::ModXmS3mStream(Common::SeekableReadStream *stream, int initialPos, int interpolation) :
 	_rampBuf(nullptr), _playCount(nullptr), _channels(nullptr),
-	_mixBuffer(nullptr), _sampleRate(rate), _interpolation(interpolation),
+	_mixBuffer(nullptr), _interpolation(interpolation),
+	_sampleRate(g_system->getMixer()->getOutputRate()),
 	_seqPos(initialPos), _mixBufferSamples(0), _finished(false) {
 	if (!_module.load(*stream)) {
 		warning("It's not a valid Mod/S3m/Xm sound file");
@@ -1360,8 +1363,8 @@ void ModXmS3mStream::setSequencePos(int pos) {
 
 namespace Audio {
 
-RewindableAudioStream *makeModXmS3mStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int initialPos, int rate, int interpolation) {
-	Modules::ModXmS3mStream *soundStream = new Modules::ModXmS3mStream(stream, initialPos, rate, interpolation);
+RewindableAudioStream *makeModXmS3mStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int initialPos, int interpolation) {
+	Modules::ModXmS3mStream *soundStream = new Modules::ModXmS3mStream(stream, initialPos, interpolation);
 
 	if (disposeAfterUse == DisposeAfterUse::YES)
 		delete stream;
diff --git a/audio/mods/mod_xm_s3m.h b/audio/mods/mod_xm_s3m.h
index 218ae2a33fb..03d328a94a2 100644
--- a/audio/mods/mod_xm_s3m.h
+++ b/audio/mods/mod_xm_s3m.h
@@ -82,13 +82,12 @@ class AudioStream;
  * @param stream			the ReadStream from which to read the tracker sound data
  * @param disposeAfterUse	whether to delete the stream after use
  * @param initialPos		initial track to start playback from
- * @param rate				sample rate
  * @param interpolation		interpolation effect level
  */
 RewindableAudioStream *makeModXmS3mStream(Common::SeekableReadStream *stream,
 		DisposeAfterUse::Flag disposeAfterUse,
 		int initialPos = 0,
-		int rate = 48000, int interpolation = 0);
+		int interpolation = 0);
 
 /**
  * Check if the stream is one of the supported formats
diff --git a/audio/mods/universaltracker.cpp b/audio/mods/universaltracker.cpp
index 0066fadaf9a..bd5de4d23e2 100644
--- a/audio/mods/universaltracker.cpp
+++ b/audio/mods/universaltracker.cpp
@@ -35,10 +35,12 @@
 
 #include "common/ptr.h"
 #include "common/stream.h"
+#include "common/system.h"
 #include "common/textconsole.h"
 #include "common/util.h"
 
 #include "audio/audiostream.h"
+#include "audio/mixer.h"
 #include "audio/decoders/raw.h"
 
 #ifdef USE_OPENMPT
@@ -184,7 +186,7 @@ static long memoryReaderTell(MREADER *reader) {
 namespace Audio {
 class UniversalTrackerMod : public RewindableAudioStream {
 public:
-	UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int rate);
+	UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse);
 	~UniversalTrackerMod();
 
 	// ImpulseTrackerMod functions
@@ -228,7 +230,7 @@ private:
 	int _sampleRate;
 };
 
-UniversalTrackerMod::UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int rate) {
+UniversalTrackerMod::UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse) {
 	if (!stream) {
 		warning("UniversalTrackerMod::UniversalTrackerMod(): Input file/stream is invalid.");
 		return;
@@ -239,7 +241,7 @@ UniversalTrackerMod::UniversalTrackerMod(Common::SeekableReadStream *stream, Dis
 
 	_stream = stream;
 	_dispose = disposeAfterUse;
-	_sampleRate = rate;
+	_sampleRate = g_system->getMixer()->getOutputRate();
 
 	openmpt_stream_callbacks stream_callbacks;
 	stream_callbacks.read = &memoryReaderRead;
@@ -275,7 +277,7 @@ UniversalTrackerMod::~UniversalTrackerMod() {
 namespace Audio {
 class UniversalTrackerMod : public RewindableAudioStream {
 public:
-	UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int rate);
+	UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse);
 	~UniversalTrackerMod();
 
 	// ImpulseTrackerMod functions
@@ -319,13 +321,13 @@ private:
 	int _sampleRate;
 };
 
-UniversalTrackerMod::UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int rate) {
+UniversalTrackerMod::UniversalTrackerMod(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse) {
 	if (!stream) {
 		warning("UniversalTrackerMod::UniversalTrackerMod(): Input file/stream is invalid.");
 		return;
 	}
 
-	_sampleRate = rate;
+	_sampleRate = g_system->getMixer()->getOutputRate();
 
 	MikMod_InitThreads();
 	MikMod_RegisterDriver(&drv_nos);
@@ -381,14 +383,14 @@ UniversalTrackerMod::~UniversalTrackerMod() {
 
 namespace Audio {
 
-RewindableAudioStream *makeUniversalTrackerStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int rate) {
+RewindableAudioStream *makeUniversalTrackerStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse) {
 
 #if !defined(USE_OPENMPT) && !defined(USE_MIKMOD)
 	warning("Modplayer Support not compiled in");
 	return nullptr;
 #else
 
-	UniversalTrackerMod *impulseTrackerMod = new UniversalTrackerMod(stream, disposeAfterUse, rate);
+	UniversalTrackerMod *impulseTrackerMod = new UniversalTrackerMod(stream, disposeAfterUse);
 
 	if (!impulseTrackerMod->isLoaded()) {
 		delete impulseTrackerMod;
diff --git a/audio/mods/universaltracker.h b/audio/mods/universaltracker.h
index c3a9af25963..3c60692fec0 100644
--- a/audio/mods/universaltracker.h
+++ b/audio/mods/universaltracker.h
@@ -49,7 +49,7 @@ class RewindableAudioStream;
  * @param disposeAfterUse   whether to delete the stream after use
  * @return  a new AudioStream, or NULL, if an error occurred
  */
-RewindableAudioStream *makeUniversalTrackerStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, int rate = 48000);
+RewindableAudioStream *makeUniversalTrackerStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse);
 
 } // End of namespace Audio
 
diff --git a/engines/sludge/sound.cpp b/engines/sludge/sound.cpp
index f46e0ce019e..9a553481bdb 100644
--- a/engines/sludge/sound.cpp
+++ b/engines/sludge/sound.cpp
@@ -230,7 +230,7 @@ bool SoundManager::playMOD(int f, int a, int fromTrack) {
 		mod = Audio::makeModXmS3mStream(memImage, DisposeAfterUse::NO, fromTrack);
 
 	if (!mod) {
-		mod = Audio::makeUniversalTrackerStream(memImage, DisposeAfterUse::NO, g_sludge->_mixer->getOutputRate());
+		mod = Audio::makeUniversalTrackerStream(memImage, DisposeAfterUse::NO);
 	}
 
 	if (!mod) {




More information about the Scummvm-git-logs mailing list