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

BoringName

  • Full Member
  • ***
  • Posts: 231
I haven't submitted the addon yet. There is a lot to unpack so I wanted to have this page up first to link to. I'll submit it when I'm done here.

It's now available - https://www.getmusicbee.com/addons/plugins/481/3dbee/

First off some credits. This is based on the source code from a program called CoverJuke by Mikaël Le Berre.

It was written in C++ and I planned to just translate it to C# but I ended re-writing most of it as the code is quite outdated. But the formulas that make the covers spin around are all the original author and this plugin would not have happened without that source code to base it off.

I also used some icon artwork from hiccup in the Musicbee skin I created and the plugin icon I'm going to use on the addon page.

Installation


Make sure you are on Musicbee version 3.5.8402 or later. It will not work on earlier versions.
The zip contains 4 x DLL files and a "3DBee" folder. The "3Dbee" folder needs to go into the persistent storage folder of Musicbee, the plugin will not work without this folder present.
On my computer its in C:\Users\BoringName\AppData\Roaming\MusicBee

If you are not sure, it should be the same folder the Musicbee settings file is in, so just search for MusicBee3Settings.ini and place the 3DBee folder in the same folder.

Place the DLL files in the usual plugin folder, something like C:\Program Files (x86)\MusicBee\Plugins

When you first open Musicbee you may have to enable the plugin before you can see it in the arrange panels section. Edit Preferences->Plugins and click enable for 3DBee. Hopefully it works. There is a configuration button here that displays some settings, I will go through that later.

Once enabled, go to View->Arrange Panels. There should be a 3dbee element on the right hand side that you can drag to any panel you want. When placed in certain spots, the height cannot be adjusted, eg) the top panel or above the files element in the main panel. This patched version allows 3DBee to be resized when placed above the files element in the main panel - https://getmusicbee.com/patches/MusicBee35_Patched.zip
 I tried implementing a way to set the height but they all caused graphical issues. The easiest way is to place the 3dbee element in a spot that lets you set the height, like under the files element in the main panel. Adjust the height to what you want and then place it back to the original location, it will maintain the adjusted height.
When moving the element around to different panels, you may notice the track and artist info will disappear or start displaying gibberish. I'm not sure on the cause of this but just restarting Musicbee will fix it. It's only a problem when moving the panel around to different places. Better font handling is on the to do list.

Settings

Edit Preferences->Plugins-> configure button under 3DBee will give you access to most of the 3DBee settings. There are also skin settings I will go through later.

Move flow when playing track changes - When enabled the flow will navigate to the album cover of the current track playing.
Move flow on selection - When enabled the flow will navigate to the album cover of the song you selected in the main file list. If you select multiple files it just goes to the first one in the selection.
Use Musicbee no image artwork - When enabled, albums without cover art will display with Musicbee's no cover artwork. When disabled it uses the nocoverCD.jpg/nocoverCD.png file located in the currently active skin folder.
Disable no artwork image - When set, albums without artwork will not display an image in the flow, it will just leave an empty gap. It will also leave you with an empty screen if the flow is moving too fast to load the images, more on that in the how it works and limitations section below.
Use Musicbee default Font - When enabled 3DBee will use whatever font is currently set in MusicBee. This setting overrides any font names listed in the 3DBee skin configuration file.
Use Musicbee foreground colour for progress bar - When enabled the progress bar "should" be the same colour as the current Musicbee text. This overrides the current 3DBee skin configuration settings.
Maintain Cover Aspect Ratio - When enabled, covers will be displayed with their current aspect ratio. This can look a little janky if covers are inconsistent sizes. But so do distorted covers...
View Scrollbar - Sets the visibility of the scrollbar.
Mouse scrolling - Enables the flow to be swiped across with the mouse (like swiping with your finger). It's a bit clunky if you try and do it too quickly. I found it easier to just click between the scrollbar button and one of the arrows, that skips forward or back 20 albums at a time. But I left this in case someone wanted it.....Enabling this setting disables the View scrollbar setting.
Load all covers in memory  - When enabled 3Dbee will attempt to load all covers into GPU memory for a better experience. Be careful with this setting. More info about this in the how it works and limitations section below.
Album Buffer - How many albums to keep in GPU memory. This setting has no effect if "Load all covers into memory" is enabled.
Max framerate - The maximum framerate 3DBee will attempt to run at. Anything over 100 is probably a waste. The higher it's set, the more CPU will be used when the flow is active.
Animation Threshold - If the selected album minus the current album is greater than this threshold, it will immediately jump to within that threshold and continue scrolling to the selected album. It reduces scrolling considerably on large libraries. To disable it, set the number to a value greater than the number of albums in the library.

How to use

Once 3Dbee is loaded up you will see a display of your album covers, depending on the settings you choose you can navigate this display in different ways.
Rolling the mouse wheel when the pointer is in the 3DBee window or clicking the arrows on the scrollbar will move the album cover left or right by 1 album
Clicking between the scrollbar button and one of the arrows will move the album covers left or right by 20 albums.
Clicking the scrollbar button and dragging it left or right will navigate across the whole collection.
If mouse scrolling is active you can click and drag across the covers, depending on how fast you drag will determine how many albums it scrolls through. It needs some work...
Depending on settings, the flow will automatically navigate to current playing albums or whatever you select in the files list.

If you right click in the 3DBee window, a context menu will display. This lets you choose between 6 different flow styles and select any installed skins.

Skins

3DBee comes with 4 skins. 3 came with the source code and I made a Musicbee theme for a bit of fun. You can add as many as you want or edit the existing ones. The skins are located in the skin folder inside the 3DBee folder you copied during install. They allow the user to fully customize the appearance of the 3DBee window.
Each skin folder contains a "skin.ini" file that handles the configuration with the following settings
favoriteplugin - this sets which flow will be used when you select this skin, you can change it afterwards.
nbleftalbum - How many albums to display left of the current selected album.
nbrightalbum - How many albums to dislplay right of the current selected album. These 2 settings only apply to certain flows eg) both work with coverflow but vista has the left album hard coded to zero because there are no visible albums to the left on that flow.
reflectheight - how tall to make the reflection.
direction - Currently no effect but future versions will allow you to set which direction the flow moves.
backimage - Which image in the skin's wallpaper folder to use for the background. Use the full name with file extension. If this is set to none or doesn't match a file it will display a background that matches the settings below.
reflecttransparent - Sets the transparency of the reflections.
spacetextscrollbar - sets the space between the artist info and the scrollbar- this setting is actually redundant as the text can be placed where ever you want using the offset options.
There is a bunch of font settings for different things. The fontname has no effect if using Musicbee default font option.
*fontname - Needs to match a TTF font file located in the skin's font folder.
*fontheight - Sets the size of the font.
*fontoffsetX - Adjusts the font position on the screen.
*fontoffsetY - As above.
centerInfoFont - Specifies whether the album and artist font is centered or left justified.
backred
backgreen - The colour of the background if no image is set.
backblue
tablered
tablegreen - secondary colour of the background. If different to the back settings it will create a horizon with a gradient transition.
tableblue
fontartistred
fontartistgreen - sets the artist font colour.
fontartistblue
fontartistshadow - sets whether the artist font is shadowed.
fontalbumred
fontalbumgreen - you probably have these figured out.
fontalbumblue
fontalbumshadow
loadbarred
loadbargreen - Sets the progress bar colour for load all albums mode. Overridden by the use mb skin colour setting.
loadbarblue
horizontalangle - these settings manage where the flow is on the screen. I actually haven't played with the angle settings to see what they do....
verticalangle
movehorizscene - moves the flow left or right on the screen.
movevertiscene - moves the flow up or down on the screen.
zoomscene - zooms in or out on the flow. If you zoom in to much it will disappear because the viewpoint is behind the flow.

If you want to add your own skin, just copy an existing skin folder and rename it to whatever you want. When you reload Musicbee it will automatically add the folder name to the skin selection list when you right click the 3DBee window. Then just edit the skin.ini and replace any image files. Just make sure to keep the same file names for the images.


How it operates and limitations

3DBee grabs album artwork from Musicbee (effectively your hard drive) and uploads to GPU memory so it can be displayed in a 3D environment. This process can have a few limitations, mostly being hardware related.
Uploading textures to the GPU is a little slow.  It could be faster if all the album covers were the same size but they rarely are. It could also be the SharpGL library I'm using and the fact I'm basically embedding a full application inside Musicbee....
If you don't use the "load all into memory" option, you will notice it struggles to keep up with displaying the covers when you move the flow quickly, it will just display no cover artwork if you move really fast. Basically because it can't read them from the HDD and upload them to the GPU fast enough to display them.

When it's all loaded into memory it works perfectly. All covers display no matter how fast you go, but the problem is how much memory you have. I've tested it on 2 systems, 1 with 345 albums with crappy artwork running from an NVME and another with over 2000 albums with decent artwork running from a mechanical drive. The first one uses over 1gb of GPU memory and the second uses over 6gb of GPU memory.

But both have the issue of the covers not loading fast enough if they are not in memory so I'm pretty sure the bottleneck is the texture upload. Then again, both of my test computers are pushing 5 years old so others might not notice an issue.

The album buffer setting attempts to alleviate this problem somewhat. It will keep the specified number of albums in GPU memory. if it's set to 50 it will keep 25 to the right and left of the selected album in memory. Once they have been loaded the first time you browse the covers you will be able to browse through these smoothly until the covers go outside of the buffer range and get unloaded from memory. So if you can't load them all into memory you can play around with this setting and see what works best. You can see how much GPU memory is used with task manager on the performance tab.

I wasn't able to test what happens if the GPU memory fills up. I'm running a gtx 1060 and that has 6gb. it's probably going to take someone with a big library and old or onboard video card to test that out. I also don't know what happens if you load all your covers into GPU memory and then crank up a demanding game...

All my testing has been done with Nvidia graphics cards so I also have no idea how it will with other brands.

To Do List
Add a font picker
Add the ability to create/manage skins from within the UI.
Improve mouse scrolling to make it less janky.
More interactions with MusicBee like
- adding context menu items to play next/queue songs etc...
- filter displayed albums based on a search
- display all the songs for the currently selected cover in the files element.
Add a panel showing current album/track information
Optimize the OpenGL code.

I'm just going to stick this here.
Buy me a Bourbon

I can be a pretty big procrastinator but I'll feel guilty dragging my feet if people put some hard earned down waiting for an update... and also, I put a lot of work into this thing, in any case, it's totally optional!
Last Edit: January 29, 2023, 07:51:01 AM by BoringName

boroda

  • Sr. Member
  • ****
  • Posts: 4674
Good news!

but:
The zip contains 4 x DLL files and a "3DBee" folder. The "3Dbee" folder needs to go into the persistent storage folder of Musicbee, the plugin will not work without this folder present.
On my computer its in C:\Users\BoringName\AppData\Roaming\MusicBee

If you are not sure, it should be the same folder the Musicbee settings file is in, so just search for MusicBee3Settings.ini and place the 3DBee folder in the same folder.

Place the DLL files in the usual plugin folder, something like C:\Program Files (x86)\MusicBee\Plugins
why not to install plugin by default using "add plugin" button in mb prefs? this will install plugin to writable "%AppData%\MusicBee\Plugins\" folder for installer mb version, and to just "<MusicBee App Folder>\Plugins\" folder (usually, also writable) for portable mb. in this case, you need to change the plugin to make it search for "3DBee" folder inside either of these 2 "Plugin" folders, and "3DBee" folder must be simply placed inside plugin .zip for automatic installation.

i think installation instructions would be simpler.

-----------------

p.s. i'm using the following code in my tagging tools plugin to get the correct "Plugins" folder (either %AppData%\MusicBee\Plugins\"  or "<MusicBee App Folder>\Plugins\"):

Code
            PluginsPath = Path.Combine(Application.StartupPath, "Plugins");
            if (!File.Exists(Path.Combine(PluginsPath, "mb_TagTools.dll")))
                PluginsPath = Path.Combine(MbApiInterface.Setting_GetPersistentStoragePath(), "Plugins");

BoringName

  • Full Member
  • ***
  • Posts: 231

i think installation instructions would be simpler.

You're right. I was more worried about the 3DBee folder being copied to the right location. It has skin elements that need to be there for it to work and I don't think that can be automated from the "add plugin" button? If it can I will look into it.
I am using the GetPersistentStorage() command to read and write to the correct folders, I just didn't have a way to get the skin folders there in the first place.

The plugin has been submitted.

One thing I forgot to mention in the original post. The plugin is set to refresh when updates are made to song tags or new files are added to the library. If you are going to do a few updates and you have a decent sized library, I would consider disabling the setting to load all files into memory or just disable the plugin while you are doing a lot of updates. If load all albums into memory is enabled, it will be reading artwork for every album in your library every time you make a change which is a lot of unnecessary hard drive thrashing.
I'll look at handling that a bit better in future updates.

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9386
Thanks for undertaking this project. I quick plain vanilla test shows it's working well. Now I need to play with the settings and find a good location for it.

At the moment I have three suggestions:

1- Include a readme file in 3DBee.zip. It's a pain in the butt to have to go back to the start post on the forum to check which settings do what. Just copy most of your start post and include that in the archive.

2- Give us an option to have it in a resizable floating panel. My MB layout is so tight right now that I'd have to give up something in order to make 3DBee a decent size.

3- Add a version number. Perhaps in the configure panel, or as part of the archive filename. I'm sure there are going to be updates in the future and have a version number makes it easier to track what a user is using.

I may have more comments/suggestions once I start experimenting with the various settings, but for now, nice job!
Last Edit: January 27, 2023, 02:01:42 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

boroda

  • Sr. Member
  • ****
  • Posts: 4674

i think installation instructions would be simpler.

You're right. I was more worried about the 3DBee folder being copied to the right location. It has skin elements that need to be there for it to work and I don't think that can be automated from the "add plugin" button? If it can I will look into it.
"add plugin" button copies all files and folders from plugin .zip to one of 2 (depending on "installation type" of mb) "Plugins" folders. so "3DBee" folder placed to the root of plugin zip will be automatically copied to either %AppData%\MusicBee\Plugins\" or "<MusicBee App Folder>\Plugins\". you can get current "Plugins" folder using code:

Code
            string PluginsPath = Path.Combine(Application.StartupPath, "Plugins");
            if (!File.Exists(Path.Combine(PluginsPath, "mb_3DBee.dll")))
                PluginsPath = Path.Combine(MbApiInterface.Setting_GetPersistentStoragePath(), "Plugins");

and, then, get "3DBee" folder:

Code
            string PathTo3DBeeFolder = Path.Combine(PluginsPath , "3DBee");

boroda

  • Sr. Member
  • ****
  • Posts: 4674
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

BoringName

  • Full Member
  • ***
  • Posts: 231

At the moment I have three suggestions:


I was planning on using version numbers. I will include a readme file, that's a good idea. You can put 3DBee in the floating window panel.

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

For anyone else reading this, that last statement is for the portable version.

Probably worth noting I have not tested it in the microsoft store version and I have no plans to support that version even if it could be installed on it.
Last Edit: January 27, 2023, 08:18:16 PM by BoringName

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9386
I was planning on using version numbers. I will include a readme file, that's a good idea. You can put 3DBee in the floating window panel.
Thanks and you're welcome for the good idea.

Suggestion for the configure window --- either add a third button at the bottom to "Close" or change the "Save" button to "Save & Close". Right now there's an extra step to mouse up the the 'X' to close the window.

I was so anxious to test this that I overlooked the option to put it in a floating window. Which I've now done. While the window is resizable, the actual cover flow is not:


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

MotleyG

  • Full Member
  • ***
  • Posts: 151
I've tried to install it with the method you posted in #1, and using the "AddPlugin" option on the preferences. Both pop up an error that show "Unable to initialise plugin: MB_3DBEE.DLL" "Exception has been thrown by the target of an invocation." I'm happy to check into this, as this looks like the plugin I would use the most. Love the design!

Win10 Pro, 22H2, 64-bit
MB ver 3.5.8421

BoringName

  • Full Member
  • ***
  • Posts: 231

Suggestion for the configure window --- either add a third button at the bottom to "Close" or change the "Save" button to "Save & Close". Right now there's an extra step to mouse up the the 'X' to close the window.

I was so anxious to test this that I overlooked the option to put it in a floating window. Which I've now done. While the window is resizable, the actual cover flow is not:

Will do on the save and close.

Yeah, the resizing is quite messed up. I tried a lot of different things to sort that out and hit a wall every time. I think it's a quirk of how the plugin is hosted inside the panel, its a control, inside a form inside a panel. I put a height setting in the config but it just ended up causing graphical issues like you are experiencing but worse...

The solution is to place 3DBee in the bottom of the main panel under the files element. When it's in this spot you can resize it to whatever height you want. Then move it back to the floating window and it will maintain that height. I'll keep working on a better solution but it's one of those initial setup things you shouldn't have to worry about once you have it where you like it.

BoringName

  • Full Member
  • ***
  • Posts: 231
"Unable to initialise plugin: MB_3DBEE.DLL" "Exception has been thrown by the target of an invocation."

Can you go to the Musicbee menu->Help->Support->View Error Log and paste the last error in here for me to have a look at please.

kaivsdoom

  • Jr. Member
  • **
  • Posts: 20
Hello..this is a great plugin Boring Name but i don't get cover art no matter what i click in settings.the folders are all in the right place i hope as the plugin works so far.when i try cover in to load the memory then this happens....

MusicBee v3.5.8402.19544D  (Win10.0), 27 Jan 2023 21:49:

System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.OutOfMemoryException: Nicht genügend Arbeitsspeicher.
   bei System.Drawing.Bitmap.LockBits(Rectangle rect, ImageLockMode flags, PixelFormat format, BitmapData bitmapData)
   bei System.Drawing.Bitmap.LockBits(Rectangle rect, ImageLockMode flags, PixelFormat format)
   bei MusicBeePlugin._3DBee.loadAlbumTexture(Int32 index)
   bei MusicBeePlugin._3DBee.checkTextureAlbum()
   bei MusicBeePlugin._3DBee.OpenGLControl_OpenGLDraw(Object sender, OpenGLRoutedEventArgs args)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   bei System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   bei System.Delegate.DynamicInvokeImpl(Object[] args)
   bei System.Windows.RoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   bei SharpGL.WPF.OpenGLControl.DoRender()
   bei MusicBeePlugin._3DBee.RenderEventProcessor(Object myObject, EventArgs myEventArgs)
   bei System.Windows.Forms.Timer.OnTick(EventArgs e)
   bei System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

do i need to change anything else in the settings?

sorry for the creepy google english  :)

MotleyG

  • Full Member
  • ***
  • Posts: 151
"Unable to initialise plugin: MB_3DBEE.DLL" "Exception has been thrown by the target of an invocation."

Can you go to the Musicbee menu->Help->Support->View Error Log and paste the last error in here for me to have a look at please.

Thanks for looking at this for me, see the log details from this afternoon (I changed my user name to xxx in red)
2023-01-27 4:04:51 PM - 10.0.19045.0 - 3.5.8421.33583D - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\xxx\AppData\Roaming\MusicBee\3DBee\mb_3DBee.Settings.xml'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at System.IO.File.Open(String path, FileMode mode, FileAccess access, FileShare share)
   at MusicBeePlugin.Plugin.Initialise(IntPtr apiInterfacePtr)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at #=zBcACJC4dkModftTk8Q==..ctor(#=z6HnZ1kWEuOAZAYzFlQ== #=z8L37Yx8=)


BTW - this folder and file don't currently exist in the Appdata location under MusicBee - 3DBee\mb_3DBee.Settings.xml


EDIT: Scratch this, I obviously can't read directions on a Friday. I had placed the 3DBee folder in the standard MusicBee location, not the one in the AppData as directed in you instructions. It is working now, apologies for the false alarm. :-[
Last Edit: January 27, 2023, 09:14:54 PM by MotleyG

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9386
Will do on the save and close.
Wonderful. Thanks.

Quote
The solution is to place 3DBee in the bottom of the main panel under the files element. When it's in this spot you can resize it to whatever height you want. Then move it back to the floating window and it will maintain that height. I'll keep working on a better solution but it's one of those initial setup things you shouldn't have to worry about once you have it where you like it.
Hmmm ... I moved it to under the files element and got this when I clicked 'apply' on the panel config window
Code
MusicBee v3.5.8421.33583P  (Win10.0), 27 Jan 2023 16:22:

System.ObjectDisposedException: Cannot access a disposed object.
Object name: '#=zTIe$tYAQ7GzewPdfgw=='.
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.ControlCollection.Add(Control value)
   at System.Windows.Forms.Form.ControlCollection.Add(Control value)
   at #=zKZ96b4YWUKV1GzsJaSDll9U=.#=zZij2wBs=(Control #=z3K_DWXQ=)
   at #=zRk8fiPKwlZmx306m1hfZeHQ=.#=zZij2wBs=(Control #=z3K_DWXQ=)
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.#=zQtANMPOJGQG6(#=z8ngFV4Y$SfaA #=zFJQeAsc=, Boolean #=zxvVdQgcTJzjlymvisw==)
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.#=z_zwOxmrpkUpH(Boolean #=zYMRCvcS5_Gzu2Btk3A==, Boolean #=zflp2hW$6es2a)
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.#=zqYqKD9b1lshIwA9lZ0PrsEjG$RN8.#=zoDSas5JHtkxF.#=zy_nMy3ExXTMz()
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.#=zqYqKD9b1lshIwA9lZ0PrsEjG$RN8.#=zoDSas5JHtkxF.#=z$R64O5y0gUKE(Object #=z3QW$Uaw=, EventArgs #=zDE4WdZg=)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at #=ztQ3K7RlYqttvB7xsbsczRjY=.OnClick(EventArgs #=zDE4WdZg=)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

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.
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: 231
Hello..this is a great plugin Boring Name but i don't get cover art no matter what i click in settings.the folders are all in the right place i hope as the plugin works so far.when i try cover in to load the memory then this happens....

The load into memory setting is a bit risky. On my system it will use about 200-300mb of ram while it loads the covers into the GPU memory. it will use more if your artwork is a higher res. I could lower the memory usage here but it will make it slower.... I also wasn't able to test what happens if the GPU memory fills up so that might be an issue too. Just leave that disabled for now until we figure out why the covers are not showing.

Make sure the 3DBee folder is located in
C:\users\<yourusername>\AppData\Roaming\Musicbee
Change the drive letter and <yourusername> to whatever your system is set to.

EDIT: Scratch this, I obviously can't read directions on a Friday. I had placed the 3DBee folder in the standard MusicBee location, not the one in the AppData as directed in you instructions. It is working now, apologies for the false alarm. :-[

All good, I really should handle errors better.....