Author Topic: 3DBee (Cover Flow) Plugin  (Read 26810 times)

BoringName

  • Full Member
  • ***
  • Posts: 209
When I tried a second time it appeared under the files element. The two-headed 'resize' arrow shows at the bottom of the 3DBee panel, but not at the top. Moving the panel back to floating and trying again threw the same error and on the next attempt it appeared where wanted. But still couldn't move the top edge.

Hmm. that seems to be an issue moving it from the floating window to somewhere else. If you remove it from the floating window, click apply, then move it to under the files element it will work without error. Once it's in the bottom of the main panel you should be able to adjust the height, if not try restarting musicbee. If that doesn't work I'm out of ideas, I have 2 test systems here and it's working on both installed versions and the portable version I setup this morning...

There is definitely an issue when you move 3DBee around different panels constantly. I couldn't find the cause. You will see the artist and album fonts will go janky or disappear. Once musicbee is restarted it works fine again. I'm hoping when I re-code all the font handling that it fixes it. It's only an issue when moving the panel around, once its where you want it everything should work.

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9353
When I tried a second time it appeared under the files element. The two-headed 'resize' arrow shows at the bottom of the 3DBee panel, but not at the top. Moving the panel back to floating and trying again threw the same error and on the next attempt it appeared where wanted. But still couldn't move the top edge.
Ok ... when I shut down MB and restarted, I still get the error reported previously when moving 3DBee to the main panel. After second attempt there was no error, and the top resize cursor appeared. I was able to increase the height, and put it in a floating panel.

Thanks again
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here

BoringName

  • Full Member
  • ***
  • Posts: 209

Ok ... when I shut down MB and restarted, I still get the error reported previously when moving 3DBee to the main panel. After second attempt there was no error, and the top resize cursor appeared. I was able to increase the height, and put it in a floating panel.

Thanks again

Sorry it was so complicated. I really don't know why the panels seem to behave differently in terms of sizing. I'm not sure if it's an issue with my code, an issue with Musicbee or just because of the way I nested the elements to make it work.

MotleyG

  • Full Member
  • ***
  • Posts: 144
Got it working, it looks really awesome. I put it above the Playing Tracks list on the left for now. Not sure if that is where it will stay though. Thanks for this!

BoringName

  • Full Member
  • ***
  • Posts: 209
New version 1.1 available for download on the addon page.
- Fixed a bug when a radio station is queued.
- Set the configure form to auto close after clicking save or reset defaults.
- Added a version number to the bottom of the configuration form.
- added readme.txt file to the zip file.
- Better handling of missing folders and notifies the user where the persistent storage folder is located if the skins folder is missing.
- Fixed a bug with the portable version not saving the settings file initially.

I'm trying to be careful to not rush things out. Hopefully these changes don't break anything else...

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9353
Nice progress, BoringName.

Using 1.1 I notice that when restarting MB, the choice of Flow does not remain consistent. I'm using Circle for Flow and  Vista Classic for skin. When I close and then reopen MB, Vista Classic for skin is still there, but the Flow is now set to Vista. I would think the user's selection for those two options would remain persistent between restarts.

Thanks.
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here

BoringName

  • Full Member
  • ***
  • Posts: 209
Nice progress, BoringName.

Using 1.1 I notice that when restarting MB, the choice of Flow does not remain consistent. I'm using Circle for Flow and  Vista Classic for skin. When I close and then reopen MB, Vista Classic for skin is still there, but the Flow is now set to Vista. I would think the user's selection for those two options would remain persistent between restarts.

Thanks.

Go the skin folder you copied over during install. It's inside the 3DBee folder.
3DBee\skin\Vista Classic and open the skin.ini file in this folder.
Change
Code
favoriteplugin = Vista
to
Code
favoriteplugin = Circle

edit: I know its a bit janky when switching skins changes the flow automatically but I envisioned some people may setup multiple skins and want different flows for each. Maybe different users or just change based on their mood/day of the week or however they happen to be using musicbee that day..So it's less clicks for them once it's setup correctly. And it's easily solved by just setting the favoriteplugin field in the ini file.

I do have plans to make the skin configuration editable in the UI instead of having to edit the ini file manually.
Last Edit: January 28, 2023, 12:06:38 AM by BoringName

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9353

Go the skin folder you copied over during install. It's inside the 3DBee folder.
3DBee\skin\Vista Classic and open the skin.ini file in this folder.
Change
favoriteplugin = Vista
to
favoriteplugin = Circle
That worked. Thank you.

Now for a wish list item ... I have over 3100 albums (over 42,000 tracks) in my library. I certainly understand the drawbacks of loading the entire library into 3DBee. I currently have it set to the default 50. But since my albums/tracks are often played on shuffle, it takes a bit of time for the flow to catch up with the playing track. I don't know if it's possible, but could there be an option to buffer the tracks in a playlist? Once one track in a playlist is played, the rest of artwork in that playlist gets buffered. My thinking for this is that it will still take less time to flow from image to image than it currently does with a buffer of 50 because the 50 that are buffered have a less likely chance of being the next track played. Again, I don't know if something like this is possible so I'm just throwing it out there.
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here

BoringName

  • Full Member
  • ***
  • Posts: 209
Now for a wish list item ... I have over 3100 albums (over 42,000 tracks) in my library. I certainly understand the drawbacks of loading the entire library into 3DBee. I currently have it set to the default 50. But since my albums/tracks are often played on shuffle, it takes a bit of time for the flow to catch up with the playing track. I don't know if it's possible, but could there be an option to buffer the tracks in a playlist?

Buffering a playlist is a great idea. I've added that to the list.

There is no easy way to handle that size collection. I had considered setting up some kind of blurred animation where it immediately jumps to within range of the selected album instead of the prolonged scrolling that occurs. So you still get the animation effect as it slows down and see the covers leading up to the selected album but won't have the prolonged scrolling.  I think that will be a better option for large collections and shouldn't be too hard to implement.

I do need to optimize the openGL code as it's slower than it should be but even if it was capable of loading all the covers while scrolling to the next album, with a collection that size you would be thrashing the HDD just to see a blurry cover speed by, it would be pointless.

kaivsdoom

  • Jr. Member
  • **
  • Posts: 20
Please help me, I can't go any further.
it doesn't seem to be working for me. it looks like 3DBee isn't getting access to the covers. Everything else is working.
Attached are screenshots...
Thanks so much :)

https://imgur.com/a/LwzZHCQ

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9353
Buffering a playlist is a great idea. I've added that to the list.
Great! Adding to this, in addition to buffering the playlist, can it also buffer the current Now Playing list? My thinking is that is another way to speed up the caching/buffering of the "available" artwork.

There is no easy way to handle that size collection. I had considered setting up some kind of blurred animation where it immediately jumps to within range of the selected album instead of the prolonged scrolling that occurs. So you still get the animation effect as it slows down and see the covers leading up to the selected album but won't have the prolonged scrolling.  I think that will be a better option for large collections and shouldn't be too hard to implement.
I think this is a brilliant idea. If you could implement this, then you wouldn't need to to buffer the Play/Now Playing Lists as I suggested.

I certainly don't have one of the larger collection among MB users. I've seen someone report have over 600,000 tracks. (There's a thread for this if you're interested.) I do offer up my collection to help you test my suggests if you'd like. Feel free to PM beta versions of the buffering changes and I'll report back.

One other Wishlist item - when 3DBee starts it's always on the first (alphabetical) album in the collection. Can it either pick a cover randomly, or show the artwork for the last album/track played.

Now, on to what might possibly be a bug. Or a need for improvement. I have a number of compilation albums. When playing one of them, or even one track from a compilation, 3DBee shows the artist of the first track even if that's not the track that's playing. Perhaps use Album Artist instead of Artist so in a compilation case, it will show "Various Artists" or whatever the user has tagged the Album Artist.
Last Edit: January 28, 2023, 01:30:17 PM by phred
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here

hiccup

  • Sr. Member
  • ****
  • Posts: 7880
1.
I haven't tested it thoroughly, but am I correct to think that it will always show all albums in a library?
If so, wouldn't it be better if it followed any filtering in place?

2.
About having it matching a chosen skin:
Would it be an option to have the background adapt to the panel background of a skin?
(I think I used transparency for my 'classical embedded' Theater Mode for that)
And if the fonts would also follow the font colour of the active skin, I think it would be looking great in most cases.
(but that's surely a personal matter, I myself don't care much about funny or stylised backgrounds or reflections)

3.
While the image is in motion I am noticing some hard borders around the albumart. (I'm sure there is a better description than 'hard borders' for that)
Would anti-aliasing be an option to improve on that a bit?

4.
Impressive work and dedication!

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9353
1.
I haven't tested it thoroughly, but am I correct to think that it will always show all albums in a library?
If so, wouldn't it be better if it followed any filtering in place?
Yes, this could go along with my suggestion to only cache the current playlist and the now playing list.
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here

boroda

  • Sr. Member
  • ****
  • Posts: 4609
BoringName, i've installed plugin, it's initialized without exceptions, i can access plugin settings in mb prefs, can add plugin panel to mb main view, but plugin panel is empty (nothing is displayed, but solid background color), and right-clicking on panel does nothing. there is nothing in mb log.

win 10 22h2, portable mb 3.5.8425 P

I'll have a play around with the add plugin function and see if I can simplify the install process.

I hadn't tested it on the portable version. I got it working but there is a strange quirk that I'm not sure of the cause. I'm going to assume you have the DLL's and 3DBee folder in the right place.

The issue I found is the settings file located at MusicBee\AppData\3DBee\mb_3DBee.Settings.xml was created but wasn't getting saved to. The fact it gets created tells me the paths are correct so I'm not sure what's happening there. Maybe the portable version doesn't trigger the closing event I use to trigger a save.....

Anyway, the solution is to go to Edit Preferences->Plugins-> configure button for 3DBee, click the save settings button. Remove 3DBee from any panels. Restart musicbee, add 3DBee to a panel, it should come up but if it doesn't give Musicbee another restart and it should work then.

edit: The other cause of a blank window is not being able to find the 3DBee\skins folder. I need to change it to display a message if it can't find it. Based on my install you need to make sure the following folder exists and contains at least the Coverflow folder. MusicBee\AppData\3DBee\skin
plugin successfully writes file "MusicBee\AppData\3DBee\mb_3DBee.Settings.xml". folder "MusicBee\AppData\3DBee\skin" is in place. all 4 skins are located in this folder. i've updated plugin to version 1.1, removed plugin panel, restarted mb, and added plugin panel again. nothing helps.

interesting that plugin floating panel title shows currently playing track name (and this track name in panel title is changed on playing another track). but panel content is always empty.

BoringName

  • Full Member
  • ***
  • Posts: 209
Attached are screenshots...

I've never seen that particular problem in all my testing. Usually it's the artist/album info or scrollbar that disappear, not the artwork.
If you haven't already, restart musicbee.
Go to the musicbee menu->Help->Support->View Error Log and see if there is a recent error. If there is paste it here.
What format are your artwork files?

Great! Adding to this.

Buffering the queue list should be possible.
Keeping track of the last displayed cover is on the list for the next startup.
Handling various artist albums better is on the list. I think I will just revert to using album artist, I believe if that field is blank Musicbee will return the artist by default anyway. That seems to be the case when you add the "album artist" column to the files element.

1.
I haven't tested it thoroughly, but am I correct to think that it will always show all albums in a library?
If so, wouldn't it be better if it followed any filtering in place?
That's how it currently behaves. Obeying any filtering in place is on the to do list.
2.
Would it be an option to have the background adapt to the panel background of a skin?
And if the fonts would also follow the font colour of the active skin,
The context menu background and font should already follow the colour of the active skin. Although I haven't tested the font out. It's set to follow the foreground colour of the TrackandArtistPanel which I think sets the font colour. I could add an option in the skin.ini file to create a background that matches the current skin.
3.
While the image is in motion I am noticing some hard borders around the albumart. (I'm sure there is a better description than 'hard borders' for that)
Would anti-aliasing be an option to improve on that a bit?
There is some anti-aliasing done with OpenGL settings that I have on but it's not that great. Higher resolution artwork does reduce the jaggies. There is methods I can implement to do my own but it's not trivial (at least not for me) so it's going to sit in the too hard basket for a while.
4.
Impressive work and dedication!

Thanks! It took a while to get there but I was pretty happy when that first screen loaded up successfully in Musicbee.

plugin successfully writes file "MusicBee\AppData\3DBee\mb_3DBee.Settings.xml". folder "MusicBee\AppData\3DBee\skin" is in place. all 4 skins are located in this folder. i've updated plugin to version 1.1, removed plugin panel, restarted mb, and added plugin panel again. nothing helps.

interesting that plugin floating panel title shows currently playing track name (and this track name in panel title is changed on playing another track). but panel content is always empty.

It's a strange one. Is there anything in the error log?

Also the panel title on the floating panel doesn't show the currently playing track for me. It just says 3DBee all the time for me.  I was wrong, it does change for me but it still could be a conflicting plugin so it's worth checking that out.

That may be Kaivsdoom's problem also.
Last Edit: January 28, 2023, 09:57:07 PM by BoringName