From 65f3fc87ef5bf5e99fb2cfa48020c89d2d9b1d6f Mon Sep 17 00:00:00 2001 From: Uriziel Date: Sun, 6 Jan 2013 14:18:52 +0100 Subject: [PATCH] Added sound notification (for Windows) if not all files are same in one room --- buildPy2exe.py | 1 + resources/buzzer.wav | Bin 0 -> 12994 bytes resources/syncplayClientForceConfiguration.bat | 1 + syncplay/client.py | 4 +++- syncplay/ui/ConfigurationGetter.py | 14 ++------------ syncplay/ui/sound.py | 11 +++++++++++ syncplay/utils.py | 13 +++++++++++++ 7 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 resources/buzzer.wav create mode 100644 resources/syncplayClientForceConfiguration.bat create mode 100644 syncplay/ui/sound.py diff --git a/buildPy2exe.py b/buildPy2exe.py index 4a7f256..e57c21f 100644 --- a/buildPy2exe.py +++ b/buildPy2exe.py @@ -27,6 +27,7 @@ info = dict( 'compressed': 1 } }, + data_files = [("resources", ["resources/buzzer.wav",]), ("", ["resources/syncplayClientForceConfiguration.bat",])], zipfile = "lib/libsync", ) diff --git a/resources/buzzer.wav b/resources/buzzer.wav new file mode 100644 index 0000000000000000000000000000000000000000..6af7bbcec81a1ca83ceb80d1dc0018d30a665e64 GIT binary patch literal 12994 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 literal 0 HcmV?d00001 diff --git a/resources/syncplayClientForceConfiguration.bat b/resources/syncplayClientForceConfiguration.bat new file mode 100644 index 0000000..3add67b --- /dev/null +++ b/resources/syncplayClientForceConfiguration.bat @@ -0,0 +1 @@ +Syncplay.exe -g \ No newline at end of file diff --git a/syncplay/client.py b/syncplay/client.py index 70d8577..2928d93 100644 --- a/syncplay/client.py +++ b/syncplay/client.py @@ -6,6 +6,7 @@ from twisted.internet.protocol import ClientFactory from twisted.internet import reactor, task from syncplay.protocols import SyncClientProtocol from syncplay import utils, constants +from syncplay.ui import sound from syncplay.messages import getMessage class SyncClientFactory(ClientFactory): @@ -195,7 +196,8 @@ class SyncplayClient(object): if (paused == False and roomFilesDiffer): self.userlist.roomCheckedForDifferentFiles() self._player.displayMessage(getMessage("en", "room-files-not-same"), constants.DIFFERENT_FILE_MESSAGE_DURATION) - + sound.doBuzz() + def _changePlayerStateAccordingToGlobalState(self, position, paused, doSeek, setBy): madeChangeOnPlayer = False pauseChanged = paused != self.getGlobalPaused() diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py index d09119f..1500fb6 100644 --- a/syncplay/ui/ConfigurationGetter.py +++ b/syncplay/ui/ConfigurationGetter.py @@ -2,7 +2,7 @@ from ConfigParser import SafeConfigParser import argparse import os import sys -from syncplay import constants +from syncplay import constants, utils from syncplay.messages import getMessage try: from syncplay.ui.GuiConfiguration import GuiConfiguration @@ -131,18 +131,8 @@ class ConfigurationGetter(object): host, port = host.split(':', 1) return host, int(port) - def _findWorkingDir(self): - frozen = getattr(sys, 'frozen', '') - if not frozen: - path = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - elif frozen in ('dll', 'console_exe', 'windows_exe'): - path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))) - else: - path = "" - return path - def _checkForPortableFile(self): - path = self._findWorkingDir() + path = utils.findWorkingDir() if(os.path.isfile(os.path.join(path, constants.DEFAULT_CONFIG_NAME))): return os.path.join(path, constants.DEFAULT_CONFIG_NAME) diff --git a/syncplay/ui/sound.py b/syncplay/ui/sound.py new file mode 100644 index 0000000..ce6fdbe --- /dev/null +++ b/syncplay/ui/sound.py @@ -0,0 +1,11 @@ +try: + import winsound +except ImportError: + winsound = None +from syncplay import utils + +def doBuzz(): + buzzPath = utils.findWorkingDir() + "\\resources\\buzzer.wav" + print buzzPath + if(winsound): + winsound.PlaySound(buzzPath, winsound.SND_FILENAME|winsound.SND_ASYNC) diff --git a/syncplay/utils.py b/syncplay/utils.py index 6aa6dda..4225a34 100644 --- a/syncplay/utils.py +++ b/syncplay/utils.py @@ -3,6 +3,8 @@ import re import datetime from syncplay import constants from syncplay.messages import getMessage +import sys +import os def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None): """Retry calling the decorated function using an exponential backoff. @@ -75,3 +77,14 @@ def formatTime(timeInSeconds): return '{0:02.0f}:{1:02.0f}:{2:02.0f}'.format(hours, minutes, seconds) else: return '{0:02.0f}:{1:02.0f}'.format(minutes, seconds) + +def findWorkingDir(): + frozen = getattr(sys, 'frozen', '') + if not frozen: + path = os.path.dirname(os.path.dirname(__file__)) + elif frozen in ('dll', 'console_exe', 'windows_exe'): + path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) + else: + path = "" + return path +