Skip to content

Commit 6abd2ac

Browse files
committed
[script.plexmod] 1.0.5
1 parent c8fcb7c commit 6abd2ac

File tree

120 files changed

+28204
-4560
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+28204
-4560
lines changed

script.plexmod/LICENSE.txt

Lines changed: 719 additions & 0 deletions
Large diffs are not rendered by default.

script.plexmod/README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Master branch is based off of the official plex-for-kodi master branch.
1919
## Installation
2020

2121
### Via repository (recommended)
22-
* Add `https://pm4k.eu` to your Kodi installation as a file source
22+
* Add `https://pm4k.eu` to your Kodi installation as a file source (Hit Add source in File Manager, click on the selected "`<None>`" in the list, enter `https://pm4k.eu`, OK, down, enter a name, hit OK)
2323
* Go to Settings->Addons, choose "Install from zip file", choose the file source you added and install the repository
2424
* Install Plex via Settings->Addons->Install from repository->Don't Panic->Video add-ons->Plex
2525
* Optional, recommended: Install Plextuary via Settings->Addons->Install from repository->Don't Panic->Look and Feel->Skin->Plextuary
@@ -29,7 +29,10 @@ Master branch is based off of the official plex-for-kodi master branch.
2929
* Optional, recommended: Install Plextuary skin using the above
3030

3131
### Manual
32-
* Checkout any branch of this GitHub repository, rename to `script.plexmod` and use as an addon
32+
* Checkout any branch of this GitHub repository, rename to `script.plexmod` and use as an addon (for it to work with "Install from zip", the contents of the zip should be the folder `script.plexmod`.
33+
34+
### Installing to a read-only or write-protected location
35+
Set the environment variable `INSTALLATION_DIR_AVOID_WRITE` to any value before starting Kodi to prevent the addon from trying to write to its installation directory. Useful for package managers.
3336

3437
## Translation
3538
You can help! Join the translation effort at [POEditor](https://poeditor.com/join/project/ASOl50YAXg) (thanks for the free open source license, guys).
@@ -39,3 +42,7 @@ https://forums.plex.tv/t/plexmod-for-kodi-18-19-20-21/481208
3942

4043
## License
4144
[LICENSE](https://github.com/plexinc/plex-for-kodi/blob/master/LICENSE.txt)
45+
46+
## Powered by
47+
48+
[![JetBrains logo.](https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg)](https://jb.gg/OpenSource)

script.plexmod/addon.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<addon id="script.plexmod"
33
name="PM4K for Plex"
4-
version="0.7.9"
4+
version="1.0.5"
55
provider-name="pannal">
66
<requires>
77
<import addon="xbmc.python" version="3.0.0"/>
@@ -15,6 +15,7 @@
1515
<extension point="xbmc.python.pluginsource" library="plugin.py">
1616
<provides>executable</provides>
1717
</extension>
18+
<extension point="xbmc.ui.screensaver" library="screensaver.py"/>
1819
<extension point="xbmc.service" library="service.py" />
1920
<extension point="xbmc.addon.metadata">
2021
<summary lang="en_GB">PlexMod for Kodi</summary>
@@ -33,7 +34,7 @@
3334
<source>https://github.com/pannal/plex-for-kodi</source>
3435
<platform>all</platform>
3536
<news>
36-
- Based on 0.7.9-rev4
37+
- Based on 1.0.5e
3738
</news>
3839
<assets>
3940
<icon>icon2.png</icon>

script.plexmod/changelog.txt

Lines changed: 186 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,189 @@
1-
[-0.7.9-rev4-]
2-
- Episodes: Clear VIDEO_PROGRESS onFirstInit; Only redirect to episode from progress if shows match
3-
- Collections: Fix shuffle play
4-
- Core/Playback/CoreELEC: Increase CoreELEC resume seek wait fix to 350ms (was 250ms)
5-
- Playlists: Fix shuffle/play button behaviour
1+
[-1.0.5d-]
2+
- Core/Plex.direct: Only check native resolving of hostnames containing plex.direct
3+
- Core/Plex.direct: Reset mapped hosts if the user skips the confirmation dialog
4+
- Core/Plex.direct: Fix long-existing issue with multiple servers in certain circumstances not triggering plex.direct host mapping check
5+
- Core/Plex.direct: Force mapping if requested
6+
- Core/GDM: GDM could still be reported as active under certain circumstances
7+
- Core/MyPlex: Consider a device that is product="Plex Media Server" as a server as well, even if it doesn't provide the correct attributes (can happen; very rare)
8+
- Core/PlexNet/CoreELEC: Properly report device and platform parameters to Plex.tv
9+
- Player: Don't throw away progress data during consecutive watch sessions; properly represent watched state in current video playlist during those
10+
- Player: Honor "Never show Post Play" properly even when an episode has ended
11+
- Player/Timeline: Never allow timeline reporting below 0 seconds
12+
- Player: SeekBehind: Never allow seek target to be < 0
13+
- Player/SeekDialog/AltSeekFix: Never react to seek attempts while we're waiting for a seek to happen
14+
- Player/MDE: If we don't want a subtitle, report it properly to the Plex server (still bugged, probably server-side)
15+
- Libraries: Move filter options out of the header area to fix overlapping music player and long filter descriptions
16+
- Libraries: Unify and optimize play/filter/jumplist/scrollbar navigation
17+
- Libraries/Listviews/Squares: Autoscroll long description texts
18+
- Libraries/Photos: Fix PhotoDirectory browsing
19+
- Library/Movies: Add filters for Writer, Producer, Editions, Audio Language, Subtitle Language, Folder Location (only if admin)
20+
- Library/Shows: Add filters for Director, Writer, Producer; correctly separate Studio and Network filters
21+
- Libraries: Store subfilter states
22+
- Libraries: Re-select currently selected items in filter dropdowns
23+
- Libraries: When re-opening applied filters, re-open all subfilter dropdowns until we reach our current one
24+
- Libraries: Cache subfilter content
25+
- Libraries: Depending on which "side" of the library view we are, when pressing "up", select either the left buttons or the right buttons
26+
- Libraries: Enable fast navigation through subfilter lists via scrollbar
27+
- Library/Movies: Allow filtering by HDR and DOVI; allow multiple boolean filters at the same time
28+
- Library/Photos: Fix filtering
29+
- Libraries: Allow filter clearing for boolean filters
30+
- Libraries/Movies: Add "year" and "progress" sort types
31+
- Libraries: Shows/Movies use sort order from PlexWeb
32+
- Libraries: Movies: Show current sort reference value if possible in addition to movie year
33+
- Libraries: Photos: Properly implement PlexWeb sort; fix display
34+
- Libraries/PosterSmall: Fix vertical cutoff
35+
- Libraries/Posters/PostersSmall: Scale and position scrollbar appropriately when moving down
36+
- Libraries: Re-select currently used item type and sort attribute in dropdowns
37+
- Dropdown: Allow opening a sublist by pressing RIGHT
38+
- Dropdown: Show scrollbar if a (child-)dropdown needs scrolling
39+
- Dropdown: Fix shadow size; perfect shadow positioning
40+
- PostPlay: Remove leftover bifurcation line
41+
- SeekDialog: Be smarter about playerprocessinfo/playerdebug/PM4K stream info (press left/right)
42+
- Settings: Make the combined continue watching/ondeck hub default enabled
43+
- Settings: Add setting "Force plex.direct mapping" (default: False)
44+
- Settings: Sanitize defaults ("Loop Theme Music" off vs on, "Home: Resume in-progress items" off vs on)
45+
- Settings: Temporarily remove "custom" theme setting as it's been broken for a while now
46+
- Settings: Rename "Episodes: Skip Post Play screen" to "Episodes: Continuous playback" to make functionality clearer
47+
- AddonSettings: widen maximum for "Use alternate seek" wait for seek to 5000 (was 2500)
48+
49+
50+
[-1.0.0-]
51+
CoreELEC
52+
- Fix issues with delayed audio playback via the alternate seek method
53+
- (Re-) Implemented sophisticated alternate seek method for problematic devices (brought its own quirks)
54+
- Gradually improved alternate seek to a stable state with community feedback
55+
- When switching audio track don’t trigger progress events
56+
57+
Watchlist
58+
- Implement first version of the watchlist feature
59+
- Auto-remove watched items (movies, shows) from the watchlist (adjustable via setting)
60+
- Allow adding any media item to the watchlist from any media view
61+
- (blindly) remove item from watchlist if manually marked watched via Home or Library context menus
62+
- Allow visiting and playing back items on any available server with the item available, without having to manually switch servers
63+
- Allow selection between multiple versions, if the case, instead of only one/the first per server (ordered by bitrate)
64+
65+
Subtitles
66+
- Add support for subtitle Auto-Sync (based on audio analysis, PlexServer-side)
67+
- Allow live-toggling of subtitle Auto-Sync in the player (overrides global setting temporarily, or per-TV-show setting)
68+
- Fix embedded subtitle selection when path mapping enabled
69+
- Add subtitle language denylist (disable subtitles for native languages)
70+
- Live-download subtitles via Plex (or Kodi, or both; pre-play and during playback)
71+
- Parse, use and store Plex account subtitle preferences
72+
73+
Episodes
74+
- Fix episode progress handling
75+
- Try using PlexServer settings for episode completion handling
76+
- Improve background music handling
77+
- Fix play from beginning not working for context menu of episode list items
78+
79+
Libraries
80+
- Massive potential speedup (5-10x) for huge libraries
81+
- Adhere to the library collections setting of Plex
82+
- Use library title in title header instead of library type
83+
- listview-16x9: Reimplement item type filter
84+
- General fixes
85+
86+
Collections
87+
- Fix collections repeating themselves after CHUNKSIZE hit (240 by default); Improve performance tenfold for big collections; Implement chunking in Collection.all()
88+
89+
Playlist
90+
- Fix playlist subsequent chunking (was broken) (thanks @BrendanMyers88)
91+
- Select the currently relevant item once it’s been created properly
92+
- Massively improve resource usage on big video playlists when returning from playback by only refreshing affected items
93+
- Correctly show and scale video progress
94+
95+
UI
96+
- Mark any item as played/unplayed on Home (even in-progress ones), Libraries
97+
- Allow removing individual items from Continue Watching/On Deck (same as in official clients)
98+
- Implement fast server and user switch in Home (via long-press/context menu)
99+
- Visual changes to adhere more to the 2024 style (player, dropdowns, dialogs)
100+
- Add the ability to hide episode and movie spoilers defined by multiple user settings (titles, blur images, summaries, ratings)
101+
- Add the ability to always resume in progress media (also directly from home if wanted); can be overriden using long-press/context menu
102+
- Settings: Allow navigation using MOVE_RIGHT/LEFT; fixes
103+
- Unify dropdown behaviour: always allow round-robin on any dropdown; default close behaviour is pressing left or BACK/PREVIOUS_MENU
104+
- Core/Poster dimensions: Use 268x402 (0.66 ratio) for poster base resolution instead of 268x397 (0.675 ratio); unifies vertical scaling for posters and collection art
105+
- Unify bound Home key (should now work everywhere)
106+
- Home/Core: Don’t retain background image when switching home users
107+
- Home/Hubs: Use season thumbnail for episodes if possible (adjustable via setting)
108+
- Home: Add context menu option to start playback from beginning for in progress items when resume in progress items on home is enabled
109+
- Home: Make moving sections more resilient (esp. when moving fast/holding left/right)
110+
- Home: Add “Minimize” and “Exit” options to user menu (touch based devices can’t easily hit the exit menu by using BACK)
111+
- Episodes: Use season art as background if available
112+
- Episodes: Show correct cast per episode, not from parent show
113+
- Movies/Shows/Episodes: Add Directors (up to two) to the beginning of the cast list; support searching for director’s movies (currently not possible with shows/episodes)
114+
- Episodes/Shows/Movies: Make “go to section” action actually visit the section instead of the home hub
115+
- Remove most obsolete dividers in sub views
116+
- Movies/Episodes: Properly vertically align audio/video/subtitle labels within textures
117+
- Movies: Show duration for extras
118+
- Postplay: Scroll titles (instead of cutting them off + ellipsis); scroll multiline summaries
119+
- Item/AudioSettings: Don’t trim secondary title, scroll it
120+
121+
Videoplayer
122+
- Modernize the usage of the Plex Media Decision Engine
123+
- Use bitrate instead of resolution when asking the Plex Server for a decision (better transcode behaviour, especially with HEVC)
124+
- Any transcode quality selection is now bitrate based, as the resolution can (and should) vary
125+
- Add the ability to not spoil anything during playback
126+
- Add fast resume/pause behaviour (use OK/ENTER to quickly resume when paused or pause when playing, instead of showing the OSD)
127+
- When showing stream info, pressing RIGHT will show playerprocessinfo, pressing LEFT will show playerdebug
128+
- Don’t skip to next episode after final credits marker was skipped if binge mode or skip postplay for TV isn’t active
129+
- Never show postplay for movie extras, regardless of any postplay setting
130+
- Allow for immediate skipping of a counting down marker (before you had to wait 1 second for that to work) (needs the respective AddonSetting enabled as well)
131+
- PlayerVideoCurrentPlaylist: Scroll titles if they’re too long; allow vertical round-robining at the top boundary; allow closing the playlist by pressing LEFT
132+
- Use uuid4() as session ID; keep session ID when switching streams; report session ID when sending timeline requests
133+
- Remove artificial percentage-based virtual chapters (intro/outro are still generated if necessary)
134+
- When stopping playback after idle, don’t start playback of next episode/playlist item
135+
- Fix rare occasion where immediately going to next item in playlist/season would keep the “skip prev” button disabled, when the playlist/season was started at episode 1
136+
- Ensure correct audio track was set after a handler was reused (skip to next video was pressed in player)
137+
- SeekDialog/CurrentPlaylist: Mark previous episodes/items as watched in current playlist during a multi-item playback session
138+
- SeekDialog/CurrentPlaylist: Show progress indicators for items in playlist; “live” snapshot of current video progress when opened as well
139+
140+
Core:
141+
- Add Autoupdater (for beta releases)
142+
- VideoPlayer/Timeline event improvements
143+
- Ship certificate bundle and allow manual certificates
144+
- Improve background resolution by allowing a manual scale value
145+
- Fix Collections
146+
- Fix Playlists
147+
- Improve VideoPlaylists
148+
- Fix Postplay issues
149+
- Fix MusicPlayer
150+
- Migrate to InfoTags for Kodi >= 20, removes deprecation warning for setInfo
151+
- Fix HTTPConnection was never async. Unify Asynchronicity between HTTPConnection and HTTPSConnection via AsyncConnectionMixin
152+
- Add requests cache for Plex data (can also be persisted), to speed up re-visiting resource-heavy views
153+
- Fix core networking issues
154+
- Basic support for external players. Does not support seeking or resuming inside external players but tries to keep the playback and resume states (for resuming an item with an external player you’ll have to seek there yourself); only supports path mapping if the external player can access the same path PM4K sees
155+
- Core/Transcode/Audio: Allow audio transcode targets ‘mp3’, ‘ac3’, ‘aac’, ‘opus’, ‘vorbis’, ‘eac3’, ‘flac’, ‘alac’ (new: eac3, vorbis, flac, alac)
156+
- Improve audio stream type detection
157+
- Improve correct audio stream selection during certain events fixing Kodi quirks
158+
- Add setting to loop theme music (default: on)
159+
- Harden VideoPlayer
160+
- Implement cleaner shutdown functionality
161+
- Support custom theme.mp3 theme music for TV shows and movies (additional extensions: 'ac3', 'aac', 'opus', 'vorbis', 'eac3', 'flac', 'alac')
162+
- Watchlist/Core/ThemeMusic: While traversing items of multiple types (movies and shows), properly stop or start theme music if necessary
163+
- Support Plex markers as watched indicators
164+
- Check plex.direct dns rebind issues more thoroughly and don’t completely rely on the protection flags from the Plex server registry (often false); can lead to a slightly longer bootup time
165+
- Fix plex.direct host mapping not being triggered in certain situations (local docker IP mapped to VM for example)
166+
- Don’t consider a resolved plex.direct domain with IP 0.0.0.0 as “successfully resolved”
167+
- Force plex.direct connectivity check if the current connection has hostname issues (should fix certain setups with manual connections/LAN connections without allowing insecure local connections, falling back to plex.direct)
168+
- Home/Movies/Shows/Episodes/Libraries: Implement generic watched toggle; toggle watched via keyboard mapping “w” (buttonCode: 61527)
169+
- Home: Don’t fail hard when no currently selected server is available
170+
- Home: After selecting an unavailable server from the dropdown, shutdown wasn’t possible
171+
- Write templates to user directory instead of plugin directory when env var INSTALLATION_DIR_AVOID_WRITE is set (useful when plugin directory isn’t writable)
172+
- AddonSettings: Use 850ms as new default for the Alternate seek fix (was: 500ms)
173+
- Bring back screensaver.
174+
- Optionally allow direct play for resolutions above 4K
175+
176+
Translations
177+
- Update translations for Spanish (100%), French (75%), Chinese (90%), Hungarian (100%), Italian (63%)
178+
179+
Addons:
180+
- Provide the Plextuary skin with optimizations for CoreELEC and CoreELEC CPM
181+
- Plextuary: Allow customization of Exit menu
182+
- Add "McFontFace" Kodi font management plugin
183+
- Add "PM4K Log Uploader" plugin
184+
185+
186+
[-0.7.9-rev3-]
6187
- Player: Only send timeline events if playstate has changed or we haven't sent one for 15 seconds; fixes #137
7188
- AddonSettings: Fix default cert bundle setting
8189
- Core/plexnet/http: Fix session cert bundle usage by using the correct attribute (verify vs cert); should fix kodi 18 connectivity

0 commit comments

Comments
 (0)