mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-29 15:22:08 +00:00
- Disabled DUMB's mono destination mixers. It's not like I'm ever going to
target an original SoundBlaster, so they're a waste of space to have around. This trims resample.obj down to ~60k now. SVN r1002 (trunk)
This commit is contained in:
parent
77b9c162e2
commit
3839ef14d5
7 changed files with 65 additions and 44 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
May 30, 2008
|
||||||
|
- Disabled DUMB's mono destination mixers. It's not like I'm ever going to
|
||||||
|
target an original SoundBlaster, so they're a waste of space to have around.
|
||||||
|
This trims resample.obj down to ~60k now.
|
||||||
|
|
||||||
May 29, 2008
|
May 29, 2008
|
||||||
- Fixed: PrtScn/SysRq key did not work on Linux.
|
- Fixed: PrtScn/SysRq key did not work on Linux.
|
||||||
|
|
||||||
|
@ -13,6 +18,21 @@ May 29, 2008 (Changes by Graf Zahl)
|
||||||
not need to access the sidedef data.
|
not need to access the sidedef data.
|
||||||
- Added new ZDoom specific UDMF linedef and sidedef properties to map parser.
|
- Added new ZDoom specific UDMF linedef and sidedef properties to map parser.
|
||||||
|
|
||||||
|
May 28, 2008
|
||||||
|
- Added an alternate module replay engine that uses foo_dumb's replayer, a
|
||||||
|
heavily customized version of DUMB (Dynamic Universal Music Bibliotheque).
|
||||||
|
It has been slightly modified by me:
|
||||||
|
* Added support for Ogg Vorbis-compressed samples in XM files ala FMOD.
|
||||||
|
* Removed excessive mallocs from the replay core.
|
||||||
|
* Rerolled the loops in resample.c. Unrolling them made the object file
|
||||||
|
~250k large while providing little benefit. Even at ~100k, I think it's
|
||||||
|
still larger than it ought to be, but I'll live with it for now.
|
||||||
|
Other than that, it's essentially the same thing you'd hear in foobar2000,
|
||||||
|
minus some subsong detection features. Release builds of the library look
|
||||||
|
like they might even be slightly faster than FMOD, which is a plus.
|
||||||
|
- Fixed: Timidity::font_add() did not release the file reader it created.
|
||||||
|
- Fixed: The SF2 loader did not free the sample headers in its destructor.
|
||||||
|
|
||||||
May 28, 2008 (Changes by Graf Zahl)
|
May 28, 2008 (Changes by Graf Zahl)
|
||||||
- Added new ZDoom specific UDMF sector properties to map parser.
|
- Added new ZDoom specific UDMF sector properties to map parser.
|
||||||
- Added class definitions for new interpolators that are better
|
- Added class definitions for new interpolators that are better
|
||||||
|
@ -35,21 +55,6 @@ May 27, 2008 (Changes by Graf Zahl)
|
||||||
the DECORATE replacement feature instead of hacking the spawn state
|
the DECORATE replacement feature instead of hacking the spawn state
|
||||||
of the original item and calling a spawn function from there.
|
of the original item and calling a spawn function from there.
|
||||||
|
|
||||||
May 28, 2008
|
|
||||||
- Added an alternate module replay engine that uses foo_dumb's replayer, a
|
|
||||||
heavily customized version of DUMB (Dynamic Universal Music Bibliotheque).
|
|
||||||
It has been slightly modified by me:
|
|
||||||
* Added support for Ogg Vorbis-compressed samples in XM files ala FMOD.
|
|
||||||
* Removed excessive mallocs from the replay core.
|
|
||||||
* Rerolled the loops in resample.c. Unrolling them made the object file
|
|
||||||
~250k large while providing little benefit. Even at ~100k, I think it's
|
|
||||||
still larger than it ought to be, but I'll live with it for now.
|
|
||||||
Other than that, it's essentially the same thing you'd hear in foobar2000,
|
|
||||||
minus some subsong detection features. Release builds of the library look
|
|
||||||
like they might even be slightly faster than FMOD, which is a plus.
|
|
||||||
- Fixed: Timidity::font_add() did not release the file reader it created.
|
|
||||||
- Fixed: The SF2 loader did not free the sample headers in its destructor.
|
|
||||||
|
|
||||||
May 23, 2008 (Changes by Graf Zahl)
|
May 23, 2008 (Changes by Graf Zahl)
|
||||||
- Fixed: The compatibility searches for teleport destinations did not work
|
- Fixed: The compatibility searches for teleport destinations did not work
|
||||||
properly when the teleporter had both a tid and a tag. Now, if a teleporter
|
properly when the teleporter had both a tid and a tag. Now, if a teleporter
|
||||||
|
|
|
@ -691,49 +691,49 @@ struct DUMB_VOLUME_RAMP_INFO
|
||||||
|
|
||||||
void dumb_reset_resampler(DUMB_RESAMPLER *resampler, sample_t *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
void dumb_reset_resampler(DUMB_RESAMPLER *resampler, sample_t *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
DUMB_RESAMPLER *dumb_start_resampler(sample_t *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
DUMB_RESAMPLER *dumb_start_resampler(sample_t *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
int32 dumb_resample_1_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
//int32 dumb_resample_1_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
||||||
int32 dumb_resample_1_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_1_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_2_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
//int32 dumb_resample_2_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_2_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_2_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
void dumb_resample_get_current_sample_1_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
//void dumb_resample_get_current_sample_1_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_1_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_1_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_2_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
//void dumb_resample_get_current_sample_2_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_2_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_2_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_end_resampler(DUMB_RESAMPLER *resampler);
|
void dumb_end_resampler(DUMB_RESAMPLER *resampler);
|
||||||
|
|
||||||
void dumb_reset_resampler_16(DUMB_RESAMPLER *resampler, short *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
void dumb_reset_resampler_16(DUMB_RESAMPLER *resampler, short *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
DUMB_RESAMPLER *dumb_start_resampler_16(short *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
DUMB_RESAMPLER *dumb_start_resampler_16(short *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
int32 dumb_resample_16_1_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
//int32 dumb_resample_16_1_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
||||||
int32 dumb_resample_16_1_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_16_1_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_16_2_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
//int32 dumb_resample_16_2_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_16_2_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_16_2_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
void dumb_resample_get_current_sample_16_1_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
//void dumb_resample_get_current_sample_16_1_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_16_1_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_16_1_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_16_2_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
//void dumb_resample_get_current_sample_16_2_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_16_2_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_16_2_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_end_resampler_16(DUMB_RESAMPLER *resampler);
|
void dumb_end_resampler_16(DUMB_RESAMPLER *resampler);
|
||||||
|
|
||||||
void dumb_reset_resampler_8(DUMB_RESAMPLER *resampler, signed char *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
void dumb_reset_resampler_8(DUMB_RESAMPLER *resampler, signed char *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
DUMB_RESAMPLER *dumb_start_resampler_8(signed char *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
DUMB_RESAMPLER *dumb_start_resampler_8(signed char *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
int32 dumb_resample_8_1_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
//int32 dumb_resample_8_1_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
||||||
int32 dumb_resample_8_1_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_8_1_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_8_2_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
//int32 dumb_resample_8_2_1(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_8_2_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_8_2_2(DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
void dumb_resample_get_current_sample_8_1_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
//void dumb_resample_get_current_sample_8_1_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_8_1_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_8_1_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_8_2_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
//void dumb_resample_get_current_sample_8_2_1(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_8_2_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_8_2_2(DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_end_resampler_8(DUMB_RESAMPLER *resampler);
|
void dumb_end_resampler_8(DUMB_RESAMPLER *resampler);
|
||||||
|
|
||||||
void dumb_reset_resampler_n(int n, DUMB_RESAMPLER *resampler, void *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
void dumb_reset_resampler_n(int n, DUMB_RESAMPLER *resampler, void *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
DUMB_RESAMPLER *dumb_start_resampler_n(int n, void *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
DUMB_RESAMPLER *dumb_start_resampler_n(int n, void *src, int src_channels, int32 pos, int32 start, int32 end, int quality);
|
||||||
int32 dumb_resample_n_1_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
//int32 dumb_resample_n_1_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta);
|
||||||
int32 dumb_resample_n_1_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_n_1_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_n_2_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
//int32 dumb_resample_n_2_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
int32 dumb_resample_n_2_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
int32 dumb_resample_n_2_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta);
|
||||||
void dumb_resample_get_current_sample_n_1_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
//void dumb_resample_get_current_sample_n_1_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_n_1_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_n_1_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_n_2_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
//void dumb_resample_get_current_sample_n_2_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_resample_get_current_sample_n_2_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
void dumb_resample_get_current_sample_n_2_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst);
|
||||||
void dumb_end_resampler_n(int n, DUMB_RESAMPLER *resampler);
|
void dumb_end_resampler_n(int n, DUMB_RESAMPLER *resampler);
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,10 @@ DUH_SIGRENDERER *DUMBEXPORT duh_start_sigrenderer(DUH *duh, int sig, int n_chann
|
||||||
DUH_SIGNAL *signal;
|
DUH_SIGNAL *signal;
|
||||||
DUH_START_SIGRENDERER proc;
|
DUH_START_SIGRENDERER proc;
|
||||||
|
|
||||||
|
/* [RH] Mono destination mixers are disabled. */
|
||||||
|
if (n_channels != 2)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
if (!duh)
|
if (!duh)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define SUFFIX3 _1
|
#define SUFFIX3 _2
|
||||||
|
|
||||||
/* For convenience, returns nonzero on stop. */
|
/* For convenience, returns nonzero on stop. */
|
||||||
static int process_pickup(DUMB_RESAMPLER *resampler)
|
static int process_pickup(DUMB_RESAMPLER *resampler)
|
||||||
|
@ -89,6 +89,7 @@ static int process_pickup(DUMB_RESAMPLER *resampler)
|
||||||
|
|
||||||
/* Create mono destination resampler. */
|
/* Create mono destination resampler. */
|
||||||
/* SUFFIX3 was set above. */
|
/* SUFFIX3 was set above. */
|
||||||
|
#if 0
|
||||||
#define VOLUME_PARAMETERS MONO_DEST_VOLUME_PARAMETERS
|
#define VOLUME_PARAMETERS MONO_DEST_VOLUME_PARAMETERS
|
||||||
#define VOLUME_VARIABLES MONO_DEST_VOLUME_VARIABLES
|
#define VOLUME_VARIABLES MONO_DEST_VOLUME_VARIABLES
|
||||||
#define SET_VOLUME_VARIABLES SET_MONO_DEST_VOLUME_VARIABLES
|
#define SET_VOLUME_VARIABLES SET_MONO_DEST_VOLUME_VARIABLES
|
||||||
|
@ -99,6 +100,9 @@ static int process_pickup(DUMB_RESAMPLER *resampler)
|
||||||
#define MIX_CUBIC(op, upd, x0, x3, o0, o1, o2, o3) MONO_DEST_MIX_CUBIC(op, upd, x0, x3, o0, o1, o2, o3)
|
#define MIX_CUBIC(op, upd, x0, x3, o0, o1, o2, o3) MONO_DEST_MIX_CUBIC(op, upd, x0, x3, o0, o1, o2, o3)
|
||||||
#define MIX_ZEROS(op) *dst++ op 0
|
#define MIX_ZEROS(op) *dst++ op 0
|
||||||
#include "resamp3.inc"
|
#include "resamp3.inc"
|
||||||
|
#else
|
||||||
|
#undef SUFFIX3
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Create stereo destination resampler. */
|
/* Create stereo destination resampler. */
|
||||||
#define SUFFIX3 _2
|
#define SUFFIX3 _2
|
||||||
|
|
|
@ -298,7 +298,7 @@ DUMB_RESAMPLER *dumb_start_resampler_n(int n, void *src, int src_channels, int32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
int32 dumb_resample_n_1_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta)
|
int32 dumb_resample_n_1_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume, double delta)
|
||||||
{
|
{
|
||||||
if (n == 8)
|
if (n == 8)
|
||||||
|
@ -308,7 +308,7 @@ int32 dumb_resample_n_1_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32
|
||||||
else
|
else
|
||||||
return dumb_resample_1_1(resampler, dst, dst_size, volume, delta);
|
return dumb_resample_1_1(resampler, dst, dst_size, volume, delta);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int32 dumb_resample_n_1_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta)
|
int32 dumb_resample_n_1_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta)
|
||||||
|
@ -322,7 +322,7 @@ int32 dumb_resample_n_1_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
int32 dumb_resample_n_2_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta)
|
int32 dumb_resample_n_2_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta)
|
||||||
{
|
{
|
||||||
if (n == 8)
|
if (n == 8)
|
||||||
|
@ -332,7 +332,7 @@ int32 dumb_resample_n_2_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32
|
||||||
else
|
else
|
||||||
return dumb_resample_2_1(resampler, dst, dst_size, volume_left, volume_right, delta);
|
return dumb_resample_2_1(resampler, dst, dst_size, volume_left, volume_right, delta);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int32 dumb_resample_n_2_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta)
|
int32 dumb_resample_n_2_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32 dst_size, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, double delta)
|
||||||
|
@ -346,7 +346,7 @@ int32 dumb_resample_n_2_2(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
void dumb_resample_get_current_sample_n_1_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst)
|
void dumb_resample_get_current_sample_n_1_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume, sample_t *dst)
|
||||||
{
|
{
|
||||||
if (n == 8)
|
if (n == 8)
|
||||||
|
@ -356,7 +356,7 @@ void dumb_resample_get_current_sample_n_1_1(int n, DUMB_RESAMPLER *resampler, DU
|
||||||
else
|
else
|
||||||
dumb_resample_get_current_sample_1_1(resampler, volume, dst);
|
dumb_resample_get_current_sample_1_1(resampler, volume, dst);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void dumb_resample_get_current_sample_n_1_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst)
|
void dumb_resample_get_current_sample_n_1_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst)
|
||||||
|
@ -370,7 +370,7 @@ void dumb_resample_get_current_sample_n_1_2(int n, DUMB_RESAMPLER *resampler, DU
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
void dumb_resample_get_current_sample_n_2_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst)
|
void dumb_resample_get_current_sample_n_2_1(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst)
|
||||||
{
|
{
|
||||||
if (n == 8)
|
if (n == 8)
|
||||||
|
@ -380,7 +380,7 @@ void dumb_resample_get_current_sample_n_2_1(int n, DUMB_RESAMPLER *resampler, DU
|
||||||
else
|
else
|
||||||
dumb_resample_get_current_sample_2_1(resampler, volume_left, volume_right, dst);
|
dumb_resample_get_current_sample_2_1(resampler, volume_left, volume_right, dst);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void dumb_resample_get_current_sample_n_2_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst)
|
void dumb_resample_get_current_sample_n_2_2(int n, DUMB_RESAMPLER *resampler, DUMB_VOLUME_RAMP_INFO * volume_left, DUMB_VOLUME_RAMP_INFO * volume_right, sample_t *dst)
|
||||||
|
|
|
@ -107,7 +107,7 @@ DUMB_RESAMPLER *dumb_start_resampler(SRCTYPE *src, int src_channels, int32 pos,
|
||||||
#define COPYSRC2(dstarray, dstindex, condition, srcarray, srcindex) (dstarray)[dstindex] = condition ? (srcarray)[srcindex] : 0
|
#define COPYSRC2(dstarray, dstindex, condition, srcarray, srcindex) (dstarray)[dstindex] = condition ? (srcarray)[srcindex] : 0
|
||||||
#define MONO_DEST_VOLUME_PARAMETERS DUMB_VOLUME_RAMP_INFO * volume
|
#define MONO_DEST_VOLUME_PARAMETERS DUMB_VOLUME_RAMP_INFO * volume
|
||||||
#define MONO_DEST_VOLUME_VARIABLES vol, volr, vold, volt, volm
|
#define MONO_DEST_VOLUME_VARIABLES vol, volr, vold, volt, volm
|
||||||
#define MONO_DEST_VOLUME_ZEROS 0
|
#define MONO_DEST_VOLUME_ZEROS 0, 0
|
||||||
#define SET_MONO_DEST_VOLUME_VARIABLES { \
|
#define SET_MONO_DEST_VOLUME_VARIABLES { \
|
||||||
if ( volume ) { \
|
if ( volume ) { \
|
||||||
volr = (int)(volume->volume * 16777216.0); \
|
volr = (int)(volume->volume * 16777216.0); \
|
||||||
|
|
|
@ -4309,7 +4309,9 @@ static int32 render_playing_part(DUMB_IT_SIGRENDERER *sigrenderer, IT_PLAYING *p
|
||||||
dumb_record_click(sigrenderer->click_remover[1], pos + size_rendered, -click[1]);
|
dumb_record_click(sigrenderer->click_remover[1], pos + size_rendered, -click[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
#if 0
|
||||||
|
else {
|
||||||
if (playing->sample->flags & IT_SAMPLE_STEREO) {
|
if (playing->sample->flags & IT_SAMPLE_STEREO) {
|
||||||
if ((cr_record_which & 1) && sigrenderer->click_remover) {
|
if ((cr_record_which & 1) && sigrenderer->click_remover) {
|
||||||
sample_t click;
|
sample_t click;
|
||||||
|
@ -4340,6 +4342,7 @@ static int32 render_playing_part(DUMB_IT_SIGRENDERER *sigrenderer, IT_PLAYING *p
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return size_rendered;
|
return size_rendered;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4372,9 +4375,9 @@ static int32 render_playing_ramp(DUMB_IT_SIGRENDERER *sigrenderer, IT_PLAYING *p
|
||||||
if (volume == 0) {
|
if (volume == 0) {
|
||||||
if (playing->declick_stage < 2) {
|
if (playing->declick_stage < 2) {
|
||||||
if (playing->sample->flags & IT_SAMPLE_STEREO)
|
if (playing->sample->flags & IT_SAMPLE_STEREO)
|
||||||
size_rendered = dumb_resample_n_2_1(bits, &playing->resampler, NULL, size, 0, 0, delta);
|
size_rendered = dumb_resample_n_2_2(bits, &playing->resampler, NULL, size, 0, 0, delta);
|
||||||
else
|
else
|
||||||
size_rendered = dumb_resample_n_1_1(bits, &playing->resampler, NULL, size, 0, delta);
|
size_rendered = dumb_resample_n_1_2(bits, &playing->resampler, NULL, size, 0, 0, delta);
|
||||||
} else {
|
} else {
|
||||||
playing->declick_stage = 3;
|
playing->declick_stage = 3;
|
||||||
}
|
}
|
||||||
|
@ -4760,6 +4763,11 @@ static DUMB_IT_SIGRENDERER *init_sigrenderer(DUMB_IT_SIGDATA *sigdata, int n_cha
|
||||||
DUMB_IT_SIGRENDERER *sigrenderer;
|
DUMB_IT_SIGRENDERER *sigrenderer;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
/* [RH] Mono destination mixers are disabled. */
|
||||||
|
if (n_channels != 2) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (startorder > sigdata->n_orders) {
|
if (startorder > sigdata->n_orders) {
|
||||||
free(callbacks);
|
free(callbacks);
|
||||||
dumb_destroy_click_remover_array(n_channels, cr);
|
dumb_destroy_click_remover_array(n_channels, cr);
|
||||||
|
|
Loading…
Reference in a new issue