Skip to main content
Topic: foo_dsp_effect (Read 138021 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_dsp_effect

Reply #325
Would it be possible to add the feature where you can simply type in the values instead of using only the slider?


Re: foo_dsp_effect

Reply #327
For starters, would have been nice if it was in the right thread. Otherwise I would have written it off, like I was pondering yesterday. Main thing to keep in mind is that I developed the component originally for myself, if anyone else likes it, to me that's just a bonus, hence why I don't follow feature requests that often (if at all) unless they appeal to me somehow.

As for the request itself. resizing would be fun, if I worked out how DeferWindowsPos() worked to begin with that doesn't interfere with drawing. (got it somewhat working, but then window drawing would mess up for some reason).

Edit boxes for all values in sliders sounds somewhat reasonable to do, just need to find the motivation/willpower to do it for every single UI in the component.

Re: foo_dsp_effect

Reply #328
Mudlord, you can start with just separating Pitch Shift, Tempo Shift and Playback Rate Shift into different UI elements, not resizable ones. You can check in earlier discussion that I already suggested it and it was received as doable and rational proposition.
Then they could be all made lower - current universal height is too big for some of the effects (single slider ones). I opt for as low UI elements as possible. Some specific effect, which has biggest amount of sliders (thus biggest height) can be used as reference, and then all single-slider ones can be uniformly set to be 1/3, 1/4, 1/5 or even 1/6 of that reference (depending on the absolute value of reference height itself).
Resizing can be added (if at all) later when you will have enough time, motivation, wish to make experiments, whatever else.

Re: foo_dsp_effect

Reply #329
Agreed, making more efficient space use to make the elements smaller is doable,

 

Re: foo_dsp_effect

Reply #330
Would it be possible to add the feature where you can simply type in the values instead of using only the slider?
+1 this, no combination of clicks and mouse scrolls seem able to get tempo to exact values like 10, 15, 25, etc, which can have a slight effect on transients.

Re: foo_dsp_effect

Reply #331
no combination of clicks and mouse scrolls seem able to get tempo to exact values like 10, 15, 25, etc, which can have a slight effect on transients.
You can use arrows keys on keyboard.

Re: foo_dsp_effect

Reply #332
So you people want something like:



Note that the pitch and tempo controls are separate UI elements.

?

Re: foo_dsp_effect

Reply #333
Being able to type in the numbers looks great.  I think the splitting of the UI elements is on the right track as well; I'm specifically interested in the playback rate section (I don't see it in the image), and assuming that I can display the playback rate section by itself, then I think what you have looks good!

Re: foo_dsp_effect

Reply #334
Should be public now. To validate entries, use the enter key.

Re: foo_dsp_effect

Reply #335
Mudlord, kindly thank you for all your great work. This is my favorite 3rd party plugin.
I will check it and test new features right after coming back home from job!

Re: foo_dsp_effect

Reply #336
The pitch/tempo/rate stuff should be fixed for size now.

The other stuff I need to work out. I got some final DSPs I want to add before I consider foo_dsp_effect feature complete and then after that is bugfixes.

Re: foo_dsp_effect

Reply #337
This new version is great, but there is one peculiarity I noticed.  With the playback rate section, if I exit foobar with the playback rate section enabled (and, say, for example, the playback rate at -10%), then whenever I open foobar again, the playback rate will say 0% and the "enabled" checkbox will be turned off.  Despite what the GUI displays, however, the playback rate of the audio remains at -10%.  As soon as I click "enabled" again, then it immediately jumps back to 0%.

Basically, the actual playback rate remains the same, but the GUI doesn't display it correctly after closing and opening foobar.

Re: foo_dsp_effect

Reply #338
Thanks, it was a GUID typo. Fixed in newest hotfix.

Re: foo_dsp_effect

Reply #339
Perfect, thank you very much!

Re: foo_dsp_effect

Reply #340
I have two questions about equalizer. Is it possible to add one or two bands below 55 Hz? Can eq preserve settings while it is disabled and it's windows is closed? Now it resets all bands.

Re: foo_dsp_effect

Reply #341
the iir might also have the GUID bug, thanks for reminding me to double check everything.

As for the EQ, I'm not in the mood to implement another graphic EQ. I thought xnor already did a decent EQ.

EDIT: double checked the IIR filter, works fine here. Not sure what you mean. You might be getting confused with another component.

Re: foo_dsp_effect

Reply #342
xnors eq is very nice. The only thing it lacks for me is to temporarily disable/bypass it. Maybe I should ask him then.

Re: foo_dsp_effect

Reply #343
Problem with Xnor's EQ is lack f UI element...

I have a small and definitely doable request - could it be possible to add small "Reset" buttons at least to PRS/TMP/Pitch GUI elements? Purpose is obvious - to quickly reset value to "zero" without typing and pressing enter or moving sliders. See image below for "advanced visualization" ;)


Also something that I am not sure if is doable but I will ask... There are some files in my library that trigger Playback Rate Shift thanks to Dynamic DSP, based on some tags. Is it technically possible to read the value that was applied via Dynamic DSP triggered chain and enter it to PRS box when track is played from playlist?
There is alternative - auto triggering certain effects based on adding built-in support for reading tags "like DSP_CHAIN", and parsing possible multivalues like "PRS=+6; TEMPO=-3; ECHO=2000,75,55; REVERB=50,60,70,65,75". In this case it would be definitely easier to feed these values to GUI elements.


Re: foo_dsp_effect

Reply #344
Bugs:
- extreme Tempo values (like sudden move of slider to -95%, even from previously set -40%, not just "zero") hangs foobar entirely
- sometimes entering manually "zero" into Tempo GUI element and pressing enter does not change anything. Zero is displayed, slider resets, but sound is still changed. Moving away from Tempo'sGUI element and going for example to Pitch, causes that slider of Tempo again shows position adequate to the sound that is changed. Going back to Tempo and accepting "zero" with enter mostly solves the issue.
Used algorithm: RubberBand.

Re: foo_dsp_effect

Reply #345
Can you pm me the file which it crashes on? Last time I checked the crashing it works for me after some fixes. It sounds like another buffer problem.

EDIT: It was a buffer problem, working on it, will need to do more tests to make sure it works,

Re: foo_dsp_effect

Reply #346
I also noticed that sometimes manually entering zero wouldn't always work for the playback rate.  Since it only happens occasionally, I'm not sure what I'm doing that causes it though.

Re: foo_dsp_effect

Reply #347
That's why I proposed "Reset" buttons :)

Re: foo_dsp_effect

Reply #348
I did some looking into the issues with extreme ratios. Seems to be a issue out of my control. It really doesn't seem to like reallocating such large buffers at extreme rates. I'm pondering limiting to around 75% each way, since that seems to be the limit which internally it doesn't break.

Or my sample interleave/deinterleave loops are too much a bottleneck. Could use SSE but then theres a lot of messing around.

Reset buttons should be easy enough to add.

Re: foo_dsp_effect

Reply #349
Hi mudlord. A potentially big ask, but since you've already got a Playback Rate Shift DSP; could you possibly implement a DSP that allows playing a track at an arbitrary rate specified in Hz? Often times in video games you'll find resources with an unknown sample rate, and it tends to be a common sample rate like 11025, 22050, 24000, etc.

 
SimplePortal 1.0.0 RC1 © 2008-2018