tepples wrote:zzo38 wrote:One suggestion of thing to add could be the octave mode that < and > makes the octave permanent while ' and , makes the octave temporary (a few MML compilers support this).
Which compilers, so I can plunder their manuals the way I did the ppMCK guide? Do they allow one of
< or
> and one of
, or
' on the same note?
The only ones I know are
AmigaMML and my own improved version of ppMCK (there may be others, but I do not know of any), and yes they do allow both on the same note. (Actually, it doesn't use
, for this purpose, but if implementing it in Pently,
, is already used to specify octave so it might as well to still do.)
Here is a copy of the relevant parts of the AmigaMML documentation that have to do with octaves (so that you need not download it if you do not want to):
c d e f g a b = Play notes by letters. You can include + (sharp) - (flat) ' (high octave) _ (low octave) after each note, to change them by one or twelve semitones each; using multiple symbols (even multiple same ones, such as double-sharp) is possible. After that, you can include a number to override the note length, and then you can include dots to increase the note length.
o = Set octave. For Amiga mode, range is 0 to 4 (default is 2), although the actual Amiga limit is octave 1 to 3 and some programs might not work with numbers outside of such limit. For Extended mode, the range is 0 to 7 (default is 4).
< > = Make low octave/high octave.
(The
o command here is one that all MML compilers I have seen implement (although the description above is for Amiga; the range may differ for NES/Famicom). Pently does not seem to have this, but it probably should be added, which then sets what is considered as "previous note" without actually adding a note. AmigaMML uses
_ as the low octave suffix, but Pently uses
, instead, which should still be OK; Pently is already difference from MML anyways, so it need not be the same way exactly. Also, maybe this documentation is unclear, but I wrote AmigaMML, so I know that
<> is permanent while
' is temporary.)
zzo38 wrote:Also, I do not see any description of the mmloctaves command in the documentation.
That's because the feature controlled by
mmloctaves is not yet implemented. I reserved that keyword a release in advance, intending to use it for
LilyPond-style chorded notation for arpeggios, where
<a c e>4 means the same as the
chordmode-inspired
a4:37.
Ah, OK.