This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 6f87c93f11d6e90f2eb5ed6fe2c4aa688c4d4d30 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 26 10:45:58 2016 +0100 ajout des bips dans la queue du sound engine (fixes #7939) --- .../ifremer/tutti/ui/swing/util/SoundEngine.java | 33 ++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundEngine.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundEngine.java index 1fe4cc0..f56c4a8 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundEngine.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundEngine.java @@ -26,6 +26,7 @@ package fr.ifremer.tutti.ui.swing.util; import com.google.common.base.MoreObjects; import fr.ifremer.tutti.TuttiConfiguration; +import fr.ifremer.tutti.util.BeepFrequency; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.ApplicationTechnicalException; @@ -47,13 +48,13 @@ public class SoundEngine implements Closeable { protected final TuttiConfiguration configuration; protected final Thread thread; - protected final LinkedBlockingQueue<Measure> measuresToSay; + protected final LinkedBlockingQueue<Object> soundsToPlay; protected boolean stop; public SoundEngine(TuttiConfiguration configuration) { this.configuration = configuration; this.thread = new Thread(new SoundEngineRunnable(), toString()); - this.measuresToSay = new LinkedBlockingQueue<>(); + this.soundsToPlay = new LinkedBlockingQueue<>(); if (log.isInfoEnabled()) { log.info("Starting sound engine thread: " + thread); } @@ -66,11 +67,11 @@ public class SoundEngine implements Closeable { public synchronized void beepOnIchtyometerDataReception(String unit, float aroundLengthStep) { if (configuration.isIchtyometerDataReceptionBeepEnabled()) { - SoundUtil.beep(configuration.getIchtyometerDataReceptionBeepFrequency()); + soundsToPlay.add(configuration.getIchtyometerDataReceptionBeepFrequency()); } if (configuration.isIchtyometerVoiceEnabled()) { - measuresToSay.add(new Measure(unit, aroundLengthStep)); + soundsToPlay.add(new Measure(unit, aroundLengthStep)); } } @@ -78,7 +79,9 @@ public class SoundEngine implements Closeable { public synchronized void beepOnIchtyometerErrorReception() { if (configuration.isIchtyometerErrorReceptionBeepEnabled()) { - SoundUtil.beep(configuration.getIchtyometerErrorReceptionBeepFrequency(), 3); + for (int i = 0 ; i < 3 ; i++) { + soundsToPlay.add(configuration.getIchtyometerDataReceptionBeepFrequency()); + } } } @@ -120,15 +123,23 @@ public class SoundEngine implements Closeable { while (true) { try { - Measure measure = measuresToSay.poll(1, TimeUnit.SECONDS); + Object sound = soundsToPlay.poll(1, TimeUnit.SECONDS); - if (measure != null) { + if (sound != null) { - if (log.isInfoEnabled()) { - log.info("New Measure to say: " + measure); - } + if (sound instanceof Measure) { + + Measure measure = (Measure) sound; - SoundUtil.readNumber(measure.aroundLengthStep, measure.unit); + if (log.isInfoEnabled()) { + log.info("New Measure to say: " + measure); + } + + SoundUtil.readNumber(measure.aroundLengthStep, measure.unit); + + } else if (sound instanceof BeepFrequency) { + SoundUtil.beep(configuration.getIchtyometerErrorReceptionBeepFrequency()); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.