Commit graph

4396 commits

Author SHA1 Message Date
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
croneter
5a7d997da2 Correctly escape URLs for Direct Paths 2019-09-22 12:52:32 +02:00
croneter
3ae447012a Remove some obsolete code 2019-09-16 07:13:33 +02:00
croneter
56494cff7c Update string to inform user that reboot is necessary 2019-09-16 06:55:31 +02:00
croneter
1d210c2fde Remove obsolete import 2019-09-10 17:59:10 +02:00
croneter
5205964c60 Fix resume when force-transcoding 2019-09-08 16:17:33 +02:00
croneter
52c1a0e47d
Merge pull request #975 from croneter/fix-play-decision
Rework logic for using direct paths, direct play, direct streaming and transcoding, using the PMS StreamingBrain
2019-09-08 15:28:29 +02:00
croneter
a1a174a9e1
Merge pull request #979 from croneter/fix-update
Only enforce advancedsettings.xml 'cleanonupdate' to be false for PKC add-on paths
2019-09-08 15:26:00 +02:00
croneter
fbb65913db
Merge pull request #978 from croneter/fix-sync-items
Force a full sync of all items after choosing a new PMS, changing a PMS' address and changing which Plex libraries to sync
2019-09-08 15:25:30 +02:00
croneter
58e26be021
Merge pull request #977 from croneter/fix-sync
Fix PKC background sync synching items to Kodi even though entire section should not be synched
2019-09-08 15:25:00 +02:00
croneter
9b12647957 New setting to force transcode only 4K and above 2019-09-08 15:22:09 +02:00
croneter
7bd02861dc Allow for 4k transcoding and direct streaming 2019-09-08 15:22:09 +02:00
croneter
b5fec41448 Dont decide playback on optimizedForStreaming 2019-09-08 15:22:09 +02:00
croneter
e498736a96 Let PMS StreamingBrain decide on whether we need to force-transcode 2019-09-08 15:22:09 +02:00
croneter
69049c62f1 New setting to choose "Direct Streaming" 2019-09-08 15:22:09 +02:00
croneter
7bb469702a Fix wording: "direct path" is not "direct play" 2019-09-08 15:06:07 +02:00
croneter
816913031c Optimize code 2019-09-08 15:06:07 +02:00
croneter
080eef441e Only enforce advancedsettings.xml cleanonupdate to be false for PKC add-on paths 2019-08-29 10:59:50 +02:00
croneter
e009c371b2 Force a full sync of all items after choosing a new PMS, changing a PMS' address and changing which Plex libraries to sync 2019-08-29 10:32:59 +02:00
croneter
65a921c3cc Fix PKC background sync synching items to Kodi even though entire section should not be synched 2019-08-29 10:08:01 +02:00
croneter
228cdc437d Never give up trying to connect to the PMS or Alexa using websockets 2019-08-17 09:52:58 +02:00
croneter
0541d38b3d
Merge pull request #967 from croneter/fix-racing
Fix playback report not working after having played a non-Plex video file
2019-08-10 13:28:34 +02:00
croneter
f1aa42b957 Merge branch 'beta-version' into code-opt 2019-08-10 13:27:11 +02:00
croneter
ac633d99e5
Merge pull request #964 from croneter/fix-report
Change how items are added to Plex playqueues by using PMS machine identifier
2019-08-10 13:24:53 +02:00
croneter
cfe3f55234
Merge pull request #962 from croneter/fix-extras
Fix extras not playing when path substitution is enabled
2019-08-10 13:24:33 +02:00
croneter
7ff4baac3a
Merge pull request #960 from croneter/fix-attributeerror
Fix rare AttributeError when shutting down Kodi
2019-08-10 13:24:17 +02:00
croneter
80abe0b34b Fix playback report not working after having played a non-Plex video file 2019-08-10 12:01:23 +02:00
croneter
a4526080db Code optimizations for PlaylistItem 2019-08-09 20:44:42 +02:00
croneter
95b469efb5 Faster lookup of elements in our plex.db 2019-08-09 20:42:31 +02:00
croneter
24ebb38f74 Reuse existing code 2019-08-09 20:42:12 +02:00
croneter
4f6156cf30 Rename class to PlaylistItem 2019-08-09 20:41:51 +02:00