seraxis / lr2oraja-endlessdream

A featureful fork of beatoraja
https://github.com/seraxis/lr2oraja-endlessdream/releases
GNU General Public License v3.0
50 stars 12 forks source link

logical operators for random select filters #1

Closed MatVeiQaaa closed 11 months ago

MatVeiQaaa commented 11 months ago

A feature to add logical operators to random select filters, particularly for keys with integer values. Implements "<", ">", "<=", ">=" and "&&" operations.

Normally, beatoraja as of 0.8.6 allows for fixed value keys in random select filters, such as "clear": 6, which would select a song with Hard-Clear lamp. It isn't possible to have it select from a range of values, such as 4-5, which would describe all songs with lamp ranging from Easy-Clear to Groove-Clear. This PR allows doing it as such:

{
        "name":"RANDOM EASY-GROOVE",
        "filter": {
            "clear": ">=4 && <6"
        }
 }

This has no effect on normal beatoraja behavior, otherwise. Everything that would work in upstream still holds, it only expands on it.