Skip to content

Commit

Permalink
Merged revision(s) 20883, 20947 from trunk/OpenMPT:
Browse files Browse the repository at this point in the history
[Fix] AMS: Default channel panning was broken, using all-center panning instead of MOD panning.
........
[Fix] STM/STX: Don't import channels with panning. ST2 only outputs mono sound. The SoundBlaster Pro was only released around the same time as the last ST2 release, so stereo support was just not possible (tx cs127).
........


git-svn-id: https://source.openmpt.org/svn/openmpt/branches/OpenMPT-1.30@20977 56274372-70c3-4bfc-bfc3-4c3a0b034d27
  • Loading branch information
sagamusix committed Jun 8, 2024
1 parent 5cccf73 commit e37c657
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 15 deletions.
2 changes: 1 addition & 1 deletion soundlib/Load_ams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,7 @@ bool CSoundFile::ReadAMS(FileReader &file, ModLoadingFlags loadFlags)
}

InitializeGlobals(MOD_TYPE_AMS);
InitializeChannels();

m_SongFlags = SONG_ITCOMPATGXX | SONG_ITOLDEFFECTS;
m_nChannels = (fileHeader.channelConfig & 0x1F) + 1;
Expand Down Expand Up @@ -434,7 +435,6 @@ bool CSoundFile::ReadAMS(FileReader &file, ModLoadingFlags loadFlags)
// Read channel names
for(CHANNELINDEX chn = 0; chn < GetNumChannels(); chn++)
{
ChnSettings[chn].Reset();
file.ReadSizedString<uint8le, mpt::String::spacePadded>(ChnSettings[chn].szName);
}

Expand Down
16 changes: 2 additions & 14 deletions soundlib/Load_stm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ bool CSoundFile::ReadSTM(FileReader &file, ModLoadingFlags loadFlags)
return true;

InitializeGlobals(MOD_TYPE_STM);
InitializeChannels();

m_songName = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, fileHeader.songname);

Expand Down Expand Up @@ -258,13 +259,6 @@ bool CSoundFile::ReadSTM(FileReader &file, ModLoadingFlags loadFlags)
if(fileHeader.verMinor > 10)
m_nDefaultGlobalVolume = std::min(fileHeader.globalVolume, uint8(64)) * 4u;

// Setting up channels
for(CHANNELINDEX chn = 0; chn < 4; chn++)
{
ChnSettings[chn].Reset();
ChnSettings[chn].nPan = (chn & 1) ? 0x40 : 0xC0;
}

// Read samples
uint16 sampleOffsets[31];
for(SAMPLEINDEX smp = 1; smp <= 31; smp++)
Expand Down Expand Up @@ -462,6 +456,7 @@ bool CSoundFile::ReadSTX(FileReader &file, ModLoadingFlags loadFlags)
return true;

InitializeGlobals(MOD_TYPE_STM);
InitializeChannels();

m_songName = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, fileHeader.songName);

Expand All @@ -480,13 +475,6 @@ bool CSoundFile::ReadSTX(FileReader &file, ModLoadingFlags loadFlags)
m_nDefaultSpeed = initTempo >> 4;
m_nDefaultGlobalVolume = std::min(fileHeader.globalVolume, uint8(64)) * 4u;

// Setting up channels
for(CHANNELINDEX chn = 0; chn < 4; chn++)
{
ChnSettings[chn].Reset();
ChnSettings[chn].nPan = (chn & 1) ? 0x40 : 0xC0;
}

std::vector<uint16le> patternOffsets, sampleOffsets;
file.Seek(fileHeader.patTableOffset << 4);
file.ReadVector(patternOffsets, fileHeader.numPatterns);
Expand Down

0 comments on commit e37c657

Please sign in to comment.