@@ -0,0 +1,1178 @@
+package rocketpower.library;%0A%0A%0A/*%0A * Controller for running Rocket integration%0A * without music track. Just tracks time and%0A * advances row as fast as desired.%0A */%0Aclass TimeController extends RocketController %7B%0A    int rps;%0A    long lastMeterPoint;%0A    boolean playing;%0A%0A    TimeController(int rowsPerSecond) %7B%0A        rps = rowsPerSecond;%0A        playing = false;%0A        lastMeterPoint = 0;%0A    %7D%0A%0A    public void update() %7B%0A        if (!playing)%0A            return;%0A%0A        if (lastMeterPoint == 0)%0A            lastMeterPoint = System.nanoTime();%0A%0A        // Update current time%0A        long meter = System.nanoTime();%0A        long timespan = meter - lastMeterPoint;%0A        lastMeterPoint = meter;%0A        setCurrentRow(currentRow + (timespan/1e9)*rps, false);%0A    %7D%0A%0A    public boolean isPlaying() %7B%0A        return playing;%0A    %7D%0A%0A    public void pause() %7B%0A        if (playing)%0A            playing = false;%0A    %7D%0A%0A    public void play() %7B%0A        if (!playing) %7B%0A            playing = true;%0A            lastMeterPoint = System.nanoTime();%0A            for (ControllerListener listener: listeners)%0A                listener.controllerStatusChanged(true);%0A        %7D%0A    %7D%0A%0A%7D%0A

Add TimeController