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 0000000..6af7bbc Binary files /dev/null and b/resources/buzzer.wav differ 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 +