Author Topic: Bass_Vis News and Released Infos  (Read 196244 times)

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #50 on: 3 Mar '07 - 05:07 »
I have update archiv from BassVis.. (not a new version)
only change that you can communicate with Plugin.

Tripex and other Plugins has button for play,pause,stop and so on...
This work now with BassVis.

use this as Sample how it work!

This is the timer in my Delphi Sample!

Code: [Select]
procedure TfrmMain.InfoTimer1Timer(Sender: TObject);
begin

  'Show in to Delphi Sample
end;

This work over BASS_WINAMPVIS_StartRecord and BASS_WINAMPVIS_RenderStream

greets BassFan
« Last Edit: 4 Mar '07 - 11:16 by BassFan »

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #51 on: 4 Mar '07 - 10:38 »
i will remove all Winamp Messagen in the next release
you can use the old Methode of SendMessage or use the new Method with this

Quote
  BASS_WINAMPVIS_PLAY,
  BASS_WINAMPVIS_PAUSE,
  BASS_WINAMPVIS_STOP,
  BASS_WINAMPVIS_SETPLAYLISTPOS,
  BASS_WINAMPVIS_GETPLAYLISTPOS,
  BASS_WINAMPVIS_ISPLAYING,

greets BassFan
« Last Edit: 7 Mar '07 - 04:28 by BassFan »

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #52 on: 5 Mar '07 - 16:02 »
@hwahrmann

here is a pic that you can show how it work move Winamp2 Plugins to own container
only little problem i have with Plugins that have docking function.

i will added to the next released when desired.

greets BassFan
« Last Edit: 29 Mar '07 - 18:17 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #53 on: 6 Mar '07 - 14:09 »
First of all, congratulations to this release! I find BassVis very useful now!

Two minor issues spotted:

1) When fetching all available plugins using BASS_VIS_FindPlugins, the filenames are having one slash to much:
Example: 'C:\Program Files\Winamp\Plugins\\Acidspunk2.dll'

2) I cannot get Eonic plugin to work, maybe because it seem to use it's own windowed system? The plugin works fine using Winamp.

Regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #54 on: 6 Mar '07 - 14:24 »
First of all, congratulations to this release! I find BassVis very useful now!

Two minor issues spotted:

1) When fetching all available plugins using BASS_VIS_FindPlugins, the filenames are having one slash to much:
Example: 'C:\Program Files\Winamp\Plugins\\Acidspunk2.dll'

2) I cannot get Eonic plugin to work, maybe because it seem to use it's own windowed system? The plugin works fine using Winamp.

Regards,
 MikaelS

Thanks! ;) i have hard work on it.

1) When fetching all available plugins using BASS_VIS_FindPlugins, the filenames are having one slash to much:
Example: 'C:\Program Files\Winamp\Plugins\\Acidspunk2.dll'

Please let me show a snipped from source
All my Samples have no problem with this all work fine when i read plugins in to Listbox.

2) I cannot get Eonic plugin to work, maybe because it seem to use it's own windowed system? The plugin works fine using Winamp.

i have not run this plugin ;) i will load it and check thats problem.

greets BassFan

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #55 on: 6 Mar '07 - 14:28 »
Thanks for your quick reply!

Here's my code, very similar to your example. :)

Code: [Select]
     
     TmpList.CommaText := BASS_VIS_FindPlugins(
        PChar(s),
        BASS_VIS_FIND_WINAMP or
        BASS_VIS_FIND_RECURSIVE or
        BASS_VIS_FIND_COMMALIST
      );

Fetching for example TmpList[0] will return a plugin including the full path with double slashes at the end as shown in my previous post.

HTH,
MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #56 on: 6 Mar '07 - 14:59 »
Thanks for your quick reply!

Here's my code, very similar to your example. :)

Code: [Select]
     
     TmpList.CommaText := BASS_VIS_FindPlugins(
        PChar(s),
        BASS_VIS_FIND_WINAMP or
        BASS_VIS_FIND_RECURSIVE or
        BASS_VIS_FIND_COMMALIST
      );

Fetching for example TmpList[0] will return a plugin including the full path with double slashes at the end as shown in my previous post.

HTH,
MikaelS

This is not real!
Code: [Select]
  // selected Plugin dir
  PluginDir := ExtractFilePath(Application.ExeName) + 'Plugins\';

Code: [Select]
  // create temp list for new list of vis
  flist := TStringList.Create;

  // find out vis plugins
  flist.CommaText := BASS_VIS_FindPlugins(PChar(PluginDir),
                                          BASS_VIS_FIND_WINAMP or
                                          BASS_VIS_FIND_RECURSIVE or
                                          BASS_VIS_FIND_COMMALIST);

  // add the new ones at the end of both lists
  for IntI := 0 to flist.Count -1 do
    PluginList.Items.Add(ExtractFileName(PChar(flist[IntI])));

  if PluginList.Items.Count > 0 then
   begin
      PluginList.ItemIndex := 0;
      // Get Plugin Information
      GetPluginInfo;
   end else
   begin
      Descript.Text := '';
      VisModules.RowCount := 0;
   end;
   // free List
   flist.Free;

this work fine ;)

and this !!!!!! Show Pic
REMOVE THE PIC ..
i thinks you extract not the Filename only... 'yes than it will show self with you'
i will fix this in the next released.. Thanks

greets BassFan
« Last Edit: 7 Mar '07 - 04:31 by BassFan »

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #57 on: 6 Mar '07 - 15:42 »
Here is a fix for slash probs i hope it work now...
And check eonic back ;) please run it not click of config button..

HAVE REMOVE ARCHIV TO OLD

greets BassFan
« Last Edit: 7 Mar '07 - 04:31 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #58 on: 6 Mar '07 - 16:43 »
Thanks BassFan!

The slash-fix works very well.

I made a typo in my earlier mail  :-[ it was not Eonic, it was Eonic 2 that did not work properly.
Eonic 2 can be found here:
http://www.winamp.com/plugins/details.php?id=83833

It renders for 1-2 seconds then it will close down.


Regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #59 on: 6 Mar '07 - 17:43 »
Thanks BassFan!

The slash-fix works very well.

I made a typo in my earlier mail  :-[ it was not Eonic, it was Eonic 2 that did not work properly.
Eonic 2 can be found here:
http://www.winamp.com/plugins/details.php?id=83833

It renders for 1-2 seconds then it will close down.


Regards,
 MikaelS

OkiDoki will show what i can make with it ;)

not today sorry i'am working on a c# samle from hwahrmann ..

greets BassFan .. Music is good ;)
« Last Edit: 6 Mar '07 - 22:19 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #60 on: 6 Mar '07 - 17:53 »
Thanks mate & keep up the good work!

Regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #61 on: 7 Mar '07 - 03:54 »
Thanks mate & keep up the good work!

Regards,
 MikaelS

Jup! ;)
Which language your use ?
When use .NET i can not help this time ..
Only when released the new Version.

You have done a lot of work with to me eonic I have not sleep yet this night  :o ;D
bad boy  ;)

Now there functions very critically the Plugin 80 > 90 % CPU BassVis and Winamp the self.
I have changed mine whole sendmessagen with it it well runs

do you have Delphi i can help! today
add this to BassVis.pas

Code: [Select]
procedure BASS_WINAMPVIS_Play(handle: DWORD); stdcall; external 'bass_vis.dll';
procedure BASS_WINAMPVIS_Pause(handle: DWORD); stdcall; external 'bass_vis.dll';
procedure BASS_WINAMPVIS_Stop(handle: DWORD); stdcall; external 'bass_vis.dll';
procedure BASS_WINAMPVIS_SetPlaylistPos(handle: DWORD; PlPos: Integer); stdcall; external 'bass_vis.dll';
function BASS_WINAMPVIS_GetPlaylistPos(handle: DWORD):integer; stdcall; external 'bass_vis.dll';
function BASS_WINAMPVIS_IsPlaying(handle: DWORD):integer; stdcall; external 'bass_vis.dll';

repleace all Sendmessages with this procedure and function... name is the self as IPC_ ...
Sendmessagen to slow for eonic2 nothing will work.
The Handle is returned from BASS_WINAMPVIS_GetAmpHwnd

NET-User can not use this today this is not in the NET-API from BassVIs.

i have not check all action i not buy this plugin only for BassVis Sorry check it self!

here is the PreReleased of 2.3.0.5
and a pic how show it work.

Have Fun .. ;) Music is great  ;D

greets BassFan aka Emil ;)
« Last Edit: 7 Mar '07 - 15:59 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #62 on: 7 Mar '07 - 08:29 »
Thanks a lot for the update BassFan!

Quote
Which language your use ?
I use Delphi (2006).

Quote
You have done a lot of work with to me eonic I have not sleep yet this night  Shocked Grin
bad boy  Wink
Hehe, whops :)

Quote
do you have Delphi i can help! today
add this to BassVis.pas

Yep, I use Delphi. I added the code to BassVis.pas and now the plugin started OK, but it does not seem to react to the music  ???
I am not communicating with the plugin system using sendmessage from my application, I only use a timer to update the data (just as in your example).


Best Regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #63 on: 7 Mar '07 - 15:14 »
Thanks a lot for the update BassFan!

Quote
Which language your use ?
I use Delphi (2006).

Quote
You have done a lot of work with to me eonic I have not sleep yet this night  Shocked Grin
bad boy  Wink
Hehe, whops :)

Quote
do you have Delphi i can help! today
add this to BassVis.pas

Yep, I use Delphi. I added the code to BassVis.pas and now the plugin started OK, but it does not seem to react to the music  ???
I am not communicating with the plugin system using sendmessage from my application, I only use a timer to update the data (just as in your example).


Best Regards,
 MikaelS

Do not understand my bad english?
i have say remove all Sendmessages repleace it with the new API
eonic used to many CPU-resources and you can not send Sendmessages to him.

Do not use RecordStart , or RenderStream(stream) in a timer or proc this will never work

greets

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #64 on: 7 Mar '07 - 15:31 »
use this Sample and check again
DOWNLOAD REMOVE
greets
« Last Edit: 7 Mar '07 - 15:58 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #65 on: 7 Mar '07 - 15:50 »
Quote
use this Sample and check again

Thanks a lot. It works OK now, but it is extremely slow, not your fault though :D

Regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #66 on: 7 Mar '07 - 15:55 »
Quote
use this Sample and check again

Thanks a lot. It works OK now, but it is extremely slow, not your fault though :D

Regards,
 MikaelS

you have right ..
Eonic2 used by me 98% CPU, WinampTest have 0% when run the Plugin
is the self with Winamp .
Not a problem from BassVis ;)
du use RenderStream(stream) in a timer ? or do use loop with sendmessage or find the Winamphandle?
please remove this all no longer used BassVis is fast enough handle this self

EDIT:
the best way is for fast Vis use only RenderStream this is 50% faster as StartRecord over Device
thinks this is your problem. the vis self run fast by me only Eonic2 used to many resources

i have gforce 7800 gtx

greets
« Last Edit: 7 Mar '07 - 16:09 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #67 on: 7 Mar '07 - 17:00 »
Quote
du use RenderStream(stream) in a timer ?

No, the only thing I do in my timer is to send data with:

Code: [Select]
BASS_WINAMPVIS_SetChanInfo and
Code: [Select]
BASS_WINAMPVIS_SetChanMPEGInfo
I do initialize BASSVis with
Code: [Select]
BASS_WINAMPVIS_RenderStream (not inside my timer of course).

Eonic 2 seems to behave a bit better when Hyperthreading is active (at least on my GeForce 6800 GT card), but it still eats almost all CPU for one of the "processors".

Anyway, excellent work BassFan!

Best regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #68 on: 7 Mar '07 - 17:45 »
Quote
du use RenderStream(stream) in a timer ?

No, the only thing I do in my timer is to send data with:

Code: [Select]
BASS_WINAMPVIS_SetChanInfo and
Code: [Select]
BASS_WINAMPVIS_SetChanMPEGInfo

OkiDoki ! ;)
Do not use BASS_WINAMPVIS_SetChanMPEGInfo with BASS_WINAMPVIS_RenderStream this is only
for BASS_WINAMPVIS_StartRecord(44100, 2); emulate fake MPEGData info for Plugins.

You can remove this when use BASS_WINAMPVIS_RenderStream.

greets BassFan


MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #69 on: 7 Mar '07 - 18:04 »
Quote
You can remove this when use BASS_WINAMPVIS_RenderStream.

Thanks for the tip!

Btw. I noticed something else:
1) Start a plugin that takes quite much CPU time (in a window)
2) Close the plugin with the
  • in it's own window


-->The handle to the visplugin will now remain valid and data is being sent to the plugin and thus the plugin will still occupy CPU time.

Is there any possibility to be notified when a plugin window is closed and/or is it possible to show a closed plugin without the need of restarting it?

Best regards,
 MikaelS

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #70 on: 7 Mar '07 - 18:14 »
Quote
You can remove this when use BASS_WINAMPVIS_RenderStream.

Thanks for the tip!

Btw. I noticed something else:
1) Start a plugin that takes quite much CPU time (in a window)
2) Close the plugin with the
  • in it's own window


-->The handle to the visplugin will now remain valid and data is being sent to the plugin and thus the plugin will still occupy CPU time.

Is there any possibility to be notified when a plugin window is closed and/or is it possible to show a closed plugin without the need of restarting it?

Best regards,
 MikaelS

this is hard to me , i can not understand what your wanted  :-[
not a english man

greets BassFan

BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #71 on: 8 Mar '07 - 01:21 »
What your meant?
you will a result of Plugin is destroy or free ?

then use

Code: [Select]
if (BASS_WINAMPVIS_Free(vischan) = true) then
begin
  // Blaa, blaa, blaa
end;

do not send this when you will check if Plugin free
Code: [Select]
  BASS_WINAMPVIS_Free(vischan)
greets BassFan
« Last Edit: 8 Mar '07 - 01:25 by BassFan »

MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #72 on: 8 Mar '07 - 08:50 »
Quote
What your meant?
you will a result of Plugin is destroy or free ?

I simply wonder if its possible to get notified when a plugin is closed using the close button [ x] in the upper right corner of the plugins own window.
Closing a plugin window this way does not set my vischan to zero.

(German follows, warning, my german is terrible!)
Ist es möglich zu erhalten ein notification wann ein plugin Fenster mit der [ x ] button sind gescholssen?
Wenn es ein plugin Fenster schließt, stellt auf diese Weise mein vischan nicht auf Null.

Thanks/Danke,
 MikaelS


BassFan

  • Guest
Re: Bass_Vis News and Released Infos
« Reply #73 on: 8 Mar '07 - 10:26 »
Quote
What your meant?
you will a result of Plugin is destroy or free ?

I simply wonder if its possible to get notified when a plugin is closed using the close button [ x] in the upper right corner of the plugins own window.
Closing a plugin window this way does not set my vischan to zero.

(German follows, warning, my german is terrible!)
Ist es möglich zu erhalten ein notification wann ein plugin Fenster mit der [ x ] button sind gescholssen?
Wenn es ein plugin Fenster schließt, stellt auf diese Weise mein vischan nicht auf Null.

Thanks/Danke,
 MikaelS



yes use if (BASS_WINAMPVIS_Free(vischan) = true) then ... this will give a result of boolean
if false then vischan <> 0

wich plugin your use with this problem?

greets Emil


MikaelS

  • Posts: 198
Re: Bass_Vis News and Released Infos
« Reply #74 on: 8 Mar '07 - 12:29 »
Quote
yes use if (BASS_WINAMPVIS_Free(vischan) = true) then ... this will give a result of boolean
if false then vischan <> 0

But that requires a call to BASS_WINAMPVIS_FREE. In this case I close the plugin from it's own window, not from my code.

Quote
wich plugin your use with this problem?

All plugins that runs in it's own window and can be closed :) (Advanced Visualization Studio, Milkdrop, Gforce etc)


What I was looking for was something like a callback which gets called when a plugin is closed (maybe not possible?).

Code: [Select]
BASS_VIS_SetCloseCallback(MyProcedure);
...
procedure MyProcedure(...any params needed);
begin
  ShowMessage('The Current VIS-Plugin was closed externally');
end;



Sorry if being to cryptic. :)

Regards,
 Mikael