I’ve also just started running PleXBMC on a pi too. Bit slower than my old HTPC (which is now my plex server) but it’s still working as expected. Great to see there’s progress being made will be near perfect for once there are working themes, I tried using Aeon Nox 3.5 to set custom locations on the home menu but I don’t really know what I’m doing with it.
Keep up the good work.
So, I went back and checked how did IceLibrary add files to the library and made it work with the XBMC library parser.
I changed things a bit and all you have to do is create a file for each movie inside .xbmc/userdata/plugins.video.plexbmc/remote_movies, let's say 21\ Jump\ Street\ \(2012\).strm with the "u" parameter you extract from PMS when you list all available movies in the server, below in the addLink function.
def addLink(url,properties,arguments,context=None):<br />
printDebug("== ENTER: addLink ==", False)<br />
try:<br />
printDebug("Adding link for [" + properties['title'] + "]")<br />
except: pass<br />
printDebug("Passed arguments are " + str(arguments))<br />
printDebug("Passed properties are " + str(properties))<br />
<br />
if (arguments.get('token',None) is None) and _PARAM_TOKEN:<br />
arguments['token']=_PARAM_TOKEN<br />
<br />
try:<br />
type=arguments['type']<br />
except:<br />
type='Video'<br />
<br />
if type =="Picture":<br />
u=url+getAuthDetails(arguments,prefix="?")<br />
else:<br />
**u=sys.argv[0]+"?url="+str(url)+getAuthDetails(arguments)**<br />
<br />
ok=True<br />
<br />
<br />
printDebug("URL to use for listing: " + u)
I've created these files by hand and I was quite surprised to see that XBMC parses the file as a movie and is able to launch the stream, subtitles and everything. It even allows for automatic seeking like it does inside pleXBMC. Below is an example of the content I extracted from the addLink function, which was exactly what went inside the strm file.
plugin://plugin.video.plexbmc/?url=http://192.168.1.71:32400/library/metadata/107&mode=5&id=107&t=4125375759
This is how they set the custom library paths where the strm files go:
MOVIES_PATH = os.path.join(xbmc.translatePath('special://profile/addon_data/plugin.video.icelibrary/movies_data'), '')<br />
TV_SHOWS_PATH = os.path.join(xbmc.translatePath('special://profile/addon_data/plugin.video.icelibrary/tvshows_data'), '')
Their CreateStreamFile is pretty simple:
def CreateStreamFile(name, href, dir, remove_year, show_name=''):<br />
try:<br />
<br />
if len(show_name) > 0:<br />
show_name = show_name + ' '<br />
strm_string = "plugin://plugin.video.icelibrary/?href=" + urllib.quote(href) + "&mode=10&name=" + urllib.quote(show_name + name)<br />
filename = CleanFileName(name, remove_year) + ".strm"<br />
path = os.path.join(dir, filename)<br />
file = open(path,'w')<br />
file.write(strm_string)<br />
file.close()<br />
except:<br />
print "Error while creating strm file for : " + name<br />
To add the newly created directories, the sources.xml file needs to be edited, resulting in something like this:
<video><br />
<default pathversion="1"></default><source><name>TV Shows (Icefilms)</name><path pathversion="1">/home/jmartins/.xbmc/userdata/addon_data/plugin.video.icelibrary/tvshows/</path></source><source><name>Movies (Icefilms)</name><path pathversion="1">/home/jmartins/.xbmc/userdata/addon_data/plugin.video.icelibrary/movies/</path></source><br />
<source><br />
<name>dummy library</name><br />
<path pathversion="1">/home/jmartins/.xbmc/addons/plugin.video.plexbmc/resources/dummy library/</path><br />
</source><br />
</video><br />
So, that's pretty much it, your plugin is very well built and should be able to accommodate these changes without a total rework of file handling.
PS: Sorry for the looong post everyone.
While your skilled eyes are in there; is it possible to have a source for recently added?
I don't think the recently added are a specific source, but instead are calculated using changes in the video database. So, if this 'strm' method was to be used, the normal functions of any Eden skin would work normally, like extra fanart, TV Shows banners, etc.
I'm still unsure though about the differences between watching inside your local network and outside, which defaults to the local ip when inside and changes to myplex method when outside. This brings problems launching streams, and at least a data update will be needed at launch, which could screw up your newly added feature.
Hi,
I’m in the process of installing Plex at home and so far, so good. Before I start, please understand that WAF/FAF is of the highest priority!
Anyway, for the time being, I have some old(er) hardware in some rooms. I have installed the OpenELEC distro and have XBMC working fine.
Now on to my question.
What I want to do is to install PleXBMC and also use one of your modified skins. I want to get rid of anything (visually) XBMC and have it go directly to my PMS libraries.
This thread is getting quite long now and I haven’t been able to read all of it :unsure: The first posting expalins the install process and states that the current version of PleXBMC is 1.9.6.3 or 1.9.6.4. Further down, under skins, it states that you should use the correct version of PleXBMC for the skin and these are, depending on the skin, 1.9.3a, 1.9.5 or not stated.
So, my question is, how do I get a compatible pairing of PleXBMC and skin?
My secondary question relates to the top of the post where you mention the PlexBMB repositary. If I add this zip, will this just make all the stuff appear to be added (nice compatible versions, I hope
)
Thanks for all your hard work on this. Something tells me that this needs a forum of it’s own… :blink:
PleXBMC is undergoing a bit of a revamp at the moment. The skins/plugins around work with Dharam, but are not optimised for Eden (and i’m not even sure the skins work correctly). I’m tiding up and making good, which I hope to have done within the week.
If you want to use/try it now, then the latest BETA of plexbmc and the quartz plexbmc skin are the best bet.
Currently the repository doesn’t work for EDEN items, but again we’ll get this fixed.
+1 for focus on a single skin 
Yeah, and that single skin should be [**Quartz 3**](http://forum.xbmc.org/showthread.php?tid=115993)! :D
It probably will be when I get the plugin code updated (it's very nearly there, just need to get by folder going and clean up the code).
Edit: I've actually been diverted a bit solving the double dialog issue with XBMC. Jmarshalnz has been helping me to write the patch, and I'm just waiting for feedback and acceptance into frodo.
Very very excited about this. Integration with Focus skin would also be amazing.
Actually I take this back. Quartz 3 is pretty amazing!
Thanks for your awesome work on this, hippojay. Now that the latest release of "standalone" Plex for AppleTV isn't compatible with Firecore's ATVFlash (Black) v1.7, lots of new users will be checking out PleXBMC as a replacement on that platform.
I have just installed PleXBMC v2beta and it appears to be working great for Movies and TV Shows. Awesome!
Then I went into the settings and had it log into MyPlex. However, I can't see how to get into the [MyPlex Queue](https://my.plexapp.com/queue) via PleXBMC's menus. All I see are my Movies, TV Shows, Channels, and Plex Online. Am I missing something? How can I use PleXBMC to watch the videos saved in the MyPlex Queue?
Thanks again, for any feedback!
The myplex queue isn’t implemented yet. It’s on the list of things to do, after I’ve tidied up the existing plugin features.
Thanks!
Next dumb-ass question (I'm new to all this repository / GIT / XBMC / Plex stuff - ftp, wget http, I can do!) where do I download the latest Beta from?
There you go:
Ok - BETA 2 of PleXBMC V2:
Testing:
I have tested with local, bonjour’ed and myplex media (movies, tv shows, music, photos) - and also some share servers. I’ve also tested a number of plugins (TED, funnyordie, iplayer, revision3, youtube, AMT, HT Guys, iTunes music, anna kim[photo], iphoto)
New:
- Rewrite of a number of function to try and improve speed and reliability.
- Bonjour discovery is fixed
- Photo plugins work now
- Better token handling if you change myplex user
- some fanart changes to get them to show in the right places.
- workaround for double resume dialog
Known Issues:
- Some webkit/silverlight plugin might not work correctly - and I’d appreciate some feedback on this. I’m not sure my logic is correct, but I have few working webkit plugins to test with (I mainly use iplayer, which has been working fine).
- You might still get asked for resume confirmation twice. This is an XBMC feature and a patch has been submitted to alter this.
(for those that want to know XBMC will, by default, save the state of any played file and attempt to retrieve that information when it is clicked on. This happens before the plugin is enacted and I cannot alter this as the XBMC functions do not exist. The patch submitted is to bypass this resume check and then also allow a resume point to be set programmatically, which would mean quicker resume times for plexbmc)
Remember this is BETA (although I’m moving it to my main player tomorrow, to see if the kids can break it):
https://github.com/downloads/hippojay/plugin.video.plexbmc/plugin.video.plexbmc-v2.0b2.zip
Great wrk as always. I will get back with info if I find anything strange.
I can’t access my myplex friends in the new version.
They show up but as soon as I try to fetch anything from their archives I get this in the log
16:30:47 T:2954383360 WARNING: FillBuffer: curl failed with code 22<br />
16:30:47 T:2954383360 ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.<br />
16:30:47 T:2954383360 WARNING: FillBuffer: curl failed with code 22<br />
16:30:47 T:2954383360 ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.<br />
16:30:47 T:2954383360 WARNING: FillBuffer: curl failed with code 22<br />
16:30:47 T:2954383360 ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.<br />
16:30:47 T:2954383360 WARNING: FillBuffer: curl failed with code 22<br />
16:30:47 T:2954383360 ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.<br />
16:30:47 T:2954383360 WARNING: FillBuffer: curl failed with code 22<br />
16:30:47 T:2954383360 ERROR: CFileCurl::CReadState::Open, didn't get any data from stream.
I feel like that log aint saying much but maybe you get something out of it. My own stuff works great to access and if I use the old beta of your plugin I can access my friends with no problems.
Is their server turned on?
The section list comes from myplex, so is always available, but the contents of the sections comes direct from their servers. So if there server isn't available, you;ll get error messages. I'll see about implementing a better error message for servers that aren't available/online.
A better error message would be helpful, I was just trying the new beta and wasn't really understanding why it couldn't discover the media in the server. Even rolled back to the previous version, until dumbass here found out that the server machine was turned off.
On another note, have you looked at XBMC library integration? I've been experimenting with it, even cloned your repository (can't really understand git and github) and it seems to work well by merging some functions from that IceLibrary plugin. I haven't implemented a library refresh on boot needed for local network vs remote server, but other than that it works as intended.