Skip to content

Commit 5fd1eb9

Browse files
committed
4.6.0
1 parent 29387b2 commit 5fd1eb9

File tree

18 files changed

+60
-39
lines changed

18 files changed

+60
-39
lines changed

RELEASE_NOTES.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Changes
44

55
- **Table Validators**: Introduced new table validator which checks if the table has a backglass, but the backglasses are disabled in the VPX settings. (I assume it is an edge case, but can be annoying to trouble-shoot).
6-
- **ALT Color**: Added support for .cROMc files, which includes uploading and the backup of .cROMc files.
6+
- **ALT Color**: Added support for .cROMc files, which includes uploading, backup and backup on replace of .cROMc files.
77
- **Pause Menu**:
88
- Added rotation option for the tutorials screen.
99
- Added margin options to position the tutorials screen pixel perfect.
@@ -23,9 +23,11 @@
2323
## Bugfixes
2424

2525
- **Server Startup**: Fixed critical error that lead to a server crash when the **ScreenRes.txt** file location could no be determined.
26-
- **Table Filtering**: Fixed issue that the media recorder used the filter settings from the table overview.
26+
- **Media Recorder Table Filtering**: Fixed issue that the media recorder used the filter settings from the table overview.
2727
- **Table Data Manager**: The "Auto-save" flag for the dialog is not remembered.
2828
- **Pause Menu**:
2929
- Fixed screen configuration that can be used for showing the tutorials video (@kongedam It is finally there!).
3030
- Fixed mute on pause: If the system was already muted, the pause menu does not unmute on exit anymore.
31+
- Fixed **iScored** pause menu item that was always ignored.
32+
- Added retry attempts in case the video rendering for tutorials fails. Hopefully this fixes the issue that videos are not starting.
3133
- **Dialogs**: Fixed issue that after releasing changes on dialogs the contents of these were cropped.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>de.mephisto.vpin</groupId>
88
<artifactId>studio</artifactId>
9-
<version>4.5.6</version>
9+
<version>4.6.0</version>
1010
<packaging>pom</packaging>
1111

1212
<properties>

vpin-connector-discord/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>studio</artifactId>
77
<groupId>de.mephisto.vpin</groupId>
8-
<version>4.5.6</version>
8+
<version>4.6.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<packaging>jar</packaging>

vpin-connector-github/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<artifactId>studio</artifactId>
99
<groupId>de.mephisto.vpin</groupId>
10-
<version>4.5.6</version>
10+
<version>4.6.0</version>
1111
</parent>
1212
<packaging>jar</packaging>
1313

vpin-connector-iscored/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>studio</artifactId>
77
<groupId>de.mephisto.vpin</groupId>
8-
<version>4.5.6</version>
8+
<version>4.6.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<packaging>jar</packaging>

vpin-connector-vps/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>studio</artifactId>
77
<groupId>de.mephisto.vpin</groupId>
8-
<version>4.5.6</version>
8+
<version>4.6.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<packaging>jar</packaging>

vpin-connector-wovp/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>studio</artifactId>
77
<groupId>de.mephisto.vpin</groupId>
8-
<version>4.5.6</version>
8+
<version>4.6.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<packaging>jar</packaging>

vpin-studio-app/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>studio</artifactId>
77
<groupId>de.mephisto.vpin</groupId>
8-
<version>4.5.6</version>
8+
<version>4.6.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

vpin-studio-commons/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>studio</artifactId>
77
<groupId>de.mephisto.vpin</groupId>
8-
<version>4.5.6</version>
8+
<version>4.6.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<packaging>jar</packaging>

vpin-studio-commons/src/main/java/de/mephisto/vpin/commons/fx/FrontendScreenController.java

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import de.mephisto.vpin.commons.fx.pausemenu.model.FrontendScreenAsset;
44
import de.mephisto.vpin.restclient.frontend.FrontendPlayerDisplay;
55
import de.mephisto.vpin.restclient.system.MonitorInfo;
6+
import javafx.application.Platform;
67
import javafx.fxml.FXML;
78
import javafx.fxml.Initializable;
89
import javafx.geometry.Insets;
@@ -113,18 +114,12 @@ private void showOnDisplay(FrontendScreenAsset asset) throws IOException {
113114
else if (mimeType.startsWith("video")) {
114115
imageView.setVisible(false);
115116

116-
Media media = new Media(asset.getUrl().toExternalForm());
117-
MediaPlayer mediaPlayer = new MediaPlayer(media);
118-
mediaPlayer.setAutoPlay(true);
119-
mediaPlayer.setCycleCount(-1);
120-
mediaPlayer.setMute(false);
121-
122117
mediaView.setPreserveRatio(false);
123118
mediaView.setFitWidth(display.getWidth());
124119
mediaView.setFitHeight(display.getHeight());
125120

126-
mediaView.setMediaPlayer(mediaPlayer);
127-
asset.setMediaPlayer(mediaPlayer);
121+
Media media = new Media(asset.getUrl().toExternalForm());
122+
renderMediaPlayer(media, 0);
128123
}
129124
else {
130125
LOG.error("Unsupported mime type for screen asset: " + mimeType);
@@ -144,15 +139,37 @@ else if (mimeType.startsWith("video")) {
144139
screenStage.setHeight(display.getWidth());
145140
screenStage.setWidth(display.getHeight());
146141
}
147-
else if (asset.getRotation() == 180) {
142+
else if (asset.getRotation() == 180) {
148143
screenStage.setY(screenStage.getY() + display.getHeight());
149144
}
150145

151146
root.setRotate(asset.getRotation());
152147

153148
if (asset.getRotation() == 90 || asset.getRotation() == 270) {
154-
root.translateXProperty().setValue(-( display.getHeight() + (display.getHeight()/2)));
149+
root.translateXProperty().setValue(-(display.getHeight() + (display.getHeight() / 2)));
150+
}
151+
}
152+
153+
private void renderMediaPlayer(Media media, int attempt) {
154+
if (attempt == 100) {
155+
return;
155156
}
157+
int attemptCount = attempt + 1;
158+
MediaPlayer mediaPlayer = new MediaPlayer(media);
159+
mediaPlayer.setCycleCount(-1);
160+
mediaPlayer.setMute(false);
161+
mediaPlayer.setOnError(() -> {
162+
LOG.warn("Pause Menu Media player error:{}/{}, URL: {}", mediaPlayer.getError(), attemptCount, mediaPlayer.getMedia().getSource());
163+
mediaPlayer.stop();
164+
mediaPlayer.dispose();
165+
mediaView.setMediaPlayer(null);
166+
renderMediaPlayer(media, attemptCount);
167+
});
168+
mediaView.setMediaPlayer(mediaPlayer);
169+
170+
Platform.runLater(() -> {
171+
mediaPlayer.play();
172+
});
156173
}
157174

158175
public Node getRoot() {

0 commit comments

Comments
 (0)