My first song part recall the Rackspace variation when coming back to a song

Ok, while trying to lighten the project, I noticed that, somehow the issue is bound to the global rackspace script (Step player that @schamass created in this topic)
If I remove this script, the behaviour return to normal.
I paste here my whole global rackspace script if it can help.

Var
  lblStatus, btnSkip, btnPlayAndStep, btnResetToOne : Widget

  btnPlayingAP1, btnPlayingAP2, btnPlayingAP3, btnPlayingAP4, btnPlayingAP5, btnPlayingAP6,  btnPlayingAP7, btnPlayingAP8 : widget
  lblReady1, lblReady2, lblReady3, lblReady4, lblReady5, lblReady6, lblReady7, lblReady8 : widget
  lblFile1, lblFile2, lblFile3, lblFile4, lblFile5, lblFile6, lblFile7, lblFile8 : widget
  ledLoaded1, ledLoaded2, ledLoaded3, ledLoaded4, ledLoaded5, ledLoaded6, ledLoaded7, ledLoaded8 : widget
  PlayPos1, PlayPos2, PlayPos3, PlayPos4, PlayPos5, PlayPos6, PlayPos7, PlayPos8 : widget

  ButtonsPlayingArray : widget array = [btnPlayingAP1, btnPlayingAP2, btnPlayingAP3, btnPlayingAP4, btnPlayingAP5, btnPlayingAP6, btnPlayingAP7, btnPlayingAP8]
  LabelsReadyArray : widget array = [lblReady1, lblReady2, lblReady3, lblReady4, lblReady5, lblReady6, lblReady7, lblReady8]
  filesArray : widget array = [lblFile1, lblFile2, lblFile3, lblFile4, lblFile5, lblFile6, lblFile7, lblFile8]
  LoadMarkersArray : widget Array = [ledLoaded1, ledLoaded2, ledLoaded3, ledLoaded4, ledLoaded5, ledLoaded6, ledLoaded7, ledLoaded8]
  PlayPositionsArray : widget array = [PlayPos1, PlayPos2, PlayPos3, PlayPos4, PlayPos5, PlayPos6, PlayPos7, PlayPos8]

  activetrack : integer = 0 //counting starts at 0
  colRed, colYellow, colGreen, colGrey : integer

  //user function to zero playpositions
  function ResetPlayPosition(track : integer) //if track = -1 then Reset all tracks, else reset specific track
  var index : integer
  if track == -1 then
    for index = 0; index < Size(PlayPositionsArray); index = index +1 Do
      SetWidgetValue (PlayPositionsArray[index], 0)
    end
  else
    SetWidgetValue (PlayPositionsArray[track], 0)
  end
 End

//user function to stop playheads
function StopPlayhead(track : integer) //if track = -1 then stop all tracks, else stop specific track
var index : integer
  if track == -1 then
    for index = 0; index < Size(ButtonsPlayingArray); index = index +1 Do
      SetWidgetValue (ButtonsPlayingArray[index], 0)
    end
  else
    SetWidgetValue (ButtonsPlayingArray[track], 0)
  end
End

//user function to set & color the active lane/track
function SetActiveLane (lane :integer)
var index : integer
  for index = 0; index < Size(LabelsReadyArray); index = index +1 Do
    if lane <> index then
      SetWidgetFillColor(LabelsReadyArray [index], colGrey)
    else
      SetWidgetFillColor(LabelsReadyArray [index], colYellow)
    end
  end
  SetWidgetLabel (lblStatus, “Ready to play Track#” + (lane+1))
End

Initialization
  colRed = RGBToColor(0.8, 0.0, 0.0, 1.0)
  colYellow = RGBToColor(0.8, 0.8, 0.0, 1.0)
  colGreen = RGBToColor(0.0, 0.6, 0.0, 1.0)
  colGrey = -12829636 //default “grey” value, read from a label widget with “GetWidgetFillColor(lblFile1)”

  SetActiveLane (0) //counting starts at 0
  SetWidgetLabel (lblStatus, "Click the large boxes in the middle to open the player and load a file!")

End

        // -----------Previous name : "btnStepOn"

On WidgetValueChanged (bval : double) from btnPlayAndStep
var actualtrack : integer =0
  if bval > 0.6 Then
    if GetWidgetLabel(LoadMarkersArray[0]) == “0.00” then
    SetActiveLane(0)
    SetWidgetLabel (lblStatus, “Track #1 must not be empty! Please load a file in Player1 / Lane 1! Then save and reload your gig.”)
    else
      //Set the regarding play-button to ON
      SetWidgetValue (PlayPositionsArray[activetrack], 0) //reset play position before play
      SetWidgetValue(ButtonsPlayingArray[activetrack],1.0)
      actualtrack = activetrack // store actual track# for status message

        //check if we reached the end of the available track numbers
        //if not switch one further
        if activetrack == Size (LoadMarkersArray)-1 then
            activetrack = 0
        else
            activetrack = activetrack +1
        end

        //check if actual lane is loaded with a file, if not find the next loaded lane
        if GetWidgetLabel(LoadMarkersArray[activetrack]) == "0.00" then
            While activetrack < Size (LoadMarkersArray)-1 and GetWidgetLabel(LoadMarkersArray[activetrack]) == "0.00" Do
              activetrack = activetrack +1
            end
        end
        
        if activetrack == 7 then activetrack =0 end
            
        SetActiveLane(activetrack)
        SetWidgetLabel (lblStatus, "Playing Track #" + (actualtrack+1) + " / Ready to play Track#" + (activetrack+1))
    end
  end
End

        //New Skip button, maybe there are some unescessary code lines

On WidgetValueChanged (bval : double) from btnSkip
var actualtrack : integer =0
  if bval > 0.6 Then
  if GetWidgetLabel(LoadMarkersArray[0]) == “0.00” then
    SetActiveLane(0)
    SetWidgetLabel (lblStatus, “Track #1 must not be empty! Please load a file in Player1 / Lane 1!Then change the rackspace and come back.”)
  else
    //Set the regarding play-button to ON
    SetWidgetValue (PlayPositionsArray[activetrack], 0) //reset play position before play
    actualtrack = activetrack // store actual track# for status message

        //check if we reached the end of the available track numbers
        //if not switch one further
        if activetrack == Size (LoadMarkersArray)-1 then
            activetrack = 0
        else
            activetrack = activetrack +1
        end

        //check if actual lane is loaded with a file, if not find the next loaded lane
        if GetWidgetLabel(LoadMarkersArray[activetrack]) == "0.00" then
            While activetrack < Size (LoadMarkersArray)-1 and GetWidgetLabel(LoadMarkersArray[activetrack]) == "0.00" Do
              activetrack = activetrack +1
            end
        end
        
        if activetrack == 7 then activetrack =0 end
            
        SetActiveLane(activetrack)
        SetWidgetLabel (lblStatus, "Track #" + (actualtrack+1) + " Skipped ! / Ready to play Track#" + (activetrack+1))
    end
  end
End

//pressing the Reset To One button
On WidgetValueChanged (bval : double) from btnResetToOne
  if bval >0.6 Then
    StopPlayhead(-1)//-1 means “all tracks”
    ResetPlayPosition(-1)//-1 means “all tracks”
    activetrack = 0
    SetActiveLane (0)
  end
End

//set label colors according to a track’s play button’s state
On WidgetValueChanged(w : Widget, index: integer, bval : double) from btnPlayingAP1, btnPlayingAP2, btnPlayingAP3, btnPlayingAP4, btnPlayingAP5, btnPlayingAP6, btnPlayingAP7, btnPlayingAP8
  if bval > 0.6 Then
    SetWidgetFillColor(LabelsReadyArray [index], colGreen)
    SetWidgetFillColor(filesArray [index], colGreen)
  else
    ResetPlayPosition(index)
    SetWidgetFillColor(LabelsReadyArray [index], colGrey)
    SetWidgetFillColor(filesArray [index], colGrey)
    if activetrack == 0 Then
      SetWidgetFillColor(LabelsReadyArray [0], colYellow)
    end
    SetWidgetLabel (lblStatus, “Ready to play Track#” + (activetrack+1))
  end
End