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: 12 3 ... 12
1
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: February 16, 2023, 11:27:38 AM »
1. what does "mouse scrolling" option do? "view scrollbar" turns on/off displaying scrollbar, but mouse scrolling is always working for me, no matter if "mouse scrolling" is enabled or not.

2. not only plugin floating panel is shown on taskbar, but also plugin settings window.

edited: grammar corrections

"Mouse scrolling" lets you scroll the albums by clicking (and holding) the left mouse button and dragging it across the albums. It doesn't work very well if you try and scroll too fast. I'm thinking of removing it as using the scrollbar is much more effective and I really can't see a reason for needing to use mouse scrolling unless you have a touch screen and want to swipe with your finger.

I can't replicate the issue with the settings window on the taskbar. What steps are you performing for that to happen?

I know there are issues when editing tags with 3DBee open

I believe that issue will be related to what you posted previously which I think I have fixed for the next version but I've been a little busy over the last week and will continue to be for another week or two. I probably won't get another version out for a while.

My problem is I can't get 3dbee to work on 99% of the skins I try.

Which skin is the 1% that works?

2
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: February 06, 2023, 09:58:31 PM »
I clearly need to do more thorough testing before I roll out a new version. Thanks for all that info. I'll look into it.

Did you have any playlists set to be buffered when these errors occurred?

3
MusicBee API / Re: Get unique Albums and Artwork
« on: February 06, 2023, 11:31:50 AM »
in the very latest v3.5 from the first forum topic i added a new notification type
SelectedNodeChanged = 42

Perfect, thanks.

4
MusicBee API / Re: Get unique Albums and Artwork
« on: February 06, 2023, 08:37:27 AM »
Code
string[] files;
Library_QueryFilesEx("domain=DisplayedFiles", files)

Just experimenting with this. Is there a notification I'm missing for when the files element changes?

I have no issue only displaying covers currently listed in the files element but I can't find a way to refresh it when the user clicks on something else, unless they actually select something and trigger the OnSelectedFilesChanged.

That doesn't trigger if the user is just selecting items in the navigator element like Audiobooks or different playlists.


5
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: February 05, 2023, 10:09:29 PM »
the coverflow doesn't always run when you click on the albums in the library

Where are you clicking?

Just keep in mind it won't flow if you click on a song in the same album that is already displayed. I know that sounds obvious but sometimes in testing I will be thinking something isn't working just to realize a big album had basically filled the file list panel so it wouldn't have mattered where I clicked, it was all the same album cover.

I also just fixed an error that can occur when you have a playlists set to be buffered and then remove them all. I didn't change the version number, I just updated the zip file.

6
Plugins / Re: 3DBee (Cover Flow) Plugin
« on: February 05, 2023, 08:05:48 AM »
Version 1.4 available for download.
- Tried another method for loading localized floats from ini files. Hopefully this one works....
- Editing song tags will no longer cause a reload. Adding and deleting songs will still cause a reload for now.
- New playlist config button on the config page. This will open a window where playlists can be selected to always be buffered in Vram. I can't really test its limits so if you enable a particularly large playlist it might cause problems. A different playlist config file is created per library.
- Improved cover display speed slightly so it should look a bit better when scrolling through albums quickly.

Being able to buffer playlists isn't that helpful when all the covers are on display the whole time but I wanted to get this update out to fix the tag reloading issue.

It was fairly major rewrite of the code that handled the buffering of covers so hopefully I haven't created any new issues.

I'm going to start working on filtering what covers are displayed based on what is in the file panel. It's probably going to take a while....

7
MusicBee API / Re: Get unique Albums and Artwork
« on: February 04, 2023, 05:59:59 AM »
All good. I'm just setting up so playlists can be cached and I wanted the user selections to be saved between sessions.

It would have been easier if I could have saved a separate config file per library, I'll just have to change how I process the config files. Each playlistUrl will be unique even if the playlist name is used in multiple libraries so I can just work off that.

8
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.


9
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.

10
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....

11
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?


12
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.

13
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.

14
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

15
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.

Pages: 12 3 ... 12