Help - Search - Members - Calendar
Full Version: 3D Album Cover Viewer
Hydrogenaudio Forums > Hosted Forums > foobar2000 > General - (fb2k)
ghost note
Title : Is it possible to realize extend foobar by such a nice, interactive feature ?
Sub-title : I'm really eager on such a feature and would like to put my (megalomaniac ? ;D) vision into action...

both titles were to long and can't be edited, thus the cut...

EDIT: Thank you for editting, Gambit, couldn't have done it any better wink.gif ...
Gambit: Heh, wasn't me, I think it was foosion. smile.gif




Hi folks, biggrin.gif

Folks, I'm carrying a vision along with me for a long time, now. And it's time to start evaluating, if
something like this is remotely anyhow possible to realize:

I'm daydreaming of a foobar component, which provides foobar with a kind of interactive visualisation.
It's a textureless cuboid in shape of an ordinary jewel case.
As indicated by the description, it's 3-dimensional and - this is the interactive component - the user
can turn it around and view it from all possible angles.

Well, not very interesting til now, isn't it ?
BUT would it still be uninteresting, if the foobar component additionally provides the sides of the cuboid
with textures, naming COVERS, assuming that one has done scans of all sides of the original cover and
stored them somewhere, where the foobar component could have access these type of additional album
info ? ^^ To illustrate it, this is how it should look like for foobar users: >>>>

But with one difference, it should be able to turn and rotate this - now textured - cuboid really in a way,
so that you can view it from everywhere in every possible position, and not with one fixed axis.

Furthermore I guess, that the example either was done with a 3d-scanner, or it's a very well worked-out
simulation. Both assumptions have in common, that they are out of question for application:
  • The first one due to the horrendous prizes of 3d-scanners (~10.000 €, not even $, and we can proceed talking about it) and date volume
  • And the latter one due to not matching this vision of bringing a CD to all scales closer together to a foobar user and, also pretty weightily, effort involved with creating every single 3d-cover manually
This is why I currently take the view, that - if, at all - this only would be possible by the cuboid solution:
It minimizes effort for end-user, data volume and is based on original HQ-scans for 'maximum digital
original-CD experience' (assuming you attatch importance to your scans ^^ ) . Additionally I think it
should be doable for current hardware to illustrate something like that - comment from auther of this
thread: 'Hey, what are you expecting ?! It's late spring 2006 ! Standard games are using millions of
polygones including various pipeline passings with dozens of vertex- and pixel shaders ! Compared to
that the calculation effort, which my vision involves, is more than modest ! ^.^ '
If I am mistaken, and there are other, better approaches, please tell me.

Questions:
  • 1. Is this anyhow possible to realize for foobar SDK ?
  • 2. And if yes how ? How could one approach this ? How to deal with this emerging cover store issue ? - Keep in mind, that really every outer side of the cover needs to be scanned.
  • 3. I don't have that much programming experience - your assumption, is this a complex, great programming effort, or pretty simple ?
  • 4. Are their any guides for beginners, which
    • approach the reader to how to handle foobar SDK
    • building the fundament for knowing, which is within the range of possibilities with this SDK
    • sketching how to deal with graphic/3d issues like this one
    • what programming languages the foobar SDK is based on
      ???

      (sry, for this nooby questions, but I didn't dealt with foobar SDK and real programming so far, I just did
      some html years ago... but I am willing to learn what is possible for putting my aims into action, and if it takes years to know what's the deal ! )
  • 4. I guess, that such a cuboid textured with pixel graphics (the covers) involves, that the cpu (or foobar ?) always needs to calculate how the three visuable sides of the cover would look like from the certain angle the user is viewing at the 3d-cover in real time, but that wouldn't be a worth-mentioning obstacle, would it ?
  • 5. Does anything else need to be cleared, which I ignored so far ?
  • [ 6. In case I can forget to realize it for fb2k, do you have an idea how to realize this concept
    externally ? ]
david_dl
It's certainly possible, it wouldn't even be that hard to code, just a simple panel that draws using OpenGL or directx. CPU usage would be minimal too, as it would only have to be redrawn when something changed.

However, scanning the covers would be hard (thinking of the spine part here.) Someone who wanted to use this would have to put a lot of work into scanning every cd perfectly.

I'm more interested in being able to read the booklet insert thingies, and look at the tracklisting/art on the back but I can already do that quite well using the "Next Source" function in album art.
foosion
Just to answer some questions:
  • The foobar2000 SDK is written in C++.
  • There are a couple of tutorial components available (general, DSP, input), see the the development forum.
  • Locating images based on a track is entirely possible, see the Album Art Panel (foo_uie_albumart).
  • Displaying a textured box is a very basic application of 3D graphics.
  • There are a lot of books and internet sites dedicated to (learning) 3D graphics; this is not something that is covered on the foobar2000 forum.
ghost note
GOOD ! Seems to be my day. Mh, that feels good ! IPB Image
Thank you for support, you helped me to make my vague plans a bit more
concrete and sorry for the nooby questions, again. IPB Image
I know, I'm pretty hasty when it comes to discovering new areas for me. IPB Image
Unfortunally I've noticed the developer-section too late, also sry for this...


I guess the sequel question to this issue has already been cleared then, as well.
Next step would be to focus on extending such a component by a zoom-function.
Of course, you know that scans are pretty huge, bigger than the actual covers.
This accomodates an implementation of zoom-function based on pixel-textures, as
this issue involved with zooming into pixel-textures, which look terrible then,
don't occure:
Maximum zoom-factor - Scan size
Default zoom-factor - ratio of 1:1 (physical original-CD <-> digital original-CD)
Minimum zoom-factor - a handy size like the actual size of album front covers in foobar

But an implementation of a zoom-function would definitly not be part of v1.0... keep in mind,
that I'm a noob according to programming ^.^ ...

*proceed daydreaming*... and v3.x would finalize this foobar component by simulating
a 'real' jewel case including reflextions for the clear parts of it and bump mapping for
the checkered parts of it. :D


@ david_dl:
Yeah, that's true. But what you get for investing effort is worth it. IPB Image
And you know what ? I share your wish according to displaying booklets and I
definitely will implement this feature, as well ! ... somehow... well actually it
ain't that hard, if it's both functions, the 3d album cover view and a simulation of
the booklet are seperated parts, or even seperated .dll-files.
That could be a nice challange for v4.0:
Extending interactiveness by enabling users to open the cover and taking either
the CD or the booklet out of the jewel case :O ...
But you can be pretty confident, that one day foobar will support a booklet view,
this ain't a big deal, I guess >.>' ...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.