The branch, frodo has been updated
via 21c58f5eb96b6dd4fb0b5c59abdd34779988bdba (commit)
via eb0d06beb6bc4dd1ac10056a51b90061b118a683 (commit)
via 2a60cdac8eb59482b56657cab5721a7552e0361d (commit)
from c8f3cfc0779b59ecb0b73de890d17230bd21b14e (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=21c58f5eb96b6dd4fb0b5c59abdd34779988bdba
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=eb0d06beb6bc4dd1ac10056a51b90061b118a683
commit eb0d06beb6bc4dd1ac10056a51b90061b118a683
Author: beenje <[email protected]>
Date: Wed Nov 20 20:34:12 2013 +0100
[plugin.video.borsentv.dk] updated to version 1.0.5
diff --git a/plugin.video.borsentv.dk/addon.py
b/plugin.video.borsentv.dk/addon.py
index 5920969..23d6577 100644
--- a/plugin.video.borsentv.dk/addon.py
+++ b/plugin.video.borsentv.dk/addon.py
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2012 Tommy Winther
+# Copyright (C) 2013 Tommy Winther
# http://tommy.winther.nu
#
# This Program is free software; you can redistribute it and/or modify
@@ -26,27 +26,16 @@ import xbmcgui
import xbmcaddon
import xbmcplugin
-BASE_URL = 'http://borsen.dk/tv/'
FEEDS = {
- 30100 : 'rss://borsen.dk/podcast/alle',
- 30101 : 'rss://borsen.dk/podcast/investor',
- 30102 : 'rss://borsen.dk/podcast/investor1000',
- 30103 : 'rss://borsen.dk/podcast/karriere',
- 30104 : 'rss://borsen.dk/podcast/politik',
- 30105 : 'rss://borsen.dk/podcast/privatokonomi',
- 30106 : 'rss://borsen.dk/podcast/okonomi',
- 30107 : 'rss://borsen.dk/podcast/finans'
+ 30100: 'rss://borsen.dk/podcast/alle',
+ 30101: 'rss://borsen.dk/podcast/investor',
+ 30103: 'rss://borsen.dk/podcast/karriere',
+ 30104: 'rss://borsen.dk/podcast/politik',
+ 30105: 'rss://borsen.dk/podcast/privatokonomi',
+ 30106: 'rss://borsen.dk/podcast/okonomi',
+ 30107: 'rss://borsen.dk/podcast/finans'
}
-class BorsenTVAddon(object):
- def showCategories(self):
- for id in FEEDS.keys():
- item = xbmcgui.ListItem(ADDON.getLocalizedString(id), iconImage =
ICON)
- item.setProperty('Fanart_Image', FANART)
- xbmcplugin.addDirectoryItem(HANDLE, FEEDS[id], item, isFolder =
True)
-
- xbmcplugin.endOfDirectory(HANDLE)
-
if __name__ == '__main__':
ADDON = xbmcaddon.Addon()
HANDLE = int(sys.argv[1])
@@ -55,7 +44,11 @@ if __name__ == '__main__':
buggalo.SUBMIT_URL = 'http://tommy.winther.nu/exception/submit.php'
try:
- btv = BorsenTVAddon()
- btv.showCategories()
+ for stringId in FEEDS.keys():
+ item = xbmcgui.ListItem(ADDON.getLocalizedString(stringId),
iconImage=ICON)
+ item.setProperty('Fanart_Image', FANART)
+ xbmcplugin.addDirectoryItem(HANDLE, FEEDS[stringId], item,
isFolder=True)
+
+ xbmcplugin.endOfDirectory(HANDLE)
except Exception:
buggalo.onExceptionRaised()
diff --git a/plugin.video.borsentv.dk/addon.xml
b/plugin.video.borsentv.dk/addon.xml
index df9eb06..4136812 100644
--- a/plugin.video.borsentv.dk/addon.xml
+++ b/plugin.video.borsentv.dk/addon.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.borsentv.dk" version="1.0.4" name="Børsen TV"
provider-name="twinther [[email protected]]">
+<addon id="plugin.video.borsentv.dk" version="1.0.5" name="Børsen TV"
provider-name="twinther">
<requires>
- <import addon="xbmc.python" version="2.0"/>
- <import addon="script.module.buggalo" version="1.0.1"/>
+ <import addon="xbmc.python" version="2.1.0"/>
+ <import addon="script.module.buggalo" version="1.1.5"/>
</requires>
<extension point="xbmc.python.pluginsource" library="addon.py">
<provides>video</provides>
@@ -15,5 +15,7 @@
<license>GPL 2.0</license>
<platform>all</platform>
<language>da</language>
+ <email>[email protected]</email>
+
<source>https://github.com/xbmc-danish-addons/plugin.video.borsentv.dk</source>
</extension>
</addon>
diff --git a/plugin.video.borsentv.dk/changelog.txt
b/plugin.video.borsentv.dk/changelog.txt
index f5ca9e6..f24cd06 100644
--- a/plugin.video.borsentv.dk/changelog.txt
+++ b/plugin.video.borsentv.dk/changelog.txt
@@ -1,3 +1,7 @@
+[B]Version 1.0.5 - 2013-11-15[/B]
+- Updated for Frodo / Gotham
+- Removed Investor 1000
+
[B]Version 1.0.4 - 2012-10-10[/B]
- Updated feeds, icon and fanart (Thanks to Thomas Riise)
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=2a60cdac8eb59482b56657cab5721a7552e0361d
commit 2a60cdac8eb59482b56657cab5721a7552e0361d
Author: beenje <[email protected]>
Date: Wed Nov 20 20:34:11 2013 +0100
[plugin.video.dr.dk.live] updated to version 3.0.3
diff --git a/plugin.video.dr.dk.live/addon.py b/plugin.video.dr.dk.live/addon.py
index d28ffc0..28aa0b2 100644
--- a/plugin.video.dr.dk.live/addon.py
+++ b/plugin.video.dr.dk.live/addon.py
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2012 Tommy Winther
+# Copyright (C) 2013 Tommy Winther
# http://tommy.winther.nu
#
# This Program is free software; you can redistribute it and/or modify
@@ -21,6 +21,7 @@ import sys
import os
import urlparse
import urllib2
+import platform
import xbmcaddon
import xbmcgui
@@ -28,9 +29,9 @@ import xbmcplugin
import buggalo
-from channels import CHANNELS, CATEGORIES, QUALITIES
+from channels import CHANNELS, CATEGORIES, QUALITIES, Q_BEST, Q_RASPBERRY_PI
-TITLE_OFFSET = 31000
+TITLE_OFFSET = 30500
class DanishLiveTV(object):
@@ -38,7 +39,7 @@ class DanishLiveTV(object):
try:
quality = QUALITIES[int(ADDON.getSetting('quality'))]
except ValueError:
- quality = QUALITIES[0] # fallback for old settings value
+ quality = QUALITIES[Q_BEST] # fallback for old settings value
if category is not None:
channels = CATEGORIES[category]
@@ -46,27 +47,27 @@ class DanishLiveTV(object):
channels = CHANNELS
for channel in channels:
- icon = os.path.join(ADDON.getAddonInfo('path'), 'resources',
'logos', '%d.png' % channel.get_id())
+ icon = os.path.join(ADDON.getAddonInfo('path'), 'resources',
'logos', '%d.png' % channel.category_id)
if not os.path.exists(icon):
icon = ICON
idx = None
- if channel.get_config_key():
+ if channel.config_key:
try:
- idx = int(ADDON.getSetting(channel.get_config_key()))
+ idx = int(ADDON.getSetting(channel.config_key))
except ValueError:
idx = 0 # fallback for missing settings
if channel.get_url(quality, idx):
- title = ADDON.getLocalizedString(TITLE_OFFSET +
channel.get_id())
+ title = ADDON.getLocalizedString(TITLE_OFFSET +
channel.category_id)
item = xbmcgui.ListItem(title, iconImage=icon,
thumbnailImage=icon)
item.setInfo('video', infoLabels={
'title': title,
- 'studio': ADDON.getLocalizedString(channel.get_category())
+ 'studio': ADDON.getLocalizedString(channel.category)
})
item.setProperty('Fanart_Image', FANART)
item.setProperty('IsPlayable', 'true')
- xbmcplugin.addDirectoryItem(HANDLE, PATH + '?playChannel=%d' %
channel.id, item)
+ xbmcplugin.addDirectoryItem(HANDLE, PATH + '?playChannel=%d' %
channel.category_id, item)
xbmcplugin.endOfDirectory(HANDLE)
@@ -84,24 +85,24 @@ class DanishLiveTV(object):
try:
quality = QUALITIES[int(ADDON.getSetting('quality'))]
except ValueError:
- quality = QUALITIES[0] # fallback for old settings value
+ quality = QUALITIES[Q_BEST] # fallback for old settings value
for channel in CHANNELS:
- if str(channel.get_id()) == id:
+ if str(channel.category_id) == id:
idx = None
- if channel.get_config_key():
+ if channel.config_key:
try:
- idx = int(ADDON.getSetting(channel.get_config_key()))
+ idx = int(ADDON.getSetting(channel.config_key))
except ValueError:
- idx = 0 # fallback for missing settings
+ idx = 0 # fallback for missing settings
url = channel.get_url(quality, idx)
if url:
- icon = os.path.join(ADDON.getAddonInfo('path'),
'resources', 'logos', '%d.png' % channel.get_id())
+ icon = os.path.join(ADDON.getAddonInfo('path'),
'resources', 'logos', '%d.png' % channel.category_id)
if not os.path.exists(icon):
icon = ICON
- title = ADDON.getLocalizedString(TITLE_OFFSET +
channel.get_id())
+ title = ADDON.getLocalizedString(TITLE_OFFSET +
channel.category_id)
item = xbmcgui.ListItem(title, iconImage=icon,
thumbnailImage=icon, path=url)
item.setProperty('Fanart_Image', FANART)
item.setProperty('IsLive', 'true')
@@ -123,18 +124,26 @@ class DanishLiveTV(object):
imInDenmark = False
if not imInDenmark:
- heading = ADDON.getLocalizedString(99970)
- line1 = ADDON.getLocalizedString(99971)
- line2 = ADDON.getLocalizedString(99972)
- line3 = ADDON.getLocalizedString(99973)
- nolabel = ADDON.getLocalizedString(99974)
- yeslabel = ADDON.getLocalizedString(99975)
+ heading = ADDON.getLocalizedString(30970)
+ line1 = ADDON.getLocalizedString(30971)
+ line2 = ADDON.getLocalizedString(30972)
+ line3 = ADDON.getLocalizedString(30973)
+ nolabel = ADDON.getLocalizedString(30974)
+ yeslabel = ADDON.getLocalizedString(30975)
if xbmcgui.Dialog().yesno(heading, line1, line2, line3, nolabel,
yeslabel):
ADDON.setSetting('warn.if.not.in.denmark', 'false')
+ def isRaspberryPi(self):
+ # inspired by plugin.image.xzen
+ try:
+ uname = platform.uname()
+ except:
+ uname = os.uname()
+
+ return 'raspbmc' in uname or 'armv6l' in uname
if __name__ == '__main__':
- ADDON = xbmcaddon.Addon(id='plugin.video.dr.dk.live')
+ ADDON = xbmcaddon.Addon()
PATH = sys.argv[0]
HANDLE = int(sys.argv[1])
PARAMS = urlparse.parse_qs(sys.argv[2][1:])
@@ -145,11 +154,18 @@ if __name__ == '__main__':
buggalo.SUBMIT_URL = 'http://tommy.winther.nu/exception/submit.php'
try:
danishTV = DanishLiveTV()
+ if ADDON.getSetting('quality') == '':
+ # set default value based on what we are able to detect
+ if danishTV.isRaspberryPi():
+ ADDON.setSetting('quality', str(Q_RASPBERRY_PI))
+ else:
+ ADDON.setSetting('quality', str(Q_BEST))
+
if 'playChannel' in PARAMS:
danishTV.playChannel(PARAMS['playChannel'][0])
elif 'category' in PARAMS:
danishTV.showChannels(int(PARAMS['category'][0]))
- elif ADDON.getSetting('group.by.category') == 'true':
+ elif ADDON.getSetting('group.by.category') == 'true' and
ADDON.getSetting('raspberry.pi.compatible.streams') == 'false':
danishTV.imInDenmark()
danishTV.showCategories()
else:
diff --git a/plugin.video.dr.dk.live/addon.xml
b/plugin.video.dr.dk.live/addon.xml
index bc75fc2..964eda6 100644
--- a/plugin.video.dr.dk.live/addon.xml
+++ b/plugin.video.dr.dk.live/addon.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon
- id="plugin.video.dr.dk.live" version="3.0.1" name="Danish Live TV"
provider-name="twinther [[email protected]]">
+ id="plugin.video.dr.dk.live" version="3.0.3" name="Danish Live TV"
provider-name="twinther">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
- <import addon="script.module.buggalo" version="1.1.2"/>
+ <import addon="script.module.buggalo" version="1.1.5"/>
</requires>
<extension point="xbmc.python.pluginsource" library="addon.py">
<provides>video</provides>
@@ -18,5 +18,8 @@
<license>GPL 2.0</license>
<platform>all</platform>
<language>da</language>
+ <email>[email protected]</email>
+ <website>http://tommy.winther.nu</website>
+
<source>https://github.com/xbmc-danish-addons/plugin.video.dr.dk.live</source>
</extension>
</addon>
diff --git a/plugin.video.dr.dk.live/changelog.txt
b/plugin.video.dr.dk.live/changelog.txt
index 95d32df..1704f96 100644
--- a/plugin.video.dr.dk.live/changelog.txt
+++ b/plugin.video.dr.dk.live/changelog.txt
@@ -1,3 +1,15 @@
+[B]Version 3.0.3 - 2013-11-18[/B]
+- Fixed playback of TV2 Regions channels, TV2/ÃJ channel 24 hour channel,
+ and additional TV2/Fyn quality streams (all thanks to Rene H. Larsen /
Fynske Medier)
+- Changed wording of [I]Raspberry Pi compatible[/I] to [I]Raspberry Pi/AppleTV
compatible[/I]
+ as it also fixed problems with the Apple TV.
+
+[B]Version 3.0.2 - 2013-11-16[/B]
+- Added better support for Raspberry Pi
+ Change Quality to "Raspberry Pi compatible" in addon settings
+- Update stream URLs for some channels
+- Currently most TV2 Region channels doesn't work, I'm investigating...
+
[B]Version 3.0.1 - 2013-03-22[/B]
- Added DR Ultra
- Removed DR Update
diff --git a/plugin.video.dr.dk.live/channels.py
b/plugin.video.dr.dk.live/channels.py
index ac71b9f..1d85f3a 100644
--- a/plugin.video.dr.dk.live/channels.py
+++ b/plugin.video.dr.dk.live/channels.py
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2012 Tommy Winther
+# Copyright (C) 2013 Tommy Winther
# http://tommy.winther.nu
#
# This Program is free software; you can redistribute it and/or modify
@@ -19,24 +19,25 @@
#
import urllib2
-Q_BEST = 0 # 1700 kb/s
-Q_HIGH = 1 # 1000 kb/s
-Q_MEDIUM = 2 # 500 kb/s
-Q_LOW = 3 # 250 kb/s
+Q_BEST = 0 # 1700 kb/s
+Q_HIGH = 1 # 1000 kb/s
+Q_MEDIUM = 2 # 500 kb/s
+Q_LOW = 3 # 250 kb/s
+Q_RASPBERRY_PI = 4 # Raspberry Pi specific stream
-QUALITIES = [Q_BEST, Q_HIGH, Q_MEDIUM, Q_LOW]
+QUALITIES = [Q_BEST, Q_HIGH, Q_MEDIUM, Q_LOW, Q_RASPBERRY_PI]
CHANNELS = list()
CATEGORY_DR = 30201
CATEGORY_TV2_REG = 30202
CATEGORY_MISC = 30203
-CATEGORIES = {CATEGORY_DR : list(), CATEGORY_TV2_REG : list(), CATEGORY_MISC :
list()}
+CATEGORIES = {CATEGORY_DR: [], CATEGORY_TV2_REG: [], CATEGORY_MISC: []}
class Channel(object):
- def __init__(self, id, category, config_key = None):
- self.id = id
+ def __init__(self, category_id, category, config_key=None):
+ self.category_id = category_id
self.category = category
self.config_key = config_key
self.urls = dict()
@@ -44,16 +45,29 @@ class Channel(object):
CHANNELS.append(self)
CATEGORIES[category].append(self)
- def add_urls(self, best = None, high = None, medium = None, low = None):
- if best: self.urls[Q_BEST] = best
- if high: self.urls[Q_HIGH] = high
- if medium: self.urls[Q_MEDIUM] = medium
- if low: self.urls[Q_LOW] = low
-
- def get_url(self, quality, idx = 0):
- if self.urls.has_key(quality):
+ def add_urls(self, best=None, high=None, medium=None, low=None,
raspberryPi=None):
+ if best:
+ self.urls[Q_BEST] = best
+ if high:
+ self.urls[Q_HIGH] = high
+ if medium:
+ self.urls[Q_MEDIUM] = medium
+ if low:
+ self.urls[Q_LOW] = low
+ if raspberryPi:
+ self.urls[Q_RASPBERRY_PI] = raspberryPi
+
+ def get_url(self, quality, idx=Q_BEST):
+ if quality in self.urls:
urls = self.urls[quality]
- elif quality == Q_BEST and self.urls.has_key(Q_HIGH):
+ elif quality == Q_RASPBERRY_PI:
+ if Q_BEST in self.urls:
+ urls = self.urls[Q_BEST]
+ elif Q_HIGH in self.urls:
+ urls = self.urls[Q_HIGH]
+ else:
+ return None
+ elif quality == Q_BEST and Q_HIGH in self.urls:
urls = self.urls[Q_HIGH]
else:
return None
@@ -66,21 +80,8 @@ class Channel(object):
else:
return urls
- def get_id(self):
- return self.id
-
- def get_category(self):
- return self.category
-
- def get_description(self):
- return ''
-
- def get_config_key(self):
- return self.config_key
-
-
class TV2RChannel(Channel):
- def get_url(self, quality, idx = 0):
+ def get_url(self, quality, idx=Q_BEST):
url = super(TV2RChannel, self).get_url(quality, idx)
if url is not None:
return url.replace('<HOST>', self.get_host_ip())
@@ -90,7 +91,7 @@ class TV2RChannel(Channel):
def get_host_ip(self):
for attempt in range(0, 2):
try:
- u =
urllib2.urlopen('http://livestream.fynskemedier.dk/loadbalancer')
+ u =
urllib2.urlopen('http://livestream2.fynskemedier.dk/loadbalancer')
s = u.read()
u.close()
return s[9:]
@@ -101,84 +102,107 @@ class TV2RChannel(Channel):
#
http://www.dr.dk/mu/Bundle?ChannelType=%24eq%28%22TV%22%29&BundleType=%24eq%28%22Channel%22%29&DrChannel=true&limit=0
# DR1
Channel(1, CATEGORY_DR, "dr1.stream").add_urls(
- high = ['rtmp://livetv.gss.dr.dk/live/livedr01astream3 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr01bstream3 live=1'],
- medium = ['rtmp://livetv.gss.dr.dk/live/livedr01astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr01bstream2 live=1'],
- low = ['rtmp://livetv.gss.dr.dk/live/livedr01astream1 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr01bstream1 live=1'])
+ high=['rtmp://livetv.gss.dr.dk/live/livedr01astream3 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr01bstream3 live=1'],
+ medium=['rtmp://livetv.gss.dr.dk/live/livedr01astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr01bstream2 live=1'],
+ low=['rtmp://livetv.gss.dr.dk/live/livedr01astream1 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr01bstream1 live=1'],
+ raspberryPi='http://dr01-lh.akamaihd.net/i/dr01dr_0@147042/master.m3u8')
# DR2
Channel(2, CATEGORY_DR, "dr2.stream").add_urls(
- high = ['rtmp://livetv.gss.dr.dk/live/livedr02astream3 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr02bstream3 live=1'],
- medium = ['rtmp://livetv.gss.dr.dk/live/livedr02astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr02bstream2 live=1'],
- low = ['rtmp://livetv.gss.dr.dk/live/livedr02astream1 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr02bstream1 live=1'])
+ high=['rtmp://livetv.gss.dr.dk/live/livedr02astream3 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr02bstream3 live=1'],
+ medium=['rtmp://livetv.gss.dr.dk/live/livedr02astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr02bstream2 live=1'],
+ low=['rtmp://livetv.gss.dr.dk/live/livedr02astream1 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr02bstream1 live=1'],
+ raspberryPi='http://dr02-lh.akamaihd.net/i/dr02dr_0@147043/master.m3u8')
# DR 3
Channel(6, CATEGORY_DR, "dr3.stream").add_urls(
- best = ['rtmp://livetv.gss.dr.dk/live/livedr06astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr06bstream2 live=1'], # DR has stream2 for
all speeds - weird
- high = ['rtmp://livetv.gss.dr.dk/live/livedr06astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr06bstream2 live=1'],
- medium = ['rtmp://livetv.gss.dr.dk/live/livedr06astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr06bstream2 live=1'])
+ best=['rtmp://livetv.gss.dr.dk/live/livedr06astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr06bstream2 live=1'],
+ high=['rtmp://livetv.gss.dr.dk/live/livedr06astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr06bstream2 live=1'],
+ medium=['rtmp://livetv.gss.dr.dk/live/livedr06astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr06bstream2 live=1'],
+ raspberryPi='http://lm.gss.dr.dk/V/V06H.stream/Playlist.m3u8')
# DR Ultra
Channel(3, CATEGORY_DR, "drultra.stream").add_urls(
- high = ['rtmp://livetv.gss.dr.dk/live/livedr03astream3 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr03bstream3 live=1',],
- medium = ['rtmp://livetv.gss.dr.dk/live/livedr03astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr03bstream2 live=1'],
- low = ['rtmp://livetv.gss.dr.dk/live/livedr03astream1 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr03bstream1 live=1'])
+ high=['rtmp://livetv.gss.dr.dk/live/livedr03astream3 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr03bstream3 live=1', ],
+ medium=['rtmp://livetv.gss.dr.dk/live/livedr03astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr03bstream2 live=1'],
+ low=['rtmp://livetv.gss.dr.dk/live/livedr03astream1 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr03bstream1 live=1'],
+ raspberryPi='http://dr03-lh.akamaihd.net/i/dr03dr_0@147044/master.m3u8')
# DR K
Channel(4, CATEGORY_DR, "drk.stream").add_urls(
- high = ['rtmp://livetv.gss.dr.dk/live/livedr04astream3 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr04bstream3 live=1'],
- medium = ['rtmp://livetv.gss.dr.dk/live/livedr04astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr04bstream2 live=1'],
- low = ['rtmp://livetv.gss.dr.dk/live/livedr04astream1 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr04bstream1 live=1'])
+ high=['rtmp://livetv.gss.dr.dk/live/livedr04astream3 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr04bstream3 live=1'],
+ medium=['rtmp://livetv.gss.dr.dk/live/livedr04astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr04bstream2 live=1'],
+ low=['rtmp://livetv.gss.dr.dk/live/livedr04astream1 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr04bstream1 live=1'],
+ raspberryPi='http://lm.gss.dr.dk/V/V04H.stream/Playlist.m3u8')
# DR Ramasjang
Channel(5, CATEGORY_DR, "drramasjang.stream").add_urls(
- high = ['rtmp://livetv.gss.dr.dk/live/livedr05astream3 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr05bstream3 live=1'],
- medium = ['rtmp://livetv.gss.dr.dk/live/livedr05astream2 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr05bstream2 live=1'],
- low = ['rtmp://livetv.gss.dr.dk/live/livedr05astream1 live=1',
'rtmp://livetv.gss.dr.dk/live/livedr05bstream1 live=1'])
+ high=['rtmp://livetv.gss.dr.dk/live/livedr05astream3 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr05bstream3 live=1'],
+ medium=['rtmp://livetv.gss.dr.dk/live/livedr05astream2 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr05bstream2 live=1'],
+ low=['rtmp://livetv.gss.dr.dk/live/livedr05astream1 live=1',
+ 'rtmp://livetv.gss.dr.dk/live/livedr05bstream1 live=1'],
+ raspberryPi='http://lm.gss.dr.dk/V/V05H.stream/Playlist.m3u8')
# TV2 Fyn
TV2RChannel(100, CATEGORY_TV2_REG).add_urls(
- high = 'rtmp://<HOST>:1935/live/_definst_/tv2fyn_1000 live=1'
+ best = 'rtmp://<HOST>:1935/live/_definst_/tv2fyn_2000 live=1',
+ high = 'rtmp://<HOST>:1935/live/_definst_/tv2fyn_1000 live=1',
+ medium = 'rtmp://<HOST>:1935/live/_definst_/tv2fyn_300 live=1'
)
# TV2 Lorry
TV2RChannel(101, CATEGORY_TV2_REG).add_urls(
- best = 'rtmp://<HOST>:1935/live/_definst_/tv2lorry_2000 live=1',
- high = 'rtmp://<HOST>:1935/live/_definst_/tv2lorry_1000 live=1',
- medium = 'rtmp://<HOST>:1935/live/_definst_/tv2lorry_300 live=1'
+ best='rtmp://<HOST>:1935/live/_definst_/tv2lorry_2000 live=1',
+ high='rtmp://<HOST>:1935/live/_definst_/tv2lorry_1000 live=1',
+ medium='rtmp://<HOST>:1935/live/_definst_/tv2lorry_300 live=1'
)
# TV2 Syd
TV2RChannel(102, CATEGORY_TV2_REG).add_urls(
- best = 'rtmp://<HOST>:1935/live/_definst_/tvsyd_2000 live=1',
- high = 'rtmp://<HOST>:1935/live/_definst_/tvsyd_1000 live=1',
- medium = 'rtmp://<HOST>:1935/live/_definst_/tvsyd_300 live=1'
+ best='rtmp://<HOST>:1935/live/_definst_/tvsyd_2000 live=1',
+ high='rtmp://<HOST>:1935/live/_definst_/tvsyd_1000 live=1',
+ medium='rtmp://<HOST>:1935/live/_definst_/tvsyd_300 live=1'
)
# TV2 Midtvest
Channel(103, CATEGORY_TV2_REG).add_urls(
- high = 'rtmp://live.tvmidtvest.dk/tvmv/live live=1')
+ high='rtmp://live.tvmidtvest.dk/tvmv/live live=1')
# TV2 Nord
TV2RChannel(105, CATEGORY_TV2_REG).add_urls(
- best = 'rtmp://<HOST>:1935/live/_definst_/tv2nord-plus_2000 live=1',
- high = 'rtmp://<HOST>:1935/live/_definst_/tv2nord-plus_1000 live=1',
- medium = 'rtmp://<HOST>:1935/live/_definst_/tv2nord-plus_300 live=1'
+ best='rtmp://<HOST>:1935/live/_definst_/tv2nord-plus_2000 live=1',
+ high='rtmp://<HOST>:1935/live/_definst_/tv2nord-plus_1000 live=1',
+ medium='rtmp://<HOST>:1935/live/_definst_/tv2nord-plus_300 live=1'
)
# TV2 East
Channel(106, CATEGORY_TV2_REG).add_urls(
- best =
'http://tv2east.live-s.cdn.bitgravity.com/cdn-live-c1/_definst_/tv2east/live/feed01/playlist.m3u8'
+
best='http://tv2east.live-s.cdn.bitgravity.com/cdn-live-c1/_definst_/tv2east/live/feed01/playlist.m3u8'
)
# TV2 OJ
TV2RChannel(108, CATEGORY_TV2_REG).add_urls(
- best = 'rtmp://<HOST>:1935/live/_definst_/tv2oj_2000 live=1',
- high = 'rtmp://<HOST>:1935/live/_definst_/tv2oj_1000 live=1',
- medium = 'rtmp://<HOST>:1935/live/_definst_/tv2oj_300 live=1'
+ best = 'rtmp://<HOST>:1935/live/_definst_/tv2oj-plus_2000 live=1',
+ high = 'rtmp://<HOST>:1935/live/_definst_/tv2oj_plus_1000 live=1',
+ medium = 'rtmp://<HOST>:1935/live/_definst_/tv2oj_plus_300 live=1'
)
# TV2 Bornholm
Channel(109, CATEGORY_TV2_REG).add_urls(
- best = 'mms://itv02.digizuite.dk/tv2b'
+ best='rtmp://itv08.digizuite.dk/tv2b/ch1 live=1'
)
#
http://ft.arkena.tv/xml/core_player_clip_data_v2_REAL.php?wtve=187&wtvl=2&wtvk=012536940751284&as=1
# Folketinget
Channel(201, CATEGORY_MISC).add_urls(
- best = 'rtmp://ftflash.arkena.dk/webtvftlivefl/ playpath=mp4:live.mp4
pageUrl=http://www.ft.dk/webTV/TV_kanalen_folketinget.aspx live=1')
-# danskespil lotto
-Channel(202, CATEGORY_MISC).add_urls(
- best = 'rtmp://lvs.wowza.jay.net/webstream/lotto live=1'
+ best='rtmp://ftflash.arkena.dk/webtvftlivefl/ playpath=mp4:live.mp4
pageUrl=http://www.ft.dk/webTV/TV_kanalen_folketinget.aspx live=1'
)
# kanalsport.dk
Channel(203, CATEGORY_MISC).add_urls(
- best =
'http://lswb-de-08.servers.octoshape.net:1935/live/kanalsport_1000k/playlist.m3u8'
+
best='http://lswb-de-08.servers.octoshape.net:1935/live/kanalsport_1000k/playlist.m3u8'
)
diff --git a/plugin.video.dr.dk.live/resources/language/Danish/strings.xml
b/plugin.video.dr.dk.live/resources/language/Danish/strings.xml
index 62250be..7e3c68b 100644
--- a/plugin.video.dr.dk.live/resources/language/Danish/strings.xml
+++ b/plugin.video.dr.dk.live/resources/language/Danish/strings.xml
@@ -11,40 +11,41 @@
<string id="30108">Advarsler</string>
<string id="30109">Advar hvis ikke i Danmark</string>
- <string id="30110">Bedste (op til 2 mbit/s)</string>
- <string id="30111">Høj (1 mbit/s)</string>
- <string id="30112">Medium (500 kbit/s)</string>
- <string id="30113">Lav (250 kbit/s)</string>
+ <string id="30150">Bedste (op til 2 mbit/s)</string>
+ <string id="30151">Høj (1 mbit/s)</string>
+ <string id="30152">Medium (500 kbit/s)</string>
+ <string id="30153">Lav (250 kbit/s)</string>
+ <string id="30153">Raspberry Pi/AppleTV kompatibel</string>
<string id="30201">Danmarks Radio</string>
<string id="30202">TV2/Regionerne</string>
<string id="30203">Blandet</string>
- <string id="31001">DR1</string>
- <string id="31002">DR2</string>
- <string id="31003">DR Ultra</string>
- <string id="31004">DR K</string>
- <string id="31005">DR Ramasjang</string>
- <string id="31006">DR3</string>
+ <string id="30501">DR1</string>
+ <string id="30502">DR2</string>
+ <string id="30503">DR Ultra</string>
+ <string id="30504">DR K</string>
+ <string id="30505">DR Ramasjang</string>
+ <string id="30506">DR3</string>
- <string id="31100">TV 2/FYN</string>
- <string id="31101">Lorry</string>
- <string id="31102">TV SYD</string>
- <string id="31103">TV/MIDT-VEST</string>
- <string id="31105">TV2/Nord</string>
- <string id="31106">TV2 ÃST</string>
- <string id="31108">TV 2 | ÃSTJYLLAND</string>
- <string id="31109">TV 2/Bornholm</string>
+ <string id="30600">TV 2/FYN</string>
+ <string id="30601">Lorry</string>
+ <string id="30602">TV SYD</string>
+ <string id="30603">TV/MIDT-VEST</string>
+ <string id="30605">TV2/Nord</string>
+ <string id="30606">TV2 ÃST</string>
+ <string id="30608">TV 2 | ÃSTJYLLAND</string>
+ <string id="30609">TV 2/Bornholm</string>
- <string id="31200">24 Nordjyske</string>
- <string id="31201">Folketinget TV</string>
- <string id="31202">danskespil.dk Lotto</string>
- <string id="31203">Kanal Sport</string>
+ <string id="30700">24 Nordjyske</string>
+ <string id="30701">Folketinget TV</string>
+ <string id="30702">danskespil.dk Lotto</string>
+ <string id="30703">Kanal Sport</string>
- <string id="99970">Advarsel!</string>
- <string id="99971">Det ser ud til du ikke befinder dig i Danmark.</string>
- <string id="99972">En eller flere kanaler vil måske ikke kunne
afspilles</string>
- <string id="99973">eller der kan opstå andre uventede fejl.</string>
- <string id="99974">OK</string>
- <string id="99975">Vis ikke igen</string>
+ <string id="30970">Advarsel!</string>
+ <string id="30971">Det ser ud til du ikke befinder dig i Danmark.</string>
+ <string id="30972">En eller flere kanaler vil måske ikke kunne
afspilles</string>
+ <string id="30973">eller der kan opstå andre uventede fejl.</string>
+ <string id="30974">OK</string>
+ <string id="30975">Vis ikke igen</string>
</strings>
diff --git a/plugin.video.dr.dk.live/resources/language/English/strings.xml
b/plugin.video.dr.dk.live/resources/language/English/strings.xml
index 0cb6764..e4784ad 100644
--- a/plugin.video.dr.dk.live/resources/language/English/strings.xml
+++ b/plugin.video.dr.dk.live/resources/language/English/strings.xml
@@ -11,40 +11,41 @@
<string id="30108">Warnings</string>
<string id="30109">Warn when not in Denmark</string>
- <string id="30110">Best (up to 2 mbit/s)</string>
- <string id="30111">High (1 mbit/s)</string>
- <string id="30112">Medium (500 kbit/s)</string>
- <string id="30113">Low (250 kibt/s)</string>
+ <string id="30150">Best (up to 2 mbit/s)</string>
+ <string id="30151">High (1 mbit/s)</string>
+ <string id="30152">Medium (500 kbit/s)</string>
+ <string id="30153">Low (250 kibt/s)</string>
+ <string id="30154">Raspberry Pi/AppleTV compatible</string>
<string id="30201">Danish Broadcasting Corporation</string>
<string id="30202">TV2/Regions</string>
<string id="30203">Miscellaneous</string>
- <string id="31001">DR1</string>
- <string id="31002">DR2</string>
- <string id="31003">DR Ultra</string>
- <string id="31004">DR K</string>
- <string id="31005">DR Ramasjang</string>
- <string id="31006">DR3</string>
+ <string id="30501">DR1</string>
+ <string id="30502">DR2</string>
+ <string id="30503">DR Ultra</string>
+ <string id="30504">DR K</string>
+ <string id="30505">DR Ramasjang</string>
+ <string id="30506">DR3</string>
- <string id="31100">TV 2/FYN</string>
- <string id="31101">Lorry</string>
- <string id="31102">TV SYD</string>
- <string id="31103">TV/MIDT-VEST</string>
- <string id="31105">TV2/Nord</string>
- <string id="31106">TV2 ÃST</string>
- <string id="31108">TV 2 | ÃSTJYLLAND</string>
- <string id="31109">TV 2/Bornholm</string>
+ <string id="30600">TV 2/FYN</string>
+ <string id="30601">Lorry</string>
+ <string id="30602">TV SYD</string>
+ <string id="30603">TV/MIDT-VEST</string>
+ <string id="30605">TV2/Nord</string>
+ <string id="30606">TV2 ÃST</string>
+ <string id="30608">TV 2 | ÃSTJYLLAND</string>
+ <string id="30609">TV 2/Bornholm</string>
- <string id="31200">24 Nordjyske</string>
- <string id="31201">Folketinget TV</string>
- <string id="31202">danskespil.dk Lotto</string>
- <string id="31203">Kanal Sport</string>
+ <string id="30700">24 Nordjyske</string>
+ <string id="30701">Folketinget TV</string>
+ <string id="30702">danskespil.dk Lotto</string>
+ <string id="30703">Kanal Sport</string>
- <string id="99970">Warning!</string>
- <string id="99971">It looks like you are not in Denmark.</string>
- <string id="99972">One or more channels may not be playable</string>
- <string id="99973">or other unexpected errors may occur.</string>
- <string id="99974">OK</string>
- <string id="99975">Don't show again</string>
+ <string id="30970">Warning!</string>
+ <string id="30971">It looks like you are not in Denmark.</string>
+ <string id="30972">One or more channels may not be playable</string>
+ <string id="30973">or other unexpected errors may occur.</string>
+ <string id="30974">OK</string>
+ <string id="30975">Don't show again</string>
</strings>
diff --git a/plugin.video.dr.dk.live/resources/settings.xml
b/plugin.video.dr.dk.live/resources/settings.xml
index 148cb4e..74673b5 100644
--- a/plugin.video.dr.dk.live/resources/settings.xml
+++ b/plugin.video.dr.dk.live/resources/settings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settings>
<category label="30100">
- <setting id="quality" label="30101" type="enum" default="0"
lvalues="30110|30111|30112|30113" />
+ <setting id="quality" label="30101" type="enum"
lvalues="30150|30151|30152|30153|30154" />
<setting id="group.by.category" label="30102" type="bool"
default="false" />
</category>
<category label="30103">
-----------------------------------------------------------------------
Summary of changes:
plugin.video.borsentv.dk/addon.py | 35 +--
plugin.video.borsentv.dk/addon.xml | 8 +-
plugin.video.borsentv.dk/changelog.txt | 4 +
plugin.video.dr.dk.live/addon.py | 66 +++--
plugin.video.dr.dk.live/addon.xml | 7 +-
plugin.video.dr.dk.live/changelog.txt | 12 +
plugin.video.dr.dk.live/channels.py | 168 +++++++-----
.../resources/language/Danish/strings.xml | 57 ++--
.../resources/language/English/strings.xml | 57 ++--
plugin.video.dr.dk.live/resources/settings.xml | 2 +-
.../LICENSE.txt | 0
plugin.video.enigmatv/addon.xml | 25 ++
plugin.video.enigmatv/changelog.txt | 7 +
plugin.video.enigmatv/default.py | 280 ++++++++++++++++++++
plugin.video.enigmatv/fanart.jpg | Bin 0 -> 151536 bytes
plugin.video.enigmatv/icon.png | Bin 0 -> 45834 bytes
.../resources/language/English/strings.xml | 22 ++
.../resources/language/French/strings.xml | 22 ++
plugin.video.enigmatv/resources/settings.xml | 13 +
19 files changed, 605 insertions(+), 180 deletions(-)
copy {plugin.audio.abradio.cz => plugin.video.enigmatv}/LICENSE.txt (100%)
create mode 100644 plugin.video.enigmatv/addon.xml
create mode 100644 plugin.video.enigmatv/changelog.txt
create mode 100644 plugin.video.enigmatv/default.py
create mode 100644 plugin.video.enigmatv/fanart.jpg
create mode 100644 plugin.video.enigmatv/icon.png
create mode 100644 plugin.video.enigmatv/resources/language/English/strings.xml
create mode 100644 plugin.video.enigmatv/resources/language/French/strings.xml
create mode 100644 plugin.video.enigmatv/resources/settings.xml
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing
conversations that shape the rapidly evolving mobile landscape. Sign up now.
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons