diff --git a/Platform/Apple/tools/jace/src/main/java/jace/JaceUIController.java b/Platform/Apple/tools/jace/src/main/java/jace/JaceUIController.java index 6bf5a0cd..364eb01a 100644 --- a/Platform/Apple/tools/jace/src/main/java/jace/JaceUIController.java +++ b/Platform/Apple/tools/jace/src/main/java/jace/JaceUIController.java @@ -18,6 +18,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import jace.core.Card; +import jace.core.Motherboard; import jace.core.Utility; import jace.core.Video; import jace.lawless.LawlessComputer; @@ -34,6 +35,7 @@ import javafx.beans.binding.NumberBinding; import javafx.beans.binding.When; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.value.ObservableNumberValue; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.geometry.Insets; @@ -93,6 +95,9 @@ public class JaceUIController { @FXML private ComboBox musicSelection; + + @FXML + private Slider speakerToggle; private final BooleanProperty aspectRatioCorrectionEnabled = new SimpleBooleanProperty(false); @@ -132,7 +137,23 @@ public class JaceUIController { rootPane.requestFocus(); })); rootPane.requestFocus(); + speakerToggle.setValue(1.0); + speakerToggle.setOnMouseClicked(evt -> { + speakerEnabled = !speakerEnabled; + int desiredValue = speakerEnabled ? 1 : 0; + speakerToggle.setValue(desiredValue); + Emulator.withComputer(computer -> { + Motherboard.enableSpeaker = speakerEnabled; + computer.motherboard.reconfigure(); + if (!speakerEnabled) { + computer.motherboard.speaker.detach(); + } else { + computer.motherboard.speaker.attach(); + } + }); + }); } + boolean speakerEnabled = true; private void showMenuButton(MouseEvent evt) { if (!evt.isPrimaryButtonDown() && !evt.isSecondaryButtonDown() && !controlOverlay.isVisible()) { diff --git a/Platform/Apple/tools/jace/src/main/resources/fxml/JaceUI.fxml b/Platform/Apple/tools/jace/src/main/resources/fxml/JaceUI.fxml index 66a3669f..a1d631ba 100644 --- a/Platform/Apple/tools/jace/src/main/resources/fxml/JaceUI.fxml +++ b/Platform/Apple/tools/jace/src/main/resources/fxml/JaceUI.fxml @@ -1,17 +1,30 @@ + - - - - - + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - - + + @@ -89,40 +110,13 @@ - + - + - + diff --git a/Platform/Apple/tools/jace/src/main/resources/styles/style.css b/Platform/Apple/tools/jace/src/main/resources/styles/style.css index 369f481b..60e49c5a 100644 --- a/Platform/Apple/tools/jace/src/main/resources/styles/style.css +++ b/Platform/Apple/tools/jace/src/main/resources/styles/style.css @@ -26,7 +26,7 @@ -fx-background-radius: 10px; } -.menuButton, .uiActionButton, .uiSpeedSlider ImageView, .uiSpeedSlider Slider, .uiSpeedSlider AnchorPane, .musicLabel { +.menuButton, .uiActionButton, .uiSpeedSlider ImageView, .uiSpeedSlider Slider, .uiSpeedSlider AnchorPane, .musicLabel, GridPane { -fx-background-color: rgba(0, 0, 0, 0.75); -fx-text-fill: #a0FFa0 }