1 |
/* |
/* |
2 |
* JSampler - a java front-end for LinuxSampler |
* JSampler - a java front-end for LinuxSampler |
3 |
* |
* |
4 |
* Copyright (C) 2005-2007 Grigor Iliev <grigor@grigoriliev.com> |
* Copyright (C) 2005-2008 Grigor Iliev <grigor@grigoriliev.com> |
5 |
* |
* |
6 |
* This file is part of JSampler. |
* This file is part of JSampler. |
7 |
* |
* |
27 |
import java.beans.PropertyChangeEvent; |
import java.beans.PropertyChangeEvent; |
28 |
import java.beans.PropertyChangeListener; |
import java.beans.PropertyChangeListener; |
29 |
|
|
|
import java.util.logging.Level; |
|
|
|
|
30 |
import javax.swing.AbstractAction; |
import javax.swing.AbstractAction; |
31 |
import javax.swing.Action; |
import javax.swing.Action; |
32 |
|
|
|
import net.sf.juife.event.TaskEvent; |
|
|
import net.sf.juife.event.TaskListener; |
|
|
|
|
33 |
import org.jsampler.CC; |
import org.jsampler.CC; |
34 |
import org.jsampler.HF; |
import org.jsampler.HF; |
|
import org.jsampler.JSampler; |
|
35 |
|
|
36 |
import org.jsampler.view.JSChannel; |
import org.jsampler.view.JSChannel; |
37 |
import org.jsampler.view.JSChannelsPane; |
import org.jsampler.view.JSChannelsPane; |
59 |
resetSampler.putValue(Action.SMALL_ICON, Res.iconReset32); |
resetSampler.putValue(Action.SMALL_ICON, Res.iconReset32); |
60 |
exportSamplerConfig.putValue(Action.SMALL_ICON, Res.iconExportSession32); |
exportSamplerConfig.putValue(Action.SMALL_ICON, Res.iconExportSession32); |
61 |
exportMidiInstrumentMaps.putValue(Action.SMALL_ICON, Res.iconExport16); |
exportMidiInstrumentMaps.putValue(Action.SMALL_ICON, Res.iconExport16); |
62 |
|
|
63 |
|
moveChannelsUp.putValue(Action.SMALL_ICON, Res.iconUp24); |
64 |
|
moveChannelsDown.putValue(Action.SMALL_ICON, Res.iconDown24); |
65 |
|
|
66 |
|
duplicateChannels.putValue(Action.SMALL_ICON, Res.iconCopy24); |
67 |
|
removeChannels.putValue(Action.SMALL_ICON, Res.iconDelete24); |
68 |
} |
} |
69 |
|
|
70 |
protected ClassicPrefs |
protected ClassicPrefs |
244 |
// CHANNELS |
// CHANNELS |
245 |
public final static Action newChannel = new NewChannel(); |
public final static Action newChannel = new NewChannel(); |
246 |
public final static Action newChannelWizard = new NewChannelWizard(); |
public final static Action newChannelWizard = new NewChannelWizard(); |
|
public final static Action duplicateChannels = new DuplicateChannels(); |
|
|
|
|
|
public final static Action moveChannelsOnTop = new MoveChannelsOnTop(); |
|
|
public final static Action moveChannelsUp = new MoveChannelsUp(); |
|
|
public final static Action moveChannelsDown = new MoveChannelsDown(); |
|
|
public final static Action moveChannelsAtBottom = new MoveChannelsAtBottom(); |
|
|
|
|
|
public final static Action selectAllChannels = new SelectAllChannels(); |
|
|
public final static Action deselectChannels = new DeselectChannels(); |
|
|
|
|
|
public final static Action removeChannels = new RemoveChannels(); |
|
247 |
|
|
248 |
|
|
249 |
private static class NewChannel extends AbstractAction { |
private static class NewChannel extends AbstractAction { |
274 |
} |
} |
275 |
} |
} |
276 |
|
|
|
private static class DuplicateChannels extends AbstractAction { |
|
|
DuplicateChannels() { |
|
|
super(i18n.getMenuLabel("channels.duplicate")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttDuplicateChannels")); |
|
|
putValue(Action.SMALL_ICON, Res.iconCopy24); |
|
|
|
|
|
setEnabled(false); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
JSChannel[] channels = |
|
|
CC.getMainFrame().getSelectedChannelsPane().getSelectedChannels(); |
|
|
|
|
|
if(channels.length > 2) { |
|
|
if(!HF.showYesNoDialog ( |
|
|
CC.getMainFrame(), |
|
|
i18n.getMessage("A4n.duplicateChannels?") |
|
|
)) return; |
|
|
} |
|
|
|
|
|
CC.getTaskQueue().add ( |
|
|
new org.jsampler.task.DuplicateChannels(channels) |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
private static class MoveChannelsOnTop extends AbstractAction { |
|
|
MoveChannelsOnTop() { |
|
|
super(i18n.getMenuLabel("channels.MoveOnTop")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttMoveChannelsOnTop")); |
|
|
setEnabled(false); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
ChannelsPane p = (ChannelsPane)CC.getMainFrame().getSelectedChannelsPane(); |
|
|
p.moveSelectedChannelsOnTop(); |
|
|
} |
|
|
} |
|
|
|
|
|
private static class MoveChannelsUp extends AbstractAction { |
|
|
MoveChannelsUp() { |
|
|
super(i18n.getMenuLabel("channels.MoveUp")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttMoveChannelsUp")); |
|
|
putValue(Action.SMALL_ICON, Res.iconUp24); |
|
|
|
|
|
setEnabled(false); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
ChannelsPane p = (ChannelsPane)CC.getMainFrame().getSelectedChannelsPane(); |
|
|
p.moveSelectedChannelsUp(); |
|
|
} |
|
|
} |
|
|
|
|
|
private static class MoveChannelsDown extends AbstractAction { |
|
|
MoveChannelsDown() { |
|
|
super(i18n.getMenuLabel("channels.MoveDown")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttMoveChannelsDown")); |
|
|
putValue(Action.SMALL_ICON, Res.iconDown24); |
|
|
|
|
|
setEnabled(false); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
ChannelsPane p = (ChannelsPane)CC.getMainFrame().getSelectedChannelsPane(); |
|
|
p.moveSelectedChannelsDown(); |
|
|
} |
|
|
} |
|
|
|
|
|
private static class MoveChannelsAtBottom extends AbstractAction { |
|
|
MoveChannelsAtBottom() { |
|
|
super(i18n.getMenuLabel("channels.MoveAtBottom")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttMoveChannelsAtBottom")); |
|
|
setEnabled(false); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
ChannelsPane p = (ChannelsPane)CC.getMainFrame().getSelectedChannelsPane(); |
|
|
p.moveSelectedChannelsAtBottom(); |
|
|
} |
|
|
} |
|
|
|
|
277 |
public static class |
public static class |
278 |
MoveChannelsTo extends AbstractAction implements PropertyChangeListener { |
MoveChannelsTo extends AbstractAction implements PropertyChangeListener { |
279 |
private final JSChannelsPane pane; |
private final JSChannelsPane pane; |
313 |
getChannelsPane() { return pane; } |
getChannelsPane() { return pane; } |
314 |
} |
} |
315 |
|
|
|
private static class SelectAllChannels extends AbstractAction { |
|
|
SelectAllChannels() { |
|
|
super(i18n.getMenuLabel("channels.selectAll")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttSelectAllChannels")); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
ChannelsPane p = (ChannelsPane)CC.getMainFrame().getSelectedChannelsPane(); |
|
|
p.selectAllChannels(); |
|
|
} |
|
|
} |
|
|
|
|
|
private static class DeselectChannels extends AbstractAction { |
|
|
DeselectChannels() { |
|
|
super(i18n.getMenuLabel("channels.selectNone")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttDeselectChannels")); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
ChannelsPane p = (ChannelsPane)CC.getMainFrame().getSelectedChannelsPane(); |
|
|
p.deselectChannels(); |
|
|
} |
|
|
} |
|
|
|
|
|
private static class RemoveChannels extends AbstractAction { |
|
|
RemoveChannels() { |
|
|
super(i18n.getMenuLabel("channels.RemoveChannel")); |
|
|
|
|
|
putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("ttRemoveChannels")); |
|
|
putValue(Action.SMALL_ICON, Res.iconDelete24); |
|
|
|
|
|
setEnabled(false); |
|
|
} |
|
|
|
|
|
public void |
|
|
actionPerformed(ActionEvent e) { |
|
|
JSChannelsPane p = CC.getMainFrame().getSelectedChannelsPane(); |
|
|
if(p.getSelectedChannelCount() > 1) |
|
|
if(!HF.showYesNoDialog ( |
|
|
CC.getMainFrame(), i18n.getMessage("A4n.removeChannels?") |
|
|
)) return; |
|
|
|
|
|
JSChannel[] chnS = p.getSelectedChannels(); |
|
|
|
|
|
for(JSChannel c : chnS) removeChannel(c); |
|
|
} |
|
|
|
|
|
private void |
|
|
removeChannel(final JSChannel c) { |
|
|
final JSChannelsPane p = CC.getMainFrame().getSelectedChannelsPane(); |
|
|
int id = c.getChannelInfo().getChannelId(); |
|
|
|
|
|
CC.getSamplerModel().removeBackendChannel(id); |
|
|
} |
|
|
} |
|
|
|
|
316 |
// TABS |
// TABS |
317 |
public final static Action newChannelsTab = new NewChannelsTab(); |
public final static Action newChannelsTab = new NewChannelsTab(); |
318 |
|
|