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: Chronflow (Read 479415 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Chronflow

Reply #300
Quote
It reads: Release of RC failed. (mainWin) [foobar ver 9.4.4]

Please try this version (this is not a release, you shouldn't use if you don't have this problem):
http://chron.visiondesigns.de/foobar2000/f...v0.2.1debug.zip

The error-message should be more detailed now - what does it say?


@mgl2k
Love it!

Would you mind if include this config in the next release (your name will stay there, of course)?
Btw: you should try to use coverSizeLimits() to increasethe size of the middle cover - that way the middle cover will also have a mirror effect. You can also change the fading of the mirror by changing your cover sizes (if you make the middle cover a size of 1x1 and the little ones a size of 0.25x0.25, the mirror effect would be a lot stronger, for example).
Thanks for writing such a great config .
(but you should use [ codebox ] )
Quote
And what's about that "Playlist Mode"? Can't seem to find anything to activate it...
Not implemented yet.

Quote
Have you ever considered having per-panel settings? Would be nice for such things as your albumart panel imitation, so that we could use your component wherever we'd like to.

On the todo list, but I'm not sure how good this will work because of stuff like vsynch etc.

Quote
And can we have context menus for the albums (plz)?
Implemented, will be in the next release.

@Kiteroa
Have you tried updating your Graphics card drivers?

Chronflow

Reply #301
@mgl2k
I played a bit with your config, since I didn't like the column-swapping effect on the sides. Here's what I've got:
Code: [Select]
/************************* COVER DISPLAY *****************/
// These functions define the Display of the single Covers
// The given parameter coverId is a floating point number.
// It is 0 for the center cover, 1 for the one right
// beneath it, -1 for the one on the left side and so on.
// During movement the values float between the integer
// values.
function coverPosition(coverId){
  if (coverId < drawCovers()[0]+1) return coverPosition(drawCovers()[0]+1);
  if (coverId > drawCovers()[1]-1) {
      array = coverPosition(drawCovers()[1]-1);
      array[2] -= 0.0001;
      return array;
  }

  var x, y, z;
  x = Math.abs(coverId);
  y = Math.abs(coverId);
  z = Math.abs(coverId);

      x = Math.ceil((x)/4) + 1.8;
      y = (Math.abs(coverId)-1) % 8;
      y = Math.min(y, 7-y);
      if (y > 3 || y < 0) {
        x -= 1 - Math.abs(coverId) % 1;
      }
      y = Math.min(y,3);
      y = Math.max(y,0);
      y = y * 4/3;
      z = -Math.abs(x - 1.8)/5;
      if (Math.abs(coverId) < 1) {
        abs = Math.abs(coverId);
        x = sigmoidInterpolation(abs)*abs * 2.5;
        y = sigmoidInterpolation(1-abs) * 1.365;
        z = sigmoidInterpolation(1-abs) * 4.55;
      }
      if (coverId < 0) {
        x *= -1;
      }
  return new Array(x, y, z);
}

function sigmoidInterpolation(t) {
  t = (t-0.5)*8;
  y = 1/(1 + Math.pow(Math.E, -t));
  return y;
}

// return array is (angle, x, ,y, z) - this rotates
// the cover *angle* degrees around the vector (x,y,z)
// With (0,0,0,0) the cover is parallel to the y-z-Plane
function coverRotation(coverId){
  var angle = 0;
  return new Array(angle, 1, 0, 0);
}

// Sets which point of the cover coverPosition() defines
// (-1,-1) means bottom left, (0,0) means center,
// (1,1) means top right, (0, -1) means bottom center etc.
// The cover is also rotated around this point.
function coverAlign(coverId){
  if (Math.abs(coverId) < 1){
  return new Array(0, -1);
  } else {
  var y = coverPosition(coverId)[1]/4;
  return new Array(0, -1 + y*2);
 
}
}

// Defines the the size boundaries for the cover.
// Aspect ratio is preserved.
// Return Array is (widht, height)
function coverSizeLimits(coverId){
  if (Math.abs(coverId) > 1){
    var y = (Math.abs(coverId)-1) % 8;
    y = Math.min(y, 7-y);
    if (y > 3 || y < 0) {
      var m = (Math.abs(coverId) % 1);
      var size = 1 - 2*Math.min(m,1-m)
      return new Array(size, size);
    }
  }
  return new Array(1, 1);

}

// Defines the range of covers to draw.
// Return array is (leftmostCover, rightmostCover)
// This interval shouldn't be larger than 80
// The center cover is 0.
function drawCovers(){
  return new Array(-41, 41);
}

// In which direction should the fov be expanded/shrinked
// when the panel is resized?
// If this returns (0,1), the height is fixed.
// If this returns (1,0), the width is fixed.
// You can also return stuff like (0.5,0.5) or (7, 3)
// The values determine how important it is for this
// dimension to stay fixed.
function aspectBehaviour(){
  return new Array(0,1);
}

/************************** CAMMERA SETUP ****************/
// Position of the viewport
function eyePos(){
    return new Array(0, 1.8, 6);
}
// Defines the point for the eye to look at
function lookAt(){
  return new Array(0, 1.8, 0);
}
// Used to rotate the view.
// The returned Vector points upwards in the viewport.
// This vector must not be parallel to the line of sight from the
// eyePos point to the lookAt point.
function upVector(){
  return new Array(0, 1, 0); 
}

/************************** MIRROR SETUP *****************/
function showMirrorPlane(){
  return true; // return false to hide the mirror
}
// Any Point on the Mirror Plane
function mirrorPoint (){
  return new Array(0, 0, 0);
}
// Normal of the Mirror Plane
function mirrorNormal (){
  return new Array(0, 1, 0);
}

Chronflow

Reply #302
hey Chronial, is it possible to get an overview of the things you are currently implementing or planning to do? (like context menu / scrollbar / etc...?!)
I could now tell a few things that I think about you might be already have in mind... but you know, before you're going nuts
fb2k on OSX: flac q8 > rockboxed Sansa e280v1: Vorbis q5.0

Chronflow

Reply #303
Quote
It reads: Release of RC failed. (mainWin) [foobar ver 9.4.4]

Please try this version (this is not a release, you shouldn't use if you don't have this problem):
http://chron.visiondesigns.de/foobar2000/f...v0.2.1debug.zip

The error-message should be more detailed now - what does it say?


Error Window Title: 
Foo_chronflow Error

Error Msg:
Release of RC failed. (mainWin)
The handle is invalid.

[foobar 9.5.1/panelsui 13.8]

Chronflow

Reply #304
Chronial:
I just Upgraded to 2.1 and get a pop up box "Error: Rendering is not fully hardware-accelerated." on startup of Foobar2000 and the right third of the chronflow window panel is black. 2.0.c & d worked fine! Thought you should know. It seems after reverting to c and d that the black box area persists. when using the window as a columns UI panel moving it gives me a "ImgTexture Leak:6" error, although now the black area has gone.
UPDATE: the black box may be be a columns UI issue as I can make it go away by adding a component, saving settings and then removing that component. :S I am using the 0.3 alpha of Columns UI
When using the component to browse things, stuff that normally updates dynamically (visualizations, seek bar, elapsed time, VBR info) stops and then catches up when the flow panel is settled. Strange conflict!

Otherwise, Awesome! I love it! It doesn't run great on this computer at first, but when it's cached a certain amount of covers it looks nice. The Parabola layout runs smoothest. I've noticed that if I've clicked on the panel and scroll left/right with the keyboard, I can't Ctrl-P to access foobar's preferences! Also, I noticed that in the "set config name" window, one button says Abbrechen which means Cancel, right?

I am using the album art view as my album art viewer panel thing. Do you think it's possible to display the title if a cover doesn't exist? I tried $if($not($replace(%path%,%filename_ext%,)folder.jpg),%album artist% - %album%,) but that just didn't display in all cases. I just had a thought: is the title display was view-specific then you'd be able to display titles how and where you want or not at all depending on the view. I would think that using it as an album art panel, you wouldn't want titles, generally, but in a cover flow type panel, you would. Just a thought and some nitpicking. Overall, I still love this component!



mgl2k: NICE!

Chronflow

Reply #305
Is it possible to get some nice fade-in and fade-out for covers first and last in the coverflow. Currently if you toggle right the first cover won't totaly disappear until animation is finished. If you toggle left on the other hand the last cover disappear instantly.

Also it would be nice with an option to dim the side covers so they don't stand out as much as the center one.

Chronflow

Reply #306
Love it!
Would you mind if include this config in the next release (your name will stay there, of course)?
Sure. Love to hear that!
I'm glad you guys like it.

With your suggestion, I made the mirror effect more visible. Looks better now.

Code: [Select]
// Title: The Shelf
// Author: Martin Gloderer
// Description: This is a Chronflow config.


/************************* COVER DISPLAY *****************/
// These functions define the Display of the single Covers
// The given parameter coverId is a floating point number.
// It is 0 for the center cover, 1 for the one right
// beneath it, -1 for the one on the left side and so on.
// During movement the values float between the integer
// values.
function coverPosition(coverId){
  if (coverId < drawCovers()[0]+1) return coverPosition(drawCovers()[0]+1);
  if (coverId > drawCovers()[1]-1) {
      array = coverPosition(drawCovers()[1]-1);
      array[2] -= 0.0001;
      return array;
  }

  var x, y, z;
  x = Math.abs(coverId);
  y = Math.abs(coverId);
  z = 0;

      x = Math.ceil(x/4) + 1.8;
      y = (Math.abs(coverId)-1) % 8;
      y = Math.min(y, 7-y);
      if (y > 3 || y < 0) {
        x -= 1 - Math.abs(coverId) % 1;
      }
      y = Math.min(y,3);
      y = Math.max(y,0);
      z = -Math.abs(x-1 - 1.8)/5;
      if (Math.abs(coverId) < 1) {
        abs = Math.abs(coverId);
        x = sigmoidInterpolation(abs)*Math.sqrt(abs) * 2.8;
        z = sigmoidInterpolation(1-abs) * 0.4;
      }
      if (coverId < 0) {
        x *= -1;
      }
  x /= 4;
  y /= 4;
  z /= 2.5;
  return new Array(x, y, z);
}

function sigmoidInterpolation(t) {
  t = (t-0.5)*8;
  y = 1/(1 + Math.pow(Math.E, -t));
  return y;
}

// return array is (angle, x, ,y, z) - this rotates
// the cover *angle* degrees around the vector (x,y,z)
// With (0,0,0,0) the cover is parallel to the y-z-Plane
function coverRotation(coverId){
  var angle = 0;
  return new Array(angle, 0, 1, 0);
}

// Sets which point of the cover coverPosition() defines
// (-1,-1) means bottom left, (0,0) means center,
// (1,1) means top right, (0, -1) means bottom center etc.
// The cover is also rotated around this point.
function coverAlign(coverId){
  return new Array(0, -1);
}

// Defines the the size boundaries for the cover.
// Aspect ratio is preserved.
// Return Array is (widht, height)
function coverSizeLimits(coverId){
//  return new Array(1, 1);
  abs = Math.abs(coverId);
  var w, h;
  w = 0.25;
  h = 0.25;
//  w *= 0.999;
//  h *= 0.999;
  if (Math.abs(coverId) < 1){ // The centered cover
      var w, h;
      w = (sigmoidInterpolation(1-abs)*(1-abs) * 0.75)+0.25;
      h = (sigmoidInterpolation(1-abs)*(1-abs) * 0.75)+0.25;
  }
  return new Array(h, w);
}

// Defines the range of covers to draw.
// Return array is (leftmostCover, rightmostCover)
// This interval shouldn't be larger than 80
// The center cover is 0.
function drawCovers(){
  return new Array(-41, 41);
}

// In which direction should the fov be expanded/shrinked
// when the panel is resized?
// If this returns (0,1), the height is fixed.
// If this returns (1,0), the width is fixed.
// You can also return stuff like (0.5,0.5) or (7, 3)
// The values determine how important it is for this
// dimension to stay fixed.
function aspectBehaviour(){
  return new Array(0,1);
}

/************************** CAMMERA SETUP ****************/
// Position of the viewport
function eyePos(){
return new Array(0, 0.42, 1.6);
}
// Defines the point for the eye to look at
function lookAt(){
  return new Array(0, 0.42, 0);
}

// Used to rotate the view.
// The returned Vector points upwards in the viewport.
// This vector must not be parallel to the line of sight from the
// eyePos point to the lookAt point.
function upVector(){
  return new Array(0, 1, 0); 
}

/************************** MIRROR SETUP *****************/
function showMirrorPlane(){
  return true; // return false to hide the mirror
}
// Any Point on the Mirror Plane
function mirrorPoint (){
  return new Array(0, 0, 0);
}
// Normal of the Mirror Plane





function mirrorNormal (){
  return new Array(0, 1, 0);
}

And for the more vertically oriented, try this quick config:

Code: [Select]
// Author: Martin Gloderer
// Description: This is a Chronflow config.


// General Notes:
// Most of these functions return an array with 3 elements
// These are the x,y,z coordinates in 3d-space
// x is left to right
// y is bottom to top
// z is front to back


/************************* COVER DISPLAY *****************/
// These functions define the Display of the single Covers
// The given parameter coverId is a floating point number.
// It is 0 for the center cover, 1 for the one right
// beneath it, -1 for the one on the left side and so on.
// During movement the values float between the integer
// values.
function coverPosition(coverId){
  var x, y, z;
  y = 0;
  z = -coverId/15;
  return new Array(x, y, z);
}

// return array is (angle, x, ,y, z) - this rotates
// the cover *angle* degrees around the vector (x,y,z)
// With (0,0,0,0) the cover is parallel to the y-z-Plane
function coverRotation(coverId){
  var angle = 0;
  angle = 40;
  if (coverId > 0) angle *= -1;
  if (coverId >= 0 && coverId <= 1) {
      angle = 80 * (0.5 - Math.pow(coverId, 6));
  }
  return new Array(angle,1,0,0);
}

// Sets which point of the cover coverPosition() defines
// (-1,-1) means bottom left, (0,0) means center,
// (1,1) means top right, (0, -1) means bottom center etc.
// The cover is also rotated around this point.
function coverAlign(coverId){
  return new Array(0, -1);
}

// Defines the the size boundaries for the cover.
// Aspect ratio is preserved.
// Return Array is (widht, height)
function coverSizeLimits(coverId){
  return new Array(1, 2);
}

// Defines the range of covers to draw.
// Return array is (leftmostCover, rightmostCover)
// This interval shouldn't be larger than 80
// The center cover is 0.
function drawCovers(){
  return new Array(-10, 10);
}


// In which direction should the fov be expanded/shrinked
// when the panel is resized?
// If this returns (0,1), the height is fixed.
// If this returns (1,0), the width is fixed.
// You can also return stuff like (0.5,0.5) or (7, 3)
// The values determine how important it is for this
// dimension to stay fixed.
function aspectBehaviour(){
  return new Array(1, 0.5);
}

/************************** CAMMERA SETUP ****************/
// Position of the viewport
function eyePos(){
return new Array(-0.75, 1.5, 1.5);
}
// Defines the point for the eye to look at
function lookAt(){
  return new Array(-0.15, 0.5, 0);
}
// Used to rotate the view.
// The returned Vector points upwards in the viewport.
// This vector must not be parallel to the line of sight from the
// eyePos point to the lookAt point.
function upVector(){
  return new Array(-0.15, 1, -0.05); 
}

/************************** MIRROR SETUP *****************/
function showMirrorPlane(){
  return true; // return false to hide the mirror
}
// Any Point on the Mirror Plane
function mirrorPoint (){
  return new Array(0.75, 0, 0);
}
// Normal of the Mirror Plane
function mirrorNormal (){
  return new Array(-1, 0, 0);
}

As for feature requests (in increasing order):

As it is now, every single cover has to go the same route.
I tried to track single covers from left to right, but I couldn't find a way to know when a new cover appeared and from which side it did.
Is it possible to implement something to that effect in the API?

And also: (animatable) alpha transparency for covers.

As the last one: a kind of "filter as you type" in the panel to quickly narrow down the sources to those with a matching group-by-string. Getting kind of hard finding anything with a decent number of covers.

Chronflow

Reply #307
Quote
And for the more vertically oriented, try this quick config:


NOOOO!! THiS iS CrAzY MAN !!!!!! it's like vinyl LPs collection!!!...hahaha...very good work!!!..


chronial: please can you add rapid access to albums with A-Z keys like graphical browser component??

Chronflow

Reply #308
This coverflow setup has some other angles, that I've seen in some coverflow screenshots.
Code: [Select]
// General Notes:
// Most of these functions return an array with 3 elements
// These are the x,y,z coordinates in 3d-space
// x is left to right
// y is bottom to top
// z is front to back


/************************* COVER DISPLAY *****************/
// These functions define the Display of the single Covers
// The given parameter coverId is a floating point number.
// It is 0 for the center cover, 1 for the one right
// beneath it, -1 for the one on the left side and so on.
// During movement the values float between the integer
// values.
function coverPosition(coverId){
  var x, y, z;
  y = 0;
  if (Math.abs(coverId) <= 1){ // The centered cover
      z = 4 + 0.51 * (1 - Math.abs(coverId));
      x = coverId * 0.8;
  } else { // The covers on the side
      z = 4 - (Math.abs(coverId)-1) * 0.01;
      x = 0.8 + 0.05 * (Math.abs(coverId)-1);
      if (coverId < 0)
        x *= -1;
  }
  return new Array(x, y, z);
}
// return array is (angle, x, ,y, z) - this rotates
// the cover *angle* degrees around the vector (x,y,z)
// With (0,0,0,0) the cover is parallel to the y-z-Plane
function coverRotation(coverId){
  var angle;
  if (Math.abs(coverId) < 1){ // The centered cover
      angle = coverId * -60;
  } else { // The covers on the side
      if (coverId > 0)
        angle = -60;
      else
        angle = 60;
  }
  return new Array(angle, 0, 1, 0);
}

// Sets which point of the cover coverPosition() defines
// (-1,-1) means bottom left, (0,0) means center,
// (1,1) means top right, (0, -1) means bottom center etc.
// The cover is also rotated around this point.
function coverAlign(coverId){
  return new Array(0, -1);
}

// Defines the the size boundaries for the cover.
// Aspect ratio is preserved.
// Return Array is (widht, height)
function coverSizeLimits(coverId){
  if (Math.abs(coverId) < 1){ // The centered cover
      var w, h;
      w = 1;
      h = 1;
      // Shrinks the centered cover to a height of 1
      if (Math.abs(coverId) > 0.5)
        h = 1 + (Math.abs(coverId) - 0.5)*2;
      // Allows the centered cover to have a width of 2.5;
      if (Math.abs(coverId) < 0.5)
        w = 1 + (0.5 - Math.abs(coverId))*3;
      return new Array(w, h);
  } else { // The covers on the side
      return new Array(1, 2);
  }
}

// Defines the range of covers to draw.
// Return array is (leftmostCover, rightmostCover)
// This interval shouldn't be larger than 80
// The center cover is 0.
function drawCovers(){
  return new Array(-10, 9);
}


// In which direction should the fov be expanded/shrinked
// when the panel is resized?
// If this returns (0,1), the height is fixed.
// If this returns (1,0), the width is fixed.
// You can also return stuff like (0.5,0.5) or (7, 3)
// The values determine how important it is for this
// dimension to stay fixed.
function aspectBehaviour(){
  return new Array(0, 1);
}

/************************** CAMMERA SETUP ****************/
// Position of the viewport
function eyePos(){
return new Array(0, 1.15, 6.1);
}
// Defines the point for the eye to look at
function lookAt(){
  return new Array(0, -1.15, 0);
}
// Used to rotate the view.
// The returned Vector points upwards in the viewport.
// This vector must not be parallel to the line of sight from the
// eyePos point to the lookAt point.
function upVector(){
  return new Array(0, 1, 0); 
}

/************************** MIRROR SETUP *****************/
function showMirrorPlane(){
  return true; // return false to hide the mirror
}
// Any Point on the Mirror Plane
function mirrorPoint (){
  return new Array(0, 0, 0);
}
// Normal of the Mirror Plane
function mirrorNormal (){
  return new Array(0, 1, 0);
}

Chronflow

Reply #309
Greetings

I just switched, or should i say flowed, over from bubbles coverflow to chronials.

The fact that it is highly customizable is really great. But    is it possible
to make one configuration the default one. So that it could not be changed?

I totally messed up the 'standard config'. Unfortunately i'm not that familiar with jscript
and now i'm unable to get it back.

Thanx for your work Chronial.
sometimes it is the best, not to say anything

Chronflow

Reply #310
^Delete the component and start foobar. Don't keep the settings when asked. Close foobar again and put the component back.

Chronflow

Reply #311
@mil3s

Yes. That's right. I know that, but i'm thinking of something more comfortable. 
sometimes it is the best, not to say anything

Chronflow

Reply #312
I think there is a mistake :
In the rename windows of javascript the cancel button is named abbreschen. (so german) I don't know if it is only on my version.

Just a question is it possible when i double click on a cover to play the album in the current playlist instead of replacing the current playlist

I try to do it in choosing play instead of replace playlist but it doesn't work.

If you add this and the antialiasing support your compenent will be perfect

Chronflow

Reply #313
Love this component !!!
Can I suggest having a different topic, where all the Jscript would be exposed ? It'll look clearer than what's here...

Chronflow

Reply #314
I think there is a mistake :
In the rename windows of javascript the cancel button is named abbreschen. (so german) I don't know if it is only on my version.

Just a question is it possible when i double click on a cover to play the album in the current playlist instead of replacing the current playlist

I try to do it in choosing play instead of replace playlist but it doesn't work.

If you add this and the antialiasing support your compenent will be perfect


+1 please, i haven't choice 'Play' in the combobox for double-click settings, just 'Playback/Play' but it doesn't work at all,

thanx by advance

Chronflow

Reply #315
Bug?... If I single click anywhere in the coverflow panel it will freeze for a few seconds. Is this intentional? because it's really annoying.

Chronflow

Reply #316
Quote
Error Msg:
Release of RC failed. (mainWin)
The handle is invalid.

Thanks for information. Will be fixed in next release.

Quote
"Error: Rendering is not fully hardware-accelerated."

Well, that's not good - but it is running fine nonetheless? Then I will turn this into a console message.

Quote
when using the window as a columns UI panel moving it gives me a "ImgTexture Leak:6" error,

Should be fixed in next release.

Quote
When using the component to browse things, stuff that normally updates dynamically (visualizations, seek bar, elapsed time, VBR info) stops and then catches up when the flow panel is settled. Strange conflict!

This is known behaviour. I can't do much about it at the moment, but I will implement tripple buffering in the future - that will fix this problem.


Quote
I've noticed that if I've clicked on the panel and scroll left/right with the keyboard, I can't Ctrl-P to access foobar's preferences!

Reported and fixed


Quote
Also, I noticed that in the "set config name" window, one button says Abbrechen which means Cancel, right?
Yes, thats right - and fixed.


Quote
I am using the album art view as my album art viewer panel thing. Do you think it's possible to display the title if a cover doesn't exist? I tried $if($not($replace(%path%,%filename_ext%,)folder.jpg),%album artist% - %album%,) but that just didn't display in all cases.

Try foo_cwb_hooks (it adds a function $cwb_fileexists(filename)):
http://wiki.bowron.us/index.php?title=Foobar2000:Hooks


Quote
I just had a thought: is the title display was view-specific then you'd be able to display titles how and where you want or not at all depending on the view. I would think that using it as an album art panel, you wouldn't want titles, generally, but in a cover flow type panel, you would. Just a thought and some nitpicking. Overall, I still love this component!
Nice Idea - added to Todo List

Quote
Is it possible to get some nice fade-in and fade-out for covers first and last in the coverflow. Currently if you toggle right the first cover won't totaly disappear until animation is finished. If you toggle left on the other hand the last cover disappear instantly.

You are not supposed to write a config that has covers disappearing on screen. But I added the fade-out to my todo-list.

Quote
And for the more vertically oriented, try this quick config:

HOT . But The shown cover has index -1, not 0 (try enbanling title display and you'll see what I'm talking about)


Quote
As it is now, every single cover has to go the same route.
I tried to track single covers from left to right, but I couldn't find a way to know when a new cover appeared and from which side it did.
Is it possible to implement something to that effect in the API?

I don't quite understand your request, but it is by design that every cover goes the same route. Your JS code isn't called during rendering. It is "compiled" when you click the compile/apply button: I'm generating a table of values for the indexes 0.05, 0.1, 0.15, 0.20, 0.25, 0.3 etc. There are 20 samples between every full index (eg. between 0 and 1), and as many indexes as you requested in drawCovers().
During rendering I do an interpolation between these samples. This has 2 main reasons: 1. It is way faster than calling the JS code during rendering. 2. If there is a error in the JS code (e.g. a division by 0 that only occurs for coverId 5.3524), I suddenly have a exception in the middle of my rendering code that is difficult to handle and difficult to display.
I do not want to change that behaviour, so I guess your request is a no-go.

Quote
And also: (animatable) alpha transparency for covers.

On todo list.

Quote
As the last one: a kind of "filter as you type" in the panel to quickly narrow down the sources to those with a matching group-by-string. Getting kind of hard finding anything with a decent number of covers.

Nice idea, added to todo list


Quote
This coverflow setup has some other angles, that I've seen in some coverflow screenshots.
Really nice - it has a very smooth flow, that I like a lot - i'd like to use this as default for my next release, if this is fine with you.

Quote
The fact that it is highly customizable is really great. But is it possible
to make one configuration the default one. So that it could not be changed?
I thought about that, but that would be quite some UI and coding effort for little use. If you messed up a config and can't get it back, you can just ask here - It is no problem for anybody here to just post the standart config.
But in short: I won't prevent people from doing something obviously stupid (no offense intended).

Quote
Just a question is it possible when i double click on a cover to play the album in the current playlist instead of replacing the current playlist
Yes - have a look at  foo_trackpos - will do just that.

Quote
Bug?... If I single click anywhere in the coverflow panel it will freeze for a few seconds. Is this intentional? because it's really annoying.

No, this is not intentional ^^. Could you please try if it also happens with this older version:
http://chron.visiondesigns.de/foobar2000/f...low_v0.2.0b.zip

Chronflow

Reply #317
^Tried the old version. I get a Runtime error when I restart foobar after set the correct cover directory.

EDIT. Sure, you can use my config.


Chronflow

Reply #319
Could you two please tell me what GPU you are using?

Chronflow

Reply #320
Radeon X1600 SE with Omega drivers version 3.8.442.

I guess you missed my previous post.

Chronflow

Reply #321
Quote
"Error: Rendering is not fully hardware-accelerated."
Well, that's not good - but it is running fine nonetheless? Then I will turn this into a console message.
Yes! I guess I was just afraid of the message and switched back to 0.2.0d

fixed.
Neat

$cwb_fileexists(filename):
http://wiki.bowron.us/index.php?title=Foobar2000:Hooks
I forgot about this function!
Code: [Select]
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),' ',%album artist%$crlf()%album%)
This works a treat! It's gorgeous!

I also got me a bonified crash:
I was trying to figure out why it wasn't displaying an album cover that was 1425x1425, so I resized 499x499 it and renamed it and hit shift-F5 to refresh the whole coverflow view
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 5ED6A21Eh
Access violation, operation: read, address: 00000003h
Call path:
entry=>app_mainloop
Code bytes (5ED6A21Eh):
5ED6A1DEh:  21 00 00 23 D9 8B 86 20 21 00 00 C1 EB 0E 8B 8E
5ED6A1EEh:  48 21 00 00 03 C1 03 D3 8B 8E D8 21 00 00 8B 9E
5ED6A1FEh:  4C 21 00 00 03 D1 8B 8E 28 21 00 00 03 CB 89 86
5ED6A20Eh:  20 21 00 00 89 8E 28 21 00 00 8B 9E 50 21 00 00
5ED6A21Eh:  80 7A 03 00 0F 85 86 00 00 00 8B 86 08 21 00 00
5ED6A22Eh:  8B 9E 0C 21 00 00 8B 8E 10 21 00 00 03 86 EC 20
5ED6A23Eh:  00 00 03 9E F0 20 00 00 03 8E F4 20 00 00 89 86
5ED6A24Eh:  08 21 00 00 89 9E 0C 21 00 00 89 8E 10 21 00 00
Stack (0012F634h):
0012F614h:  E3B1E650 00000000 0000000C BC70F310
0012F624h:  0012FCD0 00009EF5 F38A2B64 BF815DEE
0012F634h:  0012F654 7FFFFFFF 0022A4A8 FFFFFA58
0012F644h:  5ED48B68 0000A16A 0022A4A8 08BBDE80
0012F654h:  0012F680 5ED3E678 0000A16A 08FA32D8
0012F664h:  08FA31D8 00000002 C2540000 43A27F00
0012F674h:  08BBDF00 0000A16A 0000A135 0012F6AC
0012F684h:  5ED91395 0000A135 80000000 3F010000
0012F694h:  08FA32D8 08FA31D8 0022A4A8 0022A4A8
0012F6A4h:  00000001 08FA31D8 0012F6DC 5ED8D66D
0012F6B4h:  08BBDE80 00000001 08BBDF00 08BBDE80
0012F6C4h:  08BBDF80 467FFE00 467FFE00 3F800000
0012F6D4h:  472169FF 5ED91250 0012F710 5ED7C02A
0012F6E4h:  00000000 0023E688 00000004 00000001
0012F6F4h:  0022A4A8 08BBE000 00000001 08BBDE80
0012F704h:  08BBDF00 08BBDF80 08BBE000 0012F740
0012F714h:  5ED7C657 0022A4A8 08BBDE80 08BBDF00
0012F724h:  08BBDF80 08BBE000 08BBDE00 0022A4A8
0012F734h:  0022A4A8 0022A4A8 5ED7BFD2 0012F758
0012F744h:  5ED7DB33 08BBE000 00000000 0022A4A8
Registers:
EAX: 00018000, EBX: 09B826B4, ECX: FFFFFFD8, EDX: 00000000
ESI: 0022A4A8, EDI: 09320508, EBP: 00070141, ESP: 0012F634
Crash location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00523000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                        loaded at 7C800000h - 7C8F5000h
COMCTL32                        loaded at 773D0000h - 774D3000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 77DD0000h - 77E6B000h
RPCRT4                          loaded at 77E70000h - 77F01000h
GDI32                            loaded at 77F10000h - 77F57000h
USER32                          loaded at 7E410000h - 7E4A0000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
SHELL32                          loaded at 7C9C0000h - 7D1D7000h
ole32                            loaded at 774E0000h - 7761D000h
shared                          loaded at 10000000h - 1002A000h
COMDLG32                        loaded at 763B0000h - 763F9000h
IMM32                            loaded at 76390000h - 763AD000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
MSCTF                            loaded at 74720000h - 7476B000h
msctfime                        loaded at 755C0000h - 755EE000h
foo_abx                          loaded at 00AA0000h - 00AD3000h
foo_albumlist                    loaded at 00AE0000h - 00B47000h
foo_audioscrobbler              loaded at 00B70000h - 00BA0000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_bubble_coverflow            loaded at 00BC0000h - 00C46000h
OPENGL32                        loaded at 5ED00000h - 5EDCC000h
GLU32                            loaded at 68B20000h - 68B40000h
DDRAW                            loaded at 73760000h - 737A9000h
DCIMAN32                        loaded at 73BC0000h - 73BC6000h
gdiplus                          loaded at 4EC50000h - 4EDF3000h
foo_cdda                        loaded at 06C80000h - 06CB5000h
foo_cdtext                      loaded at 06CE0000h - 06D09000h
foo_chronflow                    loaded at 06D30000h - 06D92000h
WINMM                            loaded at 76B40000h - 76B6D000h
OLEAUT32                        loaded at 77120000h - 771AB000h
foo_converter                    loaded at 06E40000h - 06EA9000h
foo_cwb_hooks                    loaded at 06ED0000h - 06F1C000h
foo_dsp_std                      loaded at 06F40000h - 06F88000h
foo_facets                      loaded at 06FB0000h - 07031000h
MSIMG32                          loaded at 76380000h - 76385000h
foo_fileops                      loaded at 07060000h - 070A6000h
foo_freedb2                      loaded at 070D0000h - 07111000h
foo_input_monkey                loaded at 07140000h - 0718A000h
foo_input_shorten                loaded at 071B0000h - 071DD000h
foo_input_std                    loaded at 07200000h - 07328000h
foo_masstag                      loaded at 07350000h - 073A0000h
foo_out_ks                      loaded at 073C0000h - 073EA000h
SETUPAPI                        loaded at 77920000h - 77A13000h
foo_playcount                    loaded at 07410000h - 07435000h
foo_rgscan                      loaded at 07460000h - 074BA000h
foo_uie_albumart                loaded at 074E0000h - 0751D000h
foo_uie_albumlist                loaded at 07540000h - 07583000h
foo_uie_tabs                    loaded at 075B0000h - 075DA000h
foo_uie_vis_peakmeter_spectrum  loaded at 07600000h - 0763F000h
foo_ui_columns                  loaded at 07660000h - 07779000h
foo_ui_std                      loaded at 077A0000h - 07861000h
foo_unpack                      loaded at 07890000h - 078BD000h
foo_vis_screensaver              loaded at 078E0000h - 0790B000h
foo_vis_shpeck                  loaded at 07930000h - 07959000h
MSVCR80                          loaded at 78130000h - 781CB000h
vis_milk2                        loaded at 07FA0000h - 084E9000h
NSCRT                            loaded at 7C340000h - 7C398000h
CLBCATQ                          loaded at 76FD0000h - 7704F000h
COMRes                          loaded at 77050000h - 77115000h
VERSION                          loaded at 77C00000h - 77C08000h
msscript                        loaded at 6B980000h - 6B999000h
vbscript                        loaded at 73300000h - 73365000h
jscript                          loaded at 63380000h - 633F8000h
xpsp2res                        loaded at 20000000h - 202C5000h
SXS                              loaded at 75E90000h - 75F40000h
nbicdnt                          loaded at 69500000h - 695E2000h
d3d9                            loaded at 4FDD0000h - 4FF76000h
d3d8thk                          loaded at 6D990000h - 6D996000h
usp10                            loaded at 74D90000h - 74DFB000h
events                          loaded at 16000000h - 16028000h
MSVCR71                          loaded at 09690000h - 096E6000h
mswsock                          loaded at 71A50000h - 71A8F000h
DNSAPI                          loaded at 76F20000h - 76F47000h
rasadhlp                        loaded at 76FC0000h - 76FC6000h
hnetcfg                          loaded at 662B0000h - 66308000h
wshtcpip                        loaded at 71A90000h - 71A98000h
netapi32                        loaded at 5B860000h - 5B8B4000h
appHelp                          loaded at 77B40000h - 77B62000h
ieframe                          loaded at 42EF0000h - 434BD000h
PSAPI                            loaded at 76BF0000h - 76BFB000h
iertutil                        loaded at 42990000h - 429D5000h
urlmon                          loaded at 42CF0000h - 42E17000h
Secur32                          loaded at 77FE0000h - 77FF1000h
DSOUND                          loaded at 73F10000h - 73F6C000h
WINTRUST                        loaded at 76C30000h - 76C5E000h
CRYPT32                          loaded at 77A80000h - 77B14000h
MSASN1                          loaded at 77B20000h - 77B32000h
IMAGEHLP                        loaded at 76C90000h - 76CB8000h
wdmaud                          loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                          loaded at 73EE0000h - 73EE4000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 5ED48B68h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED3E678h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED91395h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED8D66Dh, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED91250h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED7C02Ah, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED7C657h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED7BFD2h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED7DB33h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED7E63Ch, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 004AFB30h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00461D20h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004656AAh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00454BDBh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 5ED7FDC3h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED802C9h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED7EE6Eh, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5EDA01BAh, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED9E31Dh, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED9D111h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED9CAB4h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 5ED1C5C0h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglGetProcAddress" (+0000021Eh)
Address: 5ED1ADADh, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapMultipleBuffers" (+00000450h)
Address: 06D5B98Ah, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D82E20h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D31194h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D7007Ch, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D6463Fh, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D3A642h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D82E20h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 5ED19B20h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapLayerBuffers" (+000007CBh)
Address: 5EDA5F0Ch, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Address: 7C90E10Eh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "NtQueryPerformanceCounter" (+0000000Ch)
Address: 7C80A43Bh, location: "kernel32", loaded at 7C800000h - 7C8F5000h
Symbol: "QueryPerformanceCounter" (+00000014h)
Address: 06D5CE81h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D82E20h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E41BF78h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "RedrawWindow" (+0000000Ch)
Address: 06D5CFFBh, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D5D010h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D82E20h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D3A816h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D82E20h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D3AA71h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E418BD9h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowThreadProcessId" (+00000159h)
Address: 7E418B26h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 7E4188DAh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7C9106ABh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+000000D7h)
Address: 7E4188E0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000003Ah)
Address: 06D3AB1Ah, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D82E20h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E41F896h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "CallNextHookEx" (+0000003Bh)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41C63Fh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "IsWindowUnicode" (+000000A1h)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E41C665h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "CallWindowProcW" (+0000001Bh)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 5ED2699Bh, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000002F7h)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41F808h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "EnableMenuItem" (+00000081h)
Address: 06D3AAC0h, location: "foo_chronflow", loaded at 06D30000h - 06D92000h
Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000006Dh)
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+0000014Fh)
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetDC" (+00000169h)
Address: 7E41B4C0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E41F7F6h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "EnableMenuItem" (+0000006Fh)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E41B4D0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 7E41B50Ch, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E41F94Bh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "CallNextHookEx" (+000000F0h)
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 5ED26780h, location: "OPENGL32", loaded at 5ED00000h - 5EDCC000h
Symbol: "wglSwapBuffers" (+000000DCh)
Address: 7E41B473h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 7E4194D2h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongA" (+00000075h)
Address: 7E41B530h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DefWindowProcW" (+000001F4h)
Address: 7E41DAEAh, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 7E42D950h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "IsDialogMessageW" (+0000008Eh)
Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 7E4189F0h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 7E418A10h, location: "USER32", loaded at 7E410000h - 7E4A0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 0042C283h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 10002638h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000C8h)
Address: 0042CE06h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004C629Ch, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004C6280h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004C6280h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0042068Ch, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004D4B70h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 0049B8A1h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 7C90E027h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "ZwQueryInformationProcess" (+0000000Ch)
Address: 10002638h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000C8h)
Address: 004CB9A4h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004B7398h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0042D04Bh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049EA9Eh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049BE81h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049BE7Bh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004BE560h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004BC3F0h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049DA60h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049BE7Bh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049BE8Fh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004BC3F0h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004B77C7h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049D80Fh, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004A5326h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 0049DA60h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 7C816FD7h, location: "kernel32", loaded at 7C800000h - 7C8F5000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C839AA8h, location: "kernel32", loaded at 7C800000h - 7C8F5000h
Symbol: "ValidateLocale" (+000002B0h)
Address: 7C816FE0h, location: "kernel32", loaded at 7C800000h - 7C8F5000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 0049D87Ah, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00500069h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00500069h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 00500069h, location: "foobar2000", loaded at 00400000h - 00523000h
Address: 004D002Eh, location: "foobar2000", loaded at 00400000h - 00523000h

Version info:
foobar2000 v0.9.5.1
UNICODE
Windows 5.1


Additional info:
Monkey's Audio decoder 2.1.2  (foo_input_monkey)
Album List 4.2  (foo_albumlist)
ReplayGain Scanner 2.0.3  (foo_rgscan)
Shorten decoder 0.4.2.1  (foo_input_shorten)
Screen Saver Visualisation 1.1  (foo_vis_screensaver)
cwbowron's title format hooks 1.2.6 [Jan  2 2008 - 15:50:05]  (foo_cwb_hooks)
ZIP/GZIP reader 1.0  (foo_unpack)
RAR reader 1.1  (foo_unpack)
Kernel Streaming Output 1.2.2  (foo_out_ks)
Standard DSP Array 1.0  (foo_dsp_std)
Audioscrobbler 1.3.15  (foo_audioscrobbler)
Columns UI 0.3 beta 1 preview 4  (foo_ui_columns)
Album Art Panel 0.2.7.1  (foo_uie_albumart)
foobar2000 core 0.9.5.1  (Core)
Tagger Panel Window 1.0.6 [Jan  2 2008 - 15:50:49]  (foo_cwb_hooks)
Tabbed panel modified 0.2.5  (foo_uie_tabs)
CD-TEXT Reader 0.2  (foo_cdtext)
Album list panel 0.2.3 beta  (foo_uie_albumlist)
Masstagger 1.6  (foo_masstag)
Coverflow pannel 0.2.1  (foo_chronflow)
Default User Interface 0.9.5  (foo_ui_std)
File Operations 2.1  (foo_fileops)
Playback Statistics 2.0  (foo_playcount)
Converter 1.1  (foo_converter)
Shpeck - Winamp vis plugins wrapper 0.2.2  (foo_vis_shpeck)
Standard Input Array 1.0  (foo_input_std)
CD Audio Decoder 2.1.2  (foo_cdda)
freedb Tagger 0.5.2.1  (foo_freedb2)
Peakmeter Spectrum Visualisation 0.1.0.2 beta  (foo_uie_vis_peakmeter_spectrum)
Cover Flow 0.18  (foo_bubble_coverflow)
Facets 2008-02-25  (foo_facets)
ABX Comparator 1.3.1  (foo_abx)


Chronflow

Reply #322
...
Quote
Just a question is it possible when i double click on a cover to play the album in the current playlist instead of replacing the current playlist
Yes - have a look at  foo_trackpos - will do just that.
...


thanx, it does the job

i have another request that i think would interest most of users :

adding the possibility to show cover now playing not after a period of inactivity like you permit it but by using a command (using a button under panelsUI for example) or by using a command to affect to the double-click or middle-clik...

waiting 5 or 10 seconds to show now playing cover is very long and 2 or 3 seconds to short to let me browse my collection with the coverflow ...

what do you think about this ? possible to add on the todo list ?

thanx by advance

Chronflow

Reply #323
Press F6

I will add buttons in the future that let you do that - but till then the keyboard shortcut should be enough

Quote
Radeon X1600 SE with Omega drivers version 3.8.442.

I guess that's the problem. I use an opengl feature that no game is using. (OpenGl allows me to get the element under the cursor by rendering a hidden frame - that's perfect for me, since it is very easy to implement and 100% accurate, but that's absolutely unusable for a game). These "gaming drivers" might not implement that correctly.

Quote
I also got me a bonified crash:
I was trying to figure out why it wasn't displaying an album cover that was 1425x1425, so I resized 499x499 it and renamed it and hit shift-F5 to refresh the whole coverflow view

Do you still get this crash after a restart or was this the only instance? Please send me the two files (the full sized and the resized version).

Chronflow

Reply #324
[quote name=\'Chronial\' post=\'555907\' date=\'Mar 30 2008, 21:44\']
Press F6

I will add buttons in the future that let you do that - but till then the keyboard shortcut should be enough

[/quote]

ok, i hope button will comme very soon 

[quote name='Falstaff' date='Mar 30 2008, 21:30' post='555906']
[quote name='Chronial' post='555892' date='Mar 30 2008, 20:06']
...
Quote
Just a question is it possible when i double click on a cover to play the album in the current playlist instead of replacing the current playlist
Yes - have a look at  foo_trackpos - will do just that.
...
[/quote]

thanx, it does the job

yes, but it modify playlist order and that is not clean

i hope you'll add 'Play' Command for double-click soon 

thanx for help