Mercurial > audlegacy-plugins
changeset 902:877a3725b51e trunk
[svn] Fix MOD title read by not permanently byteswapping the stream in the PSM loader. Patch by Joseph Jezak <josejx@gentoo.org>.
author | chainsaw |
---|---|
date | Thu, 29 Mar 2007 03:14:36 -0700 |
parents | 08643d5994fe |
children | 1820b4026fe2 |
files | ChangeLog src/modplug/load_psm.cxx |
diffstat | 2 files changed, 17 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Mar 26 14:44:46 2007 -0700 +++ b/ChangeLog Thu Mar 29 03:14:36 2007 -0700 @@ -1,3 +1,14 @@ +2007-03-26 21:44:46 +0000 Yoshiki Yazawa <yaz@cc.rim.or.jp> + revision [1902] + - now do_setpos() takes relative position as the argument and works even if cuesheets are included in large playlist. may close #869. + - improve handling of end of cue. + - suppress warnings. + + trunk/src/cue/Makefile | 2 - + trunk/src/cue/cuesheet.c | 66 +++++++++++++++++++++++++++++++++-------------- + 2 files changed, 48 insertions(+), 20 deletions(-) + + 2007-03-26 08:19:26 +0000 William Pitcock <nenolod@sacredspiral.co.uk> revision [1900] - add a starting point for xmms-rootvis port. giacomo will need to
--- a/src/modplug/load_psm.cxx Mon Mar 26 14:44:46 2007 -0700 +++ b/src/modplug/load_psm.cxx Thu Mar 29 03:14:36 2007 -0700 @@ -79,26 +79,27 @@ //----------------------------------------------------------- { PSMCHUNK *pfh = (PSMCHUNK *)lpStream; + PSMCHUNK pfh_swap; DWORD dwMemPos, dwSongPos; DWORD smpnames[MAX_SAMPLES]; DWORD patptrs[MAX_PATTERNS]; BYTE samplemap[MAX_SAMPLES]; UINT nPatterns; - pfh->id = bswapLE32(pfh->id); - pfh->len = bswapLE32(pfh->len); - pfh->listid = bswapLE32(pfh->listid); + pfh_swap.id = bswapLE32(pfh->id); + pfh_swap.len = bswapLE32(pfh->len); + pfh_swap.listid = bswapLE32(pfh->listid); // Chunk0: "PSM ",filesize,"FILE" if (dwMemLength < 256) return FALSE; - if (pfh->id == PSM_ID_OLD) + if (pfh_swap.id == PSM_ID_OLD) { #ifdef PSM_LOG Log("Old PSM format not supported\n"); #endif return FALSE; } - if ((pfh->id != PSM_ID_NEW) || (pfh->len+12 > dwMemLength) || (pfh->listid != IFFID_FILE)) return FALSE; + if ((pfh_swap.id != PSM_ID_NEW) || (pfh_swap.len+12 > dwMemLength) || (pfh_swap.listid != IFFID_FILE)) return FALSE; m_nType = MOD_TYPE_PSM; m_nChannels = 16; m_nSamples = 0;