diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala index 2a504412484495c0e9f4f76a441a972e05731eda..f24e07c07f97cc10b2c677d56974e8596c77b64b 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala @@ -26,8 +26,10 @@ class ContentPlayerViewController extends NVC { setLayoutX(playerInstance.x) setLayoutY(playerInstance.y) - setWidth(playerInstance.width) - setHeight(playerInstance.height) + setMinWidth(playerInstance.width) + setMaxWidth(playerInstance.width) + setMinHeight(playerInstance.height) + setMaxHeight(playerInstance.height) def addActivePad(padIndex: PadIndex): Unit = activePlayers.addOne(padIndex) @@ -56,6 +58,14 @@ class ContentPlayerViewController extends NVC { } } + def highlight(on: Boolean): Unit = { + if (on) { + setBackground(new Background(new BackgroundFill(Color.RED, CornerRadii.EMPTY, Insets.EMPTY))) + } else { + setBackground(null) + } + } + override def toString: String = f"MediaPlayerStack: ${getChildren.stream().map(view => f"MediaView: ${view.getUserData}").collect(Collectors.joining(", "))}" } @@ -131,4 +141,8 @@ class ContentPlayerViewController extends NVC { def removeActivePadFromList(padIndex: PadIndex, zones: Seq[PlayerInstance]): Unit = mediaPlayers .filter(mediaPlayer => zones.contains(mediaPlayer.playerInstance)) .foreach(mediaPlayer => mediaPlayer.removeActivePad(padIndex)) + + def highlight(zone: PlayerInstance, on: Boolean): Unit = { + mediaPlayers.filter(mediaPlayer => zone == mediaPlayer.playerInstance).head.highlight(on) + } } diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala index d185990dce9ee404870759d909526ab6be011029..9c25380007f198c5e05f4abf1cd2af779b36bb3b 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala @@ -47,11 +47,15 @@ class PlayerInstanceSettingsViewController extends GlobalSettingsTabViewControll } }) listView.getSelectionModel.selectedItemProperty().addListener((_, oldValue, newValue) => { + val playerViewController = ContentPluginMain.playerViewController + if (oldValue != null) { saveSettingsToPlayerInstance(oldValue) + playerViewController.highlight(oldValue, on = false) } if (newValue != null) { showSettingsOfPlayerInstance(newValue) + playerViewController.highlight(newValue, on = true) } else { clearTextFields() }