X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfsound%2Fexternals.h;h=4407177a9fdae5902824f49197c4e3ed329875dd;hb=893f780e3ec8eb0b83fa4fc374c361ffffab0cff;hp=f638b94faacf1485a18bce5e4acba883a52e7d66;hpb=3c7a8977ddbdbfb4a8840a487fadade29bd939d6;p=pcsx_rearmed.git diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index f638b94f..4407177a 100644 --- a/plugins/dfsound/externals.h +++ b/plugins/dfsound/externals.h @@ -118,6 +118,7 @@ typedef struct unsigned int prevflags:3; // flags from previous block unsigned int bIgnoreLoop:1; // Ignore loop unsigned int bNewPitch:1; // pitch changed + unsigned int bStarting:1; // starting after keyon union { struct { int iLeftVolume; // left volume @@ -217,7 +218,7 @@ typedef struct void (CALLBACK *cddavCallback)(short, short); void (CALLBACK *scheduleCallback)(unsigned int); - xa_decode_t * xapGlobal; + const xa_decode_t * xapGlobal; unsigned int * XAFeed; unsigned int * XAPlay; unsigned int * XAStart; @@ -261,9 +262,9 @@ void do_samples(unsigned int cycles_to, int do_sync); void schedule_next_irq(void); void check_irq_io(unsigned int addr); -#define do_samples_if_needed(c, sync) \ +#define do_samples_if_needed(c, sync, samples) \ do { \ - if (sync || (int)((c) - spu.cycles_played) >= 16 * 768) \ + if (sync || (int)((c) - spu.cycles_played) >= (samples) * 768) \ do_samples(c, sync); \ } while (0)