foo_dsp_continuator, crossfading plugin |
![]() ![]() |
foo_dsp_continuator, crossfading plugin |
Oct 14 2007, 15:24
Post
#251
|
|
![]() Group: Members Posts: 2296 Joined: 18-May 03 From: Denmark Member No.: 6695 |
It seems to make streamed content stutter a little when it starts playing. I guess it should be possible to fix by disabling it if track length is infinite...
Any developer awake - Somebody want to take over the development? The ported sourcecode (but somewhat buggy due to MSXML runtime) is available. -------------------- Can't wait for a HD-AAC encoder :P
|
|
|
|
Dec 27 2007, 08:13
Post
#252
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
Hello!
I updated foo_dsp_continuator to version 0.5 with the following changes: Fixed crash on exit, removed unnecessary MS XML config code. Fixed warning (added type t_size_l, used t_size) and other type conversions. Fixed STL begin(), end(), copy(), iterator crashes. Fixed buggy string comparision: 3x e.g. pszFadeOutCurves[nCnt] != "" Removed MS XML Header Macros are safe with brackets. Testcases which are ok: Testcase 2 small files Testcase: Fade in/fade out time: 10ms You can download the new version under: http://www.wiesinger.com/opensource/foobar...continuator.dll You need the following DLLs (Microsoft Visual C++ 2005 Redistributable Package (x86)): http://www.microsoft.com/downloads/details...;displaylang=en I've tested it with foobar2000 0.9.5Beta* without any problems. Please let me know whether all the problems have been fixed. When there are no problems reported I'll release the source code, too. Wiesl |
|
|
|
Dec 27 2007, 14:33
Post
#253
|
|
|
Group: Members Posts: 81 Joined: 4-July 06 From: Erfurt, Germany Member No.: 32538 |
thanks for further development, works fine so far
|
|
|
|
Dec 28 2007, 07:52
Post
#254
|
|
![]() Group: Members Posts: 51 Joined: 28-February 03 From: Santa Cruz Member No.: 5248 |
I tried the new version, and it works with the latest stable foobar2000 v0.9 release! Here's my config:
![]() The plug-in behavior in this configuration seems exactly the same as with the old version and foobar v0.8. I will play around with this a little more, and I will probably finally switch to foobar v0.9. Without a stable and fully-functional cross-fader, foobar v0.9 was just not worth it to me. Now I can have foobar in all its glory. Thank you so much! |
|
|
|
Dec 28 2007, 13:12
Post
#255
|
|
![]() Group: Members Posts: 2296 Joined: 18-May 03 From: Denmark Member No.: 6695 |
Continuator-tag seem to work now
I had a single foobar-lockup (appearently when Continuator started to buffer). I'll update this post if it reoccurs. Theres a few things that can be improved if someone takes over this amazing plugin: 1. Gapkill starting silence (to a given threshold) from the next playing track 2. Toggle this plugin on/off from a titleformatting function (I know it's deprecated, but it makes some automation easier) 3. Automatic disabling on live-streams (it makes them stutter at the beginning) 4. Extended Continuator-tag support, as proposed a few pages back. 5. One thing I thought of would be nice to have, is if the Continuator supported a way to cut off a given length of the beginning and end of a track. I have many tracks with interludes appended to a track - This could be a great way to chop these off when they are playing in shuffle-mode. -------------------- Can't wait for a HD-AAC encoder :P
|
|
|
|
Dec 28 2007, 17:23
Post
#256
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
Continuator-tag seem to work now I had a single foobar-lockup (appearently when Continuator started to buffer). I'll update this post if it reoccurs. Theres a few things that can be improved if someone takes over this amazing plugin: 1. Gapkill starting silence (to a given threshold) from the next playing track 2. Toggle this plugin on/off from a titleformatting function (I know it's deprecated, but it makes some automation easier) 3. Automatic disabling on live-streams (it makes them stutter at the beginning) 4. Extended Continuator-tag support, as proposed a few pages back. 5. One thing I thought of would be nice to have, is if the Continuator supported a way to cut off a given length of the beginning and end of a track. I have many tracks with interludes appended to a track - This could be a great way to chop these off when they are playing in shuffle-mode. What did the "lockup" look like? Can you explain 1 and 2 a little bit more detailed? Can't 5. be implemented in overlap mode with the threshold set? Wiesl |
|
|
|
Dec 28 2007, 19:25
Post
#257
|
|
|
Group: Members Posts: 640 Joined: 13-January 03 From: Marseille Member No.: 4552 |
2) if (expression=true) > continuator=on
for exemple: $if($strcmp(%cwb_playback_order%,'Shuffle(tracks)'),continuator=on) another plugin, gapless crossfader work in this way. 3) also can be done with titleformatting. -------------------- Music is my first love.
|
|
|
|
Dec 28 2007, 21:26
Post
#258
|
|
![]() Group: Members Posts: 2296 Joined: 18-May 03 From: Denmark Member No.: 6695 |
Continuator-tag seem to work now I had a single foobar-lockup (appearently when Continuator started to buffer). I'll update this post if it reoccurs. Theres a few things that can be improved if someone takes over this amazing plugin: 1. Gapkill starting silence (to a given threshold) from the next playing track 2. Toggle this plugin on/off from a titleformatting function (I know it's deprecated, but it makes some automation easier) 3. Automatic disabling on live-streams (it makes them stutter at the beginning) 4. Extended Continuator-tag support, as proposed a few pages back. 5. One thing I thought of would be nice to have, is if the Continuator supported a way to cut off a given length of the beginning and end of a track. I have many tracks with interludes appended to a track - This could be a great way to chop these off when they are playing in shuffle-mode. What did the "lockup" look like? foobar just freezed. Can you explain 1 and 2 a little bit more detailed? 1. It seems that starting silence from the track fading to is not cropped - If there's a lot of silence (2-3 sec) it starts too late. 2. Implementing a command like $continuator(enable) to control if it should be set or which can be used with conditional formattings. Can't 5. be implemented in overlap mode with the threshold set? Not really. It's more a "very-nice-to-have" request, and I guess not many would benefit from it 2) if (expression=true) > continuator=on for exemple: $if($strcmp(%cwb_playback_order%,'Shuffle(tracks)'),continuator=on) another plugin, gapless crossfader work in this way. 3) also can be done with titleformatting. I suppose you mean that 3. works if 2. are implemented? I'm not sure that it will have time to kick in before buffering. -------------------- Can't wait for a HD-AAC encoder :P
|
|
|
|
Jan 4 2008, 15:16
Post
#259
|
|
|
Group: Members Posts: 2340 Joined: 28-August 02 Member No.: 3218 |
Wiesl, the component is still not reliable for me, now I remember why. I often got sound glitches. Here's my settings and two problematic tracks (play them in order), maybe someone can confirm... At the end of the fading of track one I get a rather loud and short noise from track 1 again.
My Settings: Mode: Crossfade. Override with tag: off. Buffer 5645, CF length 4582, fade-out linear, length 3625, fade-in linear, length 435, all bottom checkboxes off. Hmm, the same if you only play track 2, in the end you also get a short peak... Files are here. This post has been edited by Squeller: Jan 4 2008, 15:18 |
|
|
|
Jan 4 2008, 15:22
Post
#260
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
Wiesl, the component is still not reliable for me, now I remember why. I often got sound glitches. Here's my settings and two problematic tracks (play them in order), maybe someone can confirm... At the end of the fading of track one I get a rather loud and short noise from track 1 again. My Settings: Mode: Crossfade. Override with tag: off. Buffer 5645, CF length 4582, fade-out linear, length 3625, fade-in linear, length 435, all bottom checkboxes off. Hmm, the same if you only play track 2, in the end you also get a short peak... Files are here. Can you post more details: track length of both tracks, maybe the song titles or how they begin/end (loudness). What is your sound buffer size? (2000ms?) Can you try a larger one (e.g. 4000-5000ms) under Preferences/Playback/Output/Buffer Length I had similar problems with 2000ms sound buffer. Wiesl |
|
|
|
Jan 4 2008, 15:31
Post
#261
|
|
|
Group: Members Posts: 2340 Joined: 28-August 02 Member No.: 3218 |
I uploaded the files, did you see?
1: Duration : 0:48.373 (2133264 samples) 2: Duration : 0:42.609 (1879040 samples) Output buffer was 2000ms, problem remains also with 5000... |
|
|
|
Jan 4 2008, 20:03
Post
#262
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
I uploaded the files, did you see? 1: Duration : 0:48.373 (2133264 samples) 2: Duration : 0:42.609 (1879040 samples) Output buffer was 2000ms, problem remains also with 5000... Ok, I analyzed the situation, and the plugin works correctly. File1 has a "major loudness part" in the last 170ms (compared to the previous seconds) of the file and it is only gained by -35 to -45 dB. Since it is still very loud in the last 170ms you hear the "click". When you use the db Scale, it is already down, that you don't hear it. Wiesl |
|
|
|
Mar 2 2008, 21:47
Post
#263
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
Hello!
I updated foo_dsp_continuator to version 0.6.1 (from 0.5.0) with the following changes: =============================================== All Code is now distributed under the GPL license V2, Added GPL license Added autoenable feature as discussed above: 2. Toggle this plugin on/off from a titleformatting function (I know it's deprecated, but it makes some automation easier) 3. Automatic disabling on live-streams (it makes them stutter at the beginning) Fixed a lot of crashes. =============================================== Code changes: Refactored a lot of code smooth_vector on_endoftrack: Sizes must be unsigned when subtracted, validate .end() substraction Added debug code. Added correct virtual destructor. Refactored fill_buffer, apply_gain => ifs => MAX/MIN t_size_l => int where necessary (no functional change) -0.0 dB are now 0.0dB Updated Dialogs for autoenable feature. Reorderd IDs, Removed duplicate entries. Fixed warning (added type t_size_l, used t_size) and other type conversions. Fixed STL begin(), end(), copy(), iterator crashes. Fixed buggy string comparision: 3x e.g. pszFadeOutCurves[nCnt] != "" Removed MS XML Header Macro safe with brackets. Testcase 2 small files: click.wav, popup.wav Testcase: Fade in/fade out time: 10ms =============================================== You can download the new version under: http://www.wiesinger.com/opensource/foobar...continuator.dll Source Code can be found at: http://www.wiesinger.com/opensource/foobar...uator-0.6.1.zip You need the following DLLs (Microsoft Visual C++ 2005 Redistributable Package (x86)): http://www.microsoft.com/downloads/details...;displaylang=en I've tested it with foobar2000 0.9.5.1 without any problems. Please let me know whether you like the new features and whether it is stable or not. Wiesl |
|
|
|
Mar 2 2008, 23:41
Post
#264
|
|
|
Group: Members Posts: 640 Joined: 13-January 03 From: Marseille Member No.: 4552 |
i like autoenable feature , thank you!
but i have a problem: if continuator is later equalizer in dsp manager list, when crossfader isn't enable , with seamless album (for exemple the wall pink floyd) i can hear a click or sometimes a gap when track change. latest continuator foobar 0.5.1 vista foo_dsp_crossfader have the same problem -------------------- Music is my first love.
|
|
|
|
Mar 3 2008, 07:42
Post
#265
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
i like autoenable feature , thank you! but i have a problem: if continuator is later equalizer in dsp manager list, when crossfader isn't enable , with seamless album (for exemple the wall pink floyd) i can hear a click or sometimes a gap when track change. latest continuator foobar 0.5.1 vista foo_dsp_crossfader have the same problem Can you post your exact settings. BTW: Some documentation on the autoenable feature: You can use a string e.g.: $if($strcmp(%album%,'My Album name'),on) You can use all of the functions which are provided. When it is on it is used otherwise not. Wiesl This post has been edited by Wiesl: Mar 3 2008, 07:42 |
|
|
|
Mar 3 2008, 10:30
Post
#266
|
|
|
Group: Members Posts: 2340 Joined: 28-August 02 Member No.: 3218 |
Thanks for developing this plugin! Maybe it's better thinking about another approach which makes handling way easier: I'm sure the most common idea behind automatically switching track fading is when people use shuffling. In other words: The wish for auto-changing the fading will most likely be caused by a change in the playback order. "Forcing" users to use Tagz for controlling the plugins behaviour just increases code mess.
I wholeheartedly recommend you to use a more easy approach, the same as in foo_rg_trn: A properties page where the user can decide per playback mode/with a radio button. Pictures say more than thousand non native speakers words CODE Playback mode Continuator ON Continuator OFF
Default x Shuffle (Tracks) x Shuffle (Albums) x ... This post has been edited by Squeller: Mar 3 2008, 10:33 |
|
|
|
Mar 3 2008, 11:21
Post
#267
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
Thanks for developing this plugin! Maybe it's better thinking about another approach which makes handling way easier: I'm sure the most common idea behind automatically switching track fading is when people use shuffling. In other words: The wish for auto-changing the fading will most likely be caused by a change in the playback order. "Forcing" users to use Tagz for controlling the plugins behaviour just increases code mess. I wholeheartedly recommend you to use a more easy approach, the same as in foo_rg_trn: A properties page where the user can decide per playback mode/with a radio button. Pictures say more than thousand non native speakers words CODE Playback mode Continuator ON Continuator OFF Default x Shuffle (Tracks) x Shuffle (Albums) x ... But's that is possible with the existing scheme (of course not so comfortable but much more flexible). You have to "program" an expression with and, or and not when the playback mode is queried with the function. Maybe someone can help here. Wiesl |
|
|
|
Mar 3 2008, 14:24
Post
#268
|
|
|
Group: Members Posts: 640 Joined: 13-January 03 From: Marseille Member No.: 4552 |
$ifgreater(%cwb_queuelength%,0,,
$if($or($strcmp(%cwb_playback_order%,'Shuffle (tracks)'), $strcmp(%cwb_playback_order%,'Random')),$puts(crossfader,1),)) $if($strcmp(%cwb_next_user1%$num(%cwb_next_user2%,3), %album%$num($add(%tracknumber%,1),3)),,$puts(crossfader,1)) $ifgreater($get(crossfader),0,'on',) this expression active crossfader when random or shuffle track are selected playing mode and with not sequential album tracks (default playing mode and queued tracks) (use foo_cwb_hooks) i like autoenable feature , thank you! but i have a problem: if continuator is later equalizer in dsp manager list, when crossfader isn't enable , with seamless album (for exemple the wall pink floyd) i can hear a click or sometimes a gap when track change. latest continuator foobar 0.5.1 vista foo_dsp_crossfader have the same problem Can you post your exact settings. default setting for continuator, not a problem of config, same know problem with gapless crossfader. try with a gapless album -------------------- Music is my first love.
|
|
|
|
Mar 3 2008, 14:42
Post
#269
|
|
|
Group: Members Posts: 2340 Joined: 28-August 02 Member No.: 3218 |
CODE Playback mode Continuator ON Continuator OFF Default x Shuffle (Tracks) x Shuffle (Albums) x ... But's that is possible with the existing scheme (of course not so comfortable but much more flexible). You have to "program" an expression with and, or and not when the playback mode is queried with the function. I know it's possible, I already do this with Acropolis' plugin... My goal was about improvement of usability This post has been edited by Squeller: Mar 3 2008, 14:42 |
|
|
|
Mar 3 2008, 22:09
Post
#270
|
|
![]() Group: Members Posts: 70 Joined: 3-October 03 From: Harrisburg, PA Member No.: 9130 |
Thanks for the update! I've tested it in "Overlap" mode with the "Blackfield" album (which has a mix of fade-outs and seamless transitions) and it's working great.
-------------------- Alex Harden * http://alexharden.org
|
|
|
|
Mar 5 2008, 01:25
Post
#271
|
|
![]() Group: Members Posts: 374 Joined: 20-June 05 Member No.: 22863 |
So is it possible through any settings to use this plugin simply as a means to get rid of gaps, and not crossfading/overlapping?
Even with the fade-in curve down to 10ms, it still causes overlapping between some tracks. I'd rather just have the plugin remove gaps from tracks. -------------------- http://www.last.fm/user/magnumforce2006
|
|
|
|
Mar 5 2008, 06:49
Post
#272
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
So is it possible through any settings to use this plugin simply as a means to get rid of gaps, and not crossfading/overlapping? Even with the fade-in curve down to 10ms, it still causes overlapping between some tracks. I'd rather just have the plugin remove gaps from tracks. I use: Overlap Buffer Length: 5008 Threshold: 40.4 (or 100) Fade out curve: const db/s Fade out length: 10 Fade target: 0 Fade in curve: const db/s Fade in length: 10 Fade start: 0 Nothing checked except Power. The maximum overlapping might be 10+10ms=20ms which should be acceptable. Try it and let me know whether it works for you or not. Wiesl |
|
|
|
Mar 5 2008, 07:33
Post
#273
|
|
![]() Group: Members Posts: 374 Joined: 20-June 05 Member No.: 22863 |
So is it possible through any settings to use this plugin simply as a means to get rid of gaps, and not crossfading/overlapping? Even with the fade-in curve down to 10ms, it still causes overlapping between some tracks. I'd rather just have the plugin remove gaps from tracks. I use: Overlap Buffer Length: 5008 Threshold: 40.4 (or 100) Fade out curve: const db/s Fade out length: 10 Fade target: 0 Fade in curve: const db/s Fade in length: 10 Fade start: 0 Nothing checked except Power. The maximum overlapping might be 10+10ms=20ms which should be acceptable. Try it and let me know whether it works for you or not. Wiesl Will report back after some good usage with these settings, thanks. -------------------- http://www.last.fm/user/magnumforce2006
|
|
|
|
Mar 26 2008, 07:24
Post
#274
|
|
|
Group: Members Posts: 48 Joined: 2-July 07 Member No.: 44937 |
OK, I wrote a small checklist and HOWTO:
1.) Check if you are using the lastest version from: http://www.wiesinger.com/opensource/foobar...sp_continuator/ and have a look at the installation docs at http://www.hydrogenaudio.org/forums/index....mp;#entry550561 2.) Check if you added the plugin in the DSP Manager in the correct order . e.g. http://www.wiesinger.com/opensource/foobar...dsp_manager.gif 3.) For crossfade use e.g. this settings: http://www.wiesinger.com/opensource/foobar...r_crossfade.gif 4.) For overlap use e.g. this settings: http://www.wiesinger.com/opensource/foobar...der_overlap.gif Hope it helps. Please let me know if you still have problems. Wiesl |
|
|
|
Mar 26 2008, 10:09
Post
#275
|
|
![]() Group: FB2K Moderator (Donating) Posts: 4219 Joined: 24-February 03 Member No.: 5153 |
I updated foo_dsp_continuator to version 0.6.1 (from 0.5.0) with the following changes: =============================================== All Code is now distributed under the GPL license V2, Added GPL license I've just seen this now, so sorry for bringing it up so late:
-------------------- http://foosion.foobar2000.org/ - my components for foobar2000
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 20th May 2013 - 17:13 |