Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - BoringName

Pages: 1 2 34 5 ... 14
31
MusicBee API / Re: Get unique Albums and Artwork
« on: February 04, 2023, 03:50:55 AM »
Is there any way to get the current library name or some kind of identifier in the api? I went over the MusicBeeInterface file a few times but couldn't see anything.

I could strip back a playlistUrl and get the folder name but that feels dirty and problematic if there are no playlists.


32
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: February 01, 2023, 10:54:39 AM »
Actually it looks like there is a memory leak, I'll see if I can fix it up.

edit: actually no, it's one I just made while testing something out....as you were.

33
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: February 01, 2023, 06:35:28 AM »
That RAM usage seems fine to me. Yours is slightly more than mine because of the larger library and probably better quality artwork.

Don't enable "load all covers into memory" if you are editing a lot of stuff. Each time you make a change it will load everything in again. Actually with a library your size I would never enable that setting unless you have a good video card with lots of VRAM, 8gb+ would probably be needed. My partners 2000+ albums takes up 6gb. And I'd only do it if I was planning on having MusicBee open for a long time.

Memory usage could probably be better. I'm currently looking at updating all the OpenGL code as it's using very old methods that have been deprecated for a long time. Trying to update it while translating the code to C# would have been too much for me to do at once. That should increase performance quite a bit and I'm hoping it should remove the need for all these workarounds with loading buffers and just loading in a playlist or now playing etc....

34
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 31, 2023, 12:09:49 AM »
I did set it up as a static char (not a const) but I didn't set it as readonly. I'll double check everything.

Clicking on the album cover within the 3DBee window currently doesn't do anything unless you have mouse scrolling enabled. If that's enabled you can click and drag the covers to make them scroll. It's a bit glitchy though and enabling that setting hides the scrollbar. But there is nothing in place to interact with musicbee yet.

I have plans to add more interaction with music bee. So clicking on an album might change the file list to display all the songs on that album. And add context menu items so you can click on a cover and add that album to the queue.

Initially it was just going to be a visual thing for my partner as I transitioned her away from iTunes and she missed Cover Flow. I said I would try and find a replacement and here we are. She didn't actually use it for anything, she just liked seeing the covers there and have them flip around. So replacing that was my main focus. But I will keep working on adding more functionality.

Starting with v1.2 and continuing with 1.3, there is an increased use of RAM and drive activity.

I'm not sure what could have happened there. My system is using less RAM than it did in version 1.0 but It is quite a small library.

If you have "Load all covers into memory" unchecked, the only other setting that will effect memory is Album Buffer.

This is basically how it works. When you select an album it has an index number and this is what happens (simplified)
All covers in the range of index - nbLeftAlbum and index + nbRightAlbum are read from the HDD and loaded into RAM.
These covers are loaded into GPU memory and then cleared from RAM. Garbage collection decides when to free up that RAM but it should be pretty quick.
Any albums outside the range above plus the album buffer (half left of index and half right of index) value are removed from GPU memory.

And that cycle just repeats constantly as the flow moves around. A few seconds after the flow stops, all CPU activity should stop and any used ram should free up after a few seconds. The garbage collection can be finicky sometimes and doesn't always free up RAM on a regular basis but it gets there in the end.

The other issue that I need to improve is when you edit tag info. Currently this will cause 3DBee to reload everything which is particularly bad if you have a large library and "load all covers into memory" enabled. There is probably a better way to deal with this but if the user changes the album name 3DBee will crap itself if it doesn't reload as I think it causes the UniqueAlbumID to be changed and the old one doesn't exist anymore.
I'd suggest disabling 3DBee if you are planning on making a lot of changes. But if you have "load all covers into memory" disabled it shouldn't cause that much trouble. It will only reload the images near the currently selected album as detailed above.

How much ram usage are we talking about?


35
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 30, 2023, 11:30:37 AM »
Version 1.3 available for download.
- Fixed a bug that caused the context menu to duplicate when moving the 3DBee element to different panels.
- Set the font colour of the context menu to the current mb skin foreground colour.
- Improved startup. Seems smoother to me and the bug that made the artist/album text disappear when moving the 3DBee element to different panels appears to be fixed.
- Added Boroda's code for localisation of floats when reading the INI files. I can't really test it so hopefully Boroda can give some feedback on that. You will need to change the commas in the INI files back to decimal places or it will fail. Which probably isn't great either but my plan is to get rid of those files.
- Better handling of null values reading the ini files.

I've found a way to make the fonts look better (I think) so that shouldn't be too far away.

36
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 30, 2023, 04:16:52 AM »

So you are not getting a pitch black background, irrespective of the skin you are using?


About the ragged font, perhaps activating cleartype (and/or respecting Windows' settings for it) would solve that?

I was specifically talking about the context menu that appears when you right click the 3DBee window. The background can be changed by editing the skin.ini file for that particular skin. It should be in  3DBee\skin\Coverflow\skin.ini
You can place an image file in 3DBee\skin\Coverflow\wallpaper

Lets say you put an image file in there called Background.png

In the ini file change the following line.
backimage = Background.png

There is a bug if you remove all the characters after the = sign so if you don't want to use an image just set this to none or leave the empty space it currently has.

If the backimage setting is blank or set to a file that it can't find in the wallpaper folder, it will revert to to using the following settings to draw the background.
backred=0
backgreen=0
backblue=0

tablered=0
tablegreen=0
tableblue=0

The back colours will be used for the top half of the screen and the table colours will be used for the bottom half. If you set them the same it will be one flat colour. it's currently black because they are all set to zero. If the back and table are set to different colours there will be a gradient transition in the middle of the screen between the 2.
This is what happens if you leave the back colours as zero and set the table colours to 255.


As for the fonts, I've been down a 3 hour rabbit hole of shit today. I recompiled SharpGL to force it to use the best quality rendering of the fonts and it made zero difference, I tried the Graphics class of System.Drawing and that was just as pixelated although it did do some anti-aliasing with the background that was slightly better. I think my only option is going to be rendering them myself, maybe at double the size and scaling them down. OpenGL does have multisampling but I don't really want to mess around with that yet.

37
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 10:12:14 PM »
So it wasn't a complete oversight on my part, it is configured to reload on library change but I hadn't set it to clear one of the lists which is what caused the issue.

I have updated the addon with a fix. It's the same version number. I have also included the new SharpGL.dll

38
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 09:27:18 PM »
I don't know that skinning element, and have no skins that have it.
Are you sure that is the correct name?

The musicbee api has the following elements listed that I can grab the background, border and foreground colours. I tried different elements but they all came back with the same colours on my machine so I just went with the trackandartist panel.
SkinSubPanel
SkinInputControl
SkinInputPanel
SkinInputPanelLabel
SkinTrackAndArtistPanel

BoringName, i didn't understand what does the option "use musicbee foreground color for progress bar"? what is "progress bar"? scrollbar under cover-flow is determined by skin, not by this setting.

there is a problem: album artist/album name are not shown at all, if they are too long to fit the width of the plugin panel (i'm now using plugin panel in mb right panel, above track info, right panel is not very wide). not sure, maybe truncate them in this case, appending "..." to truncated text?


It's only used if you set the "load all into memory" option. A progress bar will be displayed above the covers showing the loading progress.

Yes, it is set to hide if it won't fit. You could try setting the font size lower but I will look into truncating options.

font is very pixelated. can this be somehow fixed? i think just rendering text using current dpi could be sufficient, antialiasing may be not required.


I had noticed that, I think that is also a SharpGL issue with not scaling fonts properly. I will see if there are ways around it.... I might have to revert to rendering them myself instead of relying on SharpGL's drawtext function.

switching to another library raises this exception (and crashes mb):

That's a big oversight on my part, I'll try and get a fix out for that today.

and finally great news!

I'll look into the diacritic marks. I'm not sure if all unicode characters will be displayed. All this character encoding stuff is new to me so I need to do a bit of research. The fix I did for SharpGL was a solution someone else found, There was a few values set to 255 instead of 256. I think they were basing it on an array of 0-255 having a length of 256 (including the zero) but the way they coded it made them 255 and unicode needs 256.

Using 1.2 I needed to temporarily disable 3DBee to test for a conflict with something else. (Preferences > Plugins > 3DBee > disable.) Closed and restarted MB, did my tests, enabled 3DBee and it was gone from the panel arrangement. I feel it should remain persistent. The settings (floating panel, location of panel, last album played, etc. were all persistent. It just was no longer enabled as a panel.

I'll check it out but I don't think that's something I have any control over. I think musicbee removes the panel if the plugin is disabled.

39
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 10:24:34 AM »
It doesn't for me. For my skins it always has a black background (0,0,0) and white text (255,255,255)
Maybe I am overlooking some setting?

The plugin currently grabs the background colour of the skin element SkinTrackAndArtistPanel and uses that for the background of the context menu. The text is always set to white currently. I was going to change that to use the foreground colour of the panel which should be the font colour but haven't done it yet.

So because everything always has to be hard - I altered the source code of SharpGL and recompiled it....
SharpGL.dll

This file is for Boroda. Just save that in the plugin folder. On my system it will display the Prāta Vētra band name correctly from your screenshot, well kind of, it converted the accented characters to a and e but that's better than a bunch of square blocks. Other unicode characters are showing up as question marks. I'm hoping that is just a locale issue in windows and they should display correctly for you. Let me know how that goes.

40
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 08:11:42 AM »
yes, replacing dots by commas in floats in skin.ini completely solved the problem.

Well done. I'll see if I can implement your solution for localisation issues.

it seems that option "Use MusicBee default font" doesn't work. see screenshot below, album artist name in column browser is displayed correctly, but in plugin panel is not:

It should using the right font (it does for me). You need to restart musicbee for the change to take effect with that setting. I need to state on the config panel which settings require a restart to take effect.

Also moving 3DBee to different panels can mess up the fonts so a restart is needed to fix it when that happens.

If it isn't any of those issues I suspect its a problem with the drawtext function sharpGL uses to display fonts. Looks like I might have to edit some of SharpGL's source code..... Can you please copy and paste that artist name in here so I can test out the characters on my machine.
Thanks.

Edit: Nevermind, I grabbed them from the bands wikipedia page :) They don't show up properly for me either. I'll see what I can do.

41
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 07:24:54 AM »
well, fonts don't arise the issues. i'm not sure which fonts are actually used by plugin for cyrillic letters, but replacing provided fonts, by windows unicode fonts doesn't change anything. i'm still thinking that skin.ini files should use utf-8 encoding instead of ansi, but it's also, not my problem at the moment.

the real problem is last 3 lines in skin.ini (at least for coverflow skin). i've commented them:

Code
]#movehorizscene = 0.000000
#movevertiscene = 0.200000
#zoomscene = 0.000000

There is something wrong with the quick reply box on this forum. Whenever I try and use it my post just disappears to the ether. I have to click the reply button first and post that way.

and plugin is working now fine and without any error messages. if i uncomment any of these 3 lines, the plugin (silently, without error messages, and without writing anything to mb error log) displays an empty panel.

Those 3 settings adjust the position of the flow within the panel. So yours will be positioned slightly lower with that movevertiscene commented out.

Those 3 settings get read in as a string and then converted to a float. They are the only settings converted to float so something is going wrong there on your machine. What happens if you take away the trailing zeroes so they are just 2 decimal places? It shouldn't make a difference but there must be something odd going on with the conversion.
Code
#movehorizscene = 0.00
#movevertiscene = 0.20
#zoomscene = 0.00

edit: The problem with openGL is you don't know there was an error unless you specifically query it with gl.geterror() constantly. It will just silently shit itself and give you unexpected results. I suspect some weird conversion is happening with the float values causing GL to error but It's strange the actual conversion didn't produce an error. Maybe it's converting it to a float successfully but to a number outside of the range OpenGL is expecting. It's hard for me to test because it works on my machine....

42
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 05:50:33 AM »

edit:
i see 2 possible reasons, why coverflow skin (and maybe other skins) doesn't work. skin.ini is not UTF-8 encoded, but contains unicode characters (not only Latin-1 characters). included fonts don't contain cyrillic letters. i.e. the problem is my windows regional settings.

maybe, it's some other problem.

That's probably going to be it. Most of those ini files are from the original author of coverjuke, I've edited them a bit but yeah.

If fonts are the issue, you can list whatever fonts you want in the ini files. You just have to put the applicable TTF font files in the font folder of that skin. If you edit the 3DBee xml file and change useMbDefaultFont to true it won't use those fonts for drawing but it will try to load them in the plugin initially so it probably won't bypass the problem.

I do have a plan to change how fonts are handled but it's going to be a while.

43
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 05:33:28 AM »
Patched version of musicbee that allows the panel to be resized when it's placed above the files element in the main panel - https://getmusicbee.com/patches/MusicBee35_Patched.zip

i've discovered that plugin (at least 1.2) is working fine for me, but only if i delete/rename "skins" folder in "AppData\3DBee" folder. i get error message "Skin Coverflow is not valid! Attempting to recover..." on plugin initialization in this case, but plugin works. what may be the cause?

The plot thickens...

If you put the skins folder back and restart music bee, what happens?

That's a strange one. It must have the right path because it knows when the folder is missing. Maybe something got corrupted in there somewhere. Try getting the skin folder out of the current version zip file and see if that one works. There is not much in them, it's just an ini file and some images. I don't know why it wouldn't be working.

edit: Actually just try putting the Coverflow skin folder first and see if that works. appdata\3DBee\skin\Coverflow

44
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 04:59:39 AM »
The plugin download page is still showing v1.1, but v1.2 is downloaded.

Fixed. Thanks.

45
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: January 29, 2023, 04:25:37 AM »
i have turned off all plugins except for 3DBee, but nothing changed.

If you install the new version try deleting the XML file before you load it up.

One other thing that I've had happen, if I stuff up the code and cause an error. The plugin will be disabled at startup by Musicbee but the panel it was in will still display with a blank window. It's not until I go into edit preferences-> plugin and hit enable that it gives me an error. And the blank panel will stay there until I fix the issue and enable the plugin or go into arrange panels and click apply.

Pages: 1 2 34 5 ... 14