Commit graph

4426 commits

Author SHA1 Message Date
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
croneter
801695fdd4 Don't migrate PKC settings if we're dealing with a fresh PKC installation 2019-09-22 13:17:10 +02:00
croneter
f8ec9bbf9e
Merge pull request #987 from croneter/fix-migration
Force-scan every single item in the library - seems like we could lose some recently added items otherwise when updating PKC
2019-09-22 13:15:19 +02:00
croneter
e26cf09fef Force a re-scan of every single Plex item - we might have lost some recently added 2019-09-22 13:14:05 +02:00
croneter
51a09ffb11
Merge pull request #991 from croneter/change-string
Update settings to inform user that reboot is necessary
2019-09-22 13:11:55 +02:00
croneter
a0c55d5b15
Merge pull request #992 from croneter/fix-obsolete
Remove some obsolete code
2019-09-22 13:11:25 +02:00