This commit is contained in:
Bram Veenboer
2011-06-05 17:33:04 +00:00
parent 7494f8b170
commit b20ccd4fbf
9 changed files with 52 additions and 58 deletions

View File

@@ -32,6 +32,8 @@ public class WinampApplication extends WindowsApplication {
protected double volume;
protected boolean muted;
protected boolean forward;
protected boolean rewind;
public WinampApplication() {
super(PROGRAM, TITLE, NAME);
@@ -39,8 +41,23 @@ public class WinampApplication extends WindowsApplication {
muted = volume == 0;
}
public void begin(Action action) {
log.trace("WinampApplication: " + action);
switch (action) {
case FORWARD:
forward = true;
while (forward) {
command(WINAMP_FFWD5S);
sleep(200);
}
break;
case REWIND:
command(WINAMP_REW5S);
break;
}
}
public void end(Action action) {
log.fatal(handle);
log.trace("WinampApplication: " + action);
switch (action) {
case PLAY:
@@ -61,13 +78,12 @@ public class WinampApplication extends WindowsApplication {
command(WINAMP_BUTTON1);
break;
case FORWARD:
command(WINAMP_FFWD5S);
forward = false;
break;
case REWIND:
command(WINAMP_REW5S);
break;
case MUTE:
System.out.println(getDuration() +" "+ getElapsed());
if (muted) {
setVolume(volume);
} else {
@@ -77,7 +93,6 @@ public class WinampApplication extends WindowsApplication {
muted = !muted;
break;
case VOLUME_UP:
System.out.println(getVolume());
command(WINAMP_VOLUMEUP);
break;
case VOLUME_DOWN:
@@ -118,4 +133,3 @@ public class WinampApplication extends WindowsApplication {
return user(0, IPC_GETOUTPUTTIME) / 1000;
}
}

View File

@@ -55,7 +55,20 @@ public class iTunesApplication extends Application implements iTunesEventsInterf
}
}
protected void action(Action action) {
protected void begin(Action action) {
log.trace("iTunesApplication: " + action);
if (!active) return;
switch (action) {
case FORWARD:
iTunes.fastForward();
break;
case REWIND:
iTunes.rewind();
break;
}
}
protected void end(Action action) {
log.trace("iTunesApplication: " + action);
if (!active) return;
switch (action) {
@@ -69,10 +82,10 @@ public class iTunesApplication extends Application implements iTunesEventsInterf
iTunes.previousTrack();
break;
case FORWARD:
iTunes.setPlayerPosition(iTunes.getPlayerPosition() + POSTION_CHANGE_RATE);
iTunes.play();
break;
case REWIND:
iTunes.setPlayerPosition(iTunes.getPlayerPosition() - POSTION_CHANGE_RATE);
iTunes.play();
break;
case MUTE:
iTunes.toggleMute();

View File

@@ -84,47 +84,9 @@ public class Panel extends JFrame implements HoldButtonListener {
protected void layoutControls() {
setLayout(new BorderLayout());
//layoutFeedbackPanel();
layoutControlPanel();
}
/*protected void layoutFeedbackPanel() {
JPanel feedbackPanel = new JPanel();
feedbackArea = new JTextArea(10, 32);
feedbackArea.setEditable(false);
feedbackPanel.add(feedbackArea);
scrollPane = new JScrollPane();
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.getViewport().add(feedbackArea);
feedbackPanel.add(scrollPane);
add(feedbackPanel, BorderLayout.SOUTH);
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
feedbackArea.append("Hier komt allerlei feedback te staan!\n");
JScrollBar scrollBar = scrollPane.getVerticalScrollBar();
scrollBar.setValue(scrollBar.getMaximum());
}*/
protected void layoutControlPanel() {
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new BorderLayout());

View File

@@ -45,6 +45,8 @@ public class PanelDevice extends Device implements PanelButtonListener {
add(new Press(PanelButton.VOLUME_DOWN), new Task(Target.APPLICATION, Action.VOLUME_DOWN));
add(new Press(PanelButton.MUTE), new Task(Target.APPLICATION, Action.MUTE));
add(new Press(PanelButton.VOLUME_UP), new Task(Target.APPLICATION, Action.VOLUME_UP));
add(new Press(PanelButton.REPEAT), new Task(Target.APPLICATION, Action.REPEAT));
add(new Press(PanelButton.SHUFFLE), new Task(Target.APPLICATION, Action.SHUFFLE));
}
public boolean active() {

View File

@@ -10,7 +10,7 @@ public abstract class EventHandler extends EventListener {
EventHandler.eventRouter = eventRouter;
}
public void event(Event event) {
public final void event(Event event) {
if (event instanceof Feedback) {
feedback((Feedback) event);
} else if (event instanceof Task) {
@@ -20,7 +20,7 @@ public abstract class EventHandler extends EventListener {
protected void feedback(Feedback feedback) {}
protected void task(Task task) {
protected final void task(Task task) {
log.debug("Signal: " + task.signal);
Action action = task.getAction();
switch (task.getSignal()) {

View File

@@ -16,8 +16,13 @@ public class Task extends Event {
}
public Task(Target target, Action action) {
this(target, action, null);
}
public Task(Target target, Action action, Signal signal) {
super(target);
this.action = action;
this.signal = signal;
}
public Action getAction() {
@@ -28,7 +33,7 @@ public class Task extends Event {
return signal;
}
public void setSignal(Signal signal) {
this.signal = signal;
public Task setSignal(Signal signal) {
return new Task(target, action, signal);
}
}

View File

@@ -7,7 +7,6 @@ import mimis.value.Target;
public class LocalRouter extends EventRouter {
public void event(Event event) {
System.out.println("LocalSpreader krijgt event via event() " + event.getTarget());
Target target = event.getTarget();
switch (target) {
case APPLICATION:

View File

@@ -20,7 +20,7 @@ public class Active {
}
public boolean first() {
return step == -1;
return step == 0;
}
public boolean last() {

View File

@@ -67,8 +67,7 @@ public class SequenceListener {
protected void add(Event event, Signal signal) {
if (event instanceof Task) {
Task task = (Task) event;
task.setSignal(signal);
event = ((Task) event).setSignal(signal);
}
if (event.getTarget().equals(Target.SELF)) {
self.add(event);