Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
It's really untenable to create/edit things like this, and for really long sequences I have to break out Sublime Text.
Instead, it'd be great if you could write something like:
15 8x8 8x7 8x6 8x5 8x4 8x3 8x2 8x1 0
Where XxY means "X copies of the value Y". Although I guess "xY" is taken for the hex value syntax now so a different character could work. X*Y or Y{X} make sense to a programmer, but...
Or sequences with many horizontal steps (e.g. long length), where the bars themselves are very thin and become difficult to accurately click on.
One version I've thought of in my head is using just a period/ellipses to represent "repeat the previous value". So something like "3 3 3 3 3 2 2 2 1 0" could be shortened to "3.... 2 1 0" (number of dots in direct proportion to repetition), it looks nice and intuitive but it does have the limitation of saving only 1 character per rep.
_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
A little more complex, but what about typing the first value, then holding Shift and typing the second value? Then the macro window automagically repeats the first value according to what the second value is? Maybe the second value could be a permanent setting until either it's changed or until the instrument dialog is closed?
However it does seem like copy/paste works well enough in situations like this.
The problem with that is the same as the way it is now: all you see is a small text input filled with multiple copies of the same number. Having a shorthand syntax lets you see the envelope at a glance.
I don't like the apostrophe versions, personally, since then I start thinking of them as units of measure (namely feet/inches).
Another potentially simple solution is just [i]value[/i]([i]repeat[/i]), i.e. 5(3) = 5 5 5
Multiplication sign is more or less out, of course, since that could get confused with hexadecimal input.
_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
[quote=Xyz_39808]XPMCK mml strings for volumes has some elegant solutions.
{7'4 10'3} becomes {7 7 7 7 10 10 10}
{1:5} becomes {1 2 3 4 5}
{1:5:1} is the same as above.
{1:5:2} becomes {1 3 5} (increments by 2)
{1:5:0.25} becomes {1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5}
{10:4:-2} becomes {10 8 6 4} (incrementing down requires a negative sign, "10:4:2" would break the compiler)
Though fractional 3rd parameters using a decimal point totally break when using hex.
There is also MGSDRV style.
{5:3 4} becomes {5 5 5 4}
{2 10=5} becomes {2 4 6 8 10} (took 5 steps to get to 10)
{6 10=9} becomes {6 6 7 7 8 8 9 9 10} (took 9 steps to get to 10)
Maybe a forum vote for which convention is neater?
Though you should be able to use (& credit) code from Hertzdevil's fork for the already implemented {4'6} type of strings[/quote]
I could see either of these two options being extremely useful, especially
[quote=]{1:5} becomes {1 2 3 4 5}
{1:5:1} is the same as above.
{1:5:2} becomes {1 3 5} (increments by 2)
{1:5:0.25} becomes {1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5}
{10:4:-2} becomes {10 8 6 4} (incrementing down requires a negative sign, "10:4:2" would break the compiler)[/quote]
[quote=Xyz_39808]Though you should be able to use (& credit) code from Hertzdevil's fork for the already implemented {4'6} type of strings[/quote]
^ This 100%