diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..943d6e8e9e467ffc4b5a00865e80e09b56d4502b --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.java @@ -0,0 +1,10 @@ +package de.tobias.playpad.action.actions.cart.handler; + +import de.thecodelabs.midi.event.KeyEventType; +import de.tobias.playpad.action.actions.CartAction; +import de.tobias.playpad.pad.Pad; + +public interface CartActionHandler +{ + void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad); +} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.scala deleted file mode 100644 index 68e7102c0ed6b2764605fc88aff46d9127d2972c..0000000000000000000000000000000000000000 --- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.scala +++ /dev/null @@ -1,10 +0,0 @@ -package de.tobias.playpad.action.actions.cart.handler - -import de.thecodelabs.midi.event.KeyEventType -import de.tobias.playpad.action.actions.CartAction -import de.tobias.playpad.pad.Pad - -trait CartActionHandler { - - def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit -} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..39e45b2d81e9373683f976647730f58d964bf744 --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.java @@ -0,0 +1,27 @@ +package de.tobias.playpad.action.actions.cart.handler; + +import de.tobias.playpad.action.actions.CartAction; + +public class CartActionHandlerFactory +{ + private CartActionHandlerFactory() + { + } + + public static CartActionHandler getInstance(CartAction.CartActionMode cartActionMode) + { + switch(cartActionMode) + { + case PLAY_PAUSE: + return new PlayPauseHandler(); + case PLAY_STOP: + return new PlayStopHandler(); + case PLAY_HOLD: + return new PlayHoldHandler(); + case PLAY_PLAY: + return new PlayPlayHandler(); + default: + return null; + } + } +} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.scala deleted file mode 100644 index 05a7a32b0777fcd0df6b628ecd9a407ec9860efc..0000000000000000000000000000000000000000 --- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.scala +++ /dev/null @@ -1,15 +0,0 @@ -package de.tobias.playpad.action.actions.cart.handler - -import de.tobias.playpad.action.actions.CartAction.CartActionMode - -object CartActionHandlerFactory { - - def getInstance(cartActionMode: CartActionMode): CartActionHandler = { - cartActionMode match { - case CartActionMode.PLAY_STOP => new PlayStopHandler() - case CartActionMode.PLAY_PAUSE => new PlayPauseHandler() - case CartActionMode.PLAY_HOLD => new PlayHoldHandler() - case CartActionMode.PLAY_PLAY => new PlayPlayHandler() - } - } -} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..164e7977f7a22f9ee44143d4d105762444f9febd --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.java @@ -0,0 +1,27 @@ +package de.tobias.playpad.action.actions.cart.handler; + +import de.thecodelabs.midi.event.KeyEventType; +import de.tobias.playpad.action.actions.CartAction; +import de.tobias.playpad.pad.Pad; + +public class PlayHoldHandler implements CartActionHandler +{ + @Override + public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad) + { + if(keyEventType.equals(KeyEventType.DOWN)) + { + if(pad.isReady()) + { + pad.play(); + } + } + else if(keyEventType.equals(KeyEventType.UP)) + { + if(pad.isPlay()) + { + pad.stop(); + } + } + } +} \ No newline at end of file diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.scala deleted file mode 100644 index 1aa63b52c8dbc071bcd89fb271272dadb25a0511..0000000000000000000000000000000000000000 --- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.scala +++ /dev/null @@ -1,20 +0,0 @@ -package de.tobias.playpad.action.actions.cart.handler - -import de.thecodelabs.midi.event.KeyEventType -import de.tobias.playpad.action.actions.CartAction -import de.tobias.playpad.pad.Pad - -class PlayHoldHandler extends CartActionHandler { - - override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = { - if (keyEventType eq KeyEventType.DOWN) { - if (pad.isReady) { - pad.play() - } - } else if (keyEventType eq KeyEventType.UP) { - if (pad.isPlay) { - pad.stop() - } - } - } -} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..859ececd5d4e9d1cadefb2d89812ff97973f789d --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.java @@ -0,0 +1,25 @@ +package de.tobias.playpad.action.actions.cart.handler; + +import de.thecodelabs.midi.event.KeyEventType; +import de.tobias.playpad.action.actions.CartAction; +import de.tobias.playpad.pad.Pad; + +public class PlayPauseHandler implements CartActionHandler +{ + @Override + public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad) + { + if(keyEventType.equals(KeyEventType.DOWN)) + { + if(pad.isPlay()) + { + pad.pause(); + } + else + { // Allow the listener to send the feedback + // cartAction.getPadPositionListener.setSend(false) TODO Fix + pad.play(); + } + } + } +} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.scala deleted file mode 100644 index 87c26d4ed6f1aaf0c3afbbb8cc50cd8033381db0..0000000000000000000000000000000000000000 --- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.scala +++ /dev/null @@ -1,20 +0,0 @@ -package de.tobias.playpad.action.actions.cart.handler - -import de.thecodelabs.midi.event.KeyEventType -import de.tobias.playpad.action.actions.CartAction -import de.tobias.playpad.pad.Pad - -class PlayPauseHandler extends CartActionHandler { - - override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = { - if (keyEventType eq KeyEventType.DOWN) { - if (pad.isPlay) { - pad.pause() - } - else { // Allow the listener to send the feedback - // cartAction.getPadPositionListener.setSend(false) TODO Fix - pad.play() - } - } - } -} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..87b716988a04dec294b71d43afe0e1b1740ab6ba --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.java @@ -0,0 +1,19 @@ +package de.tobias.playpad.action.actions.cart.handler; + +import de.thecodelabs.midi.event.KeyEventType; +import de.tobias.playpad.action.actions.CartAction; +import de.tobias.playpad.pad.Pad; +import de.tobias.playpad.pad.PadStatus; + +public class PlayPlayHandler implements CartActionHandler +{ + + @Override + public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad) + { + if(keyEventType.equals(KeyEventType.DOWN)) + { + pad.setStatus(PadStatus.RESTART); + } + } +} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.scala deleted file mode 100644 index fec8eebc41c563e11a12bede31da19e7ae882141..0000000000000000000000000000000000000000 --- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.scala +++ /dev/null @@ -1,14 +0,0 @@ -package de.tobias.playpad.action.actions.cart.handler - -import de.thecodelabs.midi.event.KeyEventType -import de.tobias.playpad.action.actions.CartAction -import de.tobias.playpad.pad.{Pad, PadStatus} - -class PlayPlayHandler extends CartActionHandler { - - override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = { - if (keyEventType eq KeyEventType.DOWN) { - pad.setStatus(PadStatus.RESTART) - } - } -} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..091f28a5cc9e9f43d577aa42c1b6c3f92a136f31 --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.java @@ -0,0 +1,25 @@ +package de.tobias.playpad.action.actions.cart.handler; + +import de.thecodelabs.midi.event.KeyEventType; +import de.tobias.playpad.action.actions.CartAction; +import de.tobias.playpad.pad.Pad; + +public class PlayStopHandler implements CartActionHandler +{ + @Override + public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad) + { + if(keyEventType.equals(KeyEventType.DOWN)) + { + if(pad.isPlay()) + { + pad.stop(); + } + else + { // Allow the listener to send the feedback + // cartAction.getPadPositionListener.setSend(false) TODO Fix + pad.play(); + } + } + } +} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.scala deleted file mode 100644 index 11957fa9729dc897f75c0aa43c9544f732ca5d01..0000000000000000000000000000000000000000 --- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.scala +++ /dev/null @@ -1,19 +0,0 @@ -package de.tobias.playpad.action.actions.cart.handler - -import de.thecodelabs.midi.event.KeyEventType -import de.tobias.playpad.action.actions.CartAction -import de.tobias.playpad.pad.Pad - -class PlayStopHandler extends CartActionHandler { - - override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = { - if (keyEventType eq KeyEventType.DOWN) { - if (pad.isPlay) { - pad.stop() - } else { // Allow the listener to send the feedback - // cartAction.getPadPositionListener.setSend(false) TODO Fix - pad.play() - } - } - } -}