Expanding on the idea of adding bases: I’ve wished Teletype had support for base 12 in the tracker view for quite a while as it would be really useful for manipulating notes. In base 12 it’s very easy to add and remove octaves and interpret note numbers. Here are some examples of why this is the case.
Here are the basics
base 10 base 12
C 0 0
C# 1 1
D 2 2
D# 3 3
E 4 4
F 5 5
F# 6 6
G 7 7
G# 8 8
A 9 9
A# 10 A
B 11 B
Now, let’s try some notes with different octave numbers. You’ll see that notation is base 12 is much simpler to interpret, because we can tell the octave by the first digit, and the note by the last one.
In contrast, in base 10, the number is equal to the note number at octave 0 plus the number of octaves times 12, which just isn’t intuitive.
We also don’t have weird cases where we get a three digit base 12 note number, because you’d need to use a range of 12 octaves or more, which is more than Teletype can output, and more than the earing range.
base 10 base 12
C0 0 0
C1 12 10
C2 24 20
C3 36 30
G0 7 7
G1 19 17
G2 31 27
G3 43 37
B0 11 B
B1 23 1B
B2 35 2B
B3 47 3B
I think the place where this would be most useful is in the tracker view. It would be ideal to be able to set the display base for each pattern rather than the whole tracker view, as it would allow different types of data to coexist.
We could even generalize the idea to arbitrary bases, so we’d have a BASE B X to convert number X from base B to base 10, and P.BASE B / PN.BASE N B to change the tracker view display format of the selected pattern to base B.