package com.frinika.sequencer.gui.transport;
import static com.frinika.localization.CurrentLocale.getMessage;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import com.frinika.project.ProjectContainer;
import com.frinika.project.gui.ProjectFrame;
import com.frinika.sequencer.FrinikaSequencer;
public class StopAction extends AbstractAction {
/**
*
*/
private static final long serialVersionUID = 1L;
private FrinikaSequencer sequencer;
private ProjectContainer project;
public StopAction(ProjectFrame project) {
super(getMessage("sequencer.project.start_stop"));
this.sequencer=project.getProjectContainer().getSequencer();
this.project=project.getProjectContainer();
// putValue(ACCELERATOR_KEY,KeyStroke.getKeyStroke(
// KeyEvent.VK_SPACE,0));
}
public void actionPerformed(ActionEvent arg0) {
if (sequencer.isRunning()) {
boolean recording = sequencer.isRecording();
sequencer.stop();
if(recording)
if(sequencer.getNumberOfTakes() == 1)
{
project.getEditHistoryContainer().mark(getMessage("recording"));
sequencer.deployTake(new int[] {sequencer.getNumberOfTakes()-1});
project.getEditHistoryContainer().notifyEditHistoryListeners();
}
}
}
}