IPB

Welcome Guest ( Log In | Register )

17 Pages V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
foo_vst: VST 2.4 adapter, Multi-instance, multichannel, and seamless; Now back in development
Yegor
post Nov 19 2010, 20:37
Post #51





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



I've misunderstood you. Yes, that should be possible. The obvious problem is that such a visualization will only work with already-processed data.

But I think there is a better solution for analyzer-only VSTs. I can make my dsp service to pass data to actual analyzer VST with a delay that is equal to the output buffer size. Delay would be introduced for VST only, not for the whole processing chain. Here is the only problem is to obtain the output buffer size. Is it possible?
Go to the top of the page
+Quote Post
mudlord
post Nov 20 2010, 12:26
Post #52





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



QUOTE (Canar @ Nov 19 2010, 13:09) *
I'm not entirely sure what you mean by "time-coded", but information is given about timing, and pure PCM should be available in the vis subsystem. I'm pretty confident it'll work, based on conversations I've had with Peter. However, I know nothing about the specifics of that subsystem. I'm trying to recruit one of the devs who actually knows something to provide a bit more context.


From what I seen in the SDK, it is the case. You can retrieve sample timing along with the pure PCM data. Information is giving regarding sample timing, for A/V sync.

QUOTE
I can make my dsp service to pass data to actual analyzer VST with a delay that is equal to the output buffer size. Delay would be introduced for VST only, not for the whole processing chain.


So, something circular buffer related.

This post has been edited by mudlord: Nov 20 2010, 12:28
Go to the top of the page
+Quote Post
SevenTwo
post Nov 22 2010, 00:46
Post #53





Group: Members
Posts: 4
Joined: 2-July 10
Member No.: 81989



QUOTE (noiselab @ Nov 18 2010, 20:27) *
Will there be support for 64-bit VSTs?

I think noiselab means support for x86 VST plugins with 64-bit datapath (double instead float).
Not 64-bit code plugins compiled for x86_64 ...

This post has been edited by SevenTwo: Nov 22 2010, 00:58
Go to the top of the page
+Quote Post
Yegor
post Nov 22 2010, 07:28
Post #54





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



That's pointless. Foobar's DSP chain bit depth is 32 fp and it's sufficient for listening. And I haven't seen any VSTs which only capable of processing with double precision and lack usual single precision mode.

It won't be difficult but I don't see the point. Of course I will introduce double precision support if you tell me why it's necessary.

This post has been edited by Entrase: Nov 22 2010, 07:34
Go to the top of the page
+Quote Post
Marsu42
post Nov 22 2010, 22:44
Post #55





Group: Members
Posts: 19
Joined: 2-July 09
Member No.: 71157



I just tried it and it is very nice to have the ability to use multiple vst plugins at the same time.

However, in comparison to the original vst wrapper the configuration is rather tiresome: as I understand it, whenever one wants to change something, a file->preferences->dsp manager->(plugin)->configure selected is in order? The drawback with this approach is that now the "Preferences: DSP Manager" window clutters the foobar window below and cannot be closed. Furthermore, the vst plugin window cannot be minimized or put below the foobar window (all that was possible with the original vst wrapper). This means that while changing vst settings, the rest of foobar is next to unusable.

Maybe you could implement direct menu shortcuts to the configurations (like View->VST Wrapper->(vst plugin)) ? This would at least remove the locked preferences window while changing settings or using a visual vst plugin.
Go to the top of the page
+Quote Post
thuan
post Nov 23 2010, 03:38
Post #56





Group: Members
Posts: 964
Joined: 10-June 06
Member No.: 31716



QUOTE (Entrase @ Nov 22 2010, 13:28) *
That's pointless. Foobar's DSP chain bit depth is 32 fp and it's sufficient for listening. And I haven't seen any VSTs which only capable of processing with double precision and lack usual single precision mode.

It won't be difficult but I don't see the point. Of course I will introduce double precision support if you tell me why it's necessary.

It's not entirely pointless, IMO. Higher bitdepth processing will lower SNR for the particular opertation, and for processing VST that is a plus. However, for playback I doubt one can discern the difference, so not really useful is more correct. IOW, I see some points to it, but find the implementation cost is not worth the results return.
Go to the top of the page
+Quote Post
Yegor
post Nov 23 2010, 05:58
Post #57





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



QUOTE
Maybe you could implement direct menu shortcuts to the configurations (like View->VST Wrapper->(vst plugin)) ?
QUOTE
  • Multichannel setup arrangement differences aren't taken into account, nor is VST pin activity status
  • No support for plugins without GUI yet
  • Configuration windows only work in modal mode
  • z3ta_fx and IXL analyzers crashes the application

All of these are to be fixed soon.


QUOTE
Higher bitdepth processing will lower SNR for the particular opertation
Not in this case, because there is no 64 bit chain in Foobar. One just have to decrease bit depth after increasing it anyway. Hence we get (source → N× [32 → 64 → VST single → 64 → 32] → output) in every active DSP, at every stage. It would only have meaning if there had been pure 64 bit chain in Foobar so we could do it like this: (source → N × [64 → VST double → 64] → output).
Go to the top of the page
+Quote Post
thuan
post Nov 23 2010, 06:33
Post #58





Group: Members
Posts: 964
Joined: 10-June 06
Member No.: 31716



QUOTE (thuan @ Nov 23 2010, 09:38) *
Higher bitdepth processing will lower SNR for the particular opertation


Emphasize the bold part. I think you meant "source → N× [32 → 64 → VST double → 64 → 32] → output". The "VST double part" will get some benefit here, unless every VST is already using another internal bitdepth (e.g. using double precision regardless of external bitdepth). And say if you have multiple VST stacked consecutively together, it should be better if it can be done like this "source → 32 → 64 → N× [VST double] → 64 → 32 → output". Still I don't think the benefits are worthy of being implemented, I just wanna argue some scientific stuffs about whether this is entirely pointless.
Go to the top of the page
+Quote Post
Yegor
post Nov 23 2010, 06:41
Post #59





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



QUOTE
it should be better if it can be done like this "source → 32 → 64 → N× [VST double] → 64 → 32 → output"
Well, it can't be done in Foobar's DSP chain. There is no 64 bit datapath between DSPs in Foobar. It's not entirely pointless generally for sure. But in this particular case, as you said, barely it's worth implementing either at particular stage or in groups using some dirty trickes with storing doubles as two floats %)

This post has been edited by Entrase: Nov 23 2010, 06:44
Go to the top of the page
+Quote Post
klonuo
post Nov 23 2010, 14:46
Post #60





Group: Members
Posts: 258
Joined: 29-April 10
Member No.: 80274



QUOTE (Entrase @ Nov 13 2010, 22:07) *
  • Multichannel setup arrangement differences aren't taken into account, nor is VST pin activity status

To sustain that theory, I did some simple testing for multichannel VSTs not knowing your OP screenshot multichannel VSTs



- Bidule 32 in -> 32 out, running inside 4 channel VST (it doesn't really matter if anything is running inside biggrin.gif ), but your component I guess tries to output 32 channel and foobar can't handle it


- stand-alone any solid rock Voxendo VST (which can be up to 8-channel as it depends what you feed in it), but it seems like it doesn't matter again as your component is routing max available:


- if for some misfortune one tries to feed multichannel VST in EffectChainer (which has two channels) terrible crash happens (I had to mail VST author who replied it's pure foobar internal fault)

away from multi channel:
- it asks to restart foobar on VST removal - that is really unnecessary

As for Voxengo and Plogue Bidule examples, I believe it's open mind authors will assist you if you run in trouble

I suspect you are working hard right now, and I guess I feed you over your liking but also hope it's good time to post such things, plus it's great to be active member in active VST component development, you know? I have high hopes smile.gif

[edit] changed 16 to 32 to match screenshot, as there are three bidule VSTs - standard, 16 ch and 32ch

This post has been edited by klonuo: Nov 23 2010, 15:38
Go to the top of the page
+Quote Post
pjofoobar
post Nov 23 2010, 14:54
Post #61





Group: Members
Posts: 6
Joined: 23-November 10
Member No.: 85944



Hi Entrase, your VST plug in is great !
It loaded almost all plug ins except iZOzone4.dll although iZotope Ozon4.dll works fine.

I am wondering if you plan to release new version after 2011/Jan/01.

It would be nice to be able to display multiple windows of multiple plug ins.

All the Best

pjofoobar

Go to the top of the page
+Quote Post
Yegor
post Nov 23 2010, 19:05
Post #62





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



Yes, klonuo, I'm going to work on multichannel processing support soon smile.gif

QUOTE
- it asks to restart foobar on VST removal - that is really unnecessary

Then restart on adding isn't necessary as well, is it? And restart on installation of new component unnecessary too, right? Wait, it sounds like restarts shouldn't be done at all. Something is wrong here. Let's don't confuse users and let's prevent them from using removed VSTs by restarting. If user doesn't plan to restart after removal, then they shouldn't remove. That's the ideology of Foobar's component and service system as far as I understand it. This is my way of thinking. I may be wrong. Unfortunately, there is no way to add or remove DSP services in runtime.

QUOTE
It loaded almost all plug ins except iZOzone4.dll although iZotope Ozon4.dll works fine.

I don't remember if previous version checks DLLs but the current one (not published yet though) explains this case clearly:

iZOzone4.dll isn't VST at all. This is a shared dll which is used by both VST and RTAS wrappers.

QUOTE
It would be nice to be able to display multiple windows of multiple plug ins.
This is what I'm currently working on. And you know, it's quite difficult to get done because of foobar's decoupling of DSP UI and processing stuff. As I said before VST and Foobar approaches to instantiation and configuration are very different.

By the way, the VST manager is more tidy now:

And it's not only about UI. Many internals have been changed to be more stable. Strict DLL checking is added.

Thank you guys. Working hard.

This post has been edited by Entrase: Nov 23 2010, 19:44
Go to the top of the page
+Quote Post
Yegor
post Nov 25 2010, 16:39
Post #63





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779





Coming soon... :)
Go to the top of the page
+Quote Post
thuan
post Nov 25 2010, 16:52
Post #64





Group: Members
Posts: 964
Joined: 10-June 06
Member No.: 31716



What about no reload track switch, I'm waiting for this biggrin.gif.
Go to the top of the page
+Quote Post
klonuo
post Nov 25 2010, 19:23
Post #65





Group: Members
Posts: 258
Joined: 29-April 10
Member No.: 80274



@Entrase: maybe you should leave routing as is, because if i.e. I pass 6ch (5.1) stream and disable LFE then assuming you do the routing by pin activity Ls will be routed to LFE and Rs to Ls, while Rs will be muted. OTOH making some pin matrix setting could be overkill, and most importantly there is easy solution to all this. Add matrix mixer after multichannel VST and let user do the routing himself smile.gif



My problem here is that it doesn't work with Plogue Bidule. As matrix mixer can process up to 18ch I thought using 16ch Bidule, but same error "Invalid audio stream specifications" appears, although I added matrix mixer and reduce it to 4ch. I have many nice processors (bidule layouts) made and would be happy to use them inside foobar. They are mainly upmixers. So if you can, please look at this issue. Plogue Bidule isn't free but you can run with full capacity for month or so without any annoying popups or similar nonsense.

Look at another example: Spatial Imager 2ch VST which I try to use on rear channels in quad:



- channel mixer 4 channel simple upmix
- matrix mixer re-routing fronts with sides
- now sides arrive at SI-1 VST, but as it's 2ch VST, DSP manager doesn't pass rears (which are actually fronts) but only 2ch
- at second matrix mixer which is same as first one (re-routing to desired channel position) outputs Ls and Rs biggrin.gif
* that's why hosts like Bidule can be very handy (not mentioning it's real powers inside)
Go to the top of the page
+Quote Post
Yegor
post Nov 25 2010, 20:20
Post #66





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



QUOTE
What about no reload track switch, I'm waiting for this
Yes, sure. As soon as current UI mess is done.

QUOTE
maybe you should leave routing as is
Even more! It looks like I'll have to leave it as is since I can't find any VST capable of reporting its output pin activity (though I haven't tested many). Even Bidule doesn't report it. So I don't know what to do with this problem. As for channel configuration, it would not be a problem in the ideal case because along with activity status there should be speaker info as well. But in fact, there is no data at all, quite often.
QUOTE
Plogue Bidule isn't free but you can run with full capacity for month or so without any annoying popups or similar nonsense.
Its VST wrapper is for registered users only :( I had to ask my friend to help me. I'll ask you next time instead, you'll be more responsive I guess :)

I think it won't be difficult for me to make some channel cutting DSP. Just a dialog box with a slider to set maximum number of channels. May be I'll make it inside of this component.

This post has been edited by Entrase: Nov 25 2010, 20:23
Go to the top of the page
+Quote Post
Yegor
post Nov 27 2010, 20:18
Post #67





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



Update
Please re-download the archive.

Now you can use multiple DSP config windows with View → DSP menu. That's an experimantal feature and it has some bugs, but it'll take time to fix, so let's leave them till the next release.
You can limit number of outputs to be taken from VST. Default setting is 6 channels (Preferences → Advanced → Playback → “Limit number of outputs for VST effects”). 16 and 32 channel Bidules should work now.
VST manager internals were reworked and I had to change registry values format. Please run this clean_vsts.reg file to remove old entries as they will crash application.

Finally marked as beta now.

This post has been edited by Entrase: Nov 27 2010, 20:19
Go to the top of the page
+Quote Post
Sandrine
post Nov 27 2010, 20:43
Post #68





Group: Members
Posts: 319
Joined: 2-July 10
Member No.: 81991



Please update the first post with changes instead and include the reg file and instructions with the main archive since it looks like it might be needed for every update. Thank you!
Go to the top of the page
+Quote Post
Yegor
post Nov 27 2010, 21:03
Post #69





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



QUOTE (Sandrine @ Nov 28 2010, 00:43) *
Please update the first post with changes instead and include the reg file and instructions with the main archive since it looks like it might be needed for every update. Thank you!
I can't.



Should I always provide moderator with updated texts and ask them to update or what? How is it established here?

This post has been edited by Entrase: Nov 27 2010, 21:06
Go to the top of the page
+Quote Post
Sandrine
post Nov 27 2010, 21:51
Post #70





Group: Members
Posts: 319
Joined: 2-July 10
Member No.: 81991



QUOTE (Entrase @ Nov 27 2010, 22:03) *
QUOTE (Sandrine @ Nov 28 2010, 00:43) *
Please update the first post with changes instead and include the reg file and instructions with the main archive since it looks like it might be needed for every update. Thank you!
I can't.


That's weird... how is everybody else doing that? Maybe the release forum has different permissions.
Go to the top of the page
+Quote Post
klonuo
post Nov 27 2010, 22:23
Post #71





Group: Members
Posts: 258
Joined: 29-April 10
Member No.: 80274



QUOTE (Entrase @ Nov 27 2010, 20:18) *
16 and 32 channel Bidules should work now.

Thanks Entrase smile.gif
Having foobar environment with multichannel Bidule processing feels like advanced possibilities can now easily be adopted to any file:



Made my day happy wink.gif

QUOTE (Entrase @ Nov 27 2010, 21:03) *
I can't.


Regular members can edit their posts for 1h from the time they first publish it. You should contact some Mod and ask for promotion I think and become Developer, so that you can edit your own posts after this 1h limit. There is sticky thread in Site Related Discussion forum about this
Go to the top of the page
+Quote Post
klonuo
post Nov 28 2010, 03:49
Post #72





Group: Members
Posts: 258
Joined: 29-April 10
Member No.: 80274



@Entrase: Try to load same VST twice (in VST listing)

This post has been edited by klonuo: Nov 28 2010, 04:20
Go to the top of the page
+Quote Post
Yegor
post Nov 28 2010, 06:29
Post #73





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



Yes, I know. Don't do this. It won't be easy to fix and I don't have much time these days. I'm sorry I posted such a bugged version, but hey, it's almost usable ;)

Actually, Foobar doesn't allow multiple config windows to be opened. Since these windows are modal dialogs, there can only be one in a thread. At the same time there should only be one thread—the rule I have to break. There is also no way to control window position without some kind of dirty trick. You know, I'm not sure if I should keep this feature. May be I should cut it so it will only support VST. At least config dialogs are under my control in this case.

This post has been edited by Entrase: Nov 28 2010, 06:42
Go to the top of the page
+Quote Post
foosion
post Nov 28 2010, 12:27
Post #74





Group: FB2K Moderator (Donating)
Posts: 4336
Joined: 24-February 03
Member No.: 5153



QUOTE (Entrase @ Nov 28 2010, 06:29) *
Actually, Foobar doesn't allow multiple config windows to be opened. Since these windows are modal dialogs, there can only be one in a thread. At the same time there should only be one thread—the rule I have to break.
Just to clarify: The restriction about modal windows is not imposed by foobar2000, it is inherent in Win32 programming. Raymond Chen has written several times about this issue in his blog.

Nothing stops you from having multiple threads with windows. You "just" have to make sure to properly synchronize communication between different threads and to respect the thread-related restrictions on certain APIs.




--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
Yegor
post Nov 28 2010, 13:11
Post #75





Group: Developer
Posts: 251
Joined: 8-April 09
From: Russia, Zlatoust
Member No.: 68779



I know. But the problem is a little bit deeper. Try to call dsp_entry::g_show_config_popup_v2 for equalizer out of main thread. It outputs “This function can be called only from main thread” to debugger (it does work however). Assuming that it's a blocking function (due to modal dialogs) and there is one main thread, there can be only one such window. If called using main thread callback, this function freezes something and prevents keyboard shortcuts from being used.

This post has been edited by Entrase: Nov 28 2010, 13:24
Go to the top of the page
+Quote Post

17 Pages V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st April 2014 - 06:38