From 1afbefd2a82d688fa16a96c30869f3f84b92221e Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Mon, 20 Dec 2021 23:54:45 +0100
Subject: [PATCH] #183 - Test trigger points for availability on pad status
 change

---
 .../listener/trigger/PadTriggerStatusListener.java   | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/trigger/PadTriggerStatusListener.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/trigger/PadTriggerStatusListener.java
index c3a72397..e5fe5653 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/trigger/PadTriggerStatusListener.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/trigger/PadTriggerStatusListener.java
@@ -27,11 +27,17 @@ public class PadTriggerStatusListener implements ChangeListener<PadStatus> {
 
 			// Execute Trigger
 			if (newValue == PadStatus.PLAY) {
-				executeTrigger(padSettings.getTriggers().get(TriggerPoint.START));
+				if (TriggerPoint.START.isAvailable(pad)) {
+					executeTrigger(padSettings.getTriggers().get(TriggerPoint.START));
+				}
 			} else if (newValue == PadStatus.STOP && !pad.isEof()) {
-				executeTrigger(padSettings.getTriggers().get(TriggerPoint.STOP));
+				if (TriggerPoint.STOP.isAvailable(pad)) {
+					executeTrigger(padSettings.getTriggers().get(TriggerPoint.STOP));
+				}
 			} else if (oldState == PadStatus.STOP && newValue == PadStatus.READY && pad.isEof()) {
-				executeTrigger(padSettings.getTriggers().get(TriggerPoint.EOF));
+				if (TriggerPoint.EOF.isAvailable(pad)) {
+					executeTrigger(padSettings.getTriggers().get(TriggerPoint.EOF));
+				}
 			}
 		} else {
 			pad.setIgnoreTrigger(false);
-- 
GitLab