Merge branch 'tequila' of github.com:Uriziel/syncplay into tequila

This commit is contained in:
Uriziel 2012-10-19 14:36:14 +02:00
commit 71c583cce3
13 changed files with 24 additions and 21 deletions

View File

@ -7,22 +7,26 @@ ifeq ($(SINGLE_USER),false)
BIN_PATH = $(BASE_PATH)/bin BIN_PATH = $(BASE_PATH)/bin
LIB_PATH = $(BASE_PATH)/lib LIB_PATH = $(BASE_PATH)/lib
APP_SHORTCUT_PATH = $(BASE_PATH)/share/applications APP_SHORTCUT_PATH = $(BASE_PATH)/share/applications
ICON_PATH = $(BASE_PATH)/share/icons ICON_PATH = $(BASE_PATH)/share
else else
BIN_PATH = $(LOCAL_PATH)/syncplay BIN_PATH = $(LOCAL_PATH)/syncplay
LIB_PATH = $(LOCAL_PATH)/syncplay LIB_PATH = $(LOCAL_PATH)/syncplay
APP_SHORTCUT_PATH = $(LOCAL_PATH)/share/applications APP_SHORTCUT_PATH = $(LOCAL_PATH)/share/applications
ICON_PATH = $(LOCAL_PATH)/share/icons ICON_PATH = $(LOCAL_PATH)/share
endif endif
common: common:
mkdir -p $(LIB_PATH)/syncplay/ mkdir -p $(LIB_PATH)/syncplay/
cp -r syncplay $(LIB_PATH)/syncplay/ cp -r syncplay $(LIB_PATH)/syncplay/
cp resources/icon.ico $(ICON_PATH)/ cp -r resources/hicolor $(ICON_PATH)/icons/
cp resources/hicolor/48x48/apps/syncplay.png $(ICON_PATH)/app-install/icons/
cp resources/hicolor/48x48/apps/syncplay.png $(ICON_PATH)/pixmaps/
u-common: u-common:
rm -rf $(LIB_PATH)/syncplay rm -rf $(LIB_PATH)/syncplay
rm $(ICON_PATH)/icon.ico rm $(ICON_PATH)/icons/hicolor/*/apps/syncplay.png
rm $(ICON_PATH)/app-install/icons/syncplay.png
rm $(ICON_PATH)/pixmaps/syncplay.png
client: client:
mkdir -p $(BIN_PATH) mkdir -p $(BIN_PATH)

View File

@ -64,13 +64,13 @@ On Windows simply running `syncplayClient.exe` opens a Syncplay command-line win
### Getting started with Syncplay on Linux ### Getting started with Syncplay on Linux
1. Ensure that you have an up to date version of `mplayer2` installed. 1. Ensure that you have an up to date version of `mplayer2` and relevant python libraries (see "Python scripts", above) installed.
2. Download Syncplay tarball from https://github.com/Uriziel/syncplay/downloads and run `make install`. 2. Download Syncplay tarball from https://github.com/Uriziel/syncplay/downloads and run `make install-client` (or `make install-all` if you also want server).
3. Open the media file you wish to play with `syncplay` (e.g. using "Open with..."). 3. Open the media file you wish to play with `syncplay` (e.g. using "Open with...").
4. Enter configuration settings (see "Configuration window", below). Ensure that you are on the same server and room as your fellow viewers. 4. Enter configuration settings (see "Configuration window", below). Ensure that you are on the same server and room as your fellow viewers. This is done only once, configuration is kept in `~/.syncplay` file.
5. Playing, pausing and seeking from within the mplayer2 instance should now be synchronised with everyone else in the same 'room'. 5. Playing, pausing and seeking from within the mplayer2 instance should now be synchronised with everyone else in the same 'room'.
@ -91,7 +91,7 @@ The settings to be configured are as follows:
* `Host` - Address (hostname / IP) of server to connect to (optionally with port), e.g. `localhost:2734` or `192.168.0.1`. Default port is `8999`. * `Host` - Address (hostname / IP) of server to connect to (optionally with port), e.g. `localhost:2734` or `192.168.0.1`. Default port is `8999`.
* `Username` - Name that the server and other viewers know you by. * `Username` - Name that the server and other viewers know you by.
* `Default room (optional)` - Room to join upon connection. You will only be synchronised with others in the same room on the same server. Default room is `default`. * `Default room (optional)` - Room to join upon connection. You will only be synchronised with others in the same room on the same server. Default room is `default` by default.
* `Server password (optional)` - Password for server. Servers that are not password protected have a blank password. * `Server password (optional)` - Password for server. Servers that are not password protected have a blank password.
* `Path to mpc-hc.exe [Windows only]` - Location of the MPC-HC executable (mpc-hc.exe or mpc-hc64.exe). If this is in a common location then it will be filled in by default. Users are advised to check that it points to their desired installation. * `Path to mpc-hc.exe [Windows only]` - Location of the MPC-HC executable (mpc-hc.exe or mpc-hc64.exe). If this is in a common location then it will be filled in by default. Users are advised to check that it points to their desired installation.
@ -103,8 +103,7 @@ Within the Syncplay command-line you can enter the following commands (and then
* `help` - Displays list of commands and other information. * `help` - Displays list of commands and other information.
* `room [room]` - Leaves current room and joins specified room. You are only synchronised with others in the same room on the same server. If no room is specified then this command will use the filename of the currently open file, or alternatively will join the room `default`. * `room [room]` - Leaves current room and joins specified room. You are only synchronised with others in the same room on the same server. If no room is specified then this command will use the filename of the currently open file, or alternatively will join the room `default`.
* `s [time]` - Seek (jump) to specified time. Can be `seconds`, `minutes:seconds` or `hours:minutes:seconds`. * `[s][+-][time]` - Seek (jump) to specified time. Optional `+` or `-` denotes relative time forward and backward respectively. Time can be given in seconds or min:sec format.
* `s+ [time]` - Jumps [time] forward. Can be `seconds`, `minutes:seconds` or `hours:minutes:seconds`.
* `r` - Revert last seek. Seeks to where you were before the most recent seek. * `r` - Revert last seek. Seeks to where you were before the most recent seek.
* `p` - Toggle play/pause. * `p` - Toggle play/pause.
@ -125,7 +124,7 @@ You can run `syncplayClient` with the following command-line switches to alter S
### Notification messages ### Notification messages
* `Rewinded due to time difference with [user]` - This means that your media player ended up too far in front of the specified user and has jumped back to keep you in sync. This is usually because someone's computer isn't powerful enough to play the file smoothly. * `Rewinded due to time difference with [user]` - This means that your media player ended up too far in front of the specified user and has jumped back to keep you in sync. This is usually because someone's computer isn't powerful enough to play the file smoothly. If someone is only a small amount in front then their playback rate will be reduced to 95% for a short amount of time to bring them back into sync.
* `File you're playing is different from [user]'s` - This means that the filename, length and/or duration of the file that the user is playing is different from the file that you are playing. This is for information only and is not an error. * `File you're playing is different from [user]'s` - This means that the filename, length and/or duration of the file that the user is playing is different from the file that you are playing. This is for information only and is not an error.
## How to use the server ## How to use the server
@ -167,5 +166,4 @@ You can report bugs through https://github.com/Uriziel/syncplay/issues but first
You might also be able to discuss your problem through Internet Relay Chat (IRC). The #Syncplay channel is on the irc.rizon.net server. You might also be able to discuss your problem through Internet Relay Chat (IRC). The #Syncplay channel is on the irc.rizon.net server.
### Known issues ### Known issues
1. Changing your system time while Syncplay is running confuses the sync. PROTIP: Don't do it. 1. Changing your system time while Syncplay is running confuses the sync. PROTIP: Don't do it.
2. Syncplay cannot properly handle a seek that is within 8 seconds of the current position. PROTIP: Don't do it.

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -5,5 +5,5 @@ Comment=Synchronize video playback over network
Exec=/usr/bin/syncplay-server %u Exec=/usr/bin/syncplay-server %u
Terminal=true Terminal=true
Type=Application Type=Application
Icon=/usr/share/icons/icon.ico Icon=syncplay
Categories=AudioVideo;Audio;Video; Categories=AudioVideo;Audio;Video;

View File

@ -5,7 +5,7 @@ Comment=Synchronize video playback over network
Exec=/usr/bin/syncplay %u Exec=/usr/bin/syncplay %u
Terminal=true Terminal=true
Type=Application Type=Application
Icon=/usr/share/icons/icon.ico Icon=syncplay
Categories=AudioVideo;Audio;Video;Player;Network; Categories=AudioVideo;Audio;Video;Player;Network;
MimeType=audio/ac3;audio/mp4;audio/mpeg;audio/vnd.rn-realaudio;audio/vorbis;audio/x-adpcm;audio/x-matroska;audio/x-mp2;audio/x-mp3;audio/x-ms-wma;audio/x-vorbis;audio/x-wav;audio/mpegurl;audio/x-mpegurl;audio/x-pn-realaudio;audio/x-scpls;video/avi;video/mp4;video/flv;video/mpeg;video/quicktime;video/vnd.rn-realvideo;video/x-matroska;video/x-ms-asf;video/x-msvideo;video/x-ms-wmv;video/x-ogm;video/x-theora; MimeType=audio/ac3;audio/mp4;audio/mpeg;audio/vnd.rn-realaudio;audio/vorbis;audio/x-adpcm;audio/x-matroska;audio/x-mp2;audio/x-mp3;audio/x-ms-wma;audio/x-vorbis;audio/x-wav;audio/mpegurl;audio/x-mpegurl;audio/x-pn-realaudio;audio/x-scpls;video/avi;video/mp4;video/flv;video/mpeg;video/quicktime;video/vnd.rn-realvideo;video/x-matroska;video/x-ms-asf;video/x-msvideo;video/x-ms-wmv;video/x-ogm;video/x-theora;
NoDisplay=true NoDisplay=true

View File

@ -445,12 +445,13 @@ class UiManager(object):
def promptFor(self, prompt): def promptFor(self, prompt):
return self.__ui.promptFor(prompt) return self.__ui.promptFor(prompt)
def formatTime(self, value): def formatTime(self, timeInSeconds):
weeks = value // 604800 value = round(timeInSeconds)
days = (value % 604800) // 86400 weeks = timeInSeconds // 604800
hours = (value % 86400) // 3600 days = (timeInSeconds % 604800) // 86400
minutes = (value % 3600) // 60 hours = (timeInSeconds % 86400) // 3600
seconds = value % 60 minutes = (timeInSeconds % 3600) // 60
seconds = timeInSeconds % 60
if(weeks > 0): if(weeks > 0):
return '{0:.0f}w, {1:.0f}d, {2:02.0f}:{3:02.0f}:{4:02.0f}'.format(weeks, days, hours, minutes, seconds) return '{0:.0f}w, {1:.0f}d, {2:02.0f}:{3:02.0f}:{4:02.0f}'.format(weeks, days, hours, minutes, seconds)
elif(days > 0): elif(days > 0):