Added automatic version numbering for Travis

This commit is contained in:
alby128 2018-01-08 14:18:49 +01:00
commit 08c41ddbb1
11 changed files with 71 additions and 38 deletions

View File

@ -1,44 +1,44 @@
environment:
MINICONDA: "C:\\Miniconda"
clone_folder: c:\projects\syncplay
image:
- Visual Studio 2013
platform: x86
configuration: Release
init:
- set PATH=C:\Miniconda;C:\Miniconda\Scripts;%PATH%
- cmd: conda create -n syncplay -y
- cmd: activate syncplay
- cmd: conda install python pywin32 pyside -y
- cmd: pip install twisted py2exe_py2 zope.interface
- cmd: type nul > C:\Miniconda\envs\syncplay\lib\site-packages\zope\__init__.py
- cmd: pip freeze
- cmd: conda list
- set PATH=C:\Miniconda;C:\Miniconda\Scripts;C:\Program Files (x86)\NSIS;%PATH%
- conda create -n syncplay -y
- activate syncplay
- conda install python pywin32 pyside -y
- pip install twisted py2exe_py2 zope.interface
- type nul > C:\Miniconda\envs\syncplay\lib\site-packages\zope\__init__.py
- pip freeze
- conda list
install:
- cmd: cd c:\projects\syncplay
- cmd: python buildPy2exe.py
- cmd: del C:\projects\syncplay\syncplay_v1.5.0\lib\DNSAPI.dll
- cmd: del C:\projects\syncplay\syncplay_v1.5.0\lib\MPR.dll
- cmd: mkdir C:\projects\syncplay\syncplay_v1.5.0\platforms
#- cmd: copy C:\Miniconda\envs\syncplay\library\plugins\platforms\qwindows.dll C:\projects\syncplay\syncplay_v1.5.0\platforms\
- cd %APPVEYOR_BUILD_FOLDER%
- for /F "tokens=2 delims='" %%a in ('findstr version syncplay\__init__.py') do @set ver=%%a
- python buildPy2exe.py
- del syncplay_v%ver%\lib\MPR.dll
- mkdir syncplay_v%ver%\platforms
#- copy C:\Miniconda\envs\syncplay\library\plugins\platforms\qwindows.dll C:\projects\syncplay\syncplay_v1.5.0\platforms\
# Not a project with an msbuild file, build done at install.
build: off
artifacts:
path: 'syncplay_v1.5.0'
type: zip
name: Syncplay_win
- path: 'syncplay_v$(ver)'
type: zip
name: Syncplay-$(ver)-win
- path: Syncplay-$(ver)-Setup.exe
name: Syncplay-$(ver)-win-setup
# Push artefact to S3 bucket and list all
before_deploy:
- cmd: dir
#- cmd: python -c "from PySide2 import QtCore; print QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.PluginsPath)"
- dir
#- python -c "from PySide2 import QtCore; print QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.PluginsPath)"
# Deploy build to BinTray
deploy:
@ -51,4 +51,5 @@ deploy:
package: Syncplay
version: "test"
publish: true
override: true
override: true

1
.gitignore vendored
View File

@ -7,6 +7,7 @@ venv
/build
/dist
/syncplay v*
/syncplay_v*
syncplay_setup.nsi
dist.7z
.*

View File

@ -25,7 +25,8 @@ before_deploy:
- mv resources/macos_vlc_install.command resources/.macos_vlc_install.command
- mv resources/lua/intf/syncplay.lua resources/lua/intf/.syncplay.lua
- mv resources/macOS_readme.pdf resources/.macOS_readme.pdf
- dmgbuild -s appdmg.py "Syncplay" dist_dmg/Syncplay_macOS.dmg
- export VER="$(cat syncplay/__init__.py | awk '/version/ {gsub("\047", "", $3); print $NF}')"
- dmgbuild -s appdmg.py "Syncplay" dist_dmg/Syncplay_$(VER)_macOS.dmg
deploy:
on: master_local

View File

@ -16,4 +16,4 @@
"override": 1 }}
],
"publish": true
}
}

View File

@ -5,7 +5,7 @@
) If you get the error "ImportError: No module named zope.interface" then add an empty __init__.py file to the PYTHONDIR/Lib/site-packages/zope directory
2) It is expected that you will have NSIS 3 NSIS from http://nsis.sourceforge.net installed to: C:\Program Files (x86)\NSIS\
2) It is expected that you will have NSIS 3 NSIS from http://nsis.sourceforge.net installed.
'''
@ -31,8 +31,21 @@ if missingStrings is not None and missingStrings is not "":
import warnings
warnings.warn("MISSING/UNUSED STRINGS DETECTED:\n{}".format(missingStrings))
p = "C:\\Program Files (x86)\\NSIS\\makensis.exe" #TODO: how to move that into proper place, huh
NSIS_COMPILE = p if os.path.isfile(p) else "makensis.exe"
def get_nsis_path():
bin_name = "makensis.exe"
from _winreg import HKEY_LOCAL_MACHINE as HKLM
from _winreg import KEY_READ, KEY_WOW64_32KEY, OpenKey, QueryValueEx
try:
nsisreg = OpenKey(HKLM, "Software\\NSIS", 0, KEY_READ | KEY_WOW64_32KEY)
if QueryValueEx(nsisreg, "VersionMajor")[0] >= 3:
return "{}\\{}".format(QueryValueEx(nsisreg, "")[0], bin_name)
else:
raise Exception("You must install NSIS 3 or later.")
except WindowsError:
return bin_name
NSIS_COMPILE = get_nsis_path()
OUT_DIR = "syncplay_v{}".format(syncplay.version)
SETUP_SCRIPT_PATH = "syncplay_setup.nsi"
NSIS_SCRIPT_TEMPLATE = r"""
@ -48,7 +61,7 @@ NSIS_SCRIPT_TEMPLATE = r"""
Unicode true
Name "Syncplay $version"
OutFile "Syncplay $version Setup.exe"
OutFile "Syncplay-$version-Setup.exe"
InstallDir $$PROGRAMFILES\Syncplay
RequestExecutionLevel admin
XPStyle on

View File

@ -1,4 +1,4 @@
version = '1.5.0'
version = '1.5.1'
milestone = 'Yoitsu'
release_number = '50'
release_number = '51'
projectURL = 'http://syncplay.pl/'

View File

@ -9,7 +9,7 @@ UI_TIME_FORMAT = "[%X] "
CONFIG_NAMES = [".syncplay", "syncplay.ini"] #Syncplay searches first to last
DEFAULT_CONFIG_NAME_WINDOWS = "syncplay.ini"
DEFAULT_CONFIG_NAME_LINUX = ".syncplay"
RECENT_CLIENT_THRESHOLD = "1.5.0" #This and higher considered 'recent' clients (no warnings)
RECENT_CLIENT_THRESHOLD = "1.5.1" #This and higher considered 'recent' clients (no warnings)
WARN_OLD_CLIENTS = True #Use MOTD to inform old clients to upgrade
LIST_RELATIVE_CONFIGS = True # Print list of relative configs loaded
SHOW_CONTACT_INFO = True # Displays dev contact details below list in GUI
@ -177,7 +177,7 @@ USERLIST_GUI_FILENAME_COLUMN = 3
MPLAYER_SLAVE_ARGS = ['-slave', '--hr-seek=always', '-nomsgcolor', '-msglevel', 'all=1:global=4:cplayer=4', '-af-add', 'scaletempo']
MPV_ARGS = ['--force-window', '--idle', '--hr-seek=always', '--keep-open']
MPV_SLAVE_ARGS = ['--msg-level=all=error,cplayer=info,term-msg=info', '--input-terminal=no', '--input-file=/dev/stdin']
MPV_SLAVE_ARGS_NEW = ['--term-playing-msg=<SyncplayUpdateFile>\nANS_filename=${filename}\nANS_length=${=length:${=duration:0}}\nANS_path=${path}\n</SyncplayUpdateFile>', '--terminal=yes']
MPV_SLAVE_ARGS_NEW = ['--term-playing-msg=<SyncplayUpdateFile>\nANS_filename=${filename}\nANS_length=${=duration:${=length:0}}\nANS_path=${path}\n</SyncplayUpdateFile>', '--terminal=yes']
MPV_NEW_VERSION = False
VLC_SLAVE_ARGS = ['--extraintf=luaintf', '--lua-intf=syncplay', '--no-quiet', '--no-input-fast-seek',
'--play-and-pause', '--start-time=0']

View File

@ -479,7 +479,7 @@ class MPCHCAPIPlayer(BasePlayer):
@staticmethod
def getIconPath(path):
if MPCHCAPIPlayer.getExpandedPath(path).lower().endswith(u'mpc-hc64.exe'.lower()):
if MPCHCAPIPlayer.getExpandedPath(path).lower().endswith(u'mpc-hc64.exe'.lower()) or MPCHCAPIPlayer.getExpandedPath(path).lower().endswith(u'mpc-hc64_nvo.exe'.lower()):
return constants.MPC64_ICONPATH
else:
return constants.MPC_ICONPATH
@ -493,7 +493,7 @@ class MPCHCAPIPlayer(BasePlayer):
@staticmethod
def getExpandedPath(path):
if os.path.isfile(path):
if path.lower().endswith(u'mpc-hc.exe'.lower()) or path.lower().endswith(u'mpc-hc64.exe'.lower()):
if path.lower().endswith(u'mpc-hc.exe'.lower()) or path.lower().endswith(u'mpc-hc64.exe'.lower()) or path.lower().endswith(u'mpc-hc64_nvo.exe'.lower()) or path.lower().endswith(u'mpc-hc_nvo.exe'.lower()):
return path
if os.path.isfile(path + u"mpc-hc.exe"):
path += u"mpc-hc.exe"
@ -501,9 +501,22 @@ class MPCHCAPIPlayer(BasePlayer):
if os.path.isfile(path + u"\\mpc-hc.exe"):
path += u"\\mpc-hc.exe"
return path
if os.path.isfile(path + u"mpc-hc_nvo.exe"):
path += u"mpc-hc_nvo.exe"
return path
if os.path.isfile(path + u"\\mpc-hc_nvo.exe"):
path += u"\\mpc-hc_nvo.exe"
return path
if os.path.isfile(path + u"mpc-hc64.exe"):
path += u"mpc-hc64.exe"
return path
if os.path.isfile(path + u"\\mpc-hc64.exe"):
path += u"\\mpc-hc64.exe"
return path
if os.path.isfile(path + u"mpc-hc64_nvo.exe"):
path += u"mpc-hc64_nvo.exe"
return path
if os.path.isfile(path + u"\\mpc-hc64_nvo.exe"):
path += u"\\mpc-hc64_nvo.exe"
return path

View File

@ -183,7 +183,10 @@ class MplayerPlayer(BasePlayer):
self._storePauseState(bool(value == 'yes'))
self._pausedAsk.set()
elif name == "length":
self._duration = float(value)
try:
self._duration = float(value)
except:
self._duration = 0
self._durationAsk.set()
elif name == "path":
self._filepath = value

View File

@ -124,7 +124,7 @@ class NewMpvPlayer(OldMpvPlayer):
if property_ in floatProperties:
propertyID = u"={}".format(property_)
elif property_ == 'length':
propertyID = u'=length:${=duration:0}'
propertyID = u'=duration:${=length:0}'
else:
propertyID = property_
self._listener.sendLine(u"print_text ""ANS_{}=${{{}}}""".format(property_, propertyID))

View File

@ -1575,6 +1575,7 @@ class MainWindow(QtWidgets.QMainWindow):
data = event.mimeData()
urls = data.urls()
if urls and urls[0].scheme() == 'file':
url = event.mimeData().urls()[0]
if isMacOS() and IsPySide:
dropfilepath = os.path.abspath(NSURL.URLWithString_(str(url.toString())).filePathURL().path())
else: