Skip to content

Commit

Permalink
v.0.4.8
Browse files Browse the repository at this point in the history
  • Loading branch information
Lunatixz committed Apr 2, 2024
1 parent cb0d0b2 commit 79ae1db
Show file tree
Hide file tree
Showing 40 changed files with 756 additions and 379 deletions.
5 changes: 4 additions & 1 deletion addons.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addons>
<addon id="plugin.video.pseudotv.live" version="0.4.7d" name="PseudoTV Live" provider-name="Lunatixz">
<addon id="plugin.video.pseudotv.live" version="0.4.8" name="PseudoTV Live" provider-name="Lunatixz">
<requires>
<import addon="xbmc.python" version="3.0.1"/>
<import addon="pvr.iptvsimple" version="21.8.0"/>
Expand All @@ -13,6 +13,9 @@
<import addon="resource.images.musicgenreicons.text" version="0.0.1"/>
<import addon="resource.images.moviegenreicons.transparent" version="0.0.1"/>
<import addon="resource.images.pseudotv.logos" optional="true" version="0.0.1"/>
<import addon="resource.videos.bumpers.pseudotv" optional="true" version="0.0.1"/>
<import addon="resource.videos.adverts.pseudotv" optional="true" version="0.0.1"/>
<import addon="resource.videos.trailers.pseudotv" optional="true" version="0.0.1"/>
<import addon="resource.videos.ratings.mpaa.classic" optional="true" version="0.0.4"/>
<import addon="script.module.pil" optional="true" version="5.1.0"/>
</requires>
Expand Down
2 changes: 1 addition & 1 deletion addons.xml.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
71285eb34decd5a522c45cd0caa225b6
2a000c898af4675775527af17eba9ff3
33 changes: 14 additions & 19 deletions plugin.video.pseudotv.live/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ PseudoTV Live transforms your Kodi Library and Sources (Plugins, UPnP, etc...) i
------------

# Features:
- "Autotuned" Channels based on your Kodi library; categorized by: `"TV Networks", "TV Shows", "TV Genres", "Movie Genres", "Movie Studios", "Mixed Genres", "Playlists", "Music Genres"`
- "Autotuned" Channels based on your Kodi library; categorized by: `"TV Networks", "TV Shows", "TV Genres", "Movie Genres", "Movie Studios", "Mixed Genres", "Playlists", "Music Genres", "Mixed"`

- Automatic Channel logos; sourced from Kodi resource packs.
- Automatic Channel logos, Rating, bumpers; sourced from Kodi resource packs.

- Optional video overlay to display channel bug and other informative information.

Expand All @@ -62,13 +62,15 @@ PseudoTV Live transforms your Kodi Library and Sources (Plugins, UPnP, etc...) i

- Option to save "accurate" (Parsed) duration meta to your Kodi database.

- Option to disable Trakt scrobbling and rollback media playcount and resume points for passive viewing.

- "on the fly" channel creation, with automated background building.

- Ease of use; User Interface provided by Kodi PVR frontend.

- Music Genre PVR "Radio" Channels.

- Multi-Room channel configurations w/Automatic client detection.
- Multi-Room channel configurations w/Client pairing via bonjour network announcement.

- Your choice of "Playback Methods". See post below for details.

Expand All @@ -80,29 +82,21 @@ PseudoTV Live transforms your Kodi Library and Sources (Plugins, UPnP, etc...) i

- "Recommended Channels" & "Recommended Services" Plugins preconfigured for easy import into PseudoTV Live.

- "Add to PseudoTV Live" Content option allows quick channel creation from any Kodi source.

- Much more...

------------

# Supported Plugins:
# Supported Plugins: (Temporarily unavailable)
*All plugins are supported by PseudoTV Live through the channel manager. The list below contains configuration free channels.

[PlutoTV](https://forum.kodi.tv/showthread.php?tid=315513)

[ChannelsDVR](https://forum.kodi.tv/showthread.php?tid=334947)

[Locast](https://forum.kodi.tv/showthread.php?tid=357406)

[HDhomerun Simple](https://forum.kodi.tv/showthread.php?tid=327117)

[AiryTV](https://forum.kodi.tv/showthread.php?tid=361486)

[Discovery+](https://forum.kodi.tv/showthread.php?tid=340055)

[Crackle](https://forum.kodi.tv/showthread.php?tid=)

[TubiTV](https://forum.kodi.tv/showthread.php?tid=)

------------

# Settings:
Expand Down Expand Up @@ -136,14 +130,13 @@ Adjusting seek threshold(percentage). threshold to which the current content can

- In-order to reduce parsing times when using "Prefer File Metadata" PseudoTV Live can store the new accurate duration meta to the Kodi library, there are no downsides. If you notice performance penalties when enabled, disable it... There is a fallback 28 day cache to avoid unnecessary file parsing.

## Recommended Services:
## Recommended Services: (Temporarily unavailable)

Recommended Services are considered "third-party" and are not treated as "PseudoTV" channels. Channel configurations, channel numbering, onscreen overlays are all disabled. Imports are 1:1 m3u/xmltv imports with the exception of channel numbers which maybe altered as described below.

## Options:

- Centralized file location: Location to store PseudoTV Live M3U/XMLTV and other shared resources. ie. Playlists, Nodes and Channel Logos.


------------

Expand Down Expand Up @@ -182,9 +175,9 @@ For "Multi-Room", Select an instance of Kodi/PseudoTV Live that will act as your

Enable under "Multi-Room", select between two options.

1 Remote Path - Use a remote url hosted by your server instance which is auto-detected. *http://localhost:50001/pseudotv.m3u **http://localhost:50001/pseudotv.xml ***http://localhost:50001/genres.xml
1 Remote URL - Use a remote url hosted by your server instance which can be selected in settings. *http://localhost:50001/pseudotv.m3u **http://localhost:50001/pseudotv.xml ***http://localhost:50001/genres.xml

1 Network Path - Select a shared network path same as configure on the server instance.
1 Network Folder - Select a shared network path same as configure on the server instance.

## - Channel Ordering (Numbering):

Expand All @@ -209,7 +202,7 @@ Each import is limited to 9999 (assuming each channel is an interger. Sub-Number

#### - IPTV Simple Settings:

"only number by order" must be disbled if you would like to respect the channel numbers assigned in PseudoTV Live.
"only number by order" must be disabled if you would like to respect the channel numbers assigned in PseudoTV Live.
*NOTE: PseudoTV Live automatically applies the optimal settings to IPTV Simple in-order to maximize the user experience.

#### - Kodi PVR & LiveTV Settings:
Expand All @@ -231,6 +224,8 @@ If you want the exact channel numbers from PseudoTV Live to reflect onscreen, yo

# FYI & Known Issues:

- .mp4 files are not recommend there is a high probability PseudoTV Live will not properly parse its runtime.

- If you experience poor performance using PseudoTV Live; Try disabling "Accurate Duration" parsing, and setting "Playback Method" to playlists.
It is recommend on low power devices like AndroidTV/AppleTV to outsource channel building to a "server" instance of Kodi running on a PC; then configure all other Kodi instances as a client.

Expand Down
5 changes: 4 additions & 1 deletion plugin.video.pseudotv.live/addon.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="plugin.video.pseudotv.live" version="0.4.7d" name="PseudoTV Live" provider-name="Lunatixz">
<addon id="plugin.video.pseudotv.live" version="0.4.8" name="PseudoTV Live" provider-name="Lunatixz">
<requires>
<import addon="xbmc.python" version="3.0.1"/>
<import addon="pvr.iptvsimple" version="21.8.0"/>
Expand All @@ -12,6 +12,9 @@
<import addon="resource.images.musicgenreicons.text" version="0.0.1"/>
<import addon="resource.images.moviegenreicons.transparent" version="0.0.1"/>
<import addon="resource.images.pseudotv.logos" optional="true" version="0.0.1"/>
<import addon="resource.videos.bumpers.pseudotv" optional="true" version="0.0.1"/>
<import addon="resource.videos.adverts.pseudotv" optional="true" version="0.0.1"/>
<import addon="resource.videos.trailers.pseudotv" optional="true" version="0.0.1"/>
<import addon="resource.videos.ratings.mpaa.classic" optional="true" version="0.0.4"/>
<import addon="script.module.pil" optional="true" version="5.1.0"/>
</requires>
Expand Down
7 changes: 6 additions & 1 deletion plugin.video.pseudotv.live/changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ v.0.4.8
- Open Kodi settings, under PVR & Live TV; Click "clear data" and select "All".

-Refactored Announcements & Discoveries for server/client multi-room (W.I.P).
-Refactored HTTP server
-Refactored HTTP server.
-Added Disable Trakt scrobbling during playback to global options.
-Added Rollback watched playcount & resume points to global options.
-Fixed TV bumpers and resources (W.I.P); See readme for details.
-Added TV adverts and resources (W.I.P); See readme for details.
-Added Trailers and resources (W.I.P); See readme for details.

v.0.4.7
-Notice The following steps are required!.
Expand Down
13 changes: 13 additions & 0 deletions plugin.video.pseudotv.live/remotes/channel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "",
"type": "",
"number": 0,
"name": "",
"logo": "",
"path": [],
"group": [],
"rules": [],
"catchup": "vod",
"radio": false,
"favorite": false
}
16 changes: 1 addition & 15 deletions plugin.video.pseudotv.live/remotes/channels.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
{
"uuid": "",
"channels": [
{
"id": "",
"type": "",
"number": 0,
"name": "",
"logo": "",
"path": [],
"group": [],
"rules": [],
"catchup": "vod",
"radio": false,
"favorite": false
}
],
"channels": [],
"imports": []
}
18 changes: 9 additions & 9 deletions plugin.video.pseudotv.live/remotes/rule.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[{
"id": 0,
"index": {
"0": {
"label": "",
"value": ""
}
}
}]
{
"id": 0,
"index": {
"0": {
"label": "",
"value": ""
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ msgid "Four Inserts"
msgstr ""

msgctxt "#30027"
msgid "Logos"
msgid "Logo Resource"
msgstr ""

msgctxt "#30028"
Expand Down Expand Up @@ -526,7 +526,7 @@ msgid "Kodi Trailers"
msgstr ""

msgctxt "#30127"
msgid "Both Kodi/IMDB Trailers"
msgid "Kodi/IMDB Trailers"
msgstr ""

msgctxt "#30128"
Expand All @@ -541,8 +541,25 @@ msgctxt "#30130"
msgid "Start Client Pairing"
msgstr ""

msgctxt "#30131"
msgid "Disable Trakt scrobbling during playback"
msgstr ""

msgctxt "#30132"
msgid "Rollback watched playcount after playback"
msgstr ""

msgctxt "#30133"
msgid "Player"
msgstr ""

msgctxt "#30134"
msgid "Random Filler (Percentage)"
msgstr ""

msgctxt "#30135"
msgid "Include"
msgstr ""



Expand Down Expand Up @@ -705,7 +722,7 @@ msgid "%s settings updated."
msgstr ""

msgctxt "#32038"
msgid "Something went wrong! wait while we try again... (%s)"
msgid "Something went wrong! wait while we try again...\nPlayback Attempt (%s)"
msgstr ""

msgctxt "#32039"
Expand Down Expand Up @@ -1089,7 +1106,7 @@ msgid "[COLOR=yellow][B]Notice!! [/B][/COLOR] Something went wrong, Please doubl
msgstr ""

msgctxt "#32134"
msgid "Playback failed! This maybe because %s is building this channel.\nPlease check your channel configuration."
msgid "Playback failed! This maybe because %s is building this channel.\nPlease check your channel settings."
msgstr ""

msgctxt "#32135"
Expand Down Expand Up @@ -1208,6 +1225,10 @@ msgctxt "#32163"
msgid "Announcing %s server!\n[B]%s[/B] on your client instance.\nTimeout in %s seconds, cancel when finished."
msgstr ""

msgctxt "#32164"
msgid "Can not locate broadcast!"
msgstr ""


# Help - strings 33000 thru 33999 reserved for common strings used in add-ons

Expand Down Expand Up @@ -1271,7 +1292,7 @@ msgctxt "#33016"
msgid "[COLOR=red][B]Currently Unavailable (Coming Soon)![/B][/COLOR]\nGlobal Filler rules apply to all channels, Advanced channel manager rules apply per channel. *see readme for details."
msgstr ""

msgctxt "#33022"
msgctxt "#33023"
msgid "Artwork changes will propagate slowly over time and are not instantaneous."
msgstr ""

Expand Down Expand Up @@ -1451,6 +1472,18 @@ msgctxt "#33130"
msgid "Detect Bonjour Announcement over your local network"
msgstr ""

msgctxt "#33131"
msgid "Prevent Trakt scrobbling during PseudoTV usage."
msgstr ""

msgctxt "#33132"
msgid "Restore the previous playcount and resume points at the end of playback. ie. Passive PseudoTV usage."
msgstr ""

msgctxt "#33134"
msgid "Probability a non-channel specific i.e generic video will be injected when no match is found.\n[0% Disabled, 25% Default] [Lower == Less Probable]"
msgstr ""

msgctxt "#33149"
msgid "Override Low-Power background pausing and performance throttling."
msgstr ""
Expand All @@ -1461,4 +1494,8 @@ msgstr ""

msgctxt "#33159"
msgid "Force a complete rebuild of your Autotune library."
msgstr ""
msgstr ""

msgctxt "#33160"
msgid "Select one or more logo resource packs."
msgstr "
14 changes: 6 additions & 8 deletions plugin.video.pseudotv.live/resources/lib/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from channels import Channels
from rules import RulesList
from xmltvs import XMLTVS
from jsonrpc import JSONRPC
from xsp import XSP
from m3u import M3U
from fillers import Fillers
Expand Down Expand Up @@ -54,16 +53,16 @@ def __init__(self, service=None):
self.limits = {} #{"end":0,"start":0,"total":0}

self.incRatings = SETTINGS.getSettingInt('Fillers_Ratings')
self.srcRatings = {"RESC":SETTINGS.getSetting('Resource_Ratings').split('|')}
self.srcRatings = {"resource":SETTINGS.getSetting('Resource_Ratings').split('|')}

self.incBumpers = SETTINGS.getSettingInt('Fillers_Bumpers')
self.srcBumpers = {"PATH":[SETTINGS.getSetting('Resource_Bumpers')]}
self.srcBumpers = {"resource":SETTINGS.getSetting('Resource_Bumpers').split('|')}

self.incAdverts = SETTINGS.getSettingInt('Fillers_Commercials')
self.srcAdverts = {"PATH":[SETTINGS.getSetting('Resource_Commericals')]}
self.srcAdverts = {"resource":SETTINGS.getSetting('Resource_Commericals').split('|')}

self.incTrailer = SETTINGS.getSettingInt('Fillers_Trailers')
self.srcTrailer = {"PATH":[SETTINGS.getSettingInt('Resource_Trailers')]}
self.srcTrailer = {"resource":SETTINGS.getSetting('Resource_Trailers').split('|')}

self.minDuration = SETTINGS.getSettingInt('Seek_Tolerance')
self.maxDays = MAX_GUIDEDAYS
Expand All @@ -75,10 +74,9 @@ def __init__(self, service=None):
self.rules = RulesList(self.channels.getChannels())
self.runActions = self.rules.runActions
self.xmltv = XMLTVS()
self.jsonRPC = JSONRPC()
self.jsonRPC = service.jsonRPC
self.xsp = XSP()
self.m3u = M3U()
self.fillers = Fillers(self)
self.resources = Resources(self.jsonRPC,self.cache)


Expand Down Expand Up @@ -162,7 +160,7 @@ def getFileList(self, citem, now, start):

if cacheResponse:
if self.fillBCTs and not radio:
cacheResponse = self.fillers.injectBCTs(citem, cacheResponse)
cacheResponse = Fillers(self).injectBCTs(citem, cacheResponse)
cacheResponse = self.addScheduling(citem, cacheResponse, start)
return sorted(cacheResponse, key=lambda k: k['start'])
return cacheResponse
Expand Down
Loading

0 comments on commit 79ae1db

Please sign in to comment.