Commit graph

4431 commits

Author SHA1 Message Date
geropan
2ce1a6e639 Added support for custom set of safe characters (configured via addon settings) when escaping paths using direct paths for http(s), dav(s) and (s)ftp urls. 2020-06-07 18:27:20 +01:00
croneter
50888c445c
Merge pull request #1173 from croneter/fix-websocket
Fix websocket threads; enable PKC background sync for all Plex Home users!
2020-05-07 14:06:54 +02:00
croneter
c7480339cd
Merge pull request #1169 from croneter/fix-external-player
Fix PKC incorrectly marking a video as unwatched if an external player has been used
2020-05-07 14:06:38 +02:00
croneter
e9218bf311 Enable PKC background sync for all Plex Home users! 2020-05-07 13:56:13 +02:00
croneter
c34f43cead Fix websocket threads not getting suspended correctly 2020-05-07 13:56:13 +02:00
croneter
5ffcd5782d Optimize some websocket code 2020-05-07 13:56:13 +02:00
croneter
54a147da41 Revert "Rewire suspension of waking up of websocket threads"
This reverts commit dccd3e512b.
2020-05-07 07:27:30 +02:00
croneter
dccd3e512b Rewire suspension of waking up of websocket threads 2020-05-07 07:26:03 +02:00
croneter
92a28b6eda Replace depricated xbmc.abortRequested 2020-05-05 18:18:34 +02:00
croneter
188dcf2cc1 Fix PKC incorrectly watching a video as unwatched if an external player was used 2020-05-03 09:36:01 +02:00
croneter
7ff40ee9cc Update translations 2020-05-02 13:20:31 +02:00
croneter
791a31bb65 Fix PKC crashing on devices running Microsoft UWP, e.g. XBox 2020-03-25 16:28:20 +01:00
croneter
0a9ac40cf0
Merge pull request #1148 from croneter/fix-queue
Fix rare sync crash when queue was full
2020-03-21 14:31:09 +01:00
croneter
db48ffb419 Fix rare sync crash when queue was full 2020-03-21 14:22:43 +01:00
croneter
1ff487d649 Set "Auto-adjust transcoding quality" to false by default 2020-03-19 07:49:47 +01:00
croneter
403c34826c Fix another TypeError: 'NoneType' object has no attribute '__getitem__' 2020-03-03 11:34:54 +01:00
croneter
cd6a0f6fe4 Fix TypeError: 'NoneType' object has no attribute '__getitem__' 2020-03-01 13:41:23 +01:00
croneter
f573a29d37 Ensure we resync all Plex playlists to Kodi when updating PKC 2020-02-27 16:38:53 +01:00
croneter
25f972f30f Refactor direct and add-on paths. Enables use of Plex music playlists synched to Kodi 2020-02-27 16:29:08 +01:00
croneter
6a7ca3c4d1 Rewire the set-up of audio and subtitle streams, esp. before starting a transcoding session 2020-02-25 18:19:08 +01:00
croneter
f524674b68 Increase logging 2020-02-25 18:19:08 +01:00
croneter
cc44c72cd6 Increase logging 2020-02-25 18:19:08 +01:00
croneter
41aef50463 Fix regression: burn-in subtitles picking up the last user setting instead of the current one 2020-02-23 17:21:09 +01:00
croneter
872c313092
Merge pull request #1125 from croneter/fix-sub-dialog
When transcoding, only let user choose to burn-in subtitles that can't be displayed otherwise by Kodi
2020-02-23 16:34:41 +01:00
croneter
87cff3557d
Merge pull request #1124 from croneter/add-info
Ensure that our only video transcoding target is h264
2020-02-23 16:34:17 +01:00
croneter
98f983a830 Fix adjusted subtitle size not working when burning in subtitles 2020-02-23 16:30:25 +01:00
croneter
a1d32447ba
Merge pull request #1122 from croneter/fix-transcoding
Fix PKC not burning in (and thus not showing) subtitles when transcoding
2020-02-23 16:27:51 +01:00
croneter
9abca33a53 Update translations 2020-02-23 15:50:17 +01:00
croneter
1021c47b04 When transcoding, only let user choose to burn-in subtitles that can't be displayed otherwise by Kodi 2020-02-23 15:31:37 +01:00
croneter
690d0ce459 Don't transcode subtitles to .ass when burning in 2020-02-23 14:45:10 +01:00
croneter
f2fa3bfc41 Ensure that our only video transcoding target is h264 2020-02-23 14:43:03 +01:00
croneter
ddf4999caa Fix PKC not burning in (and thus not showing) subtitles when transcoding 2020-02-23 14:39:13 +01:00
croneter
cad5923546 Improve logic to connect to local PMS via plex.direct redirect 2020-02-21 09:12:59 +01:00
croneter
83598ff3f1 Fix PKC auto-connecting to a local PMS 2020-02-21 08:40:41 +01:00
croneter
a1bda39e9d Correctly detect whether we can use SSL to connect to the PMS 2020-02-21 08:22:09 +01:00
croneter
a67d39609e Get rid of obsolete code 2020-02-17 19:15:06 +01:00
croneter
64af58172b Fix yet another rare but annoying bug where PKC becomes unresponsive during sync 2020-02-17 19:15:06 +01:00
croneter
b56d67d3fa
Merge pull request #1115 from croneter/fix-websockets
Fix PKC background sync not working in some cases
2020-02-15 18:45:59 +01:00
croneter
6f553e5c94 Fix PKC background sync not working in some cases 2020-02-15 18:40:14 +01:00
croneter
51d1538f95 Rewire the ProcessingQueue to ensure that we can exhaust it completely and don't get stuck 2020-02-15 17:47:17 +01:00
croneter
73ffb706f8 Make sure we're receiving valid item from the processing queue in case we should be aborting sync 2020-02-15 17:47:17 +01:00
croneter
a4a0b075bf Increase logging for the number of items we actually process 2020-02-15 17:47:17 +01:00
croneter
9a0ce533ee Rename method 2020-02-15 17:47:17 +01:00
croneter
ddd356deda Refactor code 2020-02-15 17:47:16 +01:00
croneter
b69070275f Make sure OrdererQueue returns the correct queue size 2020-02-15 17:47:16 +01:00
croneter
d116bbdfe9 Rename method 2020-02-14 13:40:46 +01:00
croneter
25172c2f57 Other Kodi add-ons can now search for Plex items using plugin://plugin.video.plexkodiconnect?mode=search&query=<your search string here> 2020-02-02 14:09:10 +01:00
croneter
23ac39a860 Fix DirectPaths when a video's folder name is identical to a video's filename (you will need to manually reset the Kodi database) 2020-01-31 21:12:48 +01:00
croneter
4a95b1007b
Merge pull request #1090 from croneter/improve-threader
Improve thread pool management to render PKC snappier
2019-12-20 14:18:23 +01:00
croneter
0255551ea9 Don't spin up 2 separate threads but use the thread pool 2019-12-20 14:17:49 +01:00
croneter
fe857cb609 Improve thread pool management to render PKC snappier 2019-12-20 14:17:49 +01:00
croneter
a1e6cdcf29 Attempt to fix broken pipe error 2019-12-15 07:36:50 +01:00
croneter
e8d601d7d7
Merge pull request #1086 from croneter/fix-thread
Fix PKC becoming unresponsive e.g. when switching the PMS
2019-12-13 16:55:08 +01:00
croneter
fd80bc9cf3
Merge pull request #1085 from croneter/optimize-db
Optimize the new sync process and fix some bugs that were introduced
2019-12-13 16:54:48 +01:00
croneter
b611a66ff5 Fix sync getting stuck 2019-12-13 14:00:46 +01:00
croneter
58a86d34f1 Clarify class description 2019-12-13 14:00:46 +01:00
croneter
6510d5e399 Fix display of item numbers during playstate sync 2019-12-13 14:00:46 +01:00
croneter
b55b22efb0 Clarify variables 2019-12-13 14:00:46 +01:00
croneter
136af95351 Speed up and simplify sync of playstates 2019-12-13 14:00:40 +01:00
croneter
654748218e Get section iterators in a dedicated thread to gain speed 2019-12-13 14:00:40 +01:00
croneter
0d537f108e Lower timeout for a DB connection from 30s to 10s 2019-12-13 14:00:40 +01:00
croneter
a715b3a473 raise exception instead of returning None if PKC needs to exit and we're trying to connect to a DB 2019-12-13 14:00:40 +01:00
croneter
b4e132af85 Optimize code 2019-12-13 14:00:40 +01:00
croneter
6d39adbd8c Use sqlite isolation_level=None in order to use autocommit mode and thus avoid sqlite auto-committing 2019-12-13 14:00:40 +01:00
croneter
70b7a44514 Avoid duplicate code 2019-12-13 14:00:39 +01:00
croneter
3000bfcd7d Always use sqlite WAL mode (did not switch back to normal journal mode automatically anyway) 2019-12-13 14:00:39 +01:00
croneter
9182e0ad76 Fix PKC becoming unresponsive e.g. when switching the PMS 2019-12-13 07:38:52 +01:00
croneter
ed3301a523 Fix PKC not starting up on iOS 2019-12-10 08:15:10 +01:00
croneter
baa33f19b1
Merge pull request #1082 from croneter/fix-operationalerror
Fix OperationalError when starting with a fresh PKC installation
2019-12-08 16:48:27 +01:00
croneter
59424b2a7c
Merge pull request #1081 from croneter/fix-user
Fix AttributeError if user enters an invalid pin code
2019-12-08 16:48:12 +01:00
croneter
80181873d1 Fix OperationalError when starting with a fresh PKC installation 2019-12-08 16:41:43 +01:00
croneter
f9755cc39c Fix AttributeError if user enters an invalid pin code 2019-12-08 16:33:08 +01:00
croneter
ab998f7941 Fix IndexError 2019-12-08 16:24:14 +01:00
croneter
4ebe11fcc4
Merge pull request #1079 from croneter/wal
Don't use WAL mode for sqlite connections, it is not making any difference
2019-12-08 10:32:03 +01:00
croneter
c3749c0bd2
Merge pull request #1078 from croneter/optimize-db
Optimize adding values to Kodi databases by not using sqlite COALESCE command
2019-12-08 10:31:47 +01:00
croneter
9080ca89b9 Don't use WAL mode for sqlite connections, it is not making any difference 2019-12-08 10:23:50 +01:00
croneter
e257e5426e Optimize adding values to Kodi databases by not using sqlite COALESCE command 2019-12-08 10:23:01 +01:00
croneter
2744b9da7e Copy entire plex.db to avoid db-locks entirely 2019-12-08 10:09:57 +01:00
croneter
a87dfa0a7a Don't use a dedicated thread to get section generators 2019-12-08 10:09:57 +01:00
croneter
8f86f43a93 Rewire library sync to speed it up and fix sync getting stuck in rare cases 2019-12-08 10:09:56 +01:00
croneter
f4ea051c81
Merge pull request #1073 from croneter/fix-userswitch
Optimize threads by using events instead of a polling mechanism. Fixes PKC becoming unresponsive, e.g. when switching users
2019-11-30 16:27:06 +01:00
croneter
343fce2102
Merge pull request #1072 from croneter/fix-bool
Make sure bool is returned instead of an int
2019-11-30 16:26:50 +01:00
croneter
aad68340cf
Merge pull request #1069 from croneter/fix-operationalerror
Fix OperationalError when resetting PKC
2019-11-30 16:26:36 +01:00
croneter
c85e1e2bd0 Optimize threads by using events instead of a polling mechanism. Fixes PKC become unresponsive, e.g. when switching users 2019-11-30 13:48:51 +01:00
croneter
e01e50a650 Make sure bool is returned instead of an int 2019-11-30 13:46:08 +01:00
croneter
56324b1e88 Fix OperationalError when resetting PKC 2019-11-25 08:03:06 +01:00
croneter
bafd3545f4 Improve sync resiliance when certain items are not to be synced to Kodi 2019-11-24 14:58:39 +01:00
croneter
e52b67c3a9 Fix to correctly wipe Kodi databases 2019-11-15 13:38:41 +01:00
croneter
2446cdc41a
Merge pull request #1062 from croneter/faster-server-list
Check faster for available Plex Media Server to connect to
2019-11-14 17:36:47 +01:00
croneter
999743c6c1 Check faster for available Plex Media Server to connect to 2019-11-14 17:34:50 +01:00
croneter
5273e874e0
Merge pull request #1060 from croneter/fix-keyerror
Fix KeyError when using Plex search capabilities
2019-11-14 17:21:42 +01:00
croneter
aff0fd7a5f
Merge pull request #1059 from croneter/fix-regex
Fix a couple of issues with music when using direct paths: correctly escape music paths for Kodi regex matching
2019-11-14 17:21:13 +01:00
croneter
8e72033aef
Merge pull request #1058 from croneter/fix-locked-db
Fix database being locked in rare cases
2019-11-14 17:20:48 +01:00
croneter
24ec8dd8e4
Merge pull request #1057 from croneter/increase-batch
Increase batch size for library sync from 500 to 2000 to increase sync speed
2019-11-14 17:20:24 +01:00
croneter
1654c3175e
Merge pull request #1056 from croneter/optimize
Optimize some code
2019-11-14 17:20:06 +01:00
croneter
2359430260 Fix KeyError when using Plex search capabilities 2019-11-14 16:11:07 +01:00
croneter
e17d9bf1dd Fix a couple of issues with music when using direct paths: escape the path for Kodi regex matching 2019-11-14 15:44:29 +01:00
croneter
3b8f712289 Fix database being locked in rare cases 2019-11-14 14:39:07 +01:00
croneter
2fcbc1f9b7 Optimize code 2019-11-13 17:55:44 +01:00
croneter
7a8cec5968 Increase batch size for library sync from 500 to 2000 to increase sync speed 2019-11-13 17:53:46 +01:00
croneter
f67ff2f136 Fix recently added albums sort order (you will have to reset the Kodi database manually) 2019-11-13 17:49:16 +01:00
croneter
1523ab1166 Update translations 2019-11-07 07:14:39 +01:00
croneter
5dc7b96072
Merge pull request #1048 from croneter/fix-transcoding
Fix transcoding quality degenerating quickly while playing with a new setting to deactivate auto quality for transcoding (applicable e.g. for Chromecast)
2019-11-07 07:06:26 +01:00
croneter
9e930f09ca Fix transcoding quality degenerating quickly while playing with a new setting to deactivate auto quality for transcoding 2019-11-07 07:00:46 +01:00
croneter
4f59a1e2a9 Fix Kodi playback jumping to the beginning of a video that just started 2019-11-06 18:39:19 +01:00
croneter
07c8a1c67d
Merge pull request #1039 from croneter/fix-external-player
Fix resume when using an external player
2019-11-03 14:34:30 +01:00
croneter
b6d6482c4a Fix resume when using an external player 2019-11-03 14:32:51 +01:00
croneter
ab77ddbe8b Fix resume for Kodi on low powered devices, e.g. Raspberry Pi 2019-11-03 14:24:20 +01:00
croneter
a9b5ba4162 Get rid of some obsolete code for the ContextMonitor we dropped 2019-11-01 13:40:45 +01:00
croneter
38636b6943
Merge pull request #1034 from croneter/fix-filetable
Optimize clean-up of file table in the Kodi video database after stopping playback
2019-11-01 13:34:50 +01:00
croneter
14113d0ff7
Merge pull request #1033 from croneter/optimize
Get rid of some obsolete imports
2019-11-01 13:34:37 +01:00
croneter
ca1e0d7b3d
Merge pull request #1032 from croneter/optimize-code
Get rid of ContextMonitor and the dedicated Python thread - with new resume mechanics, this is not needed anymore
2019-11-01 13:34:19 +01:00
croneter
db80f2b69a Optimize clean-up of file table in the Kodi video database 2019-11-01 13:15:34 +01:00
croneter
8abbe74145 Get rid of some obsolete imports 2019-11-01 13:07:15 +01:00
croneter
5e3f3daf90 Get rid of ContextMonitor and the dedicated Python thread - with new resume mechanics, this is not needed anymore 2019-11-01 13:00:34 +01:00
croneter
da90e61ca8 Fix resume when starting playback via PMS or when force transcoding 2019-11-01 12:54:49 +01:00
croneter
e73c14bcf4 Fix PKC resuming instead of playing from the beginning 2019-10-31 20:09:31 +01:00
croneter
cdb8141adf
Merge pull request #1027 from croneter/language
Always use the current Kodi language when communicating with the PMS (restart Kodi when changing the language!)
2019-10-31 13:39:18 +01:00
croneter
1618d96699
Merge pull request #1026 from croneter/search
Support Plex search across all media and Plex Media Servers: Navigate to the PlexKodiConnect Add-on, then "Search"
2019-10-31 13:38:59 +01:00
croneter
8e8a42ad12
Merge pull request #1025 from croneter/fix-playlists
Fix PKC throwing error if m3u playlist contains resume information
2019-10-31 13:38:40 +01:00
croneter
ee5a71c5ce
Merge pull request #1024 from croneter/fix-crash
Fix Kodi crashing when casting from e.g. Plex Web or Plex for Windows
2019-10-31 13:38:23 +01:00
croneter
0a06a6ad78 Always use the current Kodi language when communicating with the PMS 2019-10-31 13:01:08 +01:00
croneter
845cfb44d5 Support Plex search across all media and Plex Media Servers 2019-10-31 12:51:21 +01:00
croneter
80d55a5388 Fix PKC throwing error if m3u playlist contains resume information 2019-10-31 07:47:34 +01:00
croneter
8830cf22db Fix Kodi crashing when casting from Plex Web 2019-10-30 17:53:40 +01:00
croneter
730ac203ad Remove hack to detect replaying of the last video - does not work anymore 2019-10-30 17:30:52 +01:00
croneter
9f2210a5e7 Rewire PKC resume mechanism 2019-10-30 17:30:52 +01:00
croneter
76e1b1c629 Fix resume when casting to PKC 2019-10-29 08:03:32 +01:00
croneter
ca52117c4f Fix resume not working in some cases 2019-10-25 14:09:05 +02:00
croneter
1fa1035a43 Delete temporary subtitles on playback stop 2019-10-05 17:00:39 +02:00
croneter
af23a4aabd
Merge pull request #1011 from croneter/fix-subtitle-naming
Improve subtitle naming
2019-10-05 16:58:41 +02:00
croneter
2506dbeb43
Merge pull request #1010 from croneter/fix-subtitles
Fix external subtitles not being available
2019-10-05 16:58:18 +02:00
croneter
a601311cd8
Merge pull request #1009 from croneter/fix-string
Fix a missleading string
2019-10-05 16:57:56 +02:00
croneter
8a3e580975
Merge pull request #1008 from croneter/fix-viewcount
Fix PKC increasing the Plex watch count by 2 instead of 1
2019-10-05 16:57:29 +02:00
croneter
8fc76386e2 Merge branch 'bernimoses-master' into beta-version 2019-10-05 16:55:41 +02:00
croneter
a5ac528329 Improve subtitle naming 2019-10-05 16:39:01 +02:00
croneter
2f0767d086 Fix NameError when transcoding 2019-10-05 12:59:48 +02:00
croneter
b0fbb3ac09 Fix regression: labeling of playmethods 2019-10-05 12:43:12 +02:00
croneter
04272a9d3f Fix a missleading string 2019-10-05 12:04:48 +02:00
croneter
7ea9222e47 Fix PKC increasing the Plex watch-count by 2 instead of 1 2019-10-05 11:32:29 +02:00
croneter
d75e2a0109 Remember currently playing item directly 2019-10-05 11:31:44 +02:00
croneter
ae0e121b13 Optimize code 2019-10-05 10:46:33 +02:00
bernimoses
9933480f8d Add tmdb provider sync. 2019-10-03 22:17:00 +02:00
croneter
eef8a94b35
Merge pull request #1001 from croneter/fix-playerror
Fix Play Error in scenarios (older PMS version?) where posting playqueues using an uri `server://` is not possible and `library://` is necessary
2019-09-29 18:50:31 +02:00
croneter
211362aaf3
Merge pull request #998 from croneter/fix-attributeerror
Fix rare AttributeError on PKC startup when modifying advancedsettings.xml
2019-09-29 18:50:14 +02:00
croneter
5fb2279c53 Fix PlexKodiConnect Play error in rare scenarios (an older PMS version?), where posting playqueues using an uri server:// is not possible and library:// is necessary 2019-09-29 17:45:16 +02:00
croneter
1e60dd11df Fix rare AttributeError on PKC startup when modifying advancedsettings.xml 2019-09-24 08:16:04 +02:00
croneter
eb78087b12 Update translations 2019-09-22 13:45:56 +02:00
croneter
a8ee68ca4c
Merge pull request #990 from croneter/fix-escape
Correctly escape URLs for Direct Paths
2019-09-22 13:23:41 +02:00
croneter
2e90a30dba
Merge pull request #988 from croneter/optimize-migration
Don't migrate PKC settings if we're dealing with a clean new PKC installation
2019-09-22 13:22:48 +02:00