From b20ccd4fbfc47d7d1879dd02edde0c2637fa8fec Mon Sep 17 00:00:00 2001 From: Bram Veenboer Date: Sun, 5 Jun 2011 17:33:04 +0000 Subject: [PATCH] --- .../cmd/windows/winamp/WinampApplication.java | 26 ++++++++++--- .../application/itunes/iTunesApplication.java | 21 ++++++++-- java/src/mimis/device/panel/Panel.java | 38 ------------------- java/src/mimis/device/panel/PanelDevice.java | 2 + java/src/mimis/event/EventHandler.java | 4 +- java/src/mimis/event/Task.java | 13 +++++-- java/src/mimis/event/router/LocalRouter.java | 1 - java/src/mimis/sequence/Active.java | 2 +- java/src/mimis/sequence/SequenceListener.java | 3 +- 9 files changed, 52 insertions(+), 58 deletions(-) diff --git a/java/src/mimis/application/cmd/windows/winamp/WinampApplication.java b/java/src/mimis/application/cmd/windows/winamp/WinampApplication.java index c1a3917..01e4b51 100644 --- a/java/src/mimis/application/cmd/windows/winamp/WinampApplication.java +++ b/java/src/mimis/application/cmd/windows/winamp/WinampApplication.java @@ -32,15 +32,32 @@ public class WinampApplication extends WindowsApplication { protected double volume; protected boolean muted; - + protected boolean forward; + protected boolean rewind; + public WinampApplication() { super(PROGRAM, TITLE, NAME); volume = getVolume(); 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; } } - diff --git a/java/src/mimis/application/itunes/iTunesApplication.java b/java/src/mimis/application/itunes/iTunesApplication.java index faca1a3..9c5fcc5 100644 --- a/java/src/mimis/application/itunes/iTunesApplication.java +++ b/java/src/mimis/application/itunes/iTunesApplication.java @@ -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(); @@ -110,7 +123,7 @@ public class iTunesApplication extends Application implements iTunesEventsInterf log.trace("iTunesEvent: play"); } } - + public void onPlayerStopEvent(ITTrack iTrack) { if (active) { log.trace("iTunesEvent: stop"); diff --git a/java/src/mimis/device/panel/Panel.java b/java/src/mimis/device/panel/Panel.java index dc0fe28..edd1507 100644 --- a/java/src/mimis/device/panel/Panel.java +++ b/java/src/mimis/device/panel/Panel.java @@ -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()); diff --git a/java/src/mimis/device/panel/PanelDevice.java b/java/src/mimis/device/panel/PanelDevice.java index d2780a5..bc8e722 100644 --- a/java/src/mimis/device/panel/PanelDevice.java +++ b/java/src/mimis/device/panel/PanelDevice.java @@ -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() { diff --git a/java/src/mimis/event/EventHandler.java b/java/src/mimis/event/EventHandler.java index e733c0d..507100e 100644 --- a/java/src/mimis/event/EventHandler.java +++ b/java/src/mimis/event/EventHandler.java @@ -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()) { diff --git a/java/src/mimis/event/Task.java b/java/src/mimis/event/Task.java index c33a8e4..9a1261f 100644 --- a/java/src/mimis/event/Task.java +++ b/java/src/mimis/event/Task.java @@ -16,8 +16,13 @@ public class Task extends Event { } public Task(Target target, Action action) { - super(target); - this.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); } } diff --git a/java/src/mimis/event/router/LocalRouter.java b/java/src/mimis/event/router/LocalRouter.java index 026d085..7b62f86 100644 --- a/java/src/mimis/event/router/LocalRouter.java +++ b/java/src/mimis/event/router/LocalRouter.java @@ -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: diff --git a/java/src/mimis/sequence/Active.java b/java/src/mimis/sequence/Active.java index 40b4463..6f39bd4 100644 --- a/java/src/mimis/sequence/Active.java +++ b/java/src/mimis/sequence/Active.java @@ -20,7 +20,7 @@ public class Active { } public boolean first() { - return step == -1; + return step == 0; } public boolean last() { diff --git a/java/src/mimis/sequence/SequenceListener.java b/java/src/mimis/sequence/SequenceListener.java index 4b51131..fde3a06 100644 --- a/java/src/mimis/sequence/SequenceListener.java +++ b/java/src/mimis/sequence/SequenceListener.java @@ -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);