Welcome Guest ( Log In | Register )

Release: Dynamic DSP: gives custom effect chains for individual tracks, [was “dynamic dsp”]
post Jul 18 2012, 16:17
Post #1

Group: Members
Posts: 72
Joined: 19-December 03
Member No.: 10558

I made this DSP and have been using it for months now to my satisfaction. So, first off thanks to those who helped me figure some things out: mudlord, foosion, Yegor, and Zao, and others who made SDK, Documentation, and samples. By no means does their help imply that they like my plugin or much less endorse it!

It is a DSP which is designed to switch effects based on the track being played.

Sorry, documentation is not going to be great. But basically:
1)add the dynamicDSP to your DSP chain. It can be in among other DSPs, or even have multiple instances of itself in a chain but the way I use it is have a single instance of it as the sole DSP at the top level.
2)select and click configure to bring up the configuration window.
3)Enter a titleformat script in the large textbox at the top of the configure window, or use the one provided. The script you enter should evaluate to a single word, which is the name of the DSP Chain you want to use for that track. The titleformat will be run on each track as it is about to be played and provide the switching of chains. It's OK if this script evaluates to a Chain name which does not exist or blank, in which case no DSP will be applied to that track.
4)enter a DSP chain name in the little textbox to the left of the "Add Chain" button then click that button. The name will appear in the listbox just above.
5) doubleclick the chain name in the list box to bring up the configuration window for this Named chain. It is the stock DSP config window, you should be familiar with how to use it. Add DSPs and configure them, then click ok.
6)repeat steps 4-5 as many times as desired
7)click OK
8)click apply/ok

That's it. If you use the stock titleformat script, you can just add a custom tag to any track called "TRACKDSP" with the value of the Named Chain you want to use. When that track is played that chain will activate.

Other people may prefer to evaluate to a chain based on Genre tags or some other scheme which uses tags which already commonly exist in their tracks. I do not provide any titleformat scripts and it's not a strong area of mine. Feel free to create and share scripts which you like on this thread. (That is, if anybody likes this component besides me)

Known Issues / Limitations
This component is sensitive to track changes but has gone to some lengths to avoid using the needstrackchangemark thingy which breaks gapless playback. To the best of my ability to theorize or detect, gapless playback remains perfect IF the track currently playing and the track that is to follow evaluates to the same chain, or to no chain at all.
BUT, if they evaluate to different chains there is in my tests the tiniest audible dropout between the tracks as the old chain empties and the new chain takes its place. I don't know how to avoid this so I don't intend to fix it.
A corollary to my decision to avoid needing the needstrackchangemark thingy is that I cannot guarantee that 100% of the samples of a track go through their intended chain. Some may go through the previous chain so once again this is only an issue if the chain changes. It was beyond my ability to detect this though.
But the final warning is that if you create a titleformat script which takes too long to evaluate then you could break gapless playback even if the chains do not change. I have not tested the threshold on this nor do I have any recommendations to offer except to try it and see. Using the titleformat I provide default, I could detect no flaw in gapless playback on Pink Floyd Dark side of the moon or a white noise sample I made copies of and played back to back.

I make no restrictions on what you can do with the the source code or component.

None. Use at your own risk. I may consider fixing a bug or two if you find them but I don't spend much time here so if you find something bring it forward fast because I will probably stop visiting this thread regularly in a week or two.


A release build is provided in the download above but if you want to build from source, note that you need to download the boost libraries, specifically releated to boost::bind, and you must add a new include directory to your VC setup.

You also need WTL but I think that's common for foobar components.

This post has been edited by db1989: Apr 3 2014, 22:46
Reason for edit: updating links as per request in post #25
Go to the top of the page
+Quote Post
Start new topic
post May 2 2013, 08:50
Post #2

Group: Members
Posts: 16
Joined: 24-July 10
Member No.: 82498

EpicForever, see post #3
QUOTE (romor @ Aug 16 2012, 20:42) *
Something I didn't find intuitive - if I define some chains inside Dynamic DSP, they will be reset if component is removed from foobar DSP chain. Solution - after defining chain(s) inside Dynamic DSP, save it as foobar DSP chain preset.

and many thanks to popatr for this component which didn't hope anymore
Go to the top of the page
+Quote Post

Posts in this topic
- popatr   Release: Dynamic DSP: gives custom effect chains for individual tracks   Jul 18 2012, 16:17
- - NullString   Thanks!! I'll give it a spin   Jul 18 2012, 18:06
- - romor   Thanks for making this component I needed it to c...   Aug 16 2012, 20:42
- - romor   I noticed an issue however with VST component, it...   Aug 16 2012, 22:46
|- - popatr   QUOTE (romor @ Aug 16 2012, 14:46) I noti...   Aug 20 2012, 21:18
- - EpicForever   works great gives some possibilities missing in c...   Mar 1 2013, 22:55
- - WilB   Since my media files are already replay gained, I ...   Mar 2 2013, 00:38
- - Dynamic   I took the liberty of making WilB's version wo...   Mar 4 2013, 19:45
- - Dynamic   I made a mistake. In the previous post, it was the...   Mar 6 2013, 03:37
- - Dynamic   kode54 made a good point about the use of Dynamic ...   Mar 7 2013, 11:34
- - EpicForever   I got small problem with this plugin. I had to rei...   Apr 8 2013, 20:29
- - popatr   I'm gratified to find that some people are fin...   Apr 25 2013, 21:44
|- - pablof   QUOTE (popatr @ Apr 25 2013, 22:44) I...   Sep 28 2013, 17:11
- - EpicForever   QUOTE (popatr @ Apr 25 2013, 21:44) (...)...   Apr 27 2013, 14:31
- - EpicForever   I found that even changing DSP chain causes that d...   May 1 2013, 21:45
- - Gnx   EpicForever, see post #3 QUOTE (romor @ Aug 1...   May 2 2013, 08:50
- - Denma Panter   I added [Downmix channels to stereo] and [Convert ...   Jun 14 2013, 00:04
- - bdport67   Need some assistance for a basic script for Dynami...   Jan 22 2014, 20:45
|- - Rollin   QUOTE (bdport67 @ Jan 22 2014, 23:45) I j...   Jan 23 2014, 14:33
- - BenB   You shouldn't need a script. Just add a TRACKD...   Jan 22 2014, 22:46
- - d125q   Why suggest an additional tag? Just use $if(...   Jan 22 2014, 23:34
- - BenB   Because it's the default and bdport67 doesn...   Jan 23 2014, 02:15
- - bdport67   Thanks guys for the responses. I will try to get t...   Jan 23 2014, 16:38
- - WilB   I have just noticed this issue ( http://www.hydrog...   Mar 23 2014, 19:54
|- - popatr   QUOTE (WilB @ Mar 23 2014, 11:54) I have ...   Apr 3 2014, 22:25
- - WilB   Thanks for doing this so promptly.   Apr 3 2014, 22:42
- - popatr   ps, in the past I have looked into why the compone...   Apr 4 2014, 16:33
- - EpicForever   After using this plugin for some time I need to as...   May 1 2014, 20:21
|- - popatr   QUOTE (EpicForever @ May 1 2014, 12:21) A...   May 2 2014, 21:25
- - EpicForever   Excellent answer !! Thank you !! ...   May 3 2014, 09:33
- - wiregrind   I've been using this plugin a lot, it's gr...   Feb 26 2015, 18:24
|- - popatr   QUOTE (wiregrind @ Feb 26 2015, 10:24) I...   Mar 3 2015, 17:18
|- - popatr   if you want to use trackdsp tag if present but fal...   Mar 3 2015, 18:27
- - Mario66   Hi, I really like this component and I use it for...   Apr 12 2015, 16:31
- - eahm   Mario66, first of all thank you for the component,...   May 8 2015, 18:31
- - Mario66   You are right. "Dynamic DSP Mod" would h...   May 9 2015, 13:10

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


RSS Lo-Fi Version Time is now: 30th May 2015 - 06:59