BogProg X-Fade 2.0.0.1 is now available.
Download
This plugin is for SHOUTcasters ONLY! Instead of relying on your soundcard and the Output plugin to crossfade your music, you can now do it instead with this plugin at the input stage before it reaches the DSP. However, there are some caveats:
Changes from previous version:
Details:
So the biggest reason for the major version bump is because of the VCL removal. I basically reused all of the old source code but I had to modify it for use outside the VCL, dump the original plugin's project files, and add in-house replacements for the removed VCL functions. Giant pain-in-the-a** to do. I did this for several reasons; 1) to eliminate the VCL as a suspect in a number of very rare and intermittent crashes (these are the hardest to debug) and 2) for file size.
RE-SAMPLING ADDED! I added the same set of re-samplers to X-Fade that I did to DiskWrite (not related.) That means that now a file that's 48000,24,6 can now be crossfaded through a 44100,16,2 file. Now you won't have to resample and re-encode your music for crossfade compatibility, it gets done for you automatically on the fly. It should be noted however that even though I included re-sampling rates other than 44.1k I don't recommend using them if you're using the SHOUTcast DSP for a number of reasons too long to explain here.
The NoFlush plugin is included with the installer. What it does is allows you to use another Output plugin ("Nullsoft DirectSound Output" is the default) with X-Fade but without the internals calling flush reaching it. Instead, it mathematically emulates the effects of the flush call (transparently to Winamp) and won't pass the call on to the selected Output plugin. What this all means is that X-Fade can use an output plugin other than a null output plugin but not have the playback timing interrupted and you won't get any pops or clicks or other audio artifacts when X-Fade crossfades the next audio media. However, since the size of a signed 32 bit integer is not infinite, when total playback time since the last actual flush goes over approximately 2 weeks, on the next call to flush, flush is actually called and the emulator is reset. Can't be helped, that's just a hard limitation of a signed 32 bit integer. NoFlush is compatible only with X-Fade playback so if X-Fade is not present, it won't perform the primary function (there are several reasons for this.) In total, NoFlush will let you playback your audio to your soundcard using X-Fade.
ZeroPointer is still the preferred output plugin to use with X-Fade however.
Enjoy
Download
This plugin is for SHOUTcasters ONLY! Instead of relying on your soundcard and the Output plugin to crossfade your music, you can now do it instead with this plugin at the input stage before it reaches the DSP. However, there are some caveats:
- You really should use a NULL Output plugin (preferably ZeroPointer) as the active output plugin. Not doing so will probably make your station timing rate all jacked up. NoFlush is also acceptable but it's not a null output plugin so expect a couple of quirks while using it.
- The plugin only supports audio files who's native decoding input plugin exports fully functional transcoder functions. If you're using an audio format that doesn't support the transcoding functions, blame the developer, not me.
- The plugin will not crossfade through audio tracks that are not at least twice as long as the specified crossfade time.
Changes from previous version:
- Removed all of the VCL dependencies (Borland's IDE framework.)
- Added re-sampling support.
- Internal bug fixes.
- Installer includes BogProg NoFlush output plugin.
Details:
So the biggest reason for the major version bump is because of the VCL removal. I basically reused all of the old source code but I had to modify it for use outside the VCL, dump the original plugin's project files, and add in-house replacements for the removed VCL functions. Giant pain-in-the-a** to do. I did this for several reasons; 1) to eliminate the VCL as a suspect in a number of very rare and intermittent crashes (these are the hardest to debug) and 2) for file size.
RE-SAMPLING ADDED! I added the same set of re-samplers to X-Fade that I did to DiskWrite (not related.) That means that now a file that's 48000,24,6 can now be crossfaded through a 44100,16,2 file. Now you won't have to resample and re-encode your music for crossfade compatibility, it gets done for you automatically on the fly. It should be noted however that even though I included re-sampling rates other than 44.1k I don't recommend using them if you're using the SHOUTcast DSP for a number of reasons too long to explain here.
The NoFlush plugin is included with the installer. What it does is allows you to use another Output plugin ("Nullsoft DirectSound Output" is the default) with X-Fade but without the internals calling flush reaching it. Instead, it mathematically emulates the effects of the flush call (transparently to Winamp) and won't pass the call on to the selected Output plugin. What this all means is that X-Fade can use an output plugin other than a null output plugin but not have the playback timing interrupted and you won't get any pops or clicks or other audio artifacts when X-Fade crossfades the next audio media. However, since the size of a signed 32 bit integer is not infinite, when total playback time since the last actual flush goes over approximately 2 weeks, on the next call to flush, flush is actually called and the emulator is reset. Can't be helped, that's just a hard limitation of a signed 32 bit integer. NoFlush is compatible only with X-Fade playback so if X-Fade is not present, it won't perform the primary function (there are several reasons for this.) In total, NoFlush will let you playback your audio to your soundcard using X-Fade.
ZeroPointer is still the preferred output plugin to use with X-Fade however.
Enjoy


Comment