ZZM is the primary ZZT music notation format, however it has many variants. An attempt to categorize them has been made. Please note that the documentation has been reverse-engineered based on existing .ZZM files, and may not be entirely accurate.
ZZM files consist of songs - lines of ZZT #PLAY-notation notes - with additional metadata and headers.
Lines prefixed with ; $
are treated as parseable commands. A list of such commands is provided below:
TITLE [title]
- music collection title,SONG [id]
- beginning of a song with the specific sequential numeric ID,SONG ENDS
- end a song, required,SONG TITLE [id] [title]
- song title, optional,SONGS END
- end of the song data block,EOF
- end of file. Some files (MUSICBOX.ZZM) include song titles after EOF, however…Any lines which are not otherwise understood be either:
The only known free software implementation (KevEdit) seems to only pay attention to TITLE
, SONG
and SONG TITLE
commands.
ZZM 1.0 files use the header ; ZZT Music File v1.0
. The following additional commands are present in such files:
GENDATE MM-DD-YYYY
- music collection creation date,GENTIME HH:MM:SS
- music collection creation time,SONGS BEGIN
- beginning of the song data block.
ZZM 1.1 files use the header ; ZZT Music File v1.1
. This variation has been introduced by Atrocity in ZZMPlay. It adds support for 64th-length notes, which can be activated using the letter y
.
ZZT Music Player 2.0 files use the header ZZTMPLAYer file, version 2.0.
. No further details are known.
Used for a music creation tool. No known documentation or source code.