Jump to content

Request for help on a user status sync project


HawkXP71

Recommended Posts

HawkXP71

I have an app working, that Im happy with the functionality of.  It syncs user data (play status, favorites etc) between two servers.

I would like to convert this into an Emby Plugin.  Right now its a desktop application.

Im looking to get some help in the conversion.  All of it is open source, none of it is proprietary, and I have no desire to use it for any financial gain. It started as a personal need, and I figured it might be useful to others.

Feel free to check out the current project here:

https://github.com/towel42-com/EmbySync

Thanks in Advanced

-hawk

  • Like 2
Link to comment
Share on other sites

HawkXP71
2 minutes ago, Luke said:

Hi, what is the advantage of a plugin compared to a standalone app?

Honestly, twofold. 

I would set it to run once a day, and keep them automatically in sync.

Or to update on a play by a user.  Depending on the triggers available 

Secone as a learning experiment for me :)

Edited by HawkXP71
Link to comment
Share on other sites

HawkXP71
40 minutes ago, Luke said:

You could also do that with webhooks and an external application.

Yes, but I would think the plugin would integrate a bit tighter 

But doing it that way, I can simply port the app to the host servers platform, put it in a docker and be done. 

Link to comment
Share on other sites

Cheesegeezer

Hi Hawk, 

i can port to a plugin if you want me to help. I can show you the structure and requirements and set up the Scheduled tasks also.

will probably require some refactoring to directly access the emby interfaces from the plugin. But should be good

Link to comment
Share on other sites

Cheesegeezer
On 03/08/2022 at 04:27, Luke said:

You could also do that with webhooks and an external application.

The internal tasks you created Luke are quite a powerful automation tool. 

Link to comment
Share on other sites

Cheesegeezer
5 minutes ago, chef said:

Oh a c++ developer. Hello 🤗 

Hahahaha i didn't even check out the project.

never even looked at c++ (is it difficult)

  • Like 1
Link to comment
Share on other sites

Cheesegeezer

Wooooooooooooooooooooaaaah..... 

@chef  That scares me somewhat!!

 

  • Haha 1
Link to comment
Share on other sites

TeamB

Its a lower level language and more unforgiving in a few ways but has most of the same constructs like arrays, lists, maps etc as c# so it should feel somewhat familiar.

Link to comment
Share on other sites

15 minutes ago, TeamB said:

and more unforgiving in a few ways

That might be an understatement :).  Most managed-code developers have no concept of memory management which will likely bite them.

Link to comment
Share on other sites

chef

@HawkXP71

Most of the users who have posted here this morning have GitHub repos with entire plugin layouts.

It's written in c#. 

Mine is: chefbennyj1

And most of us have worked together on plugins in the past, we we are all grouped on GitHub (at some point) as collaboraters.

You should be able to follow the user rabbit hole to find useful stuff. One user leading to another. 😁

Let us know how you get on with it.

 

 

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

TeamB

Here is the doc to get started, it will give you a bare bones plugin you can load in the server.

https://github.com/MediaBrowser/Emby/wiki/How-to-build-a-Server-Plugin

You can then add, scheduled tasks, rest api endpoints, interface pages etc.

As mentioned there are a number of examples in github, here are two of mine.

https://github.com/faush01/playback_reporting

https://github.com/faush01/ChapterApi

 

Link to comment
Share on other sites

Cheesegeezer
4 minutes ago, TeamB said:

Here is the doc to get started, it will give you a bare bones plugin you can load in the server.

https://github.com/MediaBrowser/Emby/wiki/How-to-build-a-Server-Plugin

You can then add, scheduled tasks, rest api endpoints, interface pages etc.

As mentioned there are a number of examples in github, here are two of mine.

https://github.com/faush01/playback_reporting

https://github.com/faush01/ChapterApi

 

We are on it TeamB, but thanks. 👍👍
 

Link to comment
Share on other sites

Junglejim

It's not that hard, most dev's cut there teeth on this sort of stuff. If you load up the lib's you need in the header you should be good to go.

From there it's just programming logic, it might take some time to get used to the syntax.. but not that long. :)

Edited by Junglejim
Link to comment
Share on other sites

  • 2 weeks later...
BillOatman
On 8/8/2022 at 9:34 AM, ebr said:

That might be an understatement :).  Most managed-code developers have no concept of memory management which will likely bite them.

Real men (and women) do their own memory management! :)

Link to comment
Share on other sites

HawkXP71
44 minutes ago, chef said:

I can call GC.Collect()... 🙄🤕😶

😂

I can call exit( -1 ) to clear all memory.. its not exactly memory management 😛

 

  • Like 1
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...