diff options
author | Torbjörn Andersson | 2012-11-18 14:30:17 +0100 |
---|---|---|
committer | Torbjörn Andersson | 2012-11-18 14:30:17 +0100 |
commit | 4f18a92f5a91eb502518846771bc8e82ff7da20a (patch) | |
tree | d1fedadd0e83ce1e6bf766967af799121ca9a2c5 /engines/scumm/debugger.h | |
parent | f3c9b218065357ef0178e4d68143deada86b6ed0 (diff) | |
download | scummvm-rg350-4f18a92f5a91eb502518846771bc8e82ff7da20a.tar.gz scummvm-rg350-4f18a92f5a91eb502518846771bc8e82ff7da20a.tar.bz2 scummvm-rg350-4f18a92f5a91eb502518846771bc8e82ff7da20a.zip |
SCUMM: Prevent music channels from drifting out of sync in Mac MI1
In looped music, prevent the music channels from drifting out of
sync over time. This was noticeable after a few minutes in the
SCUMM Bar. We do this by extending the last note (which is just
zeroes, so we didn't even use to play it) so that it has the
exact number of samples needed to make all channels the exact
same length. (This is calculated when the music is loaded, so it
does not need any extra data in the save games, thankfully.)
As a result, the getNextNote() is now responsible for converting
the duration to number of samples (out of necessity) and for
converting the note to a pitch modifier (out of symmetry). I made
several false starts before I realized how much easier it would
be this way.
Diffstat (limited to 'engines/scumm/debugger.h')
0 files changed, 0 insertions, 0 deletions