Author Topic: Virtual Tag Template Editor enhancements  (Read 379 times)

Zak

  • Member
  • Hero Member
  • *****
  • Posts: 2185
I've had these ideas in mind for a long time, but have been spurred into posting action by the discussion in this thread:

https://getmusicbee.com/forum/index.php?topic=36890.0

In short, if I had to highlight any one feature that sets MusicBee apart from other music managers and players, it's the use of virtual tags to provide great amounts of flexibility in how tracks are presented without needing to explicity store all those values in real tags. But as you start diving deeper into what's possible, it becomes increasingly difficult to create and maintain them.

In this thread I'm suggesting a few enhancements to make this easier. Other users may also have had similar ideas they want to contribute.

(btw, I've deliberately used a simpler example to better illustrate my suggestions - you don't have to look far on the forum to find people using some truly convoluted virtual tags that would benefit more greatly)

1. Colour-coded bracket matching

Here is relatively simple tag I use to group different types of album:



This the same tag shown in VS Code, with syntax highlighting set to Visual Basic (which works pretty well for virtual tag highlighting):



It would be nice if the virtual tag Template Editor in MusicBee could highlight opening and closing pairs of parentheses with alternating colours in the same way to make it easier to diagnose issues with nested functions. VS Code also highlights strings and other characters, but I don't see that being as important in MusicBee tags unless it is easily implemented.
(Bonus points awarded though if it is possible to also highlight the parenthesis that matches the cursor position, like VS Code does by drawing little boxes around them.)

2. Preserve white space in virtual tags

Currently, MusicBee will accept tags with arbitrary whitespace in them, but will remove it when the tags are saved.

Again in VS Code, this is the same formula with whitespace and carriage returns added to better illustrate each of the responses to the different conditional statements:



With or without the syntax highlighting, it would be great if MusicBee saved that whitespace and displayed it again when the tag is edited.

3. Use only displayed tracks in the Template Editor Preview list

When I'm updating virtual tags I'm almost always looking at a list of tracks that isn't displayed the way I want it to be.
The Preview list in the virtual tag Template Editor is helpful to check if a virtual tag shows the intended result, but it always shows every track in the library, which makes finding the ones I'm interested in almost impossible.

It would be more useful if the list only included the tracks that are currently displayed in the main panel - which probably already shows the tracks users are trying to fix values for. Users could still have it display all tracks in their library if they needed that.

4. Resizable windows

Make the New Custom Tag Definition dialog and Template Editor windows resizable.
Bee excellent to each other...

SonicRings

  • Sr. Member
  • ****
  • Posts: 267
+1

Just a minor thing I'd like to point out:
3. Use only displayed tracks in the Template Editor Preview list

When I'm updating virtual tags I'm almost always looking at a list of tracks that isn't displayed the way I want it to be.
The Preview list in the virtual tag Template Editor is helpful to check if a virtual tag shows the intended result, but it always shows every track in the library, which makes finding the ones I'm interested in almost impossible.

It would be more useful if the list only included the tracks that are currently displayed in the main panel - which probably already shows the tracks users are trying to fix values for. Users could still have it display all tracks in their library if they needed that.

This is actually the case. If you go to a playlist, it will only display tracks within that playlist. So you could simply create a new playlist, add the album you're trying to make display properly to it, and it will only show that album. Though it would still be nice if musicbee did this in the main library tab anyway, where it just scrolls to the currently highlighted release while still allowing you to scroll throughout your entire library.


boroda

  • Hero Member
  • *****
  • Posts: 3670

psychoadept

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 10663
+1 to all

If I have a very long virtual tag to work with I always end up copying it into Notepad++ to see syntax highlighting.
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.5)
(Unzip and overwrite existing program files)

SonicRings

  • Sr. Member
  • ****
  • Posts: 267
+1 to all

If I have a very long virtual tag to work with I always end up copying it into Notepad++ to see syntax highlighting.
Which language do you set in notepad++?

Zak

  • Member
  • Hero Member
  • *****
  • Posts: 2185
This is actually the case. If you go to a playlist, it will only display tracks within that playlist. So you could simply create a new playlist, add the album you're trying to make display properly to it, and it will only show that album.
I rarely work with playlists so I didn't realise that compromise exists. Having to keep moving tracks in and out of a temporary playlist just to work on tags isn't ideal though.

Though it would still be nice if musicbee did this in the main library tab anyway, where it just scrolls to the currently highlighted release while still allowing you to scroll throughout your entire library.
Scrolling to a particular item in the list wouldn't work if you're making a virtual tag for a collection of albums - all classical music, for example - not just a single album or a single artist. It really needs to be a filtered list, which could still show the entire library if the user doesn't apply one.
Bee excellent to each other...