if (char 1 of the name of member the memberNum of sprite the clickOn <> "m") and (gSynthSel <> integer(the name of member the memberNum of sprite the clickOn)) then
set the memberNum of sprite 88 to the number of member the memberNum of sprite the clickOn
set the ink of sprite 88 to 36
set the visible of sprite the clickOn to 0
repeat while the mouseDown
set the locH of sprite 88 to the mouseH
set the locV of sprite 88 to the mouseV
updateStage()
end repeat
end if
set prima to 0
end if
end
on rightMouseUp
global gOn, gFirstSynth, gLastSynth, gLastSprite, gSynthSel, prima, markerSynthList, posRectList, paramList
if gOn then
set prima to prima + 1
if prima = 1 then
set newPos to point(the mouseH, the mouseV)
set numero to integer(the name of member the memberNum of sprite the clickOn)
if inside(newPos, getAt(getAt(posRectList, the clickOn - 67), 2)) then
set the loc of sprite the clickOn to getAt(getAt(posRectList, the clickOn - 67), 1)
updateStage()
else
if gSynthSel > numero then
set gSynthSel to gSynthSel - 1
set the locH of sprite 74 to the locH of sprite 74 - 12
end if
deleteAt(markerSynthList, numero)
deleteAt(paramList, numero)
repeat with i = 68 to 73
set the memberNum of sprite i to the number of member "m"
end repeat
case count(markerSynthList) of
0:
set gLastSynth to 0
set gFirstSynth to 0
set gLastSprite to 67
otherwise:
if count(markerSynthList) < 6 then
repeat with i = 1 to count(markerSynthList)
set the memberNum of sprite (67 + i) to the number of member string(i)
end repeat
set gLastSprite to gLastSprite - 1
else
repeat with i = 6 down to 1
set the memberNum of sprite (67 + i) to the number of member string(count(markerSynthList) - 6 + i)
end repeat
set gLastSprite to 73
end if
set gFirstSynth to integer(the name of member the memberNum of sprite 68)
set gLastSynth to integer(the name of member the memberNum of sprite gLastSprite)
end case
end if
set the loc of sprite the clickOn to getAt(getAt(posRectList, the clickOn - 67), 1)