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 - Pickles7853

Pages: 12 3 ... 10
1
Bug Reports / Re: problem with trying to have 'Lyrics' as a column
« on: June 13, 2025, 10:12:27 PM »
On reboot MB will load the DB but, I think, only the common displayed fields are saved there.
EG: I do not think <lyrics> are stored in the DB and MB will load this on demand.  Like when viewing in the tag editor or when playing a song.
This makes since from a practical standpoint.  Why duplicate the lyrics by also storing it in the DB when its easy to get when you need it?
Of course, if MB does need to get the lyrics, you might as well (temporarily), store them to reduce the number of file reads.

That being said, I am not sure if it is really a bug.  You are asking for field data which is populated on demand.  And on reboot there has been no demand yet.
This is implied by <lyrics> not being available as a displayed field.

I wonder what the extra load would be on large libraries if MB needed to pull in all lyrics at load time...
If it isn't that bad, perhaps this would make a good feature request.  I cant think of a way to test this though.

2
MusicBee Wishlist / Re: New virtual function ?
« on: June 09, 2025, 12:09:17 AM »
Woo... thanks Steven!

3
Your asking for it to be a top level menu option right?  I don't know...
We already have plenty of options to get there.  Not sure if adding it to a top level menu is really all that beneficial.
Compared to:
Add a hot key (one key press)
Add a toolbar button (one click)
 <right click track>  Edit (Tag Inspector is part of the edit tags dialog)
I am not completely sold on the idea but I suppose, depending on the specific use case, I might be swayed one way or another...
If someone just didn't see it in the edit tags dialog then I feel they did not look for it very hard as that is the logical place it should be.

Edit:
But I am of the opinion it should be in MusicBee menu >> Tools >> Tagging Tools.
For some reason is isn't listed there...

4
Quote
Do you propose I can put a certain panel on the left side as well?
Not specifically no.  From your description the column browser just sounded like the best option so that was the main thing.

Nothing I can think of matches what you are describing.  Though it might be better to separate artist/ album from the filtering.  So yeah... maybe adding a library explorer or similar control in the left panel wouldn't be the worst idea.  Then you could remove artist/ album (and duplicate fields) from the column browser in the main panel.  Just thinking out loud.  Wouldn't hurt to try it to see if it's any better than your current layout.  At least it would isolate them from the filtering process.

5
Questions / Re: Tracks added to player do not display by Filename A-Z
« on: June 04, 2025, 03:20:35 AM »
Kind of strange.
When I cut-&-paste the code in the editor it sometimes tries to add in escape characters on the double quotes.
When you paste it into the formula section hit the ellipse button for the formula on the far right; EG the "..." button.
Here it can be tested.  If you click the "preview" button it will expand and show what it will look like when enabled.
Basically - double check when you paste the code it looks just like it does above.
I hope you can get it working.  The code is correct...


6
Questions / Re: Tracks added to player do not display by Filename A-Z
« on: June 04, 2025, 02:41:01 AM »
Ah that's my fault.  The color tag is reformatting the RegEx... I think I fixed it but just in case lets see if a code block is better.
Code
$RxReplace(<Filename>,"^\d+",$Pad($RxMatch(<Filename>,"^\d+"),5))

Edit: yeah that looks better...

7
Questions / Re: Tracks added to player do not display by Filename A-Z
« on: June 04, 2025, 02:09:00 AM »
I think it might be possible to force it into correct order by using a virtual function to modify the name MusicBee sees.

First you would need to create the function: Preferences >> Tags (1) >> Define New Tags.
In the bottom half of the dialog window you will find a list of functions.
If they are blank it will be labeled "Virtual#" with nothing in the formula section beside it.
Find a blank one and rename the label to something useful like: PadFileName
In the right side paste this in: $RxReplace(<Filename>,"^\d+",$Pad($RxMatch(<Filename>,"^\d+"),5))
This basically says if the filename starts with a number, replace it with the same number but pad it to five digits.
For example "12-this file name.mp3" will turn into "00012-this file name.mp3"
Note: this will not rename the file physically.  It only changes what is seen by MusicBee.
Now, save and exit.
In your header where you are sorting by filename, change filename to PadFileName and sort this and see if it behaves more to your expectations...

8
Oh!  That's what the .*? was for in hiccups code.  I see.  Yeah that is going to be a problem...
None of code I posted above is worth anything then.

I do not think <title> is one of the fields he was interested in so maybe hiccups original code would be OK?
Not likely to run into "Unknown" as the tag text from <composer>, <sound team>, or any of the other tags he is using.

@ note: Also sorry for hijacking!  Just trying to make it better
He has not responded to any of this.  I am starting to wonder if we are just spinning our own wheels for no reason.

@ tjinc: Well there is good news in all this.  The issue is cropping up because of the RegEx.  If needed we have the behemoth macro as a fallback as it is immune to this particular problem.

9
That's OK.  I don't mind jumping in again.
Since there are only four possible positions for an unknown in the worse case, it was easier just to brute force it.
EG: I tested all possible combinations of Unknown for "X - X - X - X".

$Trim($RxReplace($RxReplace($If(<Album Library>=1,<AlbLib1>,$If(<Album Library>=2,<AlbLib2>,$If(<Album Library>=3,<AlbLib3>,$If(<Album Library>=4,<AlbLib4>,)))),"(^Unknown(?= - )|(?<= - )Unknown(?= - )|(?<= - )Unknown$)",""),"((?<!\w\s)-\s|\s-(?!\s\w)|(-(?=\s-)))",""))

10
There is no contrast between the different menus/ areas/ sections of your skin so I cannot see what is going on.  For the second thing: In your main panel, are you using a column browser control?  Because this is what I would try.  If you add one you can configure it to be horizontal across the top.  You could choose an artist from the left panel.  And then in the column browser start filtering.  You can add/ remove fields like rating, heart, etc etc.  If you are already using one I apologize... I cant tell.

11
Thanks hiccup!  Much better than my poor attempt.
I tested the expressions for a while and I think I found a couple of corner cases where the first RegEx might fail.

(Unknown.*?(?=\s-\s|$))
What is the purpose of the anything expression highlighted in red.  By definition, nothing can be in between the tags and the dashes (besides \s).  So if the tag is empty the output should be "Unknown - " or "Unknown$".  This should take care of one corner case: "Breaking Benjamin - Unknown Soldier".

I am not really sure how to handle the second one though.  "Crossfade - The Unknown"

12
Quote
And I have to thank you @Pickles7853 - it had never occurred to me that you could wrap multiple fields in a single IsNull function. This is a useful trick to remember (and certainly made the solution to this problem less complex).

No need to thank me because I stole it from somewhere.  I *think* it was from hiccup.  It has been long enough now that I cannot remember though.
But I agree.  It is very useful in certain circumstances.

13
Puuh... yeah I missed that.  Thanks for pointing it out.
This should correct that and assuming my logic works out it might work lol.

$IsNull(<Album Library>,,$If(<Album Library>=1,$IsNull(<Publisher>,,<Publisher>)$IsNull(<Publisher>,,$IsNull(<Genre>,," - "))$IsNull(<Genre>,,<Genre>),$If(<Album Library>=2,$IsNull(<Developer>,,<Developer>)$IsNull(<Developer>,,$IsNull(<Console><Sound Team><Original Album>,," - "))$IsNull(<Console>,,<Console>)$IsNull(<Console>,,$IsNull(<Sound Team><Original Album>,," - "))$IsNull(<Sound Team>,,<Sound Team>)$IsNull(<Sound Team>,,$IsNull(<Original Album>,," - "))$IsNull(<Original Album>,,<Original Album>),$If(<Album Library>=3,$IsNull(<Comment>,,<Comment>)$IsNull(<Comment>,,$IsNull(<Publisher>,," - "))$IsNull(<Publisher>,,<Publisher>),$If(<Album Library>=4,$IsNull(<Work>,,<Work>)$IsNull(<Work>,,$IsNull(<Original Year>,," - "))$IsNull(<Original Year>,,<Original Year>),)))))

14
Sorry!  I was snoozing on my couch.  8)

Oh... each individual field...
Yeah that is a pain.  But you just have to work through the logic.

Macro2: $If(<Album Library>=1,<Publisher> - <Genre>,Macro3)
$IsNull(<Publisher>,,$IsNull(<Genre>,," - "))

So for the dash, the logic here is simple.  You only need a dash is there is a value for both <Publisher> and <Genre>.
If either of them is missing the dash is not needed.
For these smaller macros it isn't all that bad.  The larger one needs more attention.

Macro3: $If(<Album Library>=2,<Developer> - <Console> - <Sound Team> - <Original Album>,Macro4)
1st dash: $IsNull(<Developer>,,$IsNull(<Console><Sound Team><Original Album>,," - "))
2nd dash: $IsNull(<Console>,,$IsNull(<Sound Team><Original Album>,," - "))
3rd dash: $IsNull(<Sound Team>,,$IsNull(<Original Album>,," - "))

The first dash can only appear if <Developer> is not null and all the other fields after it are not empty.
The same logic applies for each dash after the first.

After taking out the dashes in the original macros and replacing them with the appropriate code it becomes:

$IsNull(<Album Library>,,$If(<Album Library>=1,<Publisher>$IsNull(<Publisher>,,$IsNull(<Genre>,," - "))<Genre>,$If(<Album Library>=2,<Developer>$IsNull(<Developer>,,$IsNull(<Console><Sound Team><Original Album>,," - "))<Console>$IsNull(<Console>,,$IsNull(<Sound Team><Original Album>,," - "))<Sound Team>$IsNull(<Sound Team>,,$IsNull(<Original Album>,," - "))<Original Album>,$If(<Album Library>=3,<Comment>$IsNull(<Comment>,,$IsNull(<Publisher>,," - "))<Publisher>,$If(<Album Library>=4,<Work>$IsNull(<Work>,,$IsNull(<Original Year>,," - "))<Original Year>,)))))

Hope I did not fat finger something in there and it works out of the preverbal box.  :-X

15
Bug Reports / Re: Cannot load more than 100 songs in player at once
« on: June 02, 2025, 05:02:12 PM »
It is likely this is not possible.  I do not think this is a MusicBee issue but rather a limitation of Windows.  Different commands follow different rules which are set in stone.  Sending files to another application via menus I believe is done through a shell command:

Quote
ShellExecute/Ex functions: These functions, often used for tasks like opening files or launching applications, impose a command line length limit of around 2048 characters, related to INTERNET_MAX_URL_LENGTH.

So the 100 file size limit is being reached as each of the tracks names you are sending over is likely, on average, around 20 characters in length.

Pages: 12 3 ... 10