diff --git a/syncplay/constants.py b/syncplay/constants.py index facce07..12545e5 100644 --- a/syncplay/constants.py +++ b/syncplay/constants.py @@ -45,6 +45,8 @@ COMMANDS_LIST = ["l", "list", "users"] COMMANDS_PAUSE = ["p", "play", "pause"] COMMANDS_ROOM = ["r", "room"] COMMANDS_HELP = ['help', 'h', '?', '/?', r'\?'] +COMMANDS_CREATE = ['c','create'] +COMMANDS_IDENTIFY = ['i','identify'] MPC_MIN_VER = "1.6.4" VLC_MIN_VERSION = "2.0.0" VLC_INTERFACE_MIN_VERSION = "0.2.1" diff --git a/syncplay/messages.py b/syncplay/messages.py index 35ae499..23ed522 100755 --- a/syncplay/messages.py +++ b/syncplay/messages.py @@ -53,6 +53,8 @@ en = { "commandlist-notification/pause" : "\tp - toggle pause", "commandlist-notification/seek" : "\t[s][+-]time - seek to the given value of time, if + or - is not specified it's absolute time in seconds or min:sec", "commandlist-notification/help" : "\th - this help", + "commandlist-notification/create" : "\tc - create controlled room using name of current room", + "commandlist-notification/identify" : "\ti [password] - identify as room controller with controller password", "syncplay-version-notification" : "Syncplay version: {}", # syncplay.version "more-info-notification" : "More info available at: {}", # projectURL diff --git a/syncplay/ui/consoleUI.py b/syncplay/ui/consoleUI.py index c7d10e3..8a60c68 100644 --- a/syncplay/ui/consoleUI.py +++ b/syncplay/ui/consoleUI.py @@ -55,14 +55,17 @@ class ConsoleUI(threading.Thread): message = u"In room '{}':".format(room) self.showMessage(message, True) for user in rooms[room]: - username = "*<{}>*".format(user.username) if user == currentUser else "<{}>".format(user.username) + userflags = u"" + if user.isController(): + userflags = userflags + u"(Controller) " + username = userflags + u"*<{}>*".format(user.username) if user == currentUser else userflags + u"<{}>".format(user.username) if user.file: message = u"{} is playing:".format(username) self.showMessage(message, True) message = u" File: '{}' ({})".format(user.file['name'], formatTime(user.file['duration'])) if currentUser.file: if user.file['name'] == currentUser.file['name'] and user.file['size'] != currentUser.file['size']: - message += " (their file size is different from yours!)" + message += u" (their file size is different from yours!)" self.showMessage(message, True) else: message = u"{} is not playing a file".format(username) @@ -140,6 +143,11 @@ class ConsoleUI(threading.Thread): self._syncplayClient.setRoom(room) self._syncplayClient.sendRoom() + elif command.group('command') in constants.COMMANDS_CREATE: + self._syncplayClient.createControlledRoom() + elif command.group('command') in constants.COMMANDS_IDENTIFY: + controlpassword = command.group('parameter') + self._syncplayClient.identifyAsController(controlpassword) else: if self._tryAdvancedCommands(data): return @@ -152,6 +160,8 @@ class ConsoleUI(threading.Thread): self.showMessage(getMessage("commandlist-notification/pause"), True) self.showMessage(getMessage("commandlist-notification/seek"), True) self.showMessage(getMessage("commandlist-notification/help"), True) + self.showMessage(getMessage("commandlist-notification/create"), True) + self.showMessage(getMessage("commandlist-notification/identify"), True) self.showMessage(getMessage("syncplay-version-notification").format(syncplay.version), True) self.showMessage(getMessage("more-info-notification").format(syncplay.projectURL), True)