Delphi ASIO & VST sourceforge project

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

duncanparsons wrote:...not an error in FL or in eXT. It's just the way they are coded...

The events that arrive are synced to the beginning of the process/replacing buffers, so the deltaframe is always zero. If you get loads of messages one sample apart, you'll get alot of calls to process/replacing only one sample in length. This way they can provide sample accurate automation for both MIDI and VST.

If you set the 'fixed buffers' switch, you'll probably find you get deltaframes values>0 :)

You need to be ready in your processing for highly variable length buffers ;)

DSP
Ahhh.. makes sense really! I'll try it out as soon as I get time.
FLS using this method isnt a bad thing, just a bit confusing until you understand why.

Now I can code so it will work both ways (with/without delta) atleast :)
Image

Post

TRN76 wrote:
duncanparsons wrote:...not an error in FL or in eXT. It's just the way they are coded...

The events that arrive are synced to the beginning of the process/replacing buffers, so the deltaframe is always zero. If you get loads of messages one sample apart, you'll get alot of calls to process/replacing only one sample in length. This way they can provide sample accurate automation for both MIDI and VST.

If you set the 'fixed buffers' switch, you'll probably find you get deltaframes values>0 :)

You need to be ready in your processing for highly variable length buffers ;)

DSP
Ahhh.. makes sense really! I'll try it out as soon as I get time.
FLS using this method isnt a bad thing, just a bit confusing until you understand why.

Now I can code so it will work both ways (with/without delta) atleast :)
About 18 months ago there was a thread about this problem, see Is there any VST host that doesn't quantize live MIDI ?
I don't know about FL, but in energyXT is definitely is wrong, the DeltaFrames read from the input MUST be maintained through the chain, it is definitely audible and very annoying in all the hosts that have not fixed this problem. This is one of the reasons I had to stop using energyXT ...

Also synths should take the DeltaFrames into account ...

When playing pads, it is not audible, but with percussion, fast strumming it is clearly audible in ALL hosts which do not support proper DeltaFrames ...

Post

duncanparsons wrote:...not an error in FL or in eXT. It's just the way they are coded...

The events that arrive are synced to the beginning of the process/replacing buffers, so the deltaframe is always zero. If you get loads of messages one sample apart, you'll get alot of calls to process/replacing only one sample in length. This way they can provide sample accurate automation for both MIDI and VST.

If you set the 'fixed buffers' switch, you'll probably find you get deltaframes values>0 :)

You need to be ready in your processing for highly variable length buffers ;)
After some timing and testing, you sure are right.
And from what I've figured out, FLStudio seem to have *very* tight timing, and mybe better than other host when it comes to automation.. Hmmm, I really like the way it was done now that I got it.

I now my midi handeling is working here too :)
asseca wrote:I don't know about FL, but in energyXT is definitely is wrong, the DeltaFrames read from the input MUST be maintained through the chain, it is definitely audible and very annoying in all the hosts that have not fixed this problem. This is one of the reasons I had to stop using energyXT ...

Also synths should take the DeltaFrames into account ...

When playing pads, it is not audible, but with percussion, fast strumming it is clearly audible in ALL hosts which do not support proper DeltaFrames ...
Well, if the developers of plugins taking into account for this issue just discussed, the timing is right on spot. And there are nothing saying in the VST docs that buffers needs to be fixed. - If they are, the parameter automation is not synced!


...ohh, and thanks again duncan
Image

Post

it's been a pressure, as an oriental fellow once said to me.

;)

DSP
Image

Post

Hello,
is the new VST code VST3 compatible ?
with best regards

Norbert

Post

Hello,
is the new VST code VST3 compatible ?
is here nobody, who can tell me,
whether the new code is compatible with
VST 3, or whether VST3 plugins run smoothly?

with best regards

Norbert

Post

Norbert Stellberg wrote:Hello,
is the new VST code VST3 compatible ?
is here nobody, who can tell me,
whether the new code is compatible with
VST 3, or whether VST3 plugins run smoothly?
I dun't know if I understand the question even.
New code?? This Delphi VST project are for VST 2.4 and backwards.
VST3 isn't even out yet... There have been some information released, but the full VST 3 SDK isnt event released for all i know.
Image

Post

TRN76 wrote:
Norbert Stellberg wrote:Hello,
is the new VST code VST3 compatible ?
is here nobody, who can tell me,
whether the new code is compatible with
VST 3, or whether VST3 plugins run smoothly?
I dun't know if I understand the question even.
New code?? This Delphi VST project are for VST 2.4 and backwards.
VST3 isn't even out yet... There have been some information released, but the full VST 3 SDK isnt event released for all i know.
The VST3 SDK kit has been published, but VST3 is a complete new standard, see http://www.kvraudio.com/forum/viewtopic.php?t=204080 and http://www.kvraudio.com/forum/viewtopic.php?t=204365 ...

Post

Have seen an 'odd' problem with TVstPlugin recently. I haven't downloaded the latest TVstPlugin stuff lately, because the old stuff was working fine for me. The old motto, "don't fix it if it ain't broke".

Maybe ya'll have seen an issue like this and already know whether this is fixed.

Maybe it has something to do with VST Plugin versions, or something else entirely.

Roland has a pretty nice recent little table-top hardware synth, SonicCell. Supposedly it has a dll so the hardware synth can optionally be controlled as a VST plugin. I don't have a SonicCell on the desk to experiment with, and hope to avoid that since the desk is already awfully crowded.

When trying to load the Roland plugin DLL, this is how/where it fails (old code from awhile ago, which may be different in the latest TVstPlugin stuff):

Code: Select all

function TVstPlugin.GetEntryPoints(theDll: TFileName): integer;
begin
 result := 0;
 FDLLHandle := LoadLibrary(pChar(theDll));
 case FDLLHandle = 0 of
   TRUE:
   begin
    @FMainFunction := @whatifnoentry;
    result := 1;
   end
   else
    begin
      @FMainFunction := GetProcAddress(FDLLHandle, 'main');
      if not Assigned(FMainFunction) then
      begin
------> Reaches Here and exits failed <-----
       result := 1;
      end;
    end;
 end;
end;
So it seems simple enough what's going on-- Windows succeeds loading the SonicCell dll, but it fails finding 'main'. Not being able to find 'main' we are dead in the water and so there is no choice but to bail out.

But the SonicCell thang CLAIMS that it is a VST plugin.

Are there shipping versions of VST plugin (or VST3 plugins) or whatever, that are legal plugins but the function jumptable is supposed to be located some other method than thru a 'main'?

I haven't had time to keep up with the minor peculiarities of what happens 'under the hood' in VST. Should swear off sleeping and just work all the time...

Was just wondering if anyone knows if the latest TVSTPlugin might have already seen/fixed issues that look like this?

Thanks!

Post

as of VST2.4, aren't plugs supposed to export 'VSTmain', and many export both to be compatible across both pre and post 2.4.

I'm not at a dev machine to check, but I'm pretty sure that that's it. If you have an app for looking at exports, then see what it does expose (QuikView.exe used to be great for that, but was left out of XP. Sysinternals or www.smidgeonsoft.com might be good places to look.)

DSP
Image

Post

Thanks Duncan

Sorry I've 'dropped off the map'. Been trying to finish some code. Will look into this and also send you that code as soon as I can get head above water.

Post

thx james - don't drown in a sea of metaphors (you managed two in as many sentences!) ;)

atb
dsp
Image

Post

Hello,

today I have checked the new version 1.3
Thanks for repaired Mini Host and the other examples.
-
There is a big bug (I think so) in Mini Host:
When you has loadet a plugin and you change the Asio driver,
often comes an exception.
I have checked this with any plugins: B4 and Steinberg Hypercanvas
It is the same. But sometimes comes the bug directly after 1. change,
somtimes after any changes.
Any idea ?
-
An other problem:
I use a Creative Audigy
When I use ASIO4ALL, the pitch is ok.
When I use Creative Asio driver, the pitch is detuned.
Any idea ?
-
Thanks a lot for the new version.
with best regards

Norbert

Post

Norbert Stellberg wrote:Hello,
An other problem:
I use a Creative Audigy
When I use ASIO4ALL, the pitch is ok.
When I use Creative Asio driver, the pitch is detuned.
Any idea ?
If I remember correct, it might be the frequency clock is locked, so check that both drivers run at 44k1.
Image

Post

Hello,

quick question, which version of Delphi You use for development?

with best regards

Nenad

Post Reply

Return to “DSP and Plugin Development”