ginjaninja 629 Posted July 24 Posted July 24 (edited) Purpose and Function Populate a Sync Channel Folder tree structure with rule based fetches from Sonarr or Radarr or any json reponse based rest api. Drag and Drop UI to create schema mappings. Map foreign system properties > Emby channel item properties. Drag and drop UI (Groups, Conditions, Logic, Operators, Fields) to create rule sets to filter response. Assign 1 or more rule based fetches to root folder and subfolders in the folder tree. Default placeholder video for "Coming Soon" functionality. Movies and Series support Emby's trailer functionality. Support for Emby's provider id function under "edit metadata" to provide links from Emby to Radarr/Sonarr. Image collage generation on subfolders, to show the most recent additions to the folder. Fields for rules are instantiated dynamically based on endpoint response. Primarily built from a feature request by a forum member for coming soon functionality but it morphed into more of a generic channel sync, hence the name. Getting Started Basic Operation.mp4 (Video to follow, advanced sync configuration, endpoint schema definition of tiered channel items with provider items and images.) Create|Select a connection (eg to Radarr/Sonarr), Create|Select a Schema Endpoint (what channel items you want), Create|Select a rule set (a filter on the endpoint), assign to a folder in the folder tree. Tweak your preferred re-sync trigger (default 15 minutes) Disclaimers Vibe coded with Claude, backup database before 1st use until tested, special care/test server first if already using channels with volatile data (this is my first channel plugin). This is alpha with limited testing. This isnt something i use, so development will be in repsonse to feedback/requests (its a learning project). Download https://github.com/ginjaninja1/SyncChannel assume version changes require deletion of \data\channel-sync ie a hard reset. 0.0.0.16Emby.SyncChannel.dll (definitely requires a hard reset) 0.0.0.6Emby.SyncChannel.dll 0.0.0.5Emby.SyncChannel.dll 0.0.0.4Emby.SyncChannel.dll 0.0.0.3 Emby.SyncChannel.dll Changes 0.0.0.16 Overhaul of UI Engine, more robust navigation behaviour. Overhaul of the Schema Endpoint Design. Improved presentation for Schema Endpoint design esp. for custom syncs of multi tiered channel items (eg Artist>Album>Track). (still a massive UI, will need to simplify somehow) Addition of array slicing function to find eg "coverType=poster" in array of images. Improve hover info w.r.t text and images to aid field mapping. Improved save and discard and dirty tracking. Realised the extent to which i dont understand the channel item ecosystem, so still a work in progress for custom syncs. I have successfully synced Photos, Audio Items (As Artist>Album>Track) but still a "technical demo". 0.0.0.6 Added support for generic systems and endpoints. Expose the endpoint parameterisation and schema mapping, to support syncing supported media/channel items generically with any json based rest api. You can even point emby at itself or another Emby Server! Drag and Drop Schema mapping with endpoint field discovery. More robust navigation and configuration journeys. Improve import/export function. Correct Endpoint reachability testing. Tested an import of Artists from emby as photos not sure why you would want that, but whatevs. 0.0.0.5 Compiled in Release Mode (oops) Automatic field resolution per endpoint (alot more fields now in the rulebuilder). Field and field type. Right click to favorite fields (per endpoint) you use regularly. (theres quite a few) Field type visual corruption fix on page reload. introduce DATE class of field and appropriate operators. 0.0.0.4 UI corruption during rule drag and drop, residual objects on screen Connection test failure doesnt gracefully recover from https>http failure. Known Issues Automated field detection not working. next on list. TMDBID/TVDBID allocation sometimes missing [1 of]. Needs more work to understand channel item types and their beahviour and mapping into that. If you have expertise please dm me. Adding multiple fetches to the same folder unknown. Issues and suggestions welcome. Roadmap [potential] Make logging better / user friendly. [Started] Support for hierachical JSON responses and or transforming flat jsons into a herachy, to populate hierachical channel items. More careful consideration over watched status. More careful consideration over refresh optimisation and api load. Support for a custom video placeholder/ multiple image placeholders. learn a bit more about css to make the plugin look like it belongs better. If channels could be instantiated at runtime (dont think they can), then plugin could support multiple root folders. Other Info Plugin stores data in \programdata\data\channel-sync (good to know if you want to reset/uninstall) Edited 56 minutes ago by ginjaninja 1
ginjaninja 629 Posted July 25 Author Posted July 25 Too many fields now, added a favorite function to surface favorites at the top of the list.
ginjaninja 629 Posted Thursday at 09:36 PM Author Posted Thursday at 09:36 PM (edited) Added support for any rest api., Wipe stored config (\data\Channel-Sync) for new builds (i will make the plugin upgrade aware in time) Edited Saturday at 06:32 PM by ginjaninja
ginjaninja 629 Posted 54 minutes ago Author Posted 54 minutes ago 0.0.0.16 Overhaul of UI Engine, more robust navigation behaviour. Overhaul of the Schema Endpoint Design. Improved presentation for Schema Endpoint design esp. for custom syncs of multi tiered channel items (eg Artist>Album>Track). (still a massive UI, will need to simplify somehow) Addition of array slicing function to find eg "coverType=poster" in array of images. Improve hover info w.r.t text and images to aid field mapping. Improved save and discard and dirty tracking. Realised the extent to which i dont understand the channel item ecosystem, so still a work in progress for custom syncs. I have successfully synced Photos, Audio Items (As Artist>Album>Track) but still a "technical demo" @sh0rtyhave you had a go at the radarr and sonarr syncing, is that what you had in mind?
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now