- if (qxmp_start_player(per_ch->playercontext, sfx->format.speed, format) < 0) // FIXME: only if speed is in XMP acceptable range, else default to 48khz and let DP mix
+
+ if (qxmp_start_player(per_ch->playercontext, sfx->format.speed, format) < 0)
+ {
+ Mem_Free(per_ch);
+ return;
+ }
+ /* percentual left/right channel separation, default is 70. */
+ if (sfx->format.channels == 2 && (qxmp_set_player(per_ch->playercontext, XMP_PLAYER_MIX, 50) != 0))
+ {
+ Mem_Free(per_ch);
+ return;
+ }
+ /* interpolation type, default is XMP_INTERP_LINEAR */
+ if (qxmp_set_player(per_ch->playercontext, XMP_PLAYER_INTERP, XMP_INTERP_SPLINE) != 0)