---General sustain info---
Both 3MLE & MS2 (MapleStory 2)
Sustain commands work on most instruments (see this comment for the list)
The sustain commands in both 3MLE and MS2 are global; e.g. putting 's1' in track 1 will start sustaining all notes in all tracks
Sustain commands can be put in any track; e.g. putting 's1' in track 1 to start sustaining notes and then putting 's0' in track 2 to stop sustaining notes
You can use 's0s1' to reset sustain (end the notes currently being sustained and then start sustaining all further notes)
3MLE
**If you are using sustain commands in 3MLE: Never use the Optimise Tool because it will remove all sustain commands
For sustain commands to be recognised in 3MLE every track needs to have this at the top (including two blank lines):
//#using_extension
//#using_channel = 1
It should look like this:
These two lines assign this track to channel 1.
If you are using more than one instrument, you need to make sure that the tracks of different instruments use different channels
Example: If you are creating a pianio, violin and cello trio performance then all piano tracks could have "#using_channel=1", all violin tracks could have "#using_channel=2" and all cello tracks could have "#using_channel=3"
The 3MLE sustain commands are:
'y64,[1-127]' will START sustain (the "[1-127]" means any number between 1 and 127, so an actual command might look like this: 'y64,99')
'y64,0' will STOP sustain
MS2
The MS2 sustain commands are:
's1' will START sustain
's0' will STOP sustain
---Tips---
All of the methods below involve using Notepad++ (You can download it for free here: https://notepad-plus-plus.org/download)
Replace sustain commands
3MLE recognises sustain command values between '0' and '127', however MS2 only recognises two values: '0' and '1', so if a 3MLE file contains only two sustain values: 'y64,0' and 'y64,127', you can use replace tool in Notepad++ to quickly replace 3MLE sustain commands with MS2 sustain commands:
Select the 'Wrap around' option:
Find what: "y64,0"
Replace with: "s0"
select: 'Replace All' or 'Replace All in All Opened Documents' if you are using multiple tabs
and then do the same thing but with different values:
Find what: "y64,127"
Replace with: "s1"
Replace sustain commands with varying values
Some imported .mid files contain sustain commands with varying values, such as 'y64,34', 'y64,11', 'y64,101', so to replace them you can use replace tool in Notepad++:
*make sure only the following options are selected: 'Wrap around' + 'Regular expression' + '. matches newline'
It should look like this:
then perform the steps in order: 1: replace "y64,0" with "s0"
Find what: "y64,0"
Replace with: "s0"
select: 'Replace All' or 'Replace All in All Opened Documents' if you are using multiple tabs
2: replace "y64,[0-9]+" with "s1"
Find what: "y64,[0-9]+"
Replace with: "s1"
select: 'Replace All' or 'Replace All in All Opened Documents' if you are using multiple tabs
Remove 3MLE comments
You can use replace tool in Notepad++ to quickly remove the 3MLE comments at the beginning of each line e.g. "/*M 0 */ " :
Find what: "\/\*.*?\*\/ " (without quotation marks, but including whitespace characters)
Replace with: "" (make sure it contains nothing, not even whitespace characters)
*select only the following options: 'Wrap around' + 'Regular expression' + '. matches newline':
It should look like this:
Then select: 'Replace All' or 'Replace All in All Opened Documents' if you are using multiple tabs