     recalculate()
     strike()
   retreat = ->
-    return if $scope.seq.ticks <= 0
+    if $scope.seq.ticks <= 0
+      $scope.seq.ticks = $scope.t.len()
     $scope.seq.ticks -= 1
     recalculate()
     strike()

    angular.forEach($scope.t.channels, (notes, inst) ->
      Sound.play(inst) if notes[$scope.seq.semi]
    )
  Keyboard.register(83, strike)
  $scope.seq =
    ticks: -1
    beat: -1

  Keyboard.register(76, $scope.advance) # l
  Keyboard.register(37, retreat) # left arrow
  Keyboard.register(72, retreat) # h
  recalculate = ->
    $scope.seq.semi = $scope.seq.ticks % ($scope.t.beatCount * 4)
    $scope.seq.beat = Math.floor($scope.seq.semi / 4)
