# HG changeset patch # User Paula Stanciu # Date 1218100332 -10800 # Node ID 638c3d599f20886388b16d07d3ee99da9e03446d # Parent a31410f560cfd89cd82ce7f853bc11a5755a0bd7# Parent 9e9293b8739222edf9c27e9a377c68882842363f Automated merge with ssh://paula@hg.atheme.org//hg/audacious-plugins diff -r 9e9293b87392 -r 638c3d599f20 src/aac/libfaad2/ic_predict.c --- a/src/aac/libfaad2/ic_predict.c Thu Aug 07 12:12:03 2008 +0300 +++ b/src/aac/libfaad2/ic_predict.c Thu Aug 07 12:12:12 2008 +0300 @@ -52,9 +52,9 @@ tmp2 = tmp; /* add 1 lsb and elided one */ tmp &= (uint32_t)0xff800000; /* extract exponent and sign */ - *pf = *(float32_t*)(void*)&tmp1 + *(float32_t*)(void*)&tmp2 - *(float32_t*)(void*)&tmp; + *pf = (float32_t)tmp1 + (float32_t)tmp2 - (float32_t)tmp; } else { - *pf = *(float32_t*)(void*)&tmp; + *pf = (float32_t)tmp; } } diff -r 9e9293b87392 -r 638c3d599f20 src/adplug/core/adlibemu.c --- a/src/adplug/core/adlibemu.c Thu Aug 07 12:12:03 2008 +0300 +++ b/src/adplug/core/adlibemu.c Thu Aug 07 12:12:12 2008 +0300 @@ -144,7 +144,7 @@ ftol(ctc->t+modulator,&i); - if (*(long *)&ctc->amp <= 0x37800000) + if ((long)ctc->amp <= 0x37800000) { ctc->amp = 0; ctc->cellfunc = docell4; @@ -160,7 +160,7 @@ ftol(ctc->t+modulator,&i); - if ((*(long *)&ctc->amp) <= (*(long *)&ctc->sustain)) + if ((long)ctc->amp <= (long)ctc->sustain) { if (ctc->flags&32) { @@ -183,7 +183,7 @@ ftol(ctc->t+modulator,&i); ctc->amp = ((ctc->a3*ctc->amp + ctc->a2)*ctc->amp + ctc->a1)*ctc->amp + ctc->a0; - if ((*(long *)&ctc->amp) > 0x3f800000) + if ((long)ctc->amp > 0x3f800000) { ctc->amp = 1; ctc->cellfunc = docell1; diff -r 9e9293b87392 -r 638c3d599f20 src/adplug/core/fmc.cxx --- a/src/adplug/core/fmc.cxx Thu Aug 07 12:12:03 2008 +0300 +++ b/src/adplug/core/fmc.cxx Thu Aug 07 12:12:12 2008 +0300 @@ -130,6 +130,7 @@ if (tracks[t][k].command == 0x0E) // 0x0E (14): Retrig tracks[t][k].param1 = 3; if (tracks[t][k].command == 0x1A) // 0x1A (26): Volume Slide + { if (tracks[t][k].param1 > tracks[t][k].param2) { tracks[t][k].param1 -= tracks[t][k].param2; @@ -140,6 +141,7 @@ tracks[t][k].param2 -= tracks[t][k].param1; tracks[t][k].param1 = 0; } + } } t++; diff -r 9e9293b87392 -r 638c3d599f20 src/adplug/core/mid.cxx --- a/src/adplug/core/mid.cxx Thu Aug 07 12:12:03 2008 +0300 +++ b/src/adplug/core/mid.cxx Thu Aug 07 12:12:12 2008 +0300 @@ -328,11 +328,13 @@ break; case 0x84: if (s[1] == 0x00 && load_sierra_ins (filename, fp)) + { if (s[2] == 0xf0) good = FILE_ADVSIERRA; else good = FILE_SIERRA; break; + } default: if (s[4] == 'A' && s[5] == 'D') good = FILE_OLDLUCAS; @@ -900,10 +902,12 @@ midiprintf ("\n"); for (i = 0; i < 16; i++) if (track[i].on) + { if (track[i].pos < track[i].tend) midiprintf ("<%d>", track[i].iwait); else midiprintf ("stop"); + } /* if (ret==0 && type==FILE_ADVSIERRA) diff -r 9e9293b87392 -r 638c3d599f20 src/adplug/core/s3m.cxx --- a/src/adplug/core/s3m.cxx Thu Aug 07 12:12:03 2008 +0300 +++ b/src/adplug/core/s3m.cxx Thu Aug 07 12:12:12 2008 +0300 @@ -212,15 +212,19 @@ tone_portamento (realchan, channel[realchan].dualinfo); case 4: if (info <= 0x0f) // volume slide down + { if (channel[realchan].vol - info >= 0) channel[realchan].vol -= info; else channel[realchan].vol = 0; + } if ((info & 0x0f) == 0) // volume slide up + { if (channel[realchan].vol + (info >> 4) <= 63) channel[realchan].vol += info >> 4; else channel[realchan].vol = 63; + } setvolume (realchan); break; case 5: @@ -323,6 +327,7 @@ // set channel values donote = 0; if (pattern[pattnr][row][chan].note < 14) + { // tone portamento if (pattern[pattnr][row][chan].command == 7 || pattern[pattnr][row][chan].command == 12) @@ -339,6 +344,7 @@ channel[realchan].key = 1; donote = 1; } + } if (pattern[pattnr][row][chan].note == 14) { // key off (is 14 here, cause note is only first 4 bits) channel[realchan].key = 0; @@ -371,10 +377,12 @@ donote = 1; } if (pattern[pattnr][row][chan].volume != 255) + { if (pattern[pattnr][row][chan].volume < 64) // set volume channel[realchan].vol = pattern[pattnr][row][chan].volume; else channel[realchan].vol = 63; + } channel[realchan].fx = pattern[pattnr][row][chan].command; // set command if (pattern[pattnr][row][chan].info) // set infobyte channel[realchan].info = pattern[pattnr][row][chan].info; @@ -420,15 +428,19 @@ break; // pattern break case 4: if (info > 0xf0) // fine volume down + { if (channel[realchan].vol - (info & 0x0f) >= 0) channel[realchan].vol -= info & 0x0f; else channel[realchan].vol = 0; + } if ((info & 0x0f) == 0x0f && info >= 0x1f) // fine volume up + { if (channel[realchan].vol + ((info & 0xf0) >> 4) <= 63) channel[realchan].vol += (info & 0xf0) >> 4; else channel[realchan].vol = 63; + } setvolume (realchan); break; case 5: @@ -468,6 +480,7 @@ if (info == 0xb0) // set loop start loopstart = row; if (info > 0xb0 && info <= 0xbf) // pattern loop + { if (!loopcnt) { loopcnt = info & 0x0f; @@ -479,6 +492,7 @@ crow = loopstart; pattbreak = 1; } + } if ((info & 0xf0) == 0xe0) // patterndelay del = speed * (info & 0x0f) - 1; break;