Go Back   Winamp & SHOUTcast Forums > Winamp > Winamp Wishlist

Reply
Thread Tools Search this Thread Display Modes
Old 1st May 2011, 17:51   #1
burek021
Junior Member
 
Join Date: Jul 2007
Posts: 28
Remake of Nullsoft Crossfading Output as DSP/Effect plugin?

Hi,

A great plugin (although it was marked as experimental), that I used to install with every Winamp installation as a MUST: http://www.winamp.com/plugin/crossfading-output/175

The only drawback is that it's designed as an "Output plugin". Meaning, it can't be used for any kind of DSP processing (like streaming to Shoutcast server, for example).

So, the idea of this wish is to remake/recode this plugin as "DSP/Effect plugin" if possible, so it can be "stacked" (using DSP stacker plugin, for example). This way it will have much wider usage, than it has right now.

Thanks if you implement this
burek021 is offline   Reply With Quote
Old 1st May 2011, 19:27   #2
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
Would this work for you?:
http://bogproghome.hopto.org/BogProgXFade1_0Install.exe
thinktink is offline   Reply With Quote
Old 1st May 2011, 23:44   #3
burek021
Junior Member
 
Join Date: Jul 2007
Posts: 28
Is there any documentation? Screenshots? Anything?
I don't feel comfortable just running some exe file from the internet, just like that..
burek021 is offline   Reply With Quote
Old 2nd May 2011, 04:00   #4
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,195
Send a message via AIM to MrSinatra
u can trust thinktink.

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 2nd May 2011, 05:22   #5
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
Quote:
Originally Posted by burek021 View Post
Is there any documentation? Screenshots? Anything?...
The plugin is simple enough on the outside. Just install and make sure all the songs are the same bitrate, sample rate, and number of channels and you're good to go. It takes over (hooks) audio files supported by input plugins that support the modern APIs.

Since it crossfades at the input stage instead of the output stage or the DSP stage you will always get crossfades at the DSPs (SHOUTcast) without relying on hardware mixing.

Minimial documentation here.

The plugins page (I guess "backend") has been down for a while which is why it hasn't been reviewed yet.
thinktink is offline   Reply With Quote
Old 2nd May 2011, 09:42   #6
burek021
Junior Member
 
Join Date: Jul 2007
Posts: 28
ok, thanks a lot, I'll take a look
burek021 is offline   Reply With Quote
Old 24th September 2012, 03:22   #7
Michiko
Junior Member
 
Join Date: Apr 2011
Posts: 4
This BogProg crossfader crashes 5.63 under Windows 7 Pro. I need to find a crossfader that works with null and edcast DSP.
Michiko is offline   Reply With Quote
Old 24th September 2012, 07:42   #8
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
Which version of Edcast DSP are you using?
thinktink is offline   Reply With Quote
Old 24th September 2012, 16:44   #9
Michiko
Junior Member
 
Join Date: Apr 2011
Posts: 4
Edcast V3 build 11/03/2008. Winamp crashes on start up .. I had to manually remove your program to even get winamp to start up.
Michiko is offline   Reply With Quote
Old 24th September 2012, 18:38   #10
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
I was unable to locate that version of Edcast. I was able to get the latest version of edcast-reborn working with X-Fade on Windows XP.

http://code.google.com/p/edcast-reborn/

I am attaching a zip file with updated versions of my plugins that I tested with. It includes X-Fade 1.3, LiveWire 1.9, and ZeroPointer 1.4 with full installers.

Here's a demo video showing it works:

Last edited by thinktink; 16th December 2014 at 05:47.
thinktink is offline   Reply With Quote
Old 26th September 2012, 01:45   #11
Michiko
Junior Member
 
Join Date: Apr 2011
Posts: 4
I installed the new Edcast and all three of the plugins in the ZIP.
Winamp did load up.
The first time, I tried seeking to the end of the track to hear the cross fade effect, Winamp crashed when I moved the slider.
The second time, I was able to get the seek to work but then after about 40 minutes of use, Winamp crashed.
I have had very bad luck with Winamp plugins and Windows 7. I have been looking for a Windows 7 compatible DSP crossfader since SQRsoft crossfading also does not work under Windows 7.
Michiko is offline   Reply With Quote
Old 26th September 2012, 02:55   #12
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
I just took a gander at some of the source code from edcast-reborn site. Apparently, it's doing something with input plugins. What exactly I don't know.

[EDIT /]
I submitted a report to the site. The developer has been sick lately so I don't know if you'll get a response really fast at all.
thinktink is offline   Reply With Quote
Old 29th September 2012, 15:41   #13
Aminifu
Forum King
 
Aminifu's Avatar
 
Join Date: Aug 2011
Location: Chicago, IL
Posts: 4,612
Quote:
Originally Posted by thinktink View Post
I am attaching a zip file with updated versions of my plugins that I tested with. It includes X-Fade 1.3, LiveWire 1.9, and ZeroPointer 1.4 with full installers.
Hi thinktink,

Thank you very much for X-Fade 1.3. I've been looking for a crossfader that works with WA and Windows 7 and does not need to be stacked with other DSP or output plug-ins. Yours is the only one I've been able to find and it works perfectly. I know you state "THIS PLUG-IN IS ONLY FOR SHOUTCASTERS USING A NULL OUTPUT PLUG-IN". I'm using it with the Enhancer DSP plug-in and the Maiko WASAPI output plug-in, so far no problems.

I was wondering if version 1.3 has the same caveats as earlier versions. Namely, the audio sample rate, bits per second, and number of channels must be the same between audio tracks to crossfade and the native Equalizer functions in WA are disabled.

The main player displays a fixed bits per second rate (1411kbps), but my tracks have various rates and the crossfading still works. I only use the WA Equalizer for it's clipping limiter. If this function is disabled, would it be best to just turn the WA Equalizer off.

Winamp Pro 5.666.3516 fully-patched - Komodo X Touchscreen by Victhor skin
Windows 10 Home 64-bit desktop - Logitech Z906 5.1 speaker system
Aminifu is offline   Reply With Quote
Old 29th September 2012, 18:22   #14
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
Quote:
Originally Posted by Aminifu View Post
Hi thinktink,

Thank you very much for X-Fade 1.3. I've been looking for a crossfader that works with WA and Windows 7 and does not need to be stacked with other DSP or output plug-ins. Yours is the only one I've been able to find and it works perfectly.
Awesome news.


Quote:
Originally Posted by Aminifu View Post
I know you state "THIS PLUG-IN IS ONLY FOR SHOUTCASTERS USING A NULL OUTPUT PLUG-IN". I'm using it with the Enhancer DSP plug-in and the Maiko WASAPI output plug-in, so far no problems.
Now that is interesting. My experience with the native DS, WO, and most other output plugins for Winamp is that on seeking/flush to a new track the plugins will introduce either output gaps, clicks, or other artifacts that can mess-up the playback timing rate (DS is really bad on this) and that is why I limit it's use to null output plugins. Since I don't have a Windows Vista/7 box at the moment I can't test the Maiko plugin but that's great to know it currently handles that well.


Quote:
Originally Posted by Aminifu View Post
I was wondering if version 1.3 has the same caveats as earlier versions. Namely, the audio sample rate, bits per second, and number of channels must be the same between audio tracks to crossfade...
Unfortunately, yes. I haven't yet found a compilable version of audio resampling C++ code for the compiler I'm using that I can just give PCM data and get PCM data back without having to jump through 5 thousand hoops to do so.


Quote:
Originally Posted by Aminifu View Post
...and the native Equalizer functions in WA are disabled.
Yup. I found that when processing data from the currently playing track and the previously playing track in the crossfade that the eq isn't being applied to the previous track's audio data. I disabled it to prevent that extremely noticeable inconsistency. If you need eq functionality you'll need to do it in a DSP plugin.


Quote:
Originally Posted by Aminifu View Post
The main player displays a fixed bits per second rate (1411kbps), but my tracks have various rates and the crossfading still works.
As I understand it, I think that's down to the difference between what the audio was encoded to (VBR/quality/what-not) and what the audio ultimately is decoded to by the various input plugin's transcoder functions, which is what X-Fade uses to get the audio data. The encoding might be variable but the output is constant because audio devices (as far as I know) aren't capable of switching between sample rates/channels/bps on the fly and neither are the output plugins capable of doing so. Ultimately it's probably just sheer dumb luck that, so far, all your audio files decode to the same sr/nch/bps.


Quote:
Originally Posted by Aminifu View Post
I only use the WA Equalizer for it's clipping limiter. If this function is disabled, would it be best to just turn the WA Equalizer off.
I don't know for sure but I don't think it matters as all the plugin does is it tells Winamp that it is handling the eq functionality itself which causes Winamp (or the other input plugins, which ever of the two) not to eq the audio.
thinktink is offline   Reply With Quote
Old 30th September 2012, 15:44   #15
Aminifu
Forum King
 
Aminifu's Avatar
 
Join Date: Aug 2011
Location: Chicago, IL
Posts: 4,612
Quote:
Originally Posted by thinktink View Post
Now that is interesting. My experience with the native DS, WO, and most other output plugins for Winamp is that on seeking/flush to a new track the plugins will introduce either output gaps, clicks, or other artifacts that can mess-up the playback timing rate (DS is really bad on this) and that is why I limit it's use to null output plugins. Since I don't have a Windows Vista/7 box at the moment I can't test the Maiko plugin but that's great to know it currently handles that well.
There are no problems with seeking/flushing to a new track. I also had the playback timing messed up, when seeking, when trying to use crossfaders stacked with DSP or output plug-ins. Sometimes the timing would get screwed, on transitions between tracks, just playing through a playlist. I figured yours may work because it hooks in with the input plug-ins, ahead of the buffering in the DSP and output plug-ins. So far I've only tried it with mp3s and I have the Nullsoft mp3 plug-in configured to load the entire tracks into memory.

The Maiko dev decided not to include crossfading in his plug-in and I was missing what I had gotten used to with Nullsoft's DirectSound output plug-in. Gapless playback is ok, but its just not as good as crossfading, especially with dance tracks. My sound card can process 24 bit - 96 KHz audio, Maiko upsamples and lets me custom upmix stereo to my 6 speaker channels. Maiko is still in development, but what is available now works great. If you have a need for upsampling/upmixing, I hope you get a chance to try it soon.

Quote:
Originally Posted by thinktink View Post
As I understand it, I think that's down to the difference between what the audio was encoded to (VBR/quality/what-not) and what the audio ultimately is decoded to by the various input plugin's transcoder functions, which is what X-Fade uses to get the audio data. The encoding might be variable but the output is constant because audio devices (as far as I know) aren't capable of switching between sample rates/channels/bps on the fly and neither are the output plugins capable of doing so. Ultimately it's probably just sheer dumb luck that, so far, all your audio files decode to the same sr/nch/bps.
Maiko can adjust to sample rates/channels/bps changes on the fly, by default. It also has an optional, more precise, resampler that can not adjust to sample rate changes on the fly. The optional resampler currently has about a 65 seconds playback pause, if the sample rate changes between tracks.

I guess it makes sense that the Nullsoft decoders' audio is a fixed bit rate. The sampling rate and number of channels in all my mp3s are the same, only the encoding bit rates are different. The X-Fade stats report lists the bps for each track as 16. Anyway, the bottom line is it works. Thanx again for coding this great plug-in.


The documentation link for X_Fade, in post #5 above, no longer works. Can I trouble you for a brief explanation (whenever you can) of the logarithmic transitions, plugins, and thread priority (high/time critical) options?

Winamp Pro 5.666.3516 fully-patched - Komodo X Touchscreen by Victhor skin
Windows 10 Home 64-bit desktop - Logitech Z906 5.1 speaker system
Aminifu is offline   Reply With Quote
Old 30th September 2012, 22:18   #16
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
Linear crossfade transition:


(Poor representation of a) Logarithmic crossfade transition:



The Plugins window is just an informational window that can tell you if:
  • a file can be played at all
  • a file can be crossfaded by X-Fade
  • a particular plugin can even be supported by X-Fade.


The thread priority slider is just for people who need to tweak the playback thread priority for whatever reason on their system. Unless you have a reason to generally you shouldn't have to mess with it. But it's there just in case. It's akin to the playback thread priority in the configuration options of Winamp itself.
Attached Thumbnails
Click image for larger version

Name:	Linear.PNG
Views:	1922
Size:	965 Bytes
ID:	49923   Click image for larger version

Name:	Log.PNG
Views:	1925
Size:	877 Bytes
ID:	49924  
thinktink is offline   Reply With Quote
Old 30th September 2012, 23:39   #17
Aminifu
Forum King
 
Aminifu's Avatar
 
Join Date: Aug 2011
Location: Chicago, IL
Posts: 4,612
Hi thinktink,

Thanx for the info. Logarithmic transitions is the 'icing on the cake'.

To aid gapless playback, I have removed any silence at the start and end of my tracks and some tracks start at near full volume.

Winamp Pro 5.666.3516 fully-patched - Komodo X Touchscreen by Victhor skin
Windows 10 Home 64-bit desktop - Logitech Z906 5.1 speaker system
Aminifu is offline   Reply With Quote
Old 1st October 2012, 17:25   #18
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
I just got a response on the crash issue. The developer is now aware of it.
thinktink is offline   Reply With Quote
Old 10th October 2012, 05:31   #19
Aminifu
Forum King
 
Aminifu's Avatar
 
Join Date: Aug 2011
Location: Chicago, IL
Posts: 4,612
Hi thinktink,

The transitions between songs is not seamless with the way I'm using your X-Fade plug-in, but you did warn me.

What I thought was the next song starting a little too loud is instead a slight artifact from the current song. It's like a little skip back. It is not noticeable with all transitions (depends on the volume level of the current song when the crossfade starts) and I only noticed it when I turned the volume up.

Anyway, your plug-in is the closest I've gotten to a fully functional crossfade with 3rd party DSP and output plug-ins. It will provide virtually seamless crossfades with carefully selected playlists, so it is still useful for me. Just want to let others known it is not seamless (as I previously miss-stated) when used other than how you indicated.

Winamp Pro 5.666.3516 fully-patched - Komodo X Touchscreen by Victhor skin
Windows 10 Home 64-bit desktop - Logitech Z906 5.1 speaker system
Aminifu is offline   Reply With Quote
Old 11th October 2012, 06:03   #20
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,937
Send a message via Skype™ to thinktink
There is an experimental section of my ZeroPointer null output plugin that you can try to use for seamless playback. However, since ZeroPointer's primary function is synchronization with the system clock the playback will (almost) never be in sync with visualizations and the actual playback rate of most, if not all, hardware audio devices, slowly drifting further from (or closer to 'till you get gaps) each other. The other downside to the experimental output section is that it's only a MME WAVE output (like the native WAVE out plugin that comes with Winamp.)

Worth a shot if you're feeling up to it.
thinktink is offline   Reply With Quote
Old 11th October 2012, 07:26   #21
Aminifu
Forum King
 
Aminifu's Avatar
 
Join Date: Aug 2011
Location: Chicago, IL
Posts: 4,612
Quote:
Originally Posted by thinktink View Post
There is an experimental section of my ZeroPointer null output plugin that you can try to use for seamless playback. However, since ZeroPointer's primary function is synchronization with the system clock the playback will (almost) never be in sync with visualizations and the actual playback rate of most, if not all, hardware audio devices, slowly drifting further from (or closer to 'till you get gaps) each other. The other downside to the experimental output section is that it's only a MME WAVE output (like the native WAVE out plugin that comes with Winamp.)

Worth a shot if you're feeling up to it.
Thank you for the suggestion, but I don't think that would help. I need a way to add a second decoded input to a DSP plug-in and/or output plug-in that does not disrupt, or momentarily pause, the processing of another decoded input that is in the process of being processed by the DSP plug-in and/or output plug-in. X-Fade comes so tantalizingly close.

I don't know enough about the technical problem of merging two decoded input streams, or exactly what X-Fade is doing, to adequately describe the issue I'm hearing. I understand that you do not currently have the resources to duplicate what I'm trying to do and that your plug-in was not intended for such use in the first place.

If you choose to look into this in the future that would be appreciated. If you do not that would be understandable.

Winamp Pro 5.666.3516 fully-patched - Komodo X Touchscreen by Victhor skin
Windows 10 Home 64-bit desktop - Logitech Z906 5.1 speaker system
Aminifu is offline   Reply With Quote
Old 13th December 2012, 17:58   #22
otisore
Junior Member
 
Join Date: Apr 2010
Posts: 25
That x-fade plugin seems to crash my Winamp upon startup. I'm using XP and the latest version of Edcast. Oh well, it was worth a try...thanks for the tip!
otisore is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Winamp > Winamp Wishlist

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump