diff --git a/src/main/java/kellerkinder/HomeFlix/application/Main.java b/src/main/java/kellerkinder/HomeFlix/application/Main.java index 5e1a79a..d9051f1 100644 --- a/src/main/java/kellerkinder/HomeFlix/application/Main.java +++ b/src/main/java/kellerkinder/HomeFlix/application/Main.java @@ -43,9 +43,9 @@ public class Main extends Application { private MainWindowController mainWindowController; private static XMLController xmlController; private static Logger LOGGER; - public static final String version = "0.8.0"; - public static final String buildNumber = "173"; - public static final String versionName = "toothless dragon"; + public static final String version = "0.8.90"; + public static final String buildNumber = "175"; + public static final String versionName = "nimbly xlr8"; // TODO rename streamURL to mediaURL diff --git a/src/main/java/kellerkinder/HomeFlix/player/PlayerController.java b/src/main/java/kellerkinder/HomeFlix/player/PlayerController.java index 16a6871..d08cd67 100644 --- a/src/main/java/kellerkinder/HomeFlix/player/PlayerController.java +++ b/src/main/java/kellerkinder/HomeFlix/player/PlayerController.java @@ -73,7 +73,9 @@ public class PlayerController { @FXML private JFXSlider timeSlider; @FXML private JFXButton btnBack; - @FXML private JFXButton playBtn; + @FXML private JFXButton btnPlay; + @FXML private JFXButton btnReplay; + @FXML private JFXButton btnForward; @FXML private JFXButton fullscreenBtn; @FXML private JFXButton nextEpBtn; @@ -103,10 +105,10 @@ public class PlayerController { private boolean showControls = true; private boolean autoplay; - private Image playArrow = new Image("icons/baseline_play_arrow_black_48dp.png"); - private Image pause = new Image("icons/baseline_pause_black_48dp.png"); - private Image fullscreen = new Image("icons/baseline_fullscreen_black_48dp.png"); - private Image fullscreenExit = new Image("icons/baseline_fullscreen_exit_black_48dp.png"); + private Image playArrow = new Image("icons/baseline_play_arrow_white_48dp.png"); + private Image pause = new Image("icons/baseline_pause_white_48dp.png"); + private Image fullscreen = new Image("icons/baseline_fullscreen_white_48dp.png"); + private Image fullscreenExit = new Image("icons/baseline_fullscreen_exit_white_48dp.png"); /** * create a new PlayerWindow object @@ -274,11 +276,9 @@ public class PlayerController { nextEpBtn.setText(XMLController.getLocalBundle().getString("nextEpisode") + countdown + XMLController.getLocalBundle().getString("seconds")); bottomVBox.setVisible(true); - System.out.println("next episode in " + countdown + " seconds"); } else { nextEpBtn.setVisible(false); - // TODO start next episode - System.out.println("playing next episode ..."); + playNextMedia(); } } } @@ -290,18 +290,7 @@ public class PlayerController { } @FXML - void fullscreenBtnAction(ActionEvent event) { - if (player.getStage().isFullScreen()) { - player.getStage().setFullScreen(false); - fullscreenIcon.setImage(fullscreen); - } else { - player.getStage().setFullScreen(true); - fullscreenIcon.setImage(fullscreenExit); - } - } - - @FXML - void playBtnAction(ActionEvent event) { + void btnPlayAction(ActionEvent event) { if (embeddedMediaPlayer.status().isPlaying()) { embeddedMediaPlayer.controls().pause(); playIcon.setImage(playArrow); @@ -311,9 +300,31 @@ public class PlayerController { } } + @FXML + void btnReplayAction(ActionEvent event) { + embeddedMediaPlayer.controls().skipTime(-10000); + } + + @FXML + void btnForwardAction(ActionEvent event) { + embeddedMediaPlayer.controls().skipTime(10000); + } + + @FXML + void fullscreenBtnAction(ActionEvent event) { + if (player.getStage().isFullScreen()) { + player.getStage().setFullScreen(false); + fullscreenIcon.setImage(fullscreen); + } else { + player.getStage().setFullScreen(true); + fullscreenIcon.setImage(fullscreenExit); + } + } + @FXML void nextEpBtnAction(ActionEvent event) { - playNextMedia(); // TODO + nextEpBtn.setVisible(false); + playNextMedia(); } private void playNextMedia() { @@ -321,7 +332,7 @@ public class PlayerController { DBController.getInstance().setCurrentTime(media.getStreamUrl(), 0); // reset old video start time FilmTabelDataType nextMedia = DBController.getInstance().getNextEpisode(media.getTitle(), episode, season); if (nextMedia != null) { - //mediaPlayer2.stop(); + embeddedMediaPlayer.media().play(nextMedia.getStreamUrl()); media = nextMedia; autoplay = true; } diff --git a/src/main/resources/fxml/PlayerWindow.fxml b/src/main/resources/fxml/PlayerWindow.fxml index 87eec1a..0f120c4 100644 --- a/src/main/resources/fxml/PlayerWindow.fxml +++ b/src/main/resources/fxml/PlayerWindow.fxml @@ -22,7 +22,7 @@ - + @@ -49,7 +49,10 @@ - @@ -58,27 +61,61 @@ - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -86,7 +123,7 @@ - + diff --git a/src/main/resources/icons/baseline_forward_10_white_48dp.png b/src/main/resources/icons/baseline_forward_10_white_48dp.png new file mode 100644 index 0000000..1496720 Binary files /dev/null and b/src/main/resources/icons/baseline_forward_10_white_48dp.png differ diff --git a/src/main/resources/icons/baseline_fullscreen_black_48dp.png b/src/main/resources/icons/baseline_fullscreen_black_48dp.png deleted file mode 100644 index 917e418..0000000 Binary files a/src/main/resources/icons/baseline_fullscreen_black_48dp.png and /dev/null differ diff --git a/src/main/resources/icons/baseline_fullscreen_exit_black_48dp.png b/src/main/resources/icons/baseline_fullscreen_exit_black_48dp.png deleted file mode 100644 index 5fc3166..0000000 Binary files a/src/main/resources/icons/baseline_fullscreen_exit_black_48dp.png and /dev/null differ diff --git a/src/main/resources/icons/baseline_fullscreen_exit_white_48dp.png b/src/main/resources/icons/baseline_fullscreen_exit_white_48dp.png new file mode 100644 index 0000000..364bad0 Binary files /dev/null and b/src/main/resources/icons/baseline_fullscreen_exit_white_48dp.png differ diff --git a/src/main/resources/icons/baseline_fullscreen_white_48dp.png b/src/main/resources/icons/baseline_fullscreen_white_48dp.png new file mode 100644 index 0000000..4423c7c Binary files /dev/null and b/src/main/resources/icons/baseline_fullscreen_white_48dp.png differ diff --git a/src/main/resources/icons/baseline_pause_black_48dp.png b/src/main/resources/icons/baseline_pause_black_48dp.png deleted file mode 100755 index 16d26b3..0000000 Binary files a/src/main/resources/icons/baseline_pause_black_48dp.png and /dev/null differ diff --git a/src/main/resources/icons/baseline_pause_white_48dp.png b/src/main/resources/icons/baseline_pause_white_48dp.png new file mode 100644 index 0000000..f49aed7 Binary files /dev/null and b/src/main/resources/icons/baseline_pause_white_48dp.png differ diff --git a/src/main/resources/icons/baseline_play_arrow_white_48dp.png b/src/main/resources/icons/baseline_play_arrow_white_48dp.png new file mode 100644 index 0000000..5200639 Binary files /dev/null and b/src/main/resources/icons/baseline_play_arrow_white_48dp.png differ diff --git a/src/main/resources/icons/baseline_replay_10_white_48dp.png b/src/main/resources/icons/baseline_replay_10_white_48dp.png new file mode 100644 index 0000000..7e63e59 Binary files /dev/null and b/src/main/resources/icons/baseline_replay_10_white_48dp.png differ diff --git a/src/main/resources/locals/HomeFlix-Local_de_DE.properties b/src/main/resources/locals/HomeFlix-Local_de_DE.properties index 0eed8e8..47ff5d2 100644 --- a/src/main/resources/locals/HomeFlix-Local_de_DE.properties +++ b/src/main/resources/locals/HomeFlix-Local_de_DE.properties @@ -39,7 +39,7 @@ updateBtnChecking = Es wird nach Updates gesucht... updateBtnUpdateAvailable = Update verf\u00FCgbar updateBtnNoUpdateAvailable = Kein Update verf\u00FCgbar autoUpdate = beim Start nach Updates suchen: -autoplay = autoplay +autoplay = Autoplay branchLbl = Updatezweig sourcesLbl = Quellen @@ -52,7 +52,7 @@ columnFavorite = Favorit # error translations vlcNotInstalled = Um einen Film abspielen wird der VLC Media Player ben\u00F6tigt! -infoText = \nAutoren: \n \u2022 seil0@mosad.xyz \n \u2022 localhorst@mosad.xyz \n(c) 2016-2019 mosad www.mosad.xyz +infoText = \nAutoren: \n \u2022 seil0@mosad.xyz \n \u2022 localhorst@mosad.xyz \n(c) 2016-2020 mosad www.mosad.xyz # textFlow translations title = Titel @@ -62,7 +62,7 @@ released = Ver\u00F6ffentlicht am season = Staffel episode = Episode runtime = Laufzeit -genre = Gener +genre = Genre directors = Regisseur writers = Autoren actors = Schauspieler @@ -78,7 +78,7 @@ website = Webseite # first start addSourceHeader = Neue Quelle hinzuf\u00FCgen -addSourceBody = HomeFlix konnte keine Quelle finden. \nFüge eine loakels Verzeichniss oder eine Sreaming Datei als neue Quelle hinzu. +addSourceBody = HomeFlix konnte keine Quelle finden. \nF\u00FCge eine loakels Verzeichniss oder eine Sreaming Datei als neue Quelle hinzu. cancelBtnText = Abbrechen # DetailView diff --git a/src/main/resources/locals/HomeFlix-Local_en_US.properties b/src/main/resources/locals/HomeFlix-Local_en_US.properties index 2befc66..e8dd45c 100644 --- a/src/main/resources/locals/HomeFlix-Local_en_US.properties +++ b/src/main/resources/locals/HomeFlix-Local_en_US.properties @@ -39,9 +39,9 @@ updateBtnChecking = checking for updates... updateBtnUpdateAvailable = update available updateBtnNoUpdateAvailable = no update available autoUpdate = check at startup for updates: -autoplay = autoplay +autoplay = Autoplay branchLbl = Branch -sourcesLbl = Quellen +sourcesLbl = Sources # column translations columnStreamUrl = File Name @@ -52,7 +52,7 @@ columnFavorite = Favorite # error translations vlcNotInstalled = VLC Media Player is required to play a movie! -infoText = \nMaintainers: \n \u2022 seil0@mosad.xyz \n \u2022 localhorst@mosad.xyz \n(c) 2016-2019 mosad www.mosad.xyz +infoText = \nMaintainers: \n \u2022 seil0@mosad.xyz \n \u2022 localhorst@mosad.xyz \n(c) 2016-2020 mosad www.mosad.xyz # textFlow translations title = Title @@ -62,7 +62,7 @@ released = published on season = Season episode = Episode runtime = Runtime -genre = Gener +genre = Genre directors = Directors writers = Writers actors = Actors @@ -78,7 +78,7 @@ website = Website # first startnext episode in addSourceHeader = add a new source -addSourceBody = HomeFlix was not able to load a source. \nAdd a new local directory oa a streaming file as new source. +addSourceBody = HomeFlix was not able to load a source. \nAdd a new local directory or a streaming file as new source. cancelBtnText = cancel # DetailView