Delphi ASIO & VST sourceforge project

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

Post

Just added a simple vocoder example for everyone who is interested...

Post

Hello Christian,

my compiler miss the following unit:
DButterworthFilter in '..\..\..\Source\DButterworthFilter.pas';

with best regards

Norbert

Post

Norbert Stellberg wrote:my compiler miss the following unit:
DButterworthFilter in '..\..\..\Source\DButterworthFilter.pas';
Added...
Although it should even work without the file. Simply remove the dependency!

Post

[quote="Christian Budde Added...
Although it should even work without the file. Simply remove the dependency![/quote]

Thanks.
But an other problem with Lazarus, I cannot install the DVSTHost. An error in this function:

Function TVstPlugin.GetEntryPoints(theDll: TFileName): integer;
var Buf : Array[0..511] of char;
begin
result := 0;
FDLLHandle := SafeLoadLibrary(pChar .....
^^^^^^^^^^^^^^^^^^^^

Lazarus message:
C:\Dokumente und Einstellungen\Neu\Desktop\VSTi Source\Source\DVSTHost.pas(2014,16) Error: Identifier not found "SafeLoadLibrary"

Any ideas ?

with best regards

Norbert

Post

Norbert Stellberg wrote: But an other problem with Lazarus, I cannot install the DVSTHost. An error in this function:

Function TVstPlugin.GetEntryPoints(theDll: TFileName): integer;
var Buf : Array[0..511] of char;
begin
result := 0;
FDLLHandle := SafeLoadLibrary(pChar .....
^^^^^^^^^^^^^^^^^^^^

Lazarus message:
C:\Dokumente und Einstellungen\Neu\Desktop\VSTi Source\Source\DVSTHost.pas(2014,16) Error: Identifier not found "SafeLoadLibrary"

Any ideas ?
What Lazarus/FPC version are you using? I guess it's FPC 2.0.4. With that the 'dynlibs' library doesn't contain all the functions needed for the VST host. Download the latest snapshot from the lazarus page. An other idea is to remove the 'save' and use 'loadlibrary' instead. Or alternatively you could include the library 'windows' in the 'uses'. But thats generally a bad idea, becaus it limits you to windows and you would have some dublicate references which might cause a lot problems.

Btw. did anyone tried already to compile a VSTHost example under Linux? It should be possible without problems, but I don't have linux here.

Christian

Post

Hi Christian,
welcome back in the [not brrr] else [puh Germany].

>What Lazarus/FPC version are you using?
I have loaded today the version 0.9.20 beta

>I guess it's FPC 2.0.4.

No. It is the version 1.06 :(
Ok. I will download the newest version today. I tell you the result.
Thanks for fastest help.

with best regards

Norbert

Post

Hi Christian,

>I guess it's FPC 2.0.4.

now it is the version 2.0.4
but the same problems. Ok. it is not so
importand. I would check the VST programs,
compiled with Lazarus........

Again a missig file:
DBarChart.res

with best regards
Norbert

PS
I meant you are this year on the other end
of the world, and now you back ?

Post

Norbert Stellberg wrote:>I guess it's FPC 2.0.4.

now it is the version 2.0.4
Hmm, I meant with 2.0.4 (and earlier) it's not working, you'll need at least any FPC version beyond 2.1.1.
But have a look into the dynlibs DLL to see if SafeLoadLibrary is already implemented.
Norbert Stellberg wrote:Again a missig file: DBarChart.res
Added as well, thanks.

Christian

Post

Christian, did you found the shortcut to change the samplerate in PluginAnalyzer (I did try Alt+ Ctrl+ and Ctrl+Alt+ combinations and didn't get such a popup window available)?


Juha

Post

juha_p wrote:Christian, did you found the shortcut to change the samplerate in PluginAnalyzer (I did try Alt+ Ctrl+ and Ctrl+Alt+ combinations and didn't get such a popup window available)?
Ok, just had a look into the source code. That feature is only available in the pro version. I don't know the reason anymore, but I must have had one...

Post

Hi Christian!

As the free Plugin Analyzer is really usable software, if you're still developing it futher, I'd like to suggest couple features to be added:

# samplerate setting
- either user defined or selectable common values between 8kHz - 192kHz

# frequency response (dB) plot to ASCII file
- some header info (plugin name, samplerate, etc.) in resulting file would be nice)
- maybe freely adjustable step size for samples

# cursor info tool
- showing Hz/dB values the way it is implemented in Filter Explorer


Juha

Post

Code: Select all

library dsp_vst;
uses
  FastMM4,
  WADSPVST in 'WADSPVST.pas' {FmWinAmpVST};
exports winampDSPGetHeader2;
end.
Hmm... couldn't find the FastMM4.dcu anywhere ... is it important module for this WinampVSTHost plugin (no issues in usage (load in winamp,load VST) but, how's the inner functionality?)?

Also, when trying to compile this plugin using Delphi 7, the rev. 256 of DDSPBase.pas gives an error

[Error] DDSPBase.pas(567): Declaration expected but 'INLINE' found
[Fatal Error] dsp_vst.dpr(5): Could not compile used unit 'DDSPBase.pas'

which is related to

Code: Select all

function ComplexAbsolute(Re, Im : Double):Double; inline;
Rev. 224 works w/o errors.

Juha
Last edited by juha_p on Tue May 08, 2007 8:20 am, edited 1 time in total.

Post

Christian - I just wanted to say thank you , in case I hadn't already.
I have not had time to dig into the SDK so far, but I *do* appreciate very much your making this available to us all :-)
You're a star !!!

Post

juha_p wrote:Hmm... couldn't find the FastMM4.dcu anywhere ... is it important module for this WinampVSTHost plugin (no issues in usage (load in winamp,load VST) but, how's the inner functionality?)?

Also, when trying to compile this plugin using Delphi 7, the rev. 256 of DDSPBase.pas gives an error

[Error] DDSPBase.pas(567): Declaration expected but 'INLINE' found
[Fatal Error] dsp_vst.dpr(5): Could not compile used unit 'DDSPBase.pas'
Just remove the "inline" and the "FastMM4" reference and everything should work fine.

Christian

Post

Christian Budde wrote:
Just remove the "inline" and the "FastMM4" reference and everything should work fine.

Christian
Thanks!

I have another 'problem' w/ the WinampVSTHost ... as you know, it's possible to use a resampler plugin in Winamp ... how can this information of resampling samplerate be read/retrieved in/into VST plugin, which is loaded into WinampVSTHost? I quess the VST plugin sees the WinampVSTHost as its host application but, could it be possible to fix the WinampVSTHost code so that it holds the samplerate set in resampler in Winamp (I think I'll leave this to someone else since, I'm in the beginning in learning process of Delphi/VST/ASIO programming).

A real world example: In my RIAA filter plug-in, I have set the filter(s) become selected automatically by the host samplerate setting ... now, if I play 24-bit/48kHz audio in Winamp w/ resampling to 96kHz enabled, the VST plugin reports host samplerate as 44.1kHz ... and actually does this even w/o resampling enabled (i.e. not even 48kHz as expected). So this means the WinampVSTHost does not hold correct samplerate. If I use the RIAA filter in any natively VST capable software (Reaper/Luna/Kristal/etc.) there isn't such an issue -> the filter gets changed if I change the samplerate ... just as intend.

Juha

Post Reply

Return to “DSP and Plugin Development”