Feature description:
When I am using the custom strings feature, I hope that a basic string can be restricted by multiple conditions and appear a tag defined by users. Or, if there are two or more strings, each of them will be restricted separately and appear a tag defined by users. When both greater than and less than apply: for example, if the year is between 1990 and 1999, “90s” will be displayed. If two strings are separately restricted: when the sample rate is not 44.1 kHz or the bit depth is not 16 bit, “Hi-Res” will be displayed. “Medium speed” will be displayed if the BPM is greater than or equal to 90 and less than or equal to 120. These display tags can all be customized by us users (90s, Hi-Res, Medium speed), and these should rely on the conditions that can be achieved .
Problem solved:
It can overcome the limitations that now version cannot restrict one basic strings in two or more conditions for to control the display of some user’s custom information; or it cannot restrict each basic string separately and jointly control the display of some user’s custom information.
Brought benefits:
In the interface for now playing, users can see more information that is defined by themselves, and can have a more intuitive understanding of some attributes of the songs. On the other hand, this also increases the diversity of the custom strings function, allowing for obtaining more interesting combinations of tags.
Other application solutions:
This issue is based on the expansion of our symfonium’s specific functions, and thus it is not easy to find a solution in other applications. However, I can offer relevant suggestions based on my own usage, hoping to be helpful.
Additional description and context:
In the above introduction, I mentioned two situations where both conditions are met simultaneously. The relationship between them can be expressed by “&&”, meaning that both A and B are satisfied.
Another situation is that if either of the two conditions, A or B, is satisfied, some user-defined information can be displayed. We can represent this with “A||B”.
I will provide examples: {90s%|year>“1989”%&&%|year<“2000”%}
{90s%|year>=“1990”%&&%|year<=“1999”%}
It means when this song is 1995 release
(1990-1999), it will show 90s.
{Hi-Res%|format.bitdepth==“16”%&&%| format.samplerate==“44.1”%}
So it means when song is not 16 bitdepth or not 44.1kHz samplerate, it will show Hi-Res.
Screenshots / Mockup: