? List of MML Errors ● SmileBASIC Source

Sign In

*Usernames are case-sensitive
Forgot my password

Migrating to a new website for SmileBASIC 4

List of MML Errors

The Illegal MML error will display additional information about the error. Here are all the sub-errors: (In no particular order) A lot of the names have misspellings and mistakes in them.

Unknown command

A character is used that isn't an existing MML command.

Unknown error

Unknown. Sometimes triggered when the parser expects a number but reaches the end of the MML string.

Internal error

Unknown. Caused by using a variable on N before setting its value (even though they default to -1 which is allowed on N).

Duplicate track definition

: is used to define a track that already exists. If a track is defined while already in that track, it is ignored and won't trigger this error.

Duplicate &

Multiple &s in a row are used

Illegal &

& is not placed after a note

Duplicate _

Multiple _s in a row.

Illegal _

_ is not placed after a note

Illegal & or _

& and _ were used on the same note.

Command unsupport variable

$ variables are used on a command that doesn't allow them.

Missing =

A $ variable is used on its own.

Missing number

A number is not passed to a command that expects one.

Missing note in loop

[ ] Loop doesn't have any delay inside it.

Illegal ]

] is used when there are no unclosed loops.

Missing ]

A loop is started without being closed by [. Missing note in loop takes priority.

Illegal parameter

The wrong number of values was passed to a command that has multiple arguments.

Imcomplete command

Part of a multi-character command is used. Triggered by @M and @MO

Invalid macro definition

A macro definition contains : or something like {{{}}

Invalid macro name

Macro name contains characters other than A-Za-z0-9_ or starts with a number.

Too long macro name

Tried to create a macro with a name longer than 7 characters, or use a macro with a name longer than 8.

Imcomplete macro

Missing }

Too deep nest of macro

Macros are nested more than 4(?) layers deep.

Not defined macro

A macro that doesn't exist is used

Duplicate macro definition

A macro is defined with the same name as another macro.

Illegal }

} is used outside of a macro definition

Out of range

A number was passed to a command that is too big or too small.

Octave out of range

Tried to change the octave to a value outside of 0-8, or play a note that is too low or high using -/#/+.

Illegal track definition:

Tried to change tracks inside a loop.

Too deep nest of loop

Tried to nest more than 3 loops inside each other.

Illegal =

= was used after a note

Missing portament parameters


Missing %


Duplicate %


Missing note

(Probably never happens)
0 votes
  • MML
  • BGM
  • error
  • music
1 Comment(s) 12Me21 12Me21 Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself invalid macro def can be caused by putting a track label in a macro