diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java
index 91ed716c..16470fb1 100644
--- a/src/main/java/seng302/App.java
+++ b/src/main/java/seng302/App.java
@@ -15,7 +15,6 @@ import org.apache.commons.cli.ParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import seng302.model.PolarTable;
-import seng302.utilities.Sounds;
public class App extends Application {
@@ -68,7 +67,6 @@ public class App extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
- Sounds.playMenuMusic();
Parent root = FXMLLoader.load(getClass().getResource("/views/StartScreenView.fxml"));
primaryStage.setTitle("Party Parrots at Sea");
Scene scene = new Scene(root, 1530, 960);
diff --git a/src/main/java/seng302/utilities/Sounds.java b/src/main/java/seng302/utilities/Sounds.java
index 0f99213a..da9cc72a 100644
--- a/src/main/java/seng302/utilities/Sounds.java
+++ b/src/main/java/seng302/utilities/Sounds.java
@@ -24,6 +24,18 @@ public class Sounds {
}
}
+ public static void setMutes() {
+ if (soundPlayer != null) {
+ soundPlayer.setMute(soundEffectsMuted);
+ }
+ if (soundEffect != null) {
+ soundEffect.setMute(soundEffectsMuted);
+ }
+ if (musicPlayer != null) {
+ musicPlayer.setMute(musicMuted);
+ }
+ }
+
public static void stopSoundEffects() {
if (soundEffect != null) {
soundEffect.stop();
@@ -71,10 +83,19 @@ public class Sounds {
}
public static void playMenuMusic() {
- Media menuMusic = new Media(Sounds.class.getClassLoader().getResource("sounds/Elevator-music.mp3").toString());
+ Media menuMusic = new Media(
+ Sounds.class.getClassLoader().getResource("sounds/Elevator-music.mp3").toString());
musicPlayer = new MediaPlayer(menuMusic);
musicPlayer.setCycleCount(MediaPlayer.INDEFINITE);
musicPlayer.play();
+ }
+
+
+ public static void playFinishMusic() {
+ Media finishMusic = new Media(Sounds.class.getClassLoader().getResource("sounds/Happy-birthday-song.mp3").toString());
+ musicPlayer = new MediaPlayer(finishMusic);
+ musicPlayer.setCycleCount(MediaPlayer.INDEFINITE);
+ musicPlayer.play();
musicPlayer.setMute(musicMuted);
}
diff --git a/src/main/java/seng302/visualiser/GameClient.java b/src/main/java/seng302/visualiser/GameClient.java
index 81284a06..4d2effb2 100644
--- a/src/main/java/seng302/visualiser/GameClient.java
+++ b/src/main/java/seng302/visualiser/GameClient.java
@@ -153,8 +153,7 @@ public class GameClient {
if (socketThread != null) {
socketThread.setSocketToClose();
}
- Sounds.stopMusic();
- Sounds.playMenuMusic();
+
FXMLLoader fxmlLoader = new FXMLLoader(
getClass().getResource("/views/StartScreenView.fxml"));
try {
@@ -213,6 +212,9 @@ public class GameClient {
private void loadFinishScreenView() {
+ Sounds.stopMusic();
+ Sounds.stopSoundEffects();
+ Sounds.playFinishMusic();
FXMLLoader fxmlLoader = loadFXMLToHolder("/views/FinishScreenView.fxml");
FinishScreenViewController controller = fxmlLoader.getController();
controller.setFinishers(raceState.getPlayerPositions());
diff --git a/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java b/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java
index b2e49f1a..f2c2d22b 100644
--- a/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java
+++ b/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java
@@ -15,10 +15,12 @@ import javafx.fxml.Initializable;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
+import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import seng302.model.ClientYacht;
+import seng302.utilities.Sounds;
public class FinishScreenViewController implements Initializable {
@@ -87,4 +89,8 @@ public class FinishScreenViewController implements Initializable {
public void switchToStartScreenView() {
setContentPane("/views/StartScreenView.fxml");
}
+
+ public void playButtonHoverSound(MouseEvent mouseEvent) {
+ Sounds.playHoverSound();
+ }
}
diff --git a/src/main/java/seng302/visualiser/controllers/LobbyController.java b/src/main/java/seng302/visualiser/controllers/LobbyController.java
index 9d52a7a9..00c7febd 100644
--- a/src/main/java/seng302/visualiser/controllers/LobbyController.java
+++ b/src/main/java/seng302/visualiser/controllers/LobbyController.java
@@ -16,6 +16,7 @@ import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
+import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.Stage;
@@ -32,6 +33,10 @@ import seng302.visualiser.ClientToServerThread;
*/
public class LobbyController {
+ public void playButtonHoverSound(MouseEvent mouseEvent) {
+ Sounds.playHoverSound();
+ }
+
public enum CloseStatus {
LEAVE,
READY
diff --git a/src/main/java/seng302/visualiser/controllers/StartScreenController.java b/src/main/java/seng302/visualiser/controllers/StartScreenController.java
index 5cdf36a2..37d9ef62 100644
--- a/src/main/java/seng302/visualiser/controllers/StartScreenController.java
+++ b/src/main/java/seng302/visualiser/controllers/StartScreenController.java
@@ -36,7 +36,9 @@ public class StartScreenController implements Initializable {
private GameClient gameClient;
public void initialize(URL url, ResourceBundle resourceBundle) {
-
+ Sounds.stopMusic();
+ Sounds.stopSoundEffects();
+ Sounds.playMenuMusic();
if (Sounds.isMusicMuted()) {
muteMusicButton.setText("UnMute Music");
} else {
@@ -47,7 +49,7 @@ public class StartScreenController implements Initializable {
} else {
muteSoundsButton.setText("Mute Sounds");
}
-
+ Sounds.setMutes();
// gameClient = new GameClient(holder);
}
diff --git a/src/main/resources/sounds/Happy-birthday-song.mp3 b/src/main/resources/sounds/Happy-birthday-song.mp3
new file mode 100644
index 00000000..aee030a7
Binary files /dev/null and b/src/main/resources/sounds/Happy-birthday-song.mp3 differ
diff --git a/src/main/resources/views/FinishScreenView.fxml b/src/main/resources/views/FinishScreenView.fxml
index ab1e5835..0ebdf261 100644
--- a/src/main/resources/views/FinishScreenView.fxml
+++ b/src/main/resources/views/FinishScreenView.fxml
@@ -1,5 +1,10 @@
+
+
+
+
+
@@ -10,6 +15,7 @@
+
@@ -42,6 +48,6 @@
-
+
diff --git a/src/main/resources/views/LobbyView.fxml b/src/main/resources/views/LobbyView.fxml
index 1d325055..1763448e 100644
--- a/src/main/resources/views/LobbyView.fxml
+++ b/src/main/resources/views/LobbyView.fxml
@@ -37,9 +37,9 @@
-
-
-
+
+
+