mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-10 06:42: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
|
||||
- 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.
|
||||
- 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)
|
||||
- Added new ZDoom specific UDMF sector properties to map parser.
|
||||
- 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
|
||||
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)
|
||||
- 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
|
||||
|
|
|
@ -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);
|
||||
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_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);
|
||||
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_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_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);
|
||||
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_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);
|
||||
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_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_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);
|
||||
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_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);
|
||||
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_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_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);
|
||||
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_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);
|
||||
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_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_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_START_SIGRENDERER proc;
|
||||
|
||||
/* [RH] Mono destination mixers are disabled. */
|
||||
if (n_channels != 2)
|
||||
return NULL;
|
||||
|
||||
if (!duh)
|
||||
return NULL;
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
|
||||
|
||||
|
||||
#define SUFFIX3 _1
|
||||
#define SUFFIX3 _2
|
||||
|
||||
/* For convenience, returns nonzero on stop. */
|
||||
static int process_pickup(DUMB_RESAMPLER *resampler)
|
||||
|
@ -89,6 +89,7 @@ static int process_pickup(DUMB_RESAMPLER *resampler)
|
|||
|
||||
/* Create mono destination resampler. */
|
||||
/* SUFFIX3 was set above. */
|
||||
#if 0
|
||||
#define VOLUME_PARAMETERS MONO_DEST_VOLUME_PARAMETERS
|
||||
#define VOLUME_VARIABLES 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_ZEROS(op) *dst++ op 0
|
||||
#include "resamp3.inc"
|
||||
#else
|
||||
#undef SUFFIX3
|
||||
#endif
|
||||
|
||||
/* Create stereo destination resampler. */
|
||||
#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)
|
||||
{
|
||||
if (n == 8)
|
||||
|
@ -308,7 +308,7 @@ int32 dumb_resample_n_1_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32
|
|||
else
|
||||
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)
|
||||
|
@ -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)
|
||||
{
|
||||
if (n == 8)
|
||||
|
@ -332,7 +332,7 @@ int32 dumb_resample_n_2_1(int n, DUMB_RESAMPLER *resampler, sample_t *dst, int32
|
|||
else
|
||||
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)
|
||||
|
@ -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)
|
||||
{
|
||||
if (n == 8)
|
||||
|
@ -356,7 +356,7 @@ void dumb_resample_get_current_sample_n_1_1(int n, DUMB_RESAMPLER *resampler, DU
|
|||
else
|
||||
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)
|
||||
|
@ -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)
|
||||
{
|
||||
if (n == 8)
|
||||
|
@ -380,7 +380,7 @@ void dumb_resample_get_current_sample_n_2_1(int n, DUMB_RESAMPLER *resampler, DU
|
|||
else
|
||||
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)
|
||||
|
|
|
@ -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 MONO_DEST_VOLUME_PARAMETERS DUMB_VOLUME_RAMP_INFO * volume
|
||||
#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 { \
|
||||
if ( volume ) { \
|
||||
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]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
#if 0
|
||||
else {
|
||||
if (playing->sample->flags & IT_SAMPLE_STEREO) {
|
||||
if ((cr_record_which & 1) && sigrenderer->click_remover) {
|
||||
sample_t click;
|
||||
|
@ -4340,6 +4342,7 @@ static int32 render_playing_part(DUMB_IT_SIGRENDERER *sigrenderer, IT_PLAYING *p
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return size_rendered;
|
||||
}
|
||||
|
||||
|
@ -4372,9 +4375,9 @@ static int32 render_playing_ramp(DUMB_IT_SIGRENDERER *sigrenderer, IT_PLAYING *p
|
|||
if (volume == 0) {
|
||||
if (playing->declick_stage < 2) {
|
||||
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
|
||||
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 {
|
||||
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;
|
||||
int i;
|
||||
|
||||
/* [RH] Mono destination mixers are disabled. */
|
||||
if (n_channels != 2) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (startorder > sigdata->n_orders) {
|
||||
free(callbacks);
|
||||
dumb_destroy_click_remover_array(n_channels, cr);
|
||||
|
|
Loading…
Reference in a new issue