diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java index 7da0ac804136898e89f836d93aa980a655152dc1..c75ddd786265889bf41cf55c7fcb74e2c8bf5826 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java @@ -127,6 +127,7 @@ public class PlaylistTabViewController extends PadSettingsTabViewController { final int selectedIndex = mediaPathListView.getSelectionModel().getSelectedIndex(); Collections.swap(pad.getPaths(), selectedIndex, selectedIndex - 1); mediaPathListView.getSelectionModel().select(selectedIndex - 1); + pad.getContent().reorderMedia(); } @FXML @@ -134,6 +135,7 @@ public class PlaylistTabViewController extends PadSettingsTabViewController { final int selectedIndex = mediaPathListView.getSelectionModel().getSelectedIndex(); Collections.swap(pad.getPaths(), selectedIndex, selectedIndex + 1); mediaPathListView.getSelectionModel().select(selectedIndex + 1); + pad.getContent().reorderMedia(); } @FXML diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java index bf50a0b447c04de9dd77eadb9a9ee6834ca224bc..0431a444ab1bd409694d88b7696e751190b1fd95 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java @@ -64,6 +64,9 @@ public abstract class PadContent { */ public abstract void unloadMedia(MediaPath mediaPath); + public void reorderMedia() { + } + public abstract void updateVolume(); @Override diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala index 0893543e600b6fefdf8f4e4833737ff27faf8908..6853ccb958c2b06f6184b663e0bcc4427074b820 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala @@ -68,9 +68,11 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte _positionProperty.unbind() _positionProperty.set(Duration.ZERO) } + + override def toString: String = f"MediaPlayerContainer: $path" } - private val mediaPlayers: ListBuffer[MediaPlayerContainer] = ListBuffer.empty + private var mediaPlayers: ListBuffer[MediaPlayerContainer] = ListBuffer.empty private var currentRunningIndex: Int = -1 private val _durationProperty = new SimpleObjectProperty[Duration] @@ -219,6 +221,15 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte mediaPlayers.remove(index) } + override def reorderMedia(): Unit = { + val paths = pad.getPaths + mediaPlayers = mediaPlayers.sortWith((o1, o2) => paths.indexOf(o1.path) < paths.indexOf(o2.path)) + } + + /* + Volume + */ + override def updateVolume(): Unit = { val volume = VolumeManager.getInstance.computeVolume(getPad) mediaPlayers.foreach(player => player.mediaPlayer.setVolume(volume))