Author Topic: BASS_VST 2.4.0.6 - available for download  (Read 136335 times)

gabsoftware

  • Posts: 30
Re: BASS_VST 2.4.0.5 - available for download
« Reply #100 on: 10 Apr '08 - 09:21 »
Thanks ! Can't wait to try it. I post some feedback as soon as I tried it  :D

gabsoftware

  • Posts: 30
Re: BASS_VST 2.4.0.5 - available for download
« Reply #101 on: 10 Apr '08 - 12:57 »
Hello,

I'm glad that now it is possible to keep many VST effect simultaneously !  Good work ! :D

Now a little feature request, I don't know if I should ask here or to the Bass creator.
Could it be possible to have 2 little functions to get and set the priority, without having to recreate all the vst handles ?

It could be great to have the possibility to change the order of many effect, after they are created.

I propose :

int BASS_VST_GetDSPPriority( int vstHandle )
bool BASS_VST_SetDSPPriority( int vstHandle, int newPriority )

or maybe that's not possible, in this case it would be :

int BASS_GetDSPPriority( int chan )
bool BASS_SetDSPPriority( int chan, int newPriority )

bpetersen

  • Posts: 70
Re: BASS_VST 2.4.0.5 - available for download
« Reply #102 on: 10 Apr '08 - 13:32 »
[...] a little feature request, I don't know if I should ask here or to the Bass creator.
Could it be possible to have 2 little functions to get and set the priority, without having to recreate all the vst handles ?

Internally, BASS_VST alsready uses the BASS-functions BASS_ChannelSetDSP() and BASS_ChannelRemoveDSP. So - if sth. as BASS_SetDSPPriority() exists, I could create a BASS_VST_SetDSPPriority()-function (or allow the BASS_VST user to use the underlying HDSP handle directly).

It is Ians decision.

Best regards,
Bjoern Petersen

gabsoftware

  • Posts: 30
Re: BASS_VST 2.4.0.5 - available for download
« Reply #103 on: 10 Apr '08 - 15:41 »
Okay, that would be great to have such little useful functions. I hope Ian will think about it !

Ian @ un4seen

  • Administrator
  • Posts: 26107
Re: BASS_VST 2.4.0.5 - available for download
« Reply #104 on: 11 Apr '08 - 13:03 »
There isn't currently any way to change the priority of an existing DSP (perhaps something for a future release), but it is fairly straightforward to re-apply a DSP with a new priority, without a break in sound. You could do something like this...

Code: [Select]
BASS_ChannelLock(channel, TRUE); // lock channel to prevent processing mid-change
BASS_ChannelRemoveDSP(channel, dsp); // remove old DSP
dsp=BASS_ChannelSetDSP(channel, ...); // re-apply DSP with new priority
BASS_ChannelLock(channel, FALSE); // unlock channel

radio42

  • Posts: 4839
Re: BASS_VST 2.4.0.5 - available for download
« Reply #105 on: 11 Jun '08 - 13:10 »
Hi Bjoern,

any plans for:
- VST 3 support  ?
- 64-bit support  ?

bpetersen

  • Posts: 70
Re: BASS_VST 2.4.0.5 - available for download
« Reply #106 on: 16 Jun '08 - 11:31 »
64-Bit-Windows-API and VST3: Well, this should be added sooner or later, however, currently, there are no concrete plans.

64-Bit-Sample-Processing: These VST-Modules are already supported by BASS_VST.

Bjoern

radio42

  • Posts: 4839
Re: BASS_VST 2.4.0.5 - available for download
« Reply #107 on: 16 Jun '08 - 12:48 »
Yes, I meant 64-bit Windows API support ;-)

firemen

  • Posts: 163
Re: BASS_VST 2.4.0.5 - available for download
« Reply #108 on: 3 Jul '08 - 08:31 »
       FVSTHandle := BASS_VST_ChannelSetDSP(chan, 'TRackS1.x.dll', 0, 0);
       BASS_VST_EmbedEditor(FVSTHandle, myVSTForm.handle );
...

I have as a result -  Einvalidop with "Invalid floating point operation"
If not to cause Bass_vst_embededitor  of errors it is not.

Similarly would not lay out header for Delphi?

Chris

  • Posts: 2217
Re: BASS_VST 2.4.0.5 - available for download
« Reply #109 on: 3 Jul '08 - 09:02 »
hi
Code: [Select]
OldFloatValue := Get8087CW;//we store the current Value
Set8087CW($133F);
the float error will ocours on some effects
that function will fix that
Cheers Chris

firemen

  • Posts: 163
Re: BASS_VST 2.4.0.5 - available for download
« Reply #110 on: 4 Jul '08 - 12:53 »
Thanks Chris!

This error disappeared but other appeared )
so not able to start plugin from here http://www.t-racks.com/

Please, if possible, attach the example of work with VST plugin on Delphi.

And in the distributive it is not bad it would be to inlay heading for Delphi and example of work..

Chris

  • Posts: 2217
Re: BASS_VST 2.4.0.5 - available for download
« Reply #111 on: 4 Jul '08 - 13:26 »
here a little example
Code: [Select]
privat
  broadcastdsp:DWORD;

procedure TForm1.CheckBox3Click(Sender: TObject);
var
  fInfo: BASS_VST_INFO;
  ProgCount,i:integer;
begin
 if CheckBox3.checked then
begin
  broadcastdsp := BASS_VST_ChannelSetDSP(rchan,PChar
  ('jb_broadcast.dll'),0,1);
   BASS_VST_GetInfo(broadcastdsp,@fInfo);
   ProgCount:= BASS_VST_GetProgramCount(broadcastdsp);
   for i := 0 to ProgCount -1 do
      Combobox1.Items.Add(BASS_VST_GetProgramname(broadcastdsp,i));
   end
   else
         bass_vst.BASS_VST_ChannelRemoveDSP(rchan,broadcastdsp);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 if combobox1.ItemIndex > -1 then
  BASS_VST_SetProgram(broadcastdsp,Combobox1.ItemIndex);
end;     
                               

firemen

  • Posts: 163
Re: BASS_VST 2.4.0.5 - available for download
« Reply #112 on: 4 Jul '08 - 14:14 »
work if not show VST.

if show VST :

Quote
procedure TPlayF.ShowVST;
var
  VSTPlugInfo: BASS_VST_INFO;
begin

  if BASS_VST_GetInfo(broadcastdsp, @VSTPlugInfo) then if VSTPlugInfo.hasEditor>=0 then begin
      PlayF.Caption := ' ' + string(VSTPlugInfo.effectName) + ' - ' + string(VSTPlugInfo.vendorName);
      if VSTPlugInfo.editorHeight = 0 then PlayF.ClientHeight := 150 else PlayF.ClientHeight := VSTPlugInfo.editorHeight;

      if VSTPlugInfo.editorWidth = 0 then PlayF.ClientWidth  := 300 else PlayF.ClientWidth  := VSTPlugInfo.editorWidth;

      if (VSTPlugInfo.editorHeight = 0) or (VSTPlugInfo.editorWidth = 0) then PlayF.BorderStyle := bsSizeable else PlayF.BorderStyle := bsDialog;

      BASS_VST_EmbedEditor(broadcastdsp, 0);
      if BASS_VST_EmbedEditor(broadcastdsp, PlayF.Handle) then   PlayF.Visible := True;

  end;
end;

At completion of playing or at the manual calling
Bass_vst_channelremovedsp(chan, broadcastdsp) 
I get always  Exception

would not rotin the example of conclusion of form of VST plugin ?

Very thankful you for answers (0:

p.s

without a call Set8087CW($133F) Except "Invalid floating point operation"
if to cause the that window of VST opened but then get an error as wrote higher.
« Last Edit: 4 Jul '08 - 14:23 by firemen »

bluescreen25

  • Posts: 4
Re: BASS_VST 2.4.0.5 - available for download
« Reply #113 on: 9 Aug '08 - 10:51 »
The VST Plugins work fine in my application, but i have a problem by changing playing track in some cases such as i have more than one VST activate.

i add the plugins with checklistbox and the programs with combobox

Code: [Select]
...
var
  Form2: TForm2;
  VSTHeight,VSTWidth :Integer;
  VST_EFFECTS : array [0..20] of DWord;
  VST_TABS   : array [0..20] of TTabSheet;
  VST_Panel  : array [0..20] of TPanel;
  VST_Program   : array [0..20] of Integer;
  VST_VisibleHandle : DWORD;
  VST_VisibleIndex  : Integer;
...
...


procedure TForm2.VST_chkListClick(Sender: TObject);
var ProgCount,I,J :integer;
    fInfo: BASS_VST_INFO;
begin
  if VST_chkList.Items.Count > 0 then
  begin
    for I := 0 to VST_chkList.Count - 1 do
    if VST_chkList.Selected[I] then break;

    if VST_chkList.Selected[I] and VST_chkList.Checked[I] then
    begin
      VST_EFFECTS[I] := BASS_VST_ChannelSetDSP(channel,PChar(Programmpfad+'\Plugins\VST\'+ VST_chkList.Items.Strings[I]), 0,I+1);
      if BASS_VST_GetInfo(VST_EFFECTS[I],@fInfo)then if fInfo.hasEditor >= 0 then
      begin
        ComboBox1.Items.Clear;

        if VST_TABS[I] <> nil then //
        else begin

          VST_TABS[I] := TTabSheet.Create(VSTControl);
          VST_TABS[I].Name := 'VST' + IntToSTr(I);
          VST_TABS[I].PageControl := VSTControl;
          VST_TABS[I].Caption := string(fInfo.effectName);
          VST_Panel[I]:= TPanel.Create(VST_TABS[I]);
          VST_Panel[I].Parent := VST_TABS[I];
          VST_Panel[I].Height := VST_TABS[I].Height;
          VST_Panel[I].Width := VST_TABS[I].Width;
          VST_Panel[I].Color := clGray;
        end;

        if BASS_VST_EmbedEditor(VST_EFFECTS[I],VST_Panel[I].Handle) then
        VST_VisibleHandle := VST_EFFECTS[I];

        VST_VisibleIndex := I;
        ProgCount:= BASS_VST_GetProgramCount(VST_EFFECTS[I]);
        for J := 0 to ProgCount -1 do
        Combobox1.Items.Add(BASS_VST_GetProgramname(VST_EFFECTS[I],J));

       end;

    end else if VST_chkList.Selected[I] and VST_chkList.Checked[I] = false then
      begin
        BASS_VST_ChannelRemoveDSP(channel,VST_EFFECTS[I]);
        FreeAndNil(VST_Panel[I]);
        FreeAndNil(VST_TABS[I]);
        VSTControl.TabIndex := 0;
        ComboBox1.Items.Clear;
      end;
    end;
end;



Code: [Select]
procedure TForm2.ComboBox1Change(Sender: TObject);
begin
   if combobox1.ItemIndex > -1 then
   begin
     BASS_VST_SetProgram(VST_VisibleHandle,Combobox1.ItemIndex);
     VST_Program[VST_VisibleIndex] := BASS_VST_GetProgram(VST_VisibleHandle);
   end;
end;

If next track comes up i must always re-init the plugins

Code: [Select]
procedure TForm2.ActivateVST;
var ProgCount,I,J :integer;
    fInfo: BASS_VST_INFO;
begin
   for I := 0 to VST_chkList.Count - 1 do
   begin
      if VST_chkList.Checked[I] then
      begin
        VST_EFFECTS[I] := BASS_VST_ChannelSetDSP(channel,PChar(Programmpfad+'\Plugins\VST\'+ VST_chkList.Items.Strings[I]), 0,I+1);
        //BASS_VST_SetScope(VST_EFFECTS[I], 123);

          if BASS_VST_EmbedEditor(VST_EFFECTS[I],VST_Panel[I].Handle) then
          begin
           VST_VisibleHandle := VST_EFFECTS[I];
           BASS_VST_SetProgram(VST_EFFECTS[I],VST_PROGRAM[i]);
          end;
       end;
    end;
end;



If i choose one plugin all will be OK. But if more than one plugins were activated (also depended which ones) i have an system-error...this error comes not in IDE, only with ready exe playing from track to next track...

here a little bit code from playing-unit( with crossover with only one channel-handle):

Code: [Select]
...
case AnsiIndexText(RightStr(Titel, 4), ['.mp3','.ogg','.wav','flac','.cda','.wma','.ape']) of
  0: Channel := BASS_StreamCreateFile(FALSE,Titel,0,0,BASS_STREAM_AUTOFREE);
...
...
BASS_ChannelSetAttributes(Channel, -1, 0, -101);
...
if BASS_ChannelPlay(Channel, False) then
  begin
    BASS_ChannelRemoveSync(Channel, EndSync);
    BASS_ChannelSlideAttributes(Channel, -1, 100, -101, FadeIN);
    PostMessage(AppHandle, ActivateDSP, 0, 0);
    ...
    EndSync := Bass_ChannelSetSync(Channel, Bass_SYNC_END, 0, @EndSyncProc,0);
    ...
    FadePOS:= BASS_ChannelGetLength(Channel) - BASS_ChannelSeconds2Bytes(Channel,FadeOUT/1000);
    FadeSync:= BASS_ChannelSetSync(Channel, BASS_SYNC_POS, FadePOS, @FadeSyncProc,0 );
    ...
   end;
   SoundCallBack(BASS_ChannelIsActive(Channel));


Code: [Select]
procedure EndSyncProc(Handle: HSync; Channel, Data: DWORD; User: Pointer); stdcall;
begin
  PostMessage(AppHandle, BassAudioEnd, 0, 0);       ---> do in mainfrm
end;

procedure FadeSyncProc(Handle: HSync; Channel, Data: DWORD; User: DWORD); stdcall;
begin
  PostMessage(AppHandle, BassAudioFade, 0, 0);      ---> do in mainfrm
end;

What can be the problem here with changing current channel to new-channel  ?



regards, bluescreen

EDIT:  These code is plugged to bass2.3  , now i use bass2.4 with a little other Code and there seems to be no more system error....   ???

I think, its on fading with only one channel ...
« Last Edit: 10 Aug '08 - 15:24 by bluescreen25 »

cablehead

  • Posts: 315
Re: BASS_VST 2.4.0.5 - available for download
« Reply #114 on: 19 Aug '08 - 08:39 »
Could someone point me to Bass.NET example.

The chm for Bass>NET 2.3 says its just a couple of calls...very easy... What does the visual paint to?

// create any stream
int _stream = Bass.BASS_StreamCreateFile(_fileName, 0, 0, BASSStream.BASS_SAMPLE_FLOAT);
// and assign a VST effect
int _vstHandle = BassVst.BASS_VST_ChannelSetDSP(_stream, "C:\\VstPlugins\\DelayEditGUI.dll", 0, 1 );
// and play the stream
Bass.BASS_ChannelPlay(_stream, false);
...
// if the VST effect is not needed anymore...
BassVst.BASS_VST_ChannelRemoveDSP(_stream, _vstHandle);

Is this all thats needed?


Chris

  • Posts: 2217
Re: BASS_VST 2.4.0.5 - available for download
« Reply #115 on: 19 Aug '08 - 09:19 »
Quote
(_stream, "C:\\VstPlugins\\DelayEditGUI.dll", 0, 1 );
is that a typo ??
I thing must be
Code: [Select]
(_stream, "C:\VstPlugins\DelayEditGUI.dll", 0, 1 );Chris

radio42

  • Posts: 4839
Re: BASS_VST 2.4.0.5 - available for download
« Reply #116 on: 19 Aug '08 - 09:53 »
No, it's not a typo. In .Net you must reference a '\' with a "\\" in a string to distinguish escape characters.

Anyhow, yes, that almost all you need to get it running.
However, there might be more needed, if you want to show a possibly embedded VST UI editor or change the VST parameters manually...see BASS_VST_EmbedEditor, BASS_VST_SetProgram, BASS_VST_GetParamCount and BASS_VST_GetParamInfo, BASS_VST_SetParam etc.

Franck REVOLLE

  • Posts: 23
Re: BASS_VST 2.4.0.1 - available for download / Mac
« Reply #117 on: 22 Oct '08 - 08:03 »
Are you interested in doing the Mac port? If so, we can talk about sharing the source code.
Regards,
Bjoern

Yes, if there is this possibility I'm interested and glad to help you with the Mac port.
No news for Mac version ?
VST is very useful for Mac.
Example with the great Pianoteq VSTi : 40% of users are on Mac (reference : http://www.forum-pianoteq.com/viewpoll.php?id=290)
Than you for your work

Art60

  • Posts: 137
Re: BASS_VST 2.3.0.4 - available for download
« Reply #118 on: 6 Nov '08 - 13:52 »
Hi Bjoern,
How do I use BASS_VST in VB6-in particular to load a VST?
Hello aafuss,
sorry, I do not know more about VB6 than the fact, that it is possible to access external DLLs written in C/C++ :)
Maybe someone else can help? The BASS_VST API itself is documented in bass_vst.h.
Best regards,
Bjoern

Hi Bjoern and all  :)

I was looking for user plugable effects, searched for LADSPA import and finally saw this excellent thread, Thanks Bjoern !

I can insure you, VB6 does run with BASS dlls which are written in C/C++, I think.
So there shouldn't be any problem to write down a similar wrapper for your VST interface.

Did any one made it happen ?
I don't know anything about .Net but may be .Net wrapper may perhaps be easily adapted ...

What about VB6 sample code ?
Yes, asking for lots of things, but if anyone did the trick, I'd love not to reinvent the wheel ...

Thanks in advance !

radio42

  • Posts: 4839
Re: BASS_VST 2.4.0.5 - available for download
« Reply #119 on: 6 Nov '08 - 14:09 »
The .Net wrapper for the VST add-on (and also for all other BASS stuff/add-ons) is already available for a long long time ;-)

See BASS.NET here: http://www.un4seen.com/bass.html#apis

Art60

  • Posts: 137
Re: BASS_VST 2.4.0.5 - available for download
« Reply #120 on: 6 Nov '08 - 14:34 »
The .Net wrapper for the VST add-on (and also for all other BASS stuff/add-ons) is already available for a long long time ;-)
See BASS.NET here: http://www.un4seen.com/bass.html#apis

Many thx Mr Radio42 !

Hope I have it easily translated to my out of the ark visual basic version  ;D

[EDIT]
I downloaded your package, but I don't have .Net !
I thought I could find wrapper for BASS_VST in a plain .bas file, somewhere ... But I could only see a dll and help files.

Where are the sample codes and so on hidden ?

From what I can see now, I think your files are of no use for me then, too bad :-(

May be I didn't read the right documentation.
Please help if I misunderstood something. Thx !!!
[/EDIT]
« Last Edit: 6 Nov '08 - 15:17 by Art60 »

radio42

  • Posts: 4839
Re: BASS_VST 2.4.0.5 - available for download
« Reply #121 on: 6 Nov '08 - 17:32 »
BASS.NET is for .Net and not for VB6 (as this is not .Net).
The .Net samples are in the <AppUser> directory - as written in the readme.txt or help file.

I also have no .bas header files for you then...

Art60

  • Posts: 137
Re: BASS_VST 2.4.0.5 - available for download
« Reply #122 on: 6 Nov '08 - 18:32 »
BASS.NET is for .Net and not for VB6 (as this is not .Net).
The .Net samples are in the <AppUser> directory - as written in the readme.txt or help file.
So no DotNet, no samples installation I think, so no file to help me ...

I also have no .bas header files for you then...
Thank you for your replies, MR Radio42 !

So I ask again to the community:
Who did something with BASS_VST in antedeluvian (but works perfect with BASS 2.4) VB6 ?


bpetersen

  • Posts: 70
Re: BASS_VST 2.4.0.6 - available for download
« Reply #123 on: 18 Nov '08 - 23:43 »
Hello,

I've updated the download link in the first post to point to BASS_VST 2.4.0.6.

The new version should fix some MIDI event processing bugs as reported here.

Moreover, BASS_VST_GetInfo() returns an additional field now (the internal dspHandle) so do not forget to include the actual header file.

Best regards,
Bjoern Petersen

firemen

  • Posts: 163
Re: BASS_VST 2.4.0.6 - available for download
« Reply #124 on: 19 Nov '08 - 06:57 »
If you did parse of midi file or Ian would add support of VSTi in bass_midi it would be simply splendidly.

who writes on Delphi please  attachment header (: