The branch, dharma has been updated
via 76b653b985e8f56c3ae1b8491f96500ba8103b84 (commit)
via 5108383c0cf202415fa4a704b75242fbbf16583d (commit)
via 3946bfa35e1ec21896633c1c0fc97de8100ce7c3 (commit)
from 1e65b37f4eb3e5def9159c1a79d9c3c8de6f57d1 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=76b653b985e8f56c3ae1b8491f96500ba8103b84
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=5108383c0cf202415fa4a704b75242fbbf16583d
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=3946bfa35e1ec21896633c1c0fc97de8100ce7c3
commit 3946bfa35e1ec21896633c1c0fc97de8100ce7c3
Author: spiff <[email protected]>
Date: Mon Mar 7 09:18:36 2011 +0100
[plugin.video.moviemazer] updated to version 0.3.1
diff --git a/plugin.video.moviemazer/addon.xml
b/plugin.video.moviemazer/addon.xml
index c9685e9..47aa1af 100644
--- a/plugin.video.moviemazer/addon.xml
+++ b/plugin.video.moviemazer/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.moviemazer"
name="Moviemazer"
- version="0.2.2"
+ version="0.3.1"
provider-name="Tristan Fischer (sphere)">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.video.moviemazer/changelog.txt
b/plugin.video.moviemazer/changelog.txt
index 13364d1..4ce4c11 100644
--- a/plugin.video.moviemazer/changelog.txt
+++ b/plugin.video.moviemazer/changelog.txt
@@ -1,3 +1,14 @@
+0.3.1
+ Added new feature to first download and then play a trailer (this is now
default!)
+ New Settings: Download+Play or Stream a trailer
+ New Settings: Download Location for Trailers
+ Increased the default trailer quality setting
+ Added possibility to cancel trailer downloading
+ Fixed deadlock after playback finished
+ Fixed recent Trailers with premiere month "März" (=march) now are recognized
+ Cosmetic: Changed "+" operators to "%s"
+ Fixed Trailers with only untypical resolutions caused a endless loop in
guess-Mode
+
0.2.2
Fixed: For some Movies no trailer were available (bad regex)
diff --git a/plugin.video.moviemazer/default.py
b/plugin.video.moviemazer/default.py
index f471023..c287aee 100644
--- a/plugin.video.moviemazer/default.py
+++ b/plugin.video.moviemazer/default.py
@@ -7,14 +7,15 @@
#
# Special Thanks to the website www.moviemaze.de
-# Import standard stuff
+# Import Python stuff
+import urllib
import urllib2
import re
import os
import sys
import time
-
+from shutil import copyfile
# Import XBMC Stuff
@@ -22,32 +23,35 @@ import xbmcplugin
import xbmcgui
import xbmcaddon
+
# Creating some default variables and objects
Addon = xbmcaddon.Addon('plugin.video.moviemazer')
mainurl = 'http://www.moviemaze.de'
_id = Addon.getAddonInfo('id')
-_cachedir = 'special://profile/addon_data/' + _id + '/cache/'
-_imagedir = 'special://home/addons/' + _id + '/resources/images/'
+_cachedir = 'special://profile/addon_data/%s/cache/' %(_id)
+_imagedir = 'special://home/addons/%s/resources/images/' %(_id)
-Setting = Addon.getSetting
+GetSetting = Addon.getSetting
+SetSetting = Addon.setSetting
Language = Addon.getLocalizedString
Handle = int(sys.argv[1])
+ProgressDialog = xbmcgui.DialogProgress()
# Functions for getting a list of dicts containing movie headers like ID and
title
def getTopTen():
returnmovies = []
- fullurl = mainurl + '/media/trailer/'
- link = getCachedURL(fullurl, 'mainpage.cache',
Setting('cache_movies_list'))
+ fullurl = '%s/media/trailer/' % mainurl
+ link = getCachedURL(fullurl, 'mainpage.cache',
GetSetting('cache_movies_list'))
matchtopten = re.compile('<tr><td valign="top"
align="right"><b>([0-9]+)</b></td><td width=100% style="text-align:left;"><a
href="/media/trailer/([0-9]+),(?:[0-9]+?,)?([^",]+?)">([^<]+)</a> <span
class="small_grey">\(([^<]+)\)</span></td></tr>').findall(link)
for rank, movieid, urlend, title, trailerkind in matchtopten:
movie = {'movieid': movieid,
'title': title,
'urlend': urlend,
- 'rank': rank + '. ',
+ 'rank': '%s. ' % rank,
'date': ''}
returnmovies.append(movie)
return returnmovies
@@ -55,8 +59,8 @@ def getTopTen():
def getRecent():
returnmovies = []
- fullurl = mainurl + '/media/trailer/'
- link = getCachedURL(fullurl, 'mainpage.cache',
Setting('cache_movies_list'))
+ fullurl = '%s/media/trailer/' % mainurl
+ link = getCachedURL(fullurl, 'mainpage.cache',
GetSetting('cache_movies_list'))
matchtrecentupdates = re.compile('<td(?: valign="top"
style="text-align:left;"><b style="white-space: nowrap;">([^<]*)</b)?></td><td
width=100% style="text-align:left;"><a
href="/media/trailer/([0-9]+),(?:[0-9]+?,)?([^",]+?)">([^<]+)</a> <span
class="small_grey">\(([^<]+)\)</span></td></tr>').findall(link)
for date, movieid, urlend, title, trailerkind in matchtrecentupdates:
if date != '':
@@ -64,22 +68,22 @@ def getRecent():
else:
date = lastdate
datearray = date.split(' ')
- months_de_short = ['', 'Jan', 'Feb', 'M\xe4z', 'Apr', 'Mai', 'Juni',
'Juli', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];
+ months_de_short = ['', 'Jan', 'Feb', 'M\xe4r', 'Apr', 'Mai', 'Juni',
'Juli', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];
try: date = datearray[0]+
str(months_de_short.index(datearray[1])).zfill(2) #fixme: this could be made
better, no idea how :)
except: date = ''
movie = {'movieid': movieid,
'title': title,
'urlend': urlend,
'rank':'',
- 'date': '(' + date + ') '}
+ 'date': '(%s) ' % date}
returnmovies.append(movie)
return returnmovies
def getCurrent():
returnmovies = []
- fullurl = mainurl + '/media/trailer/'
- link = getCachedURL(fullurl, 'mainpage.cache',
Setting('cache_movies_list'))
+ fullurl = '%s/media/trailer/' % mainurl
+ link = getCachedURL(fullurl, 'mainpage.cache',
GetSetting('cache_movies_list'))
matchtacttrailers = re.compile('<tr><td(?:
valign="top"><b>[A-Z0-9]</b)?></td><td style="text-align:left;"><a
href="/media/trailer/([0-9]+),(?:[0-9]+?,)?([^",]+?)">([^<]+)</a></td></tr>').findall(link)
for movieid, urlend, title in matchtacttrailers:
movie = {'movieid': movieid,
@@ -101,9 +105,11 @@ def getMovieInfo(movieid, urlend='movie.html'):
'plot': '',
'genres': '',
'date': ''}
- fullurl = mainurl + '/media/trailer/' + movieid + ',15,' + urlend
- cachefile = 'id' + movieid + '.cache'
- link = getCachedURL(fullurl, cachefile, Setting('cache_movie_info'))
+ fullurl = '%s/media/trailer/%s,15,%s' %(mainurl,
+ movieid,
+ urlend)
+ cachefile = 'id%s.cache' %(movieid)
+ link = getCachedURL(fullurl, cachefile, GetSetting('cache_movie_info'))
titlematch = re.compile('<h1>(.+?)</h1>.*<h2>\((.+?)\)</h2>',
re.DOTALL).findall(link)
for title, otitle in titlematch:
returnmovie.update({'title': title, 'otitle': otitle})
@@ -131,9 +137,11 @@ def getMovieInfo(movieid, urlend='movie.html'):
def GetMovieTrailers(movieid, urlend='movie.html'):
returntrailers = []
- fullurl = mainurl + '/media/trailer/' + movieid + ',15,' + urlend
- cachefile = 'id' + movieid + '.cache'
- link = getCachedURL(fullurl, cachefile, Setting('cache_movie_info'))
+ fullurl = '%s/media/trailer/%s,15,%s' %(mainurl,
+ movieid,
+ urlend)
+ cachefile = 'id%s.cache' %(movieid)
+ link = getCachedURL(fullurl, cachefile, GetSetting('cache_movie_info'))
matchtrailerblock = re.compile('<table border=0 cellpadding=0
cellspacing=0 align=center width=100%><tr><td class="standard">.+?<b
style="font-weight:bold;">(.+?)</b><br />\(([0-9:]+)
Minuten\)(.+?</td></tr></table><br /></td></tr></table><br />)',
re.DOTALL).findall(link)
for trailername, duration, trailerblock in matchtrailerblock:
matchlanguageblock = re.compile('alt="Sprache:
(..)">(.+?)>([^<]+)</td></tr></table></td>', re.DOTALL).findall(trailerblock)
@@ -181,10 +189,9 @@ def showCurrent():
# Functions to show the informations in xbmc
def showMovies(movies):
- pc = loadPlayCounts()
counter = 0
ProgressDialog = xbmcgui.DialogProgress()
- ProgressDialog.create(Language(30020), str(len(movies)) + ' ' +
Language(30021))
+ ProgressDialog.create(Language(30020), '%s %s' % (str(len(movies)),
Language(30021)))
ProgressDialog.update(0)
for movie in movies:
movieinfo = getMovieInfo(movieid = movie['movieid'], urlend =
movie['urlend'])
@@ -196,7 +203,7 @@ def showMovies(movies):
otitle = movieinfo['otitle'],
genres = movieinfo['genres'],
releasedate = movieinfo['date'],
- playcount = getPlayCount(movie['movieid'], pc))
+ playcount = getPlayCount(movie['movieid']))
counter += 1
ProgressDialog.update(100 * counter / len(movies),
str(len(movies)) + ' ' + Language(30021), # x
movies have to be cached
@@ -208,7 +215,7 @@ def showMovies(movies):
# Functions to add single Folders to the xbmc screen and tell xbmc that all is
there
def addDir(dirname, cat, iconimage):
- u = sys.argv[0]+'?cat='+str(cat)
+ u = '%s?cat=%s' % (sys.argv[0], str(cat))
liz = xbmcgui.ListItem(dirname,
iconImage = 'DefaultVideo.png',
thumbnailImage = iconimage)
@@ -221,13 +228,13 @@ def addDir(dirname, cat, iconimage):
def addMovie(title, movieid, coverurl='', plot='', otitle='', genres='',
releasedate='', playcount=0):
- u = sys.argv[0] + '?cat=' + str(cat) + '&movieid=' + movieid
+ u = '%s?cat=%s&movieid=%s' % (sys.argv[0], str(cat), movieid)
liz = xbmcgui.ListItem(title,
iconImage = 'DefaultVideo.png',
thumbnailImage = coverurl)
liz.setInfo(type = 'Video',
infoLabels = {'Title': title,
- 'Tagline': Language(30030) + ': ' + releasedate,
+ 'Tagline': '%s: %s' %(Language(30030),
releasedate),
'Plot': plot,
'Studio': otitle, #fixme: there is no label for
"original title"
'Genre': genres})
@@ -237,9 +244,11 @@ def addMovie(title, movieid, coverurl='', plot='',
otitle='', genres='', release
if releasedate != '':
year = int(releasedate.split('.')[2])
liz.setInfo(type = 'Video', infoLabels = {'Year': year})
- contextmenu = [(Language(30231),'XBMC.RunPlugin(' + u + '&mode=guess)'),
- (Language(30232),'XBMC.RunPlugin(' + u + '&mode=ask)')]
- liz.addContextMenuItems(contextmenu, False)
+ contextmenu = [(Language(30231), 'XBMC.RunPlugin(%s&mode=guess)' % u),
+ (Language(30232), 'XBMC.RunPlugin(%s&mode=ask)' % u),
+ (Language(30233), 'XBMC.Action(Info)'),
+ (Language(1045), 'XBMC.RunPlugin(%s&GetSettings=open)' %
u)]
+ liz.addContextMenuItems(contextmenu, True)
xbmcplugin.addDirectoryItem(handle = Handle,
url = u,
listitem = liz,
@@ -253,15 +262,18 @@ def endDir():
xbmcplugin.endOfDirectory(Handle, cacheToDisc=True)
-# Functions to choose a trailer - ask user or guess with the preferred settings
+# Functions to choose a trailer - ask user or guess with the preferred
GetSettings
def askTrailer(movietrailers):
movieinfo = getMovieInfo(movieid)
- backlabel = '--> ' + Language(30011) + ' <--' #Back, there is no 'cancel'
in Dialog.select :(
+ backlabel = '--> %s <--' % Language(30011) #Back, there is no 'cancel' in
Dialog.select :(
trailercaptionlist = [backlabel]
trailerurllist = ['']
for trailer in movietrailers:
- trailercaption = trailer['trailername'] + ' - ' + trailer['language']
+ ' - ' + trailer['resolution'] + ' (' + trailer['date'] + ')'
+ trailercaption = '%s - %s - %s (%s)' %(trailer['trailername'],
+ trailer['language'],
+ trailer['resolution'],
+ trailer['date'])
trailercaptionlist.append(trailercaption)
trailerurllist.append(trailer['trailerurl'])
Dialog = xbmcgui.Dialog()
@@ -272,19 +284,18 @@ def askTrailer(movietrailers):
'title': movieinfo['title'],
'studio': trailercaptionlist[chosentrailer],
'coverurl':movieinfo['coverurl']}
- setPlayCount(movieid)
return trailer
else:
Dialog.ok(movieinfo['title'], Language(30012)) #No Trailer found :(
def guessPrefTrailer(movietrailers):
- prefres = int(Setting('trailer_xres'))
- allres = ['1920', '1280', '848', '720', '640', '480', '320']
+ prefres = int(GetSetting('trailer_xres'))
+ allres = ['1920', '1280', '1024', '848', '720', '640', '512', '480', '320']
prefmovietrailers = []
diff = 0
- if len(filterdic(movietrailers, 'language', Setting('trailer_lang'))) > 0:
- movietrailers = filterdic(movietrailers, 'language',
Setting('trailer_lang'))
+ if len(filterdic(movietrailers, 'language', GetSetting('trailer_lang'))) >
0:
+ movietrailers = filterdic(movietrailers, 'language',
GetSetting('trailer_lang'))
while len(prefmovietrailers) == 0:
searchres = prefres + diff
if not searchres >= len(allres):
@@ -294,10 +305,14 @@ def guessPrefTrailer(movietrailers):
if searchres >= 0:
prefmovietrailers = filterdic(movietrailers, 'resolution',
allres[searchres])
diff += 1
+ if diff > len(allres) +1:
+ break
prefmovietrailer = prefmovietrailers[len(prefmovietrailers) - 1]
- trailercaption = prefmovietrailer['trailername'] + ' - ' +
prefmovietrailer['language'] + ' - ' + prefmovietrailer['resolution'] + ' (' +
prefmovietrailer['date'] + ')'
+ trailercaption = '%s - %s - %s (%s)' %(prefmovietrailer['trailername'],
+ prefmovietrailer['language'],
+ prefmovietrailer['resolution'],
+ prefmovietrailer['date'])
movieinfo = getMovieInfo(movieid)
- setPlayCount(movieid)
trailer = {'trailerurl': prefmovietrailer['trailerurl'],
'title': movieinfo['title'],
'studio': trailercaption,
@@ -307,15 +322,46 @@ def guessPrefTrailer(movietrailers):
# Function to play a Trailer
-def playTrailer(trailerurl, title='', studio='', coverurl=''):
+def playTrailer(trailerurl, movieid, title='', studio='', coverurl=''):
liz = xbmcgui.ListItem(label = title,
iconImage = 'DefaultVideo.png',
thumbnailImage = coverurl)
liz.setInfo(type = 'Video',
infoLabels = {'Title': title, 'Studio': studio})
+ if GetSetting('play_mode') == '0': # GetSetting is to download and then
play the trailer
+ ProgressDialog.create(Language(30025), Language(30026) %('0', '?'),
'%s (%s)' %(title, studio))
+ ProgressDialog.update(0)
+ trailerfile = re.search('.*/([^/]+)\?down=1', trailerurl).group(1)
+ trailerfile = re.sub('[^\w\s.-]', '','%s - %s' %(title, trailerfile))
+ downloadpath = GetSetting('download_path')
+ if downloadpath == '':
+ downloadpath = _cachedir
+ filepath = downloadpath + trailerfile
+ if (not os.path.isfile(filepath)) or os.path.getsize(filepath) == 0:
+ filepathtemp = filepath + '.tmp'
+ urllib.urlretrieve(trailerurl, filepathtemp, updateProgressHook)
+ copyfile(filepathtemp, filepath)
+ os.remove(xbmc.translatePath(filepathtemp))
+ trailerurl = filepath
+ ProgressDialog.close()
Player = xbmc.Player(xbmc.PLAYER_CORE_AUTO)
Player.play(trailerurl, liz)
- xbmc.executebuiltin('Container.Refresh')
+ setPlayCount(movieid)
+ xbmc.sleep(2000) # wait 2 sec
+ while Player.isPlaying():
+ xbmc.sleep(1000) # wait with the container.refresh while xbmc is still
playing
+ #xbmc.executebuiltin('Container.Update')
+
+# Function to update the xbmc Dialog while downloading, thanks to the
videomonkey addon :-)
+
+def updateProgressHook(count, blocksize, totalsize):
+ percent = int(float(count * blocksize * 100) / totalsize)
+ kilofloat = float(1024)
+ totalsizemb = "%.2f" % (totalsize / kilofloat / kilofloat)
+ countmb = "%.2f" % (count * blocksize / kilofloat / kilofloat)
+ ProgressDialog.update(percent, Language(30026) % (countmb, totalsizemb))
+ if ProgressDialog.iscanceled():
+ raise KeyboardInterrupt
# Helper Functions
@@ -323,7 +369,7 @@ def playTrailer(trailerurl, title='', studio='',
coverurl=''):
def getCachedURL(url, filename, timetolive=1):
requestheader = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.9)
Gecko/20100824 Firefox/3.6.9'
cachefilefullpath = _cachedir + filename
- timetolive = int(timetolive) * 60 * 60 # timetolive settings are in hours!
+ timetolive = int(timetolive) * 60 * 60 # timetolive GetSettings are in
hours!
if (not os.path.isdir(_cachedir)):
os.makedirs(_cachedir)
try: cachefiledate = os.path.getmtime(cachefilefullpath)
@@ -366,53 +412,26 @@ def get_params():
return param
-# Functions for get/set and load/save the user playcounts
-
-def loadPlayCounts():
- pc = {}
- watchedfile = _cachedir + 'watchedfile'
- try:
- infile = open(watchedfile,'r')
- for line in infile.readlines():
- movie, playcount = line.split(';')
- pc[movie.strip()] = int(playcount.strip())
- infile.close()
- except:
- pass
- return pc
-
+# Functions for get/set the user playcounts
-def savePlayCounts(pc):
- watchedfile = _cachedir + 'watchedfile'
- outfile = open(watchedfile,'w')
- for line in pc.iteritems():
- outfile.write(';'.join(map(str,line)) + '\n')
- outfile.close()
+def getPlayCount(movieid):
+ playcount = GetSetting('playcount-movieid=%s' % movieid)
+ if not playcount:
+ playcount = 0
+ return playcount
-
-def getPlayCount(movieid, pc=None):
- if pc == None:
- pc = loadPlayCounts()
- if movieid in pc:
- movieplayed = pc[movieid]
- else:
- movieplayed = 0
- return movieplayed
-
-
-def setPlayCount(movieid, count=1):
- pc = loadPlayCounts()
- if movieid in pc:
- pc[movieid] += count
- else:
- pc[movieid] = count
- savePlayCounts(pc)
+def setPlayCount(movieid):
+ pc = int(getPlayCount(movieid))
+ pc += 1
+ SetSetting('playcount-movieid=%s' % movieid, str(pc))
# Addon Standard Stuff - here the addon starts
params = get_params()
+print 'MovieMazer Addon started with "%s"' % params
+
try:
movieid = params['movieid']
except:
@@ -429,7 +448,7 @@ except:
mode = None
-startwith = int(Setting('start_with'))
+startwith = int(GetSetting('start_with'))
if startwith != 0:
if cat == None:
cat = startwith
@@ -443,16 +462,19 @@ if movieid != '':
elif mode == 'ask':
trailer = askTrailer(GetMovieTrailers(movieid))
else:
- prefmode = Setting('pref_mode')
+ prefmode = GetSetting('pref_mode')
if prefmode == '0':
trailer = guessPrefTrailer(GetMovieTrailers(movieid))
elif prefmode == '1':
trailer = askTrailer(GetMovieTrailers(movieid))
if trailer != None:
playTrailer(trailerurl=trailer['trailerurl'],
+ movieid=movieid,
title=trailer['title'],
studio=trailer['studio'],
coverurl=trailer['coverurl'])
+ else:
+ pass # could be that user was asked to chose trailer but he hit "back"
elif cat == 1:
showTopTen()
elif cat == 2:
@@ -461,3 +483,5 @@ elif cat == 3:
showCurrent()
else:
showCategories()
+
+print 'MovieMazer Addon ended'
diff --git a/plugin.video.moviemazer/resources/language/English/strings.xml
b/plugin.video.moviemazer/resources/language/English/strings.xml
index aa5615a..fe2c583 100644
--- a/plugin.video.moviemazer/resources/language/English/strings.xml
+++ b/plugin.video.moviemazer/resources/language/English/strings.xml
@@ -5,11 +5,14 @@
<string id="30002">Recent Updates</string>
<string id="30003">Current Trailers</string>
- <!-- Progress Bar -->
+ <!-- Progress Bars -->
<string id="30020">Loading movieinfos</string>
<string id="30021">Movies have to be cached</string>
<string id="30022">Loading</string>
+ <string id="30025">Trailer download</string>
+ <string id="30026">Progress: %s / %s MB</string>
+
<!-- Movie infos -->
<string id="30030">Germany premiere date</string>
@@ -27,6 +30,7 @@
<string id="30230">Favoured Mode</string>
<string id="30231">Play most favoured</string>
<string id="30232">Choose Trailer</string>
+ <string id="30233">Movie-Informations</string>
<string id="30210">Favoured Quality (X-Res.)</string>
<string id="30220">Favoured language for trailers</string>
@@ -34,4 +38,11 @@
<string id="30300">Main Menu</string>
<string id="30310">Start with</string>
<string id="30311">Categories</string>
+
+ <string id="30400">Playback</string>
+ <string id="30410">Play Mode</string>
+ <string id="30411">Download + Play</string>
+ <string id="30412">Stream</string>
+
+ <string id="30420">Download Location</string>
</strings>
diff --git a/plugin.video.moviemazer/resources/language/German/strings.xml
b/plugin.video.moviemazer/resources/language/German/strings.xml
index beb0673..21a9824 100644
--- a/plugin.video.moviemazer/resources/language/German/strings.xml
+++ b/plugin.video.moviemazer/resources/language/German/strings.xml
@@ -5,11 +5,14 @@
<string id="30002">Letzte Updates</string>
<string id="30003">Aktuelle Trailer</string>
- <!-- Progress Bar -->
+ <!-- Progress Bars -->
<string id="30020">Lade Filmdaten</string>
<string id="30021">Filme müssen geladen werden</string>
<string id="30022">Lade</string>
+ <string id="30025">Trailer download</string>
+ <string id="30026">Fortschritt: %s / %s MB</string>
+
<!-- Movie infos -->
<string id="30030">Datum Deutschlandpremiere</string>
@@ -27,6 +30,7 @@
<string id="30230">Bevorzugter Modus</string>
<string id="30231">Spiele Bevorzugt</string>
<string id="30232">Zeige Trailerauswahl</string>
+ <string id="30233">Film-Informationen</string>
<string id="30210">Bevorzugte Qualität (Horiz. Auflösung)</string>
<string id="30220">Bevorzugte Sprache der Trailer</string>
@@ -34,4 +38,11 @@
<string id="30300">Hauptmenu</string>
<string id="30310">Starte mit</string>
<string id="30311">Kategorien</string>
+
+ <string id="30400">Wiedergabe</string>
+ <string id="30410">Modus</string>
+ <string id="30411">Download + Play</string>
+ <string id="30412">Stream</string>
+
+ <string id="30420">Speicherort</string>
</strings>
diff --git a/plugin.video.moviemazer/resources/settings.xml
b/plugin.video.moviemazer/resources/settings.xml
index 00bf92f..f5be842 100644
--- a/plugin.video.moviemazer/resources/settings.xml
+++ b/plugin.video.moviemazer/resources/settings.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
+ <setting label="30400" type="lsep" />
+ <setting label="30410" type="enum" id="play_mode" lvalues="30411|30412"
default="0" />
+ <setting label="30420" type="folder" id="download_path"
enable="eq(-1,0)" source="video" option="writeable" default=""/>
<setting label="30300" type="lsep" />
<setting label="30310" type="enum" id="start_with"
lvalues="30311|30001|30002|30003" default="0" />
<setting label="30100" type="lsep" />
@@ -7,6 +10,6 @@
<setting label="30120" type="labelenum" id="cache_movie_info"
values="1|8|24|48|96|120" default="48" />
<setting label="30200" type="lsep" />
<setting label="30230" type="enum" id="pref_mode" lvalues="30231|30232"
default="0" />
- <setting label="30210" type="enum" id="trailer_xres"
values="1920|1280|848|720|640|480|320" default="4" />
+ <setting label="30210" type="enum" id="trailer_xres"
values="1920|1280|848|720|640|480|320" default="2" />
<setting label="30220" type="labelenum" id="trailer_lang" values="de|en"
default="de" />
</settings>
-----------------------------------------------------------------------
Summary of changes:
.../LICENSE.txt | 0
plugin.audio.dr.dk.netradio/addon.py | 109 +++++++++++
plugin.audio.dr.dk.netradio/addon.xml | 24 +++
plugin.audio.dr.dk.netradio/changelog.txt | 10 +
plugin.audio.dr.dk.netradio/icon.png | Bin 0 -> 10670 bytes
.../resources/language/Danish/strings.xml | 6 +
.../resources/language/English/strings.xml | 6 +
plugin.audio.dr.dk.netradio/resources/settings.xml | 8 +
plugin.audio.dr.dk.netradio/test.py | 65 +++++++
.../LICENSE.txt | 0
plugin.video.dmi.dk/addon.py | 33 ++++
.../addon.xml | 14 +-
plugin.video.dmi.dk/changelog.txt | 2 +
plugin.video.dmi.dk/icon.png | Bin 0 -> 13203 bytes
plugin.video.moviemazer/addon.xml | 2 +-
plugin.video.moviemazer/changelog.txt | 11 ++
plugin.video.moviemazer/default.py | 190 +++++++++++---------
.../resources/language/English/strings.xml | 13 ++-
.../resources/language/German/strings.xml | 13 ++-
plugin.video.moviemazer/resources/settings.xml | 5 +-
20 files changed, 417 insertions(+), 94 deletions(-)
copy {plugin.audio.engadget => plugin.audio.dr.dk.netradio}/LICENSE.txt (100%)
create mode 100644 plugin.audio.dr.dk.netradio/addon.py
create mode 100644 plugin.audio.dr.dk.netradio/addon.xml
create mode 100644 plugin.audio.dr.dk.netradio/changelog.txt
create mode 100644 plugin.audio.dr.dk.netradio/icon.png
create mode 100644
plugin.audio.dr.dk.netradio/resources/language/Danish/strings.xml
create mode 100644
plugin.audio.dr.dk.netradio/resources/language/English/strings.xml
create mode 100644 plugin.audio.dr.dk.netradio/resources/settings.xml
create mode 100644 plugin.audio.dr.dk.netradio/test.py
copy {plugin.audio.engadget => plugin.video.dmi.dk}/LICENSE.txt (100%)
create mode 100644 plugin.video.dmi.dk/addon.py
copy {plugin.video.videovideo.dk => plugin.video.dmi.dk}/addon.xml (50%)
create mode 100644 plugin.video.dmi.dk/changelog.txt
create mode 100644 plugin.video.dmi.dk/icon.png
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons