HawkXP71 117 Posted 19 hours ago Posted 19 hours ago I have a plugin in mind, but in order to learn how to develop it, I have been essentially re-creating an existing plugin. Essentially I am re-creating the statistics plugin, and rather than storing everything in a XML configuration file, I am using an sqlite db I am having some weird failures. If anyone is up for a code review, it would be most appreciated. TIA Scott
softworkz 5364 Posted 11 hours ago Posted 11 hours ago 7 hours ago, HawkXP71 said: I have a plugin in mind, but in order to learn how to develop it, I have been essentially re-creating an existing plugin. Essentially I am re-creating the statistics plugin, and rather than storing everything in a XML configuration file, I am using an sqlite db I am having some weird failures. That's not a surprise. Plugins need to be self-contained. They cannot have any references of their own, because it's solely the plugin dll's code which is loaded into the Emby Server process, so whatever SQLite libraries you have (presumably) added to your plugin as nuget packages won't be looaded. Emby Server uses SQLite itself, but through customized libraries. Some of your code's references may get redirected to Emby's customized implementation which have different behavior than the ones you are probably developing against. This would exactly create something like "weird failures".
HawkXP71 117 Posted 1 hour ago Author Posted 1 hour ago 16 hours ago, Luke said: Where is the code? https://github.com/towel42-com/Statistics2026 on the AllStatistics branch
HawkXP71 117 Posted 1 hour ago Author Posted 1 hour ago 10 hours ago, softworkz said: That's not a surprise. Plugins need to be self-contained. They cannot have any references of their own, because it's solely the plugin dll's code which is loaded into the Emby Server process, so whatever SQLite libraries you have (presumably) added to your plugin as nuget packages won't be looaded. Emby Server uses SQLite itself, but through customized libraries. Some of your code's references may get redirected to Emby's customized implementation which have different behavior than the ones you are probably developing against. This would exactly create something like "weird failures". Unfortunately that makes sense Is there an exposed ISQLManager ???? Im using the same SQL interface used in the playback_reporting plugin
softworkz 5364 Posted 47 minutes ago Posted 47 minutes ago 6 minutes ago, HawkXP71 said: Unfortunately that makes sense Is there an exposed ISQLManager ???? Im using the same SQL interface used in the playback_reporting plugin I didn't mean to say it can't be done, that was just the most likely explanation. If the playback reporting plugin can do it, you should be able to do that as well. From a quick look: Downgrade System.Memory to 4.6.0 Remove Emby.ApiClient package (not needed, might contain conflicting types) Then start by trying to do the same what the playback_reporting plugin does
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