diff options
author | Pacien TRAN-GIRARD | 2014-05-24 21:55:12 +0200 |
---|---|---|
committer | Pacien TRAN-GIRARD | 2014-05-24 21:55:12 +0200 |
commit | b101af8db0558a686cabbe80d75b48d42afdc9ae (patch) | |
tree | 1490722486f1575b463c5ea57e8493ad878f8443 | |
parent | 7f66d1282a49ec8d6a5260aab05aa0a49d931b30 (diff) | |
download | esieequest-b101af8db0558a686cabbe80d75b48d42afdc9ae.tar.gz |
Better sound toggling
-rw-r--r-- | src/esieequest/controller/commands/Command.java | 2 | ||||
-rw-r--r-- | src/esieequest/controller/commands/ToggleSoundCommand.java | 20 | ||||
-rw-r--r-- | src/esieequest/view/app/UserInterface.java | 17 | ||||
-rw-r--r-- | src/esieequest/view/web/WebInterface.java | 22 |
4 files changed, 30 insertions, 31 deletions
diff --git a/src/esieequest/controller/commands/Command.java b/src/esieequest/controller/commands/Command.java index 906a312..829ebf8 100644 --- a/src/esieequest/controller/commands/Command.java +++ b/src/esieequest/controller/commands/Command.java | |||
@@ -24,7 +24,7 @@ public enum Command { | |||
24 | QUIT(new QuitCommand()), | 24 | QUIT(new QuitCommand()), |
25 | HELP(new HelpCommand()), | 25 | HELP(new HelpCommand()), |
26 | ALEA(new AleaCommand()), | 26 | ALEA(new AleaCommand()), |
27 | SOUND(new NewCommand()), | 27 | SOUND(new ToggleSoundCommand()), |
28 | 28 | ||
29 | // map related | 29 | // map related |
30 | GO(new GoCommand()), | 30 | GO(new GoCommand()), |
diff --git a/src/esieequest/controller/commands/ToggleSoundCommand.java b/src/esieequest/controller/commands/ToggleSoundCommand.java new file mode 100644 index 0000000..0d8a62b --- /dev/null +++ b/src/esieequest/controller/commands/ToggleSoundCommand.java | |||
@@ -0,0 +1,20 @@ | |||
1 | package esieequest.controller.commands; | ||
2 | |||
3 | import esieequest.model.Game; | ||
4 | import esieequest.view.Viewable; | ||
5 | |||
6 | /** | ||
7 | * Mute/unmute the game musics. | ||
8 | * | ||
9 | * @author Pacien TRAN-GIRARD | ||
10 | */ | ||
11 | public class ToggleSoundCommand implements Executable { | ||
12 | |||
13 | @Override | ||
14 | public void execute(final String argument, final Game game, final Viewable view) { | ||
15 | |||
16 | view.toggleSound(); | ||
17 | |||
18 | } | ||
19 | |||
20 | } | ||
diff --git a/src/esieequest/view/app/UserInterface.java b/src/esieequest/view/app/UserInterface.java index 37dde80..fee5427 100644 --- a/src/esieequest/view/app/UserInterface.java +++ b/src/esieequest/view/app/UserInterface.java | |||
@@ -163,7 +163,7 @@ abstract class UserInterface implements Viewable, ActionListener { | |||
163 | 163 | ||
164 | this.soundButton = new JButton(Text.TOGGLE_SOUND_BUTTON.toString()); | 164 | this.soundButton = new JButton(Text.TOGGLE_SOUND_BUTTON.toString()); |
165 | this.soundButton.setToolTipText(Text.TOGGLE_SOUND_TOOLTIP.toString()); | 165 | this.soundButton.setToolTipText(Text.TOGGLE_SOUND_TOOLTIP.toString()); |
166 | this.newButton.setActionCommand(Command.SOUND.name()); | 166 | this.soundButton.setActionCommand(Command.SOUND.name()); |
167 | this.gamePanel.add(this.soundButton); | 167 | this.gamePanel.add(this.soundButton); |
168 | 168 | ||
169 | this.filePanel = new JPanel(); | 169 | this.filePanel = new JPanel(); |
@@ -512,14 +512,6 @@ abstract class UserInterface implements Viewable, ActionListener { | |||
512 | } | 512 | } |
513 | 513 | ||
514 | /** | 514 | /** |
515 | * Toggles the sound (music). | ||
516 | */ | ||
517 | private void toggleAudio() { | ||
518 | this.muted = !this.muted; | ||
519 | this.setAudioGain(); | ||
520 | } | ||
521 | |||
522 | /** | ||
523 | * Sets the gain. | 515 | * Sets the gain. |
524 | * | 516 | * |
525 | * PulseAudio does not comply with the JSAPI => pause/play instead of muting | 517 | * PulseAudio does not comply with the JSAPI => pause/play instead of muting |
@@ -536,7 +528,7 @@ abstract class UserInterface implements Viewable, ActionListener { | |||
536 | // this.audio.setGain(0.0f); | 528 | // this.audio.setGain(0.0f); |
537 | this.audio.pause(); | 529 | this.audio.pause(); |
538 | } else if (this.audio.isPaused()) { | 530 | } else if (this.audio.isPaused()) { |
539 | // this.audio.setGain(-1.0f);$ | 531 | // this.audio.setGain(-1.0f); |
540 | this.audio.resume(); | 532 | this.audio.resume(); |
541 | } | 533 | } |
542 | } | 534 | } |
@@ -549,8 +541,6 @@ abstract class UserInterface implements Viewable, ActionListener { | |||
549 | public void actionPerformed(final ActionEvent actionEvent) { | 541 | public void actionPerformed(final ActionEvent actionEvent) { |
550 | if (actionEvent.getActionCommand() == Command.INVENTORY.name()) { | 542 | if (actionEvent.getActionCommand() == Command.INVENTORY.name()) { |
551 | this.toggleInventory(); | 543 | this.toggleInventory(); |
552 | } else if (actionEvent.getActionCommand() == Text.TOGGLE_SOUND_BUTTON.toString()) { | ||
553 | this.toggleAudio(); | ||
554 | } else if (actionEvent.getActionCommand() == Command.LOAD.name()) { | 544 | } else if (actionEvent.getActionCommand() == Command.LOAD.name()) { |
555 | final JFileChooser fileChooser = new JFileChooser(); | 545 | final JFileChooser fileChooser = new JFileChooser(); |
556 | fileChooser.setFileFilter(new FileNameExtensionFilter(UserInterface.SAVE_LABEL, | 546 | fileChooser.setFileFilter(new FileNameExtensionFilter(UserInterface.SAVE_LABEL, |
@@ -677,7 +667,8 @@ abstract class UserInterface implements Viewable, ActionListener { | |||
677 | 667 | ||
678 | @Override | 668 | @Override |
679 | public void toggleSound() { | 669 | public void toggleSound() { |
680 | return; | 670 | this.muted = !this.muted; |
671 | this.setAudioGain(); | ||
681 | } | 672 | } |
682 | 673 | ||
683 | @Override | 674 | @Override |
diff --git a/src/esieequest/view/web/WebInterface.java b/src/esieequest/view/web/WebInterface.java index 82264fa..1880bee 100644 --- a/src/esieequest/view/web/WebInterface.java +++ b/src/esieequest/view/web/WebInterface.java | |||
@@ -225,12 +225,7 @@ class WebInterface extends Composite implements Viewable { | |||
225 | 225 | ||
226 | this.soundButton.setText(Text.TOGGLE_SOUND_BUTTON.toString()); | 226 | this.soundButton.setText(Text.TOGGLE_SOUND_BUTTON.toString()); |
227 | this.soundButton.setTitle(Text.TOGGLE_SOUND_TOOLTIP.toString()); | 227 | this.soundButton.setTitle(Text.TOGGLE_SOUND_TOOLTIP.toString()); |
228 | this.soundButton.addClickHandler(new ClickHandler() { | 228 | this.soundButton.addClickHandler(this.makeClickHandler(Command.SOUND.name())); |
229 | @Override | ||
230 | public void onClick(final ClickEvent event) { | ||
231 | WebInterface.this.toggleAudio(); | ||
232 | } | ||
233 | }); | ||
234 | 229 | ||
235 | this.loadButton.setText(Text.LOAD_GAME_BUTTON.toString()); | 230 | this.loadButton.setText(Text.LOAD_GAME_BUTTON.toString()); |
236 | this.loadButton.setTitle(Text.LOAD_GAME_TOOLTIP.toString()); | 231 | this.loadButton.setTitle(Text.LOAD_GAME_TOOLTIP.toString()); |
@@ -313,16 +308,6 @@ class WebInterface extends Composite implements Viewable { | |||
313 | } | 308 | } |
314 | 309 | ||
315 | /** | 310 | /** |
316 | * Toggles the sound (music). | ||
317 | */ | ||
318 | private void toggleAudio() { | ||
319 | if (this.audio == null) { | ||
320 | return; | ||
321 | } | ||
322 | this.audio.setMuted(!this.audio.isMuted()); | ||
323 | } | ||
324 | |||
325 | /** | ||
326 | * Sets the illustration of the side of the room. | 311 | * Sets the illustration of the side of the room. |
327 | * | 312 | * |
328 | * @param illustration | 313 | * @param illustration |
@@ -464,7 +449,10 @@ class WebInterface extends Composite implements Viewable { | |||
464 | 449 | ||
465 | @Override | 450 | @Override |
466 | public void toggleSound() { | 451 | public void toggleSound() { |
467 | return; | 452 | if (this.audio == null) { |
453 | return; | ||
454 | } | ||
455 | this.audio.setMuted(!this.audio.isMuted()); | ||
468 | } | 456 | } |
469 | 457 | ||
470 | @Override | 458 | @Override |