Start a new topic

Visualizations support

Via BassVis

3 people like this idea

Closed as implemented. Fine tuning remains, which is tracked in bug reports.


I need to create the host container in code to workaround the limitation in WPF which does not allow the main windows to be (partially)transparent when using hosted WinForms controls which is required to display the visualization.

Therefore upon each page change that can show a plugin, it is needed to:

1) Create a hosted control with an own window handle, which reacts to position/size changes in the main window

2) Create the WinForms control which will host the visualization (PictureBox)

When a page is changed it is therefore needed to:

1) Dereference and release the PictureBox

2) Unregister the "fake" window created 

This process is slow and comple but a must to be able to use the WPF window styling.

>>sorry that shown wrong for me.. no good idea Change Resolution outside 3X4

This was just a sample of how it can look when docked. 

Of course the best is to keep the aspect ratio or just let it be up to the user as in earlier Helium versions.

Personally, I never use the Now playing container so I would prefer full-screen or the full-size (1st screenshot) mode.

But it will be up to the user.

So please note, this is a draft only. Nothing is finished. yet.

Edit: The facts above were the reasone why I tried to avoid WinForms as long as I could :)

>>Here's a first draft of how a docked vis can look.

sorry that shown wrong for me.. no good idea Change Resolution outside 4X3

sample 320x240.

there is no question whether I want it
but it is necessary so that the visualizations are displayed correctly.

just my 2 Cent


you can not set the HostContainer to 1 Pixel ? on initialize Neon (Firststart)

after Change to NowPlaying only resize the entyre control

not deallocated or reallocated.

i think that is not needed.

only resize should not be a Problem.


Here's a first draft of how a docked vis can look.

The slowness mainly relates to that the HostContainer needs to be deallocated and reallocated after a view change (WPF related, not BASSVis related).

This might be possible to be improved though after the basics are working.

>>I actually tried this but it became slow, since I had to deactivate/activate the rendering upon each page >>change of an album.

why to slow?

do not stop/deaktivate the plugin after create only Change the stream that is all.

you can set the hight and with to 1 PIxel if your Change to Now Playing Screen then resize the ViWindow to 320x240

and also Sonique Plugins has a viewport so youcan Change or play with it for lower CPU Speed.


I actually tried this but it became slow, since I had to deactivate/activate the rendering upon each page change of an album.

The most users (according to tracked statistics) visit an albumpage quite quickly so this will result in a much slower navigation.

Another thing that will slow things down is that I had to create a wrapper for the WinFormsHost control to workaround the transparency problem with the main window, which also cause some initialization speed-downs.

I think the optimal solution to start with is:

  • Docked in the Now playing, with either three static heights or resizable via a splitter
  • A built-in full-size mode as shown as in my screenshot (only available if docked mode is not slected)
  • Full screen

Possibly also in a separated window.
A lot things still remains though, so things may still change...

>>Is this not (easily) possible with BassVis?

is possible.

see what i have post here..

my question why you can not toggle between CoverView and Viz as a small window with a fixed size of 320X240..

i think that should be the best in Now Playing Screen only.

and yes i tell you do not Change the Resolution 3X4 or all visualization shown are wrong.


It looks great so far. I'm looking forward to see it in action... ;-)

Yes, configuration from options should work well.


Try this link:

(Just an early draft)

Would be good enough for me, would it be possible to make the height configurable through the options (in pixels / percentage or maybe just three pre-configured heights (small, medium, high))?

Height: BassVis is not the issue here, the thing is that we no longer use the docking control system as in earlier versions so this cannot be done. Best possible thing is probably to start by placing it with a static height at the botton of the playing info?
No, there's no picture at all in your post, I can only see Emil's two pictures.

Height: No, full height was not intended by myself - but in HMM11 I could resize the docked frame in height and width and it was adapted in real-time, isn't this possible with BassVis?


Couldn't you see my attached picture? :) Height: Using full height is not a problem, but in your original request I think you would like to ser lyrics and a small version of the vis at the same time. This can also easily be done if the height is static, eg 200px.
Login or Signup to post a comment