Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_bubble_coverflow (Read 422173 times) previous topic - next topic
0 Members and 5 Guests are viewing this topic.

foo_bubble_coverflow

Reply #175
Here's 0.14 which is a bugfix release. I made the image brighter but reflection amount configurability will have to wait a bit. Reflection looks about OK with the camera near (itunes style) but not so great with the camera far so I'll rework them at some point.

@ Falstaff: found a solution to the PUI fullscreen problem, finally.

0.14

- fix: mipmaps setting remembered but mipmaps not generated on foobar relaunch
- fix: crash when playing, on next track change if playing track was not in the active playlist and "playback follow cursor" was disabled
- fix: hack to make switching to fullscreen with Panel UI work without artifacts
- chg: made the rendering of covers more bright


i'll try this immediatly, thanx bubbleguuum  ... i give you feedback quickly

i have coded a progress bar for showing the position of the album browsed in the coverflow, it works great !!!

here is a screenshot (i'll release this iFoo version soon on iFoo Topic, after testing bubble_coverflow 0.14 !!!)

, thanx

Mipmapping is ok now !

thanx again, keep the good work

foo_bubble_coverflow

Reply #176
I still always get crashes when leaving fullscreen mode and on startup I get "Could Not Unregister Class." in the console. I don't know if there's a connection but sth. still seems not to be ok. I'm on Vista 32bit if that matters.

foo_bubble_coverflow

Reply #177
First off bubbleguuum, thank you for all your hard work in coding this brilliant component! Even in its early stage, it's already highly functional and relatively stable.

I do have one problem however. I am using a dual monitor setup and, with version 0.13, fullscreen worked perfectly on my second monitor. But, now with version 0.14, when i double click on the black area when in windowed mode on my second display, coverflow disappears instead of going fullscreen. The only way to make it visible again is to close coverflow and then restart it. This bug only seems to affect output on a second monitor as fullscreen mode still works perfectly on my primary display. Perhaps the changes you made to correct fullscreen mode in panels_ui are the source of the problem?

Thanks again for the great plug-in!

 

foo_bubble_coverflow

Reply #178
I still always get crashes when leaving fullscreen mode and on startup I get "Could Not Unregister Class." in the console. I don't know if there's a connection but sth. still seems not to be ok. I'm on Vista 32bit if that matters.


The "Can't unregister..." message are benign. I never had crashes exiting fullscreen so this may be a driver issue. You could try to update your video driver to see if it changes anything. You can also try the 0.12 debug build and post the crash log (if any) : http://bubbleguuum.free.fr/foo_bubble_cove..._0.12_debug.zip

First off bubbleguuum, thank you for all your hard work in coding this brilliant component! Even in its early stage, it's already highly functional and relatively stable.

I do have one problem however. I am using a dual monitor setup and, with version 0.13, fullscreen worked perfectly on my second monitor. But, now with version 0.14, when i double click on the black area when in windowed mode on my second display, coverflow disappears instead of going fullscreen. The only way to make it visible again is to close coverflow and then restart it. This bug only seems to affect output on a second monitor as fullscreen mode still works perfectly on my primary display. Perhaps the changes you made to correct fullscreen mode in panels_ui are the source of the problem?

Thanks again for the great plug-in!


Yup these changes are the source of the problem. Hopefully I'll be able to fix it as I have a dual monitor setup - however it'll have to wait a litlle.

foo_bubble_coverflow

Reply #179
I still consistently get crashes when leaving fullscreen mode. Basically it makes foobar not respond and take high cpu usage until I kill the process.

Same happened to me with version 0.14
Bug appears very seldom (only after heavy testing).
Foobar doesn't crash, program responds not.

Vista 32bit, panels ui 0.14.9, FofR-Skin, nVidia 7300SE

Problem could be, that I've installed two coverflow-panels at different locations of script.
I'll try it again with only one coverflow-panel.

foo_bubble_coverflow

Reply #180
The "Can't unregister..." message are benign. I never had crashes exiting fullscreen so this may be a driver issue. You could try to update your video driver to see if it changes anything. You can also try the 0.12 debug build and post the crash log (if any) : http://bubbleguuum.free.fr/foo_bubble_cove..._0.12_debug.zip

I'm using the latest drivers available for my 7600GS and the debug version doesn't output any log file so far. I'll report back if this issue gets accidentally fixed with one of the next updates.

foo_bubble_coverflow

Reply #181
Just a remark : Mimaps make foobar very slow (with only 7 covers in the Coverflow!) (Bubble_coverflow 0.14 +  foobar 0.9.4.5 + PanelsUI 0.14.9)

So, i disable it in settings.

btw, no more crash

foo_bubble_coverflow

Reply #182
Just a remark : Mimaps make foobar very slow (with only 7 covers in the Coverflow!) (Bubble_coverflow 0.14 +  foobar 0.9.4.5 + PanelsUI 0.14.9)

So, i disable it in settings.

btw, no more crash


Yup mipmaps is slower because they must be generated on the fly for each cover loaded and it is CPU intensive.
Do you have "ARB_texture_non_power_of_two: yes" in the console ?  If the answer is no, that means you're using an older video card, and mipmap generation is the slowest it can get because it has to compute mipmaps on power of two textures that can be greater than the resolution of the original images, hence even more processing.

EDIT: I'll also have to investigate if a faster mipmap generation method could not speed things up.

foo_bubble_coverflow

Reply #183

Just a remark : Mimaps make foobar very slow (with only 7 covers in the Coverflow!) (Bubble_coverflow 0.14 +  foobar 0.9.4.5 + PanelsUI 0.14.9)

So, i disable it in settings.

btw, no more crash


Yup mipmaps is slower because they must be generated on the fly for each cover loaded and it is CPU intensive.
Do you have "ARB_texture_non_power_of_two: yes" in the console ?  If the answer is no, that means you're using an older video card, and mipmap generation is the slowest it can get because it has to compute mipmaps on power of two textures that can be greater than the resolution of the original images, hence even more processing.

EDIT: I'll also have to investigate if a faster mipmap generation method could not speed things up.


foo_bubble_coverflow: ARB_texture_non_power_of_two: yes => Ok (my CG is recent -> 8800 GTS 640 Mo)

i've just retry mipmaps, and now it seems faster .. hum i resume my tests

foo_bubble_coverflow

Reply #184
Do you have "ARB_texture_non_power_of_two: yes" in the console ?  If the answer is no, that means you're using an older video card, and mipmap generation is the slowest it can get because it has to compute mipmaps on power of two textures that can be greater than the resolution of the original images, hence even more processing.

That's not correct - the difference is only 1 mipmap (e.g. if your image's with 9px -> mipmaps: 4,2,1 - rounded up to power of two, the size is 16px -> mipmaps 8, 4, 2, 1). I don't think that does make that much of a difference.

Quote
EDIT: I'll also have to investigate if a faster mipmap generation method could not speed things up.

Already tried that, and I couldn't find a solution in that direction. For a 500px cover, you will always have to generate 8 mipmaps - that takes some time.
But there are some other solutions:

- resize the bitmaps on load so they are displayed close to 1:1 (but this will force you to reload the cache on every resize)

- do some clever shader writing - but this will only work on shader-supporting GPUs

- do supersampling (not multisampling!) on the whole image
I think this is the best solution - you will have to render the frame at least 2 times, but you should be able to get >400fps on any GPU after all (you are only rendering less than 100 polygons...).
GPUs don't have built-in support for this (as far as I know). But you can implement supersampling with the accumulation buffer. You just have to watch out that you don't supersample your text (bluuuuur).

foo_bubble_coverflow

Reply #185
foo_bubble_coverflow - 0.14
foobar2000 - 0.9.5
foo_ui_columns - 0.2.1 alpha 8v3

So I tried the newer release and am still encountering a barrage of problems. Here is a copy of my console spam:
Code: [Select]
[18:24:33] Could Not Unregister Class.
[18:24:33] foo_bubble_coverflow: OpenGL vendor: NVIDIA Corporation
[18:24:33] foo_bubble_coverflow: OpenGL version: 2.1.1 NVIDIA 100.14.19
[18:24:33] foo_bubble_coverflow: OpenGL extensions:  GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_gpu_program_parameters GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum
[18:24:33] foo_bubble_coverflow: EXT_blend_color: yes
[18:24:33] foo_bubble_coverflow: ARB_texture_non_power_of_two: yes
[18:24:33] foo_bubble_coverflow: ARB_texture_rectangle: yes
[18:24:33] foo_bubble_coverflow: EXT_texture_rectangle: no
[18:24:33] foo_bubble_coverflow: EXT_texture_filter_anisotropic: yes
[18:24:33] foo_bubble_coverflow: SGIS_generate_mipmap: yes
[18:24:33] foo_bubble_coverflow: WGL_ARB_multisample: yes
[18:24:33] foo_bubble_coverflow: WGL_EXT_swap_control: yes
[18:24:33] foo_bubble_coverflow: Swap interval = 1
[18:24:33] Could Not Unregister Class.
[18:24:33] Could Not Unregister Class.
[18:24:33] Could Not Unregister Class.
[18:24:34] Could Not Unregister Class.
[18:24:34] Could Not Unregister Class.

Coverflow still refuses to bind into a panel
Coverflow still crashes foobar whenever I try to change any settings
I tracked down the zombie process to foo_shpeck instead of coverflow.

foo_bubble_coverflow

Reply #186
That's not correct - the difference is only 1 mipmap (e.g. if your image's with 9px -> mipmaps: 4,2,1 - rounded up to power of two, the size is 16px -> mipmaps 8, 4, 2, 1). I don't think that does make that much of a difference.


In the rare case of using POT textures (most card support either NPOT or th rectangle extension) I generate a texture rounded to nearest greater POT size; ie a 600x600 picture gets a 1024x1024 image. computing mipmap on such huge textures is ultra slow and it's also a waste a memory space. In this case could maybe be faster to rescale the image to 512x512 and we'd get 4x faster mimap generation. However as almost everybody has some kind of  NPOT texture support this is not super important...

Quote
- do supersampling (not multisampling!) on the whole image
I think this is the best solution - you will have to render the frame at least 2 times, but you should be able to get >400fps on any GPU after all (you are only rendering less than 100 polygons...).
GPUs don't have built-in support for this (as far as I know). But you can implement supersampling with the accumulation buffer. You just have to watch out that you don't supersample your text (bluuuuur).


Interesting idea, that could be super fast and give OK results

foo_bubble_coverflow

Reply #187
Thanks bubbleguuum for this incredible little plugin. Now I have two little requests.

First of all there is a problem for me when I have a cover that is mostly white. Then half of the artist - album text is gone. I guess this problem will exist with whatever colour one chooses for the text. I can only think of 2 possible solution although I'm not sure if the second is even viable. First the text could be moved closer to the bottom edge of the panel. The second possibility would be to recognise what colour the cover has around the text and switch the colour of the text to black if the cover is too bright.

My second request would be to add some kind of animation when moving the albums. Kind of like the original Apple Coverflow does.

Anyway keep up the good work. I'll come back to you if I have new ideas or find any bugs .

foo_bubble_coverflow

Reply #188
My second request would be to add some kind of animation when moving the albums. Kind of like the original Apple Coverflow does.


That feature is in the to do list buddy.
A teacher is a student in denial.

foo_bubble_coverflow

Reply #189
Just upgraded to 0.14 and it works great! Fullscreen even works great now in Panels UI !! However, when exiting fullscreen, I get a taskbar entry that is blank, and I can't get rid of it until I exit foobar and reload. Think this could be fixed?

Excellent work. If I may, could we get some font options in the next build or so?

EDIT:

Also, an option for horizontal, and vertical padding would be wonderful .
Song List: keikoniumboards.ke.funpic.org/files/songlist.html

foo_bubble_coverflow

Reply #190
0.14 is Not working at all for me with DUI+Dockable Panels. Crashes on first load and if I get foobar to load without the crash, it will not attach to a Dockable Panel (selecting it just open COver Flow in it's on window, not the panel.

Also, it does not change when facets change (just goes blank.)

Large playlists freeze everything.

foo_bubble_coverflow

Reply #191
The last version to work properly is 0.11 and even that one was not perfect. Is something wrong with my settings?- because I cannot see the next album art in the preview it only shows a white outline.

-GreenSmurf

foo_bubble_coverflow

Reply #192
Can someone tell me what to fill in the cover source to display ANY jpg? The problem is, my covers are sometimes named folder, front, wsfwefoiewoff35646456546, or whatever.

Code: [Select]
$replace(%path%,%filename_ext%,)*.jpg


doesn't work. Are wildcards  not supported, yet?

Thanks in advance.

foo_bubble_coverflow

Reply #193
Can someone tell me what to fill in the cover source to display ANY jpg? The problem is, my covers are sometimes named folder, front, wsfwefoiewoff35646456546, or whatever.

Code: [Select]
$replace(%path%,%filename_ext%,)*.jpg


doesn't work. Are wildcards  not supported, yet?

Thanks in advance.


in the same way, my covers are named 'folder.jpg' for albums or named %title%.jpg for Singles
but in settings, i can't us conditions or vars declared in Globals (i.e. $get(MyCoverName))

could it be possible to allow these for a future release or is it to hard to implement ?

thanx

foo_bubble_coverflow

Reply #194
@bubbleguuum:
Are you planning to add animations to your component?

What i mean is: will the covers move when i scroll through them? Right now they are not flowing as in coverflow but the next cover just instantly pops up in the middle and replaces the last one. I can't make out which direction the covers are moving. Only if i set maximum covers to 21+ i get a slight illusion of movement.

But even without animation: great eye-candy plugin! I won't use it in my standard f2k setup, though. I really like the new DUI don't want to inflate my setup with colums_ui.

foo_bubble_coverflow

Reply #195
@bubbleguuum:

Now coverflow window is horisontally orientation. It is possible make selection in preference of plugin also vertical orientation of this windows (move cover from bottom to top) ?

foo_bubble_coverflow

Reply #196
@bubbleguuum:
Are you planning to add animations to your component?


Did you not read this?

Planned features

- Unicode support
- Embedded cover support
- Bind the panel to a specific playlist instead of always the active playlist
- Animation
- (partly done) Reflections
- More eye candy (dynamic lighting would be cool)
- Optimizations (aka no lag)
- Scrollbar and some UI in fullscreen
- done No cover

foo_bubble_coverflow

Reply #197
pIv

How did you solve problem with separeted coverflow window?

foo_bubble_coverflow

Reply #198
@bubbleguuum:

Now coverflow window is horisontally orientation. It is possible make selection in preference of plugin also vertical orientation of this windows (move cover from bottom to top) ?


+1!
Music is my first love.

foo_bubble_coverflow

Reply #199

I still consistently get crashes when leaving fullscreen mode. Basically it makes foobar not respond and take high cpu usage until I kill the process.

Same happened to me with version 0.14
Bug appears very seldom (only after heavy testing).
Foobar doesn't crash, program responds not.

Vista 32bit, panels ui 0.14.9, FofR-Skin, nVidia 7300SE

Problem could be, that I've installed two coverflow-panels at different locations of script.
I'll try it again with only one coverflow-panel.

Bug appears once more: