- Fixed: Timidity::Channel::mono, rpn, and nrpn were not initialized. In

particular, this meant that every channel was almost certainly in mono mode,
  which can sound pretty bad if the song isn't meant to be played that way.
- Added bank numbers to the MIDI precaching for Timidity, since I guess I do
  need to care about banks, if even the Duke MIDIs use various banks.
- Fixed: snd_midiprecache only exists in Win32 builds, so gameconfigfile.cpp
  shouldn't unconditionally link against it.
- Fixed: pre_resample() was still disabled, and it left two samples at the end
  of the new wave data uninitialized.


SVN r903 (trunk)
This commit is contained in:
Randy Heit 2008-04-12 05:04:37 +00:00
commit 0d18580ff0
14 changed files with 178 additions and 99 deletions

View file

@ -553,8 +553,8 @@ void pre_resample(Renderer *song, Sample *sp)
{
"C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"
};
return;
song->ctl->cmsg(CMSG_INFO, VERB_NOISY, " * pre-resampling for note %d (%s%d)",
cmsg(CMSG_INFO, VERB_NOISY, " * pre-resampling for note %d (%s%d)",
sp->note_to_use,
note_name[sp->note_to_use % 12], (sp->note_to_use & 0x7F) / 12);
@ -565,9 +565,9 @@ return;
if (newlen < 0 || (newlen >> FRACTION_BITS) > MAX_SAMPLE_SIZE)
return;
dest = newdata = (sample_t *)safe_malloc(newlen >> (FRACTION_BITS - 2));
count = newlen >> FRACTION_BITS;
dest = newdata = (sample_t *)safe_malloc(count * sizeof(float));
count = (newlen >> FRACTION_BITS) - 1;
ofs = incr = (sp->data_length - (1 << FRACTION_BITS)) / count;
if (--count)