MSL Scripts
SheeranXLib.msl
#name Sheeran Looper X Library
#library
init{
InstallUIElement("fmodeLight","fmode" :Light :onColor :white :offColor :gray)
InstallUIElement("fmodeLabel","fmode" :Text :text "Function Mode:" :width 80 :onColor :white :offColor :gray)
InstallUIElement("fmenuALabel","fmenuA" :Text :text "A" :width 80 :onColor :white :offColor :gray)
InstallUIElement("fmenuBLabel","fmenuB" :Text :text "B" :width 80 :onColor :white :offColor :gray)
InstallUIElement("fmenuTapLabel","fmenuTap" :Text :text "Tap" :width 80 :onColor :white :offColor :gray)
InstallUIElement("MuteModeLight","mutemode" :Light :onColor :white :offColor :gray)
InstallUIElement("MuteModeLabel","mutemode" :Text :text "Mute Mode" :width 80 :onColor :white :offColor :gray)
}
/*
Use export statements to declare global variables used to capture the emulated states of the Looper X
fmode values: 0 (normal behaviour), 1 (Function Menu A), 2 (Function Menu B) or 3 (Tap Tempo Mode)
fmenuA values: 1 (Function Menu A On), 0 (Function Menu A Off)
fmenuB values: 1 (Function Menu B On), 0(Function Menu B Off)
fmenuTap values: 1 (Tap Tempo Mode On), 0((Tap Tempo Mode Off)
mutemode values: 1 (Mute Mode On), 0 (Mute Mode Off)
*/
export variable fmode
export variable fmenuA
export variable fmenuB
export variable fmenuTap export variable mutemode
SheeranXPedal1.msl
#name SheeranXPedal1
#repeat
//When Mute mode is on (mutemode=1) pressing pedal 1 Mutes/Unmutes Track 1
//When Mute Mode is off (mutemode=0) pressing pedal 1 selects Track 1
if mutemode equals 1{
in 1 Mute
}
else
{
SelectTrack(1)
}
//Double press of Pedal 1 solos Track 1
function OnRepeat(repeatCount){
in 1 Solo }
SheeranXPedal2.msl
#name SheeranXPedal2
#repeat
//When Mute mode is on (mutemode=1) pressing pedal 2 Mutes/Unmutes Track 2
//When Mute Mode is off (mutemode=0) pressing pedal 2 selects Track 2
if mutemode equals 1{
in 2 Mute
}
else
{
SelectTrack(2)
}
//Double press of Pedal 2 solos Track 2
function OnRepeat(repeatCount){
in 2 Solo }
SheeranXPedal3.msl
#name SheeranXPedal3
#repeat
//When Mute mode is on (mutemode=1) pressing pedal 3 Mutes/Unmutes Track 3
//When Mute Mode is off (mutemode=0) pressing pedal 3 selects Track 3
if mutemode equals 1{
in 3 Mute
}
else
{
SelectTrack(3)
}
//Double press of Pedal 3 solos Track 3
function OnRepeat(repeatCount){
in 3 Solo }
SheeranXPedal4.msl
#name SheeranXPedal4
#repeat
//When Mute mode is on (mutemode=1) pressing pedal 4 Mutes/Unmutes Track 4
//When Mute Mode is off (mutemode=0) pressing pedal 4 selects Track 4
if mutemode equals 1{
in 4 Mute
}
else
{
SelectTrack(4)
}
//Double press of Pedal 4 solos Track 4
function OnRepeat(repeatCount){
in 4 Solo }
SheeranXPedal5.msl
#name SheeranXPedal5
#sustain
#repeat
if fmode equals 0{
case mode {
:Reset {TransportStart Record}
:Record Overdub
:Overdub Play
:Play Overdub
:Mute Play
else print("Unhandled mode" mode)
}
}
else if fmenuTap{
TransportTap
}
function OnSustain(sustainCount sustainElapsed) {
if fmode equals 0 Undo }
SheeranXPedal6.msl
#name SheeranXPedal6
#sustain
if fmode equals 0{
in all {MuteOn}
}
function OnSustain() {
in all {if fmode equals 0 {Reset}} }
SheeranXPedal7.msl
#name SheeranXPedal7
if mutemode equals 0{
mutemode = 1
}
else{
mutemode = 0 }
SheeranXPedal8.msl
#name SheeranXPedal8
#sustain
#repeat
if fmode equals 0{
fmode = 1
fmenuA = 1
fmenuB = 0
fmenuTap = 0
}else{
fmode = 0
fmenuA = 0
fmenuB = 0
fmenuTap = 0
}
function OnSustain(sustainCount){
if fmode equals 2{
fmode = 1
fmenuA = 1
fmenuB = 0
fmenuTap = 0
}else{
fmode = 2
fmenuA = 0
fmenuB = 1
fmenuTap = 0
}
}
function OnRepeat(repeatCount){
fmode = 3
fmenuA = 0
fmenuB = 0
fmenuTap = 1 }