A little feedback.
First,
I think the parser could be less strict, for example you can't write:
A=a3, C=d2,
the last comma prevents to compile the song.
As long as there is no data except space, tab or line break, it could consider the comma doesn't exist.
I'd like to see a comment mark (for example to comment a part so it won't play during the rendering)
I like the idea of columns for entering notes. I has an interesting effect, you don't have to enter the value of some notes, like that:
A=g3, B=d2
A=d3
A=a3
A=f3
A=e3
A=g3
A=f3, B=c1
A=d3
A=e3
here we have for B the d2 note which will last 6 steps, then c1 will last 3 steps. Yeah, basically it's the same as in trackers
I guess also it's easier to parse the notes.
It has some drawbacks however: It's less easy to copy and paste a track (for example channel 2). Some text editors support vertical selection though. When a channel is on a line, you can duplicate it more easily.
I think in addition to the current behaviour, it might worth adding, if possible, independent patterns, it means a pattern could contain only one voice, then you would mix the patterns together for different variations. The current behaviour is like on milkytracker, beepola or vortex tracker, I was thinking to something like on sidwizard or goattracker.
It means something like that would be legit:
ptn1a, ptn1b, ptn1c
:ptn1a
A=f3, MIXA=and, MIXB=and, PHA=0, PSCA1=none, PSCC=none, SLIDESPD=0, DMOD=off, SPD=8
A=d3,
A=a3,
A=d3
A=f3,
A=e3,
A=f3,
:ptn1b
B=d2,
.
.
.
.
B=f2,
:ptn1c
C=d2
C=a2
C=d2
C=a2
C=d2
C=a2
C=c2
instead of:
ptn1
:ptn1
A=f3, B=d2, C=d2, MIXA=and, MIXB=and, PHA=0, PSCA1=none, PSCC=none, SLIDESPD=0, DMOD=off, SPD=8
A=d3, C=a2
A=a3, C=d2
A=d3, C=a2
A=f3, C=d2
A=e3, C=a2
A=f3, B=f2, C=c2
It might look more verbose, but it could help to design very repetive parts. But maybe it'd be too complicated to parse.
(edit) thanks for the brackets addition, I'll have a look at it. Also for the value, what is correct, PHA=$800 or PHA=800, or is it the same?
I don't understand all the pattern commands effects, but I'll have a try.
In the betaphase.txt it's written
MIXB Set mixing mode channel 1
I guess it's:
MIXB Set mixing mode channel 2