]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_main.h
Refactor the code to make r_view and r_viewcache members of r_refdef,
[xonotic/darkplaces.git] / snd_main.h
index 2b061053cbb15b721bc76e0f69be59605247e567..5efc871977c20bc18213ad888a14013db6d66741 100644 (file)
@@ -75,6 +75,9 @@ struct sfx_s
        unsigned int            total_length;   // in sample frames
        const snd_fetcher_t     *fetcher;
        void                            *fetcher_data;  // Per-sfx data for the sound fetching functions
+
+       float                           volume_mult;    // for replay gain (multiplier to apply)
+       float                           volume_peak;    // for replay gain (highest peak); if set to 0, ReplayGain isn't supported
 };
 
 // maximum supported speakers constant
@@ -96,9 +99,9 @@ typedef struct channel_s
 
 // Sound fetching functions
 // "start" is both an input and output parameter: it returns the actual start time of the sound buffer
-typedef const snd_buffer_t* (*snd_fetcher_getsb_t) (channel_t* ch, unsigned int *start, unsigned int nbsampleframes);
-typedef void (*snd_fetcher_endsb_t) (channel_t* ch);
-typedef void (*snd_fetcher_free_t) (sfx_t* sfx);
+typedef const snd_buffer_t* (*snd_fetcher_getsb_t) (void *sfxfetcher, void **chfetcherpointer, unsigned int *start, unsigned int nbsampleframes);
+typedef void (*snd_fetcher_endsb_t) (void *chfetcherdata);
+typedef void (*snd_fetcher_free_t) (void *sfxfetcherdata);
 typedef const snd_format_t* (*snd_fetcher_getfmt_t) (sfx_t* sfx);
 struct snd_fetcher_s
 {