Jump to content

A Few Small but Big Ideas


lulzyatlas

Recommended Posts

lulzyatlas

Just a mash up of all the feature I've thought of that I can remember currently

 

Namely: the remote shows what's now playing. Being able to tap this displayed info and bring up the description/details like when browsing in the collection would be nice.

 

In the back of my mind has been the idea of making a plugin which will scrape the local torrent client for a list of current downloads, match the names to movies and display them under a Coming Soon section (with an expected arrival time calculated from the torrent's ETA)

Furthermore it'd scrape CouchPotato's Wanted list for a Coming Later section but that's nothing too special, and wouldn't be as useful as the Coming Soon (a quick look at your running downloads and how quick you could expect them). I would've assembled this myself by now but Emby's source isn't one of my veteran languages. This isn't asking anyone else to make it. Just voicing the idea. I may tackle it when I study the API and source a bit more (how to integrate with the views, scrape metadata, contact local web hosts, etc.).

 

 

 

 

A core request that I think pertains to the aforementioned features and all features in general would be a local communications socket for Emby allowing it to process commands and return information in a plaintext format thus allowing people to make plugins and addons in their own languages using the socket to communicate with the Emby API and pass information/trigger&respond to calls

 

Example. Emby listens and communicates on localhost port 1234 waiting to be passed an API key at which point it starts listening and passing plain info commands like

 

getimdbid "Movie Name" (returns IMDB ID)

get

restart etc (self explanatory)

refresh 'DatabaseID'/Content Name

addcontent Type 'Filename' 'Directory'

 

Emby would take commands like these and process it and the parameters in it's own procedures whereas the simple "code proxy" would allow tools to be coded in different languages and communicate their needs to Emby and vice versa. Basically, an expansion of the API past the built in methods (if this does exist I'm unaware of it)

 

And one more from my currently hazy memory, Duplicate Content Merging, with or without an option for which version to play.

Link to comment
Share on other sites

lulzyatlas

well we do have a plain http api. is that not close enough?

That'd be the ticket. I'll dig through the support pages and see what I can find on it. Last time I checked around I ended up on the Git Plugin & API walkthrough. Thanks for the quick reply. Has our Wiki come along any further?
Link to comment
Share on other sites

Just a mash up of all the feature I've thought of that I can remember currently

 

getimdbid "Movie Name" (returns IMDB ID)

get

restart etc (self explanatory)

refresh 'DatabaseID'/Content Name

addcontent Type 'Filename' 'Directory'

I think the API already supports all of this via HTTP calls to the server:

 

1. The JSON object returned has the ID's, I don't use them in my client, but I have seen IMDb specifically under ExternalUrls -> Name:IMDb

 

2. User/UserID/Items and User/UserID/Item have allowed me to get pretty much any object/data I need.

 

3. Never tried, and probably won't, but apparently the System/Restart URL will do it.

 

4. Since there is a refresh button in the Web Client, there is probably a refresh call that will do it. I don't have a lot of luck with Refresh (either Emby does it automatically, or I gotta intervene anyway) but I might chime in after I look deeper into editing stuff in my client.

 

5. Not sure what you are looking for, but adding content for me is generally as easy as putting the file in the right place, and letting Emby do its thing. In that case, you can probably use whatever technique you need to to create the correct path and upload the file. The only gotcha would be if you use a mixed media folder, then you may need to update the metadata to indicate what it is supposed to be.

Edited by Raff
  • Like 1
Link to comment
Share on other sites

That'd be the ticket. I'll dig through the support pages and see what I can find on it. Last time I checked around I ended up on the Git Plugin & API walkthrough. Thanks for the quick reply. Has our Wiki come along any further?

 

The API is self-documenting.  It isn't in the wiki.  Right click your server icon and select Developer Resources/Api Documentation.

  • Like 1
Link to comment
Share on other sites

lulzyatlas

The API is self-documenting. It isn't in the wiki. Right click your server icon and select Developer Resources/Api Documentation.

Thanks, I'll go through it. How invasive is it? As in will I be able to seat calls in built in Emby processes and append or modify their results?

 

 

 

I think the API already supports all of this via HTTP calls to the server:

 

1. The JSON object returned has the ID's, I don't use them in my client, but I have seen IMDb specifically under ExternalUrls -> Name:IMDb

 

2. User/UserID/Items and User/UserID/Item have allowed me to get pretty much any object/data I need.

 

3. Never tried, and probably won't, but apparently the System/Restart URL will do it.

 

4. Since there is a refresh button in the Web Client, there is probably a refresh call that will do it. I don't have a lot of luck with Refresh (either Emby does it automatically, or I gotta intervene anyway) but I might chime in after I look deeper into editing stuff in my client.

 

5. Not sure what you are looking for, but adding content for me is generally as easy as putting the file in the right place, and letting Emby do its thing. In that case, you can probably use whatever technique you need to to create the correct path and upload the file. The only gotcha would be if you use a mixed media folder, then you may need to update the metadata to indicate what it is supposed to be.

Well for my personal uses I was looking to for starters build upon Path Substitution to distribute different paths for different subnets (letting them bypass the pitfalls of NAT and name resolution)

 

From there a plugin that monitored information scraped from uTorrent's API, matched it to a movie, and listed it under a special "ComingSoon" type, with the description, poster, and arrival time.

 

In my head I plan to go in injecting some sort of smart class for these options, and a scheduled routine for basic updating, that would wake a smart updater for fine tracking.

 

I'm not looking to add full media entries in the library, just a dummy item, that is unplayable, but a placeholder. Probably like the items showed through the display unaired/missing episodes options, but I wouldn't know as I don't use them, and haven't seen how they work.

 

But thanks, now that I know where to find the API, and that I have some method of talking to the server I'll start poking around and see I come up with.

Link to comment
Share on other sites

lulzyatlas

well we do have a plain http api. is that not close enough?

 

 

The API is self-documenting.  It isn't in the wiki.  Right click your server icon and select Developer Resources/Api Documentation.

 

I got back to my comptuer and found the page, on 3 browsers across 3 computers the same thing happens, it loads up, and after a few seconds the page locks up and crashes or hangs on attempting activity. I checked if this was a Swagger issue I could get around and saw a ticket for the issue in late April, related to formatting. Is this bug present in Emby's build of Swagger or could it be something else?

Server Version: 3.0.5621.4

Link to comment
Share on other sites

I got back to my comptuer and found the page, on 3 browsers across 3 computers the same thing happens, it loads up, and after a few seconds the page locks up and crashes or hangs on attempting activity. I checked if this was a Swagger issue I could get around and saw a ticket for the issue in late April, related to formatting. Is this bug present in Emby's build of Swagger or could it be something else?

Server Version: 3.0.5621.4

 

Yeah, I reported this a while back and then hadn't been back to check out if it was fixed. 

Link to comment
Share on other sites

Not sure if it will work for you, but I usually bypass the error if I go directly to my bookmark:

 

//[server]:[port]/swagger-ui/index.html

 

Works for me in chrome, and I have no idea what would be special about opening it from the server link. I think the first time, I just hit reload until it came up.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...