Hi,
Plex server version 0.9.7.3.317 breaks plugin compatibility.
From local network it works but from outside (internet) does not.
Thanks. I'd had a report that the latest version broke things - ill have a look at this tomorrow morning first thing.
Right - lets see how this goes:
PleXBMC Version 2.0 BETA 5 6 [EDIT: updated to b6 as there is a problem with plex 0.9.7 - see further post below…]
I’ve run through a number of tests on my system, both local and remote (myplex). Media playback and transcoding works, tested plugins work (AMT 4od, iplayer, fox new, TED, fOd, rev3, youtube, HY guys, Photo plugins). I’ve also tested the subtitle system with the stuff I have and it appears to work. No subs on transcoded yet and no way to manually update the lang per media (you’ll have to use XBMC to control that)
Myplex queue is implemented, but you’ll need a newer skin for that if you want it to show on the home screen. Also, as Myplex is somewhat detatched from a partivcular media server, it sometimes need to auto select a server to start transcoding playback (flash/silverlight).
[list]
[] FIX: issue with bonjour not timing out on remote connections.
[] FIX: added the frodo fix as shown above
[] FIX: an issue with URL passing/parsing that was causing some issues with the API
[] Modified: the subtitle setting names to clarify what they do
[] FIX: an issue with subtitles not being displayed in “Plex Control” mode
[] FIX: an issue which was causing the XBMC auto sub downloader to fail for TV shows (untested by me, but I’m told that it works now)
FIX: problem with token passing in myplex mode
[/list]
https://github.com/downloads/hippojay/plugin.video.plexbmc/plugin.video.plexbmc-v2.0b6.zip
NOTE: I have had reports of the current plexbmc not working under the latest Plex Media server remotely. I’ve not yet tested it under this version. If there are issues, these will be adressed shortly - I just needed to release something that was more feature complete/fixed than the previous BETA.
Quartz Skin
I’ve slightly modified the quartz skin to add a myplex queue entry. I’ve also tried to fix the issue with integration (turning it on/off), but I’m not 100% sure what’s causing it. Also, if anyone wants to help mod skins then please let me know. I’m finding it difficult to spend enough time doing both,which usually ends up in a mess of nothing.
I’m looking for help in creating some skin custom dialog boxes for media resume and subtitle selection/updated as well if anyone can help.
https://github.com/downloads/hippojay/skin.quartz.plexbmc/skin.quartz.plexbmc-0.5.zip
Outstanding work B5 works great on ATV2 Eden final
I went back from Frodo cause Frodo caused me too many problems
Thanks
As noted, PMS 0.9.7.3.317 seems to break the PleXBMC plugin, but only to my shared users. Logging in remotely to my server with my credentials works fine, but using a shared user’s credentials results in a “Script failed!” prompt in XBMC. Tested on a fresh Ubuntu 12.04 32-bit desktop install in a VM, XBMC from the default Ubuntu repo’s (11.0), and PleXBMC 2.0b5. Slightly obfuscated debug logs at:
http://pastebin.com/raw.php?i=Xjnu1uHf
Navigation works well, but actual playback fails when selecting a video:
09:50:39 T:3019810560 DEBUG: OnKey: return (f00d) pressed, action is Select<br />
09:50:39 T:3019810560 DEBUG: OnPlayMedia plugin://plugin.video.plexbmc/?url=http%3A//1.1.1.1%3Aport/library/metadata/4411%3Ft%3D9176946559&mode=5&X-Plex-Token=someaccesstoken<br />
09:50:39 T:3019810560 DEBUG: StartScript - calling plugin PleXBMC('plugin://plugin.video.plexbmc/','0','?url=http%3A//1.1.1.1%3Aport/library/metadata/4411%3Ft%3D9176946559&mode=5&X-Plex-Token=someaccesstoken')<br />
09:50:39 T:3019810560 INFO: initializing python engine.<br />
09:50:39 T:3019810560 DEBUG: new python thread created. id=6<br />
09:50:39 T:3019810560 DEBUG: WaitOnScriptResult - waiting on the PleXBMC plugin...<br />
09:50:39 T:2852125504 DEBUG: Thread XBPyThread start, auto delete: 0<br />
09:50:39 T:2852125504 DEBUG: Python thread: start processing<br />
09:50:39 T:2852125504 NOTICE: -->Python Interpreter Initialized<--<br />
09:50:39 T:2852125504 DEBUG: Process - The source file to load is /home/user/.xbmc/addons/plugin.video.plexbmc/default.py<br />
09:50:39 T:2852125504 DEBUG: Process - Setting the Python path to /home/user/.xbmc/addons/plugin.video.plexbmc:/usr/share/xbmc/addons/script.module.simplejson/lib:/usr/share/xbmc/addons/script.module.pil/lib:/usr/share/xbmc/addons/script.module.pysqlite/lib:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PIL:/usr/lib/python2.7/dist-packages/gst-0.10:/usr/lib/python2.7/dist-packages/gtk-2.0:/usr/lib/pymodules/python2.7:/usr/lib/python2.7/dist-packages/ubuntu-sso-client:/usr/lib/python2.7/dist-packages/ubuntuone-client:/usr/lib/python2.7/dist-packages/ubuntuone-control-panel:/usr/lib/python2.7/dist-packages/ubuntuone-couch:/usr/lib/python2.7/dist-packages/ubuntuone-installer:/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol:<br />
09:50:39 T:2852125504 DEBUG: Process - Entering source directory /home/user/.xbmc/addons/plugin.video.plexbmc<br />
09:50:39 T:2852125504 DEBUG: Instantiating addon using automatically obtained id of "plugin.video.plexbmc" dependent on version 2.0 of the xbmc.python api<br />
09:50:39 T:2843732800 DEBUG: Thread Background Loader 2843732800 terminating<br />
09:50:39 T:2852125504 NOTICE: BonjourFind Import Error<br />
09:50:39 T:2852125504 NOTICE: ===== PLEXBMC START =====<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> running on sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> running on 2.0b rev 1<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Running with cElementTree on Python 2.5+<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Flatten is: 0<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Settings streaming: 0<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Setting filter menus: false<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Setting debug to true<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Setting stream Control to : XBMC CONTROL (0)<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Running skin: skin.confluence<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Running watch view skin: xbmc<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Force DVD playback: false<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> SMB IP Override: false<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Script argument is 0<br />
09:50:39 T:2852125504 NOTICE: == ENTER: get_params ==<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> get_params: Parameter string: ?url=http%3A//1.1.1.1%3Aport/library/metadata/4411%3Ft%3D9176946559&mode=5&X-Plex-Token=someaccesstoken<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> get_params: Returning: {'url': 'http%3A//1.1.1.1%3Aport/library/metadata/4411%3Ft%3D9176946559', 'mode': '5', 'X-Plex-Token': 'someaccesstoken'}<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Mode: 5<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> URL: http://1.1.1.1:port/library/metadata/4411?t=9176946559<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> Name:<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> identifier: None<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> token: someaccesstoken<br />
09:50:39 T:2852125504 NOTICE: == ENTER: playLibraryMedia ==<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getTranscodeSettings: We are set to Transcode, overriding stream selection<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getTranscodeSettings: Transcode format is m3u8<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getTranscodeSettings: Transcode quality is 6<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getTranscodeSettings: Plex Client Capability = X-Plex-Client-Capabilities=protocols%3Dhttp-live-streaming%2Chttp-mp4-streaming%2Chttp-streaming-video%2Chttp-mp4-video%2Chttp-streaming-video-240p%2Chttp-mp4-video-240p%2Chttp-streaming-video-320p%2Chttp-mp4-video-320p%2Chttp-streaming-video-480p%2Chttp-mp4-video-480p%2Chttp-streaming-video-720p%2Chttp-mp4-video-720p%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A1080%26level%3A51%7D%3BaudioDecoders%3Dmp3%2Caac<br />
09:50:39 T:2852125504 NOTICE: == ENTER: getAudioSubtitlesMedia ==<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getAudioSubtitlesMedia: Gather media stream info<br />
09:50:39 T:2852125504 NOTICE: == ENTER: getURL ==<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getURL: url = http://1.1.1.1:port/library/metadata/4411<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getURL: header = {'X-Plex-Token': 'someaccesstoken'}<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getURL: ====== XML returned =======<br />
09:50:39 T:2852125504 NOTICE: <?xml version="1.0" encoding="UTF-8"?><br />
<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1343996656"><br />
<Video ratingKey="4411" key="/library/metadata/4411" parentRatingKey="4410" grandparentRatingKey="4409" guid="com.plexapp.agents.thetvdb://72173/1/1?lang=en" type="episode" title="" grandparentKey="/library/metadata/4409" parentKey="/library/metadata/4410" grandparentTitle="show" contentRating="TV-14" summary="" index="1" parentIndex="1" rating="8.1000003814697301" year="2003" thumb="/library/metadata/4411/thumb/1337528724" art="/library/metadata/4409/art/1337528746" parentThumb="/library/metadata/4410/thumb/1337528745" grandparentThumb="/library/metadata/4409/thumb/1337528746" duration="1289984" originallyAvailableAt="2003-11-02" addedAt="1337528409" updatedAt="1337528724"><br />
<Media id="4081" duration="1289984" bitrate="384" width="1280" height="720" aspectRatio="1.78" audioChannels="6" audioCodec="ac3" videoCodec="h264" videoResolution="720" container="mkv" videoFrameRate="24p"><br />
<Part id="4082" key="/library/parts/4082/file.mkv" duration="1289984" size="1049271006" container="mkv"><br />
<Stream id="20560" streamType="1" codec="h264" index="0" bitrate="6121" language="English" languageCode="eng" cabac="1" duration="1289984" frameRate="23.976" height="720" level="51" profile="high" refFrames="6" width="1280" /><br />
<Stream id="20561" streamType="2" selected="1" codec="ac3" index="1" channels="6" bitrate="384" language="English" languageCode="eng" bitrateMode="cbr" dialogNorm="-24" duration="1289984" samplingRate="48000" /><br />
</Part><br />
</Media><br />
<Writer id="97" tag="" /><br />
<Director id="98" tag="" /><br />
<Director id="99" tag="" /><br />
</Video><br />
</MediaContainer><br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getURL: ====== XML finished ======<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getAudioSubtitlesMedia: Stream selection is set OFF<br />
09:50:39 T:2852125504 NOTICE: PleXBMC -> getAudioSubtitlesMedia: {'subtitle': {}, 'external': {}, 'contents': 'type', 'audio': {}, 'media': {'viewOffset': 0, 'duration': '1289984'}, 'audioCount': 0, 'parts': [('/library/parts/4082/file.mkv', None)], 'audioOffset': -1, 'partsCount': 1, 'subCount': 0, 'subOffset': -1}<br />
09:50:39 T:2852125504 NOTICE: == ENTER: selectMedia ==<br />
09:50:39 T:2852125504 NOTICE: == ENTER: mediaType ==<br />
09:50:39 T:2852125504 INFO: -->Python script returned the following error<--<br />
09:50:39 T:2852125504 ERROR: Error Type: <type 'exceptions.TypeError'><br />
09:50:39 T:2852125504 ERROR: Error Contents: 'NoneType' object has no attribute '__getitem__'<br />
09:50:39 T:2852125504 ERROR: Traceback (most recent call last):<br />
File "/home/user/.xbmc/addons/plugin.video.plexbmc/default.py", line 3209, in <module><br />
playLibraryMedia(param_url)<br />
File "/home/user/.xbmc/addons/plugin.video.plexbmc/default.py", line 1498, in playLibraryMedia<br />
url=selectMedia(streams['partsCount'],streams['parts'], server)<br />
File "/home/user/.xbmc/addons/plugin.video.plexbmc/default.py", line 1760, in selectMedia<br />
newurl=mediaType({'key': options[result][0] , 'file' : options[result][1]},server,dvdplayback)<br />
File "/home/user/.xbmc/addons/plugin.video.plexbmc/default.py", line 746, in mediaType<br />
if file[0:2] == "\\\\":<br />
TypeError: 'NoneType' object has no attribute '__getitem__'<br />
09:50:39 T:2852125504 INFO: -->End of Python script error report<--<br />
09:50:39 T:2852125504 INFO: Python script stopped<br />
09:50:39 T:2852125504 DEBUG: Thread XBPyThread 2852125504 terminating<br />
09:50:39 T:3019810560 DEBUG: WaitOnScriptResult - plugin exited prematurely - terminating<br />
09:50:39 T:3019810560 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.plexbmc/?url=http%3A//1.1.1.1%3Aport/library/metadata/4411%3Ft%3D9176946559&mode=5&X-Plex-Token=someaccesstoken]<br />
09:50:39 T:3019810560 DEBUG: Playlist Player: no more playable items... aborting playback<br />
09:50:39 T:2843732800 DEBUG: Thread Background Loader start, auto delete: 0<br />
09:50:39 T:3019810560 DEBUG: waiting for python thread 6 to stop<br />
09:50:39 T:3019810560 DEBUG: python thread 6 destructed
Just let me know if I can provide any further info/testing - love that you've developed this plugin, a few friends run Linux HTPC's and this plugin is their only option. I've considered back-rev'ing PMS to restore PleXBMC functionality but the current PMS's transcoder improvements are too great to revert. Thanks for your work on this, it's much appreciated!
-Nikhil Choudhary
Ah ok. I think I can see it.
Looks like shared sections don’t (or no longer) expose the full file path - however the plugin is looking for it. Should be an easy change to say “if you don’t see it, don’t worry”.
EDIT: If you want to test a quick fix, download an updated default.py file and copy it over the original (/home//.xbmc/addons/plugins.video.plexbmc/default.py)
https://raw.github.com/hippojay/plugin.video.plexbmc/eden/default.py
This change simply checks for a missing file attribute and defaults to the web based stream. I’ve tested it quickly, although it would be best if you could confirm the fix as I don;t have access to any shared sections at the mo.
Hi,
I can confirm that shared sections works with the new default.py =)
Hey there hippojay - thanks for the quick update, that seems to fix the issue. After my last post, I reviewed the logs when logged in with my own credentials and found that the file type is recognized as unix (my PMS instance runs under Ubuntu):
12:08:51 T:2831149888 NOTICE: == ENTER: mediaType ==<br />
12:08:51 T:2831149888 NOTICE: PleXBMC -> mediaType: looks like a unix file<br />
12:08:51 T:2831149888 NOTICE: PleXBMC -> mediaType: Selecting stream
Just for testing, I had commented out the if/else file sort checking entirely and just hard-set type="nixfile" - this also fixed the issue. Any functional difference between having the file detected as a web based stream/UNC/unix/windows? Thanks for the quick fix!
Also, just a note to Elan and the rest of the team if you see this thread - thanks for this PMS API change, I wasn’t aware that the full file path was being exposed to shared users. That’s certainly not info that I’d like to have shared out!
The problem was that the 'file' was set to None. So some actions worked and some didn't (such as indexes). The difference will only be apparent with SMB/AFP when it comes to adding userid/passwords and trying to rewrite some portion of the path.
OK - a quick release seeing as there may be a compatibility issue with the latest version of the media server (0.9.7):
PleXBMC Version 2.0 BETA 6
[list]
[] FIX: issue withsome remote connections not working with latest media server (0.9.7).
[] ADDED: Ability to pre-select/set the audio and subtitle streams used per media. Simply bring up a context menu © and choose “select audio” or “select subtitles”. The currently selected stream will be marked with a *****. The selected stream will be the one set when “Plex Control” is the option in settings for audio/subtitle control.
[/list]
As always, the selection screens (media, subs, audio, resume) look a bit functional - so anyone with any knowledge of creating custom dialog boxes would be a real help.
https://github.com/downloads/hippojay/plugin.video.plexbmc/plugin.video.plexbmc-v2.0b6.zip
EDIT: In fact I think this will probably be the last BETA version of the plugin. I’m going to move to V2 proper and just increment the versions as stuff is fixed. I’m pretty happy that it’s stable now.
hippojay,
Thanks for the quick fixes! Confirmed beta 6 works perfectly with 0.9.7.3 PMS and XBMC Frodo Beta 1.
Hey hippojay, thanks for your work in updating PleXBMC yet again. I had already tested b5 successfully yesterday and was pleasantly surprised when I checked back today and found a b6 available. I have downloaded and tested b6 with https://github.com/downloads/hippojay/skin.quartz.plexbmc/skin.quartz.plexbmc-0.5.zip as well, and found out that “PleXBMC Integration” under “Quartz” settings now seem to be reversed. That is, the check mark appears to disable integration (at least on my OS X Mountain Lion 10.8.2, running Frodo Beta1 compiled Nov 20). I will try the same thing on Raspbmc, and post back if I find anything different.Same things happen on Raspbmc RC5 with Frodo Beta1.
This happens with me on beta 5, raspbmc.
Not that fussed, it was just a little confusing at first.
Also, is there a way (or possibly a future feature) to set the view style across the board rather than each individual screen. (check it, you'll know what I mean)
For example if I set tv shows to be in 'media info' view I have to set it on every screen. e.g., set '24' episode screen, go to 'Arrow' and I have to set it again.
If you need me to explain more clearly let me know :P
_____
edit: Another thing! :)
would it be difficult to bring up a key entry dialog when any "Search" items are pressed.
For example, the Let Me Watch This plugin. When you press search it just tries to follow it as a file or whatever rather than picking up that it's a search field and therefore doesn't work.
_____
But most importantly, thank you so much for continuing with this!
Ok, that might be my fault then. I have reverse integration issues on mine, but it might be that I was 'messing' with my version of the skins (a long long time back, I was looking at ways is getting teh skins to work without having to click the button, but XBMC doesn't allow setting default values for settings). So perhaps mine was bust and I thought there was a problem. I'll re-check and fix this then - although once you have it set I daresay you don't alter it much.
No, I understand and it annoys me as well. Not entirely sure how possible this is, as teh view will be skindependant. I think I can force a particular view, but it's how I reflect that in a setting with might cause problems. I'll investigate.
do you mean within pleXBMC itself (i.e. the search intermedia menus) or do you mean search entries within the plugin/channels that you watch through plexbmc? The formaer shuold work, the latter I hadn;t even considered! I check it out, it might just be something to catch a "search" keywork and intercept the URL before it goes back.
EDIT: I've re-started the TO DO list if anyone else has any requests: https://github.com/hippojay/plugin.video.plexbmc/wiki
I meant the latter, if I understood you correctly.
As in, going to the Let Me Watch This plugin. Selecting search. Searching for ‘james bond’ and it showing me the results.
If you have a quick gander at that plugin, go to movies and press search you’ll soon realise what I mean 
I’m so happy that you’re still carrying on this project, I feared the worst when you hadn’t replied for a while and then Frodo came out and broke everything!
Also, I don’t know if you remember but I notified you about a problem with Sky Go through plexbmc but it’s working again now with beta 5+. If that was your doing then thanks 
I would just like to say thanks for all your hard work on this Hippojay. Really great addon!
Done - will be in next release (those feeling brave can pick it up from GitHub in Eden branch)
Wow, that is fantastic! I might have a go at getting it from GitHub! You are an absolute legend!
Another thing I noticed is that I can't seem to get extra entries on the home screen with the Quartz theme you uploaded earlier.
For example, I tried to add tvcatchup on the tv shows menu but could only get it as a shortcut above it (get where I mean)?
Also, if that would be at all possible then it would be great to be able to toggle the plex and xbmc addons links?
So one could manually add plugins to the list at their own accord if they required?
I'm just happy to have this new feature and cannot wait to try it! :) Just thought I'd throw extra suggestions your way in case you like the sound of them.
Cheers :)
Aden
I am currently trying to mod home.xml of a skin.
I currently have the following line which works perfectly:
<onclick>ActivateWindow(Videos,plugin://plugin.video.plexbmc/?url=http://192.168.1.3:32400/library/sections/12/recentlyAdded&mode=0,return))</onclick>
This takes me directly to the recently added movies.
Now, I am trying to edit the following:
<label>$INFO[Window.Property(LatestMovie.1.Year)]</label><br />
<label2>$INFO[Window.Property(LatestMovie.1.Title)]</label2><br />
<onclick>PlayMedia($INFO[Window.Property(LatestMovie.1.Path)])</onclick><br />
<thumb>$INFO[Window.Property(LatestMovie.1.Fanart)]</thumb>
I want 'LatestMovie' to be the first item in the list of the above plugin (To show the latest movie added in plexbmc).
Can I do this and if so What do I need to edit to make that happen?
Thanks