From 1ad9e202a92ceb3032266f4702e4d142f71a6e73 Mon Sep 17 00:00:00 2001 From: tobias <tobias@thecodedev.de> Date: Fri, 27 Sep 2019 18:25:48 +0200 Subject: [PATCH] Catch errors PadListener calling to prevent erroneous playback --- .../playpad/pad/listener/PadStatusControlListener.java | 8 +++++++- .../de/tobias/playpad/plugin/playout/log/LogSeason.java | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadStatusControlListener.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadStatusControlListener.java index 882aa5c0..f0ea7b10 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadStatusControlListener.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadStatusControlListener.java @@ -1,5 +1,6 @@ package de.tobias.playpad.pad.listener; +import de.thecodelabs.logger.Logger; import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.pad.Pad; import de.tobias.playpad.pad.PadSettings; @@ -28,7 +29,12 @@ public class PadStatusControlListener implements ChangeListener<PadStatus> { PadSettings padSettings = pad.getPadSettings(); ProfileSettings profileSettings = Profile.currentProfile().getProfileSettings(); - PlayPadPlugin.getInstance().getPadListener().forEach(listener -> listener.onStatusChange(pad, newValue)); + try { + PlayPadPlugin.getInstance().getPadListener().forEach(listener -> listener.onStatusChange(pad, newValue)); + } catch (Exception e) { + Logger.error(e); + } + if (newValue == PadStatus.PLAY) { if (pad.getContent() != null) { diff --git a/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/LogSeason.java b/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/LogSeason.java index 0390a671..a037825f 100644 --- a/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/LogSeason.java +++ b/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/LogSeason.java @@ -1,5 +1,6 @@ package de.tobias.playpad.plugin.playout.log; +import de.thecodelabs.logger.Logger; import de.thecodelabs.utils.threading.Worker; import de.tobias.playpad.pad.Pad; import de.tobias.playpad.pad.mediapath.MediaPath; @@ -36,7 +37,11 @@ public class LogSeason { } public void createProjectSnapshot(Project project) { - Worker.runLater(() -> project.getPads().parallelStream().forEach(this::addLogItem)); + Worker.runLater(() -> { + Logger.info("Start creating project snapshot for PlayoutLog session"); + project.getPads().parallelStream().forEach(this::addLogItem); + Logger.info("Finish creating project snapshot for PlayoutLog session"); + }); } public void addLogItem(Pad pad) { -- GitLab