====== ZZT Music Formats ====== ===== .ZZM ===== 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. ==== General format (pre-1.0) ==== 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: * ignored, if not within a song, * treated as song commands, if within a song. The only known free software implementation (KevEdit) seems to only pay attention to ''TITLE'', ''SONG'' and ''SONG TITLE'' commands. ==== 1.0 ==== 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. ==== 1.1 ==== 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 ==== ZZT Music Player 2.0 files use the header ''ZZTMPLAYer file, version 2.0.''. No further details are known. ===== Other ===== ==== .muz (MuzMak) ==== Used for a music creation tool. No known documentation or source code.