Uploaded image for project: 'MediaPortal 1'
  1. MediaPortal 1
  2. MP1-4315

Blow windowplugins dll to separate plugin dlls

    XMLWordPrintable

Details

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • 1.6.100
    • 1.5.100
    • general
    • None

    Description

      <p><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">For a time I've been thinking that the default plugins that ship with MediaPortal should be single plugin DLLs like 3rd party plugins are. The main reason for this is that I don't use any of these plugins (ok, Home plugin is what I need) and don't want them to be loaded at all. Currently this is not possible since all of these plugins are bundled in one big DLL.</span><br style="margin-top: 0px; color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">I did a quick and dirty test and removed all default plugin code except Home in WindowPlugins project. Luckily there were only few compilation errors and I managed to create a WindowPlugins.dll which only contains Home (which is required to run MP). Using this custom DLL I didn't see any problems in MP Configuration or running MP. And starting up MP was really fast.</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">What I'm suggesting would not change anything on the user side, the configuration and all would still work same as before. On the code side this would mean moving the code to separate projects &amp; fixing compile errors (these errors btw indicate a bad design) but in general no new code should be required.</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; background-color: rgb(250, 250, 250); font-size: 18px;">Pros:</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Design is more in line with the MP plugin architecture</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- In the future, possibility to choose what plugins to install (using MPEI for example)</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Easier updates for single a plugin if something needs to be fixed</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- In theory, faster MP startup when most of the default plugins are disabled/not installed</span></p><p><a data-cke-saved-href="https://github.com/MediaPortal/MediaPortal-1/tree/MP1-4315-FEAT-Blow_windowplugins_dll_to_separate_plugin_dlls" href="https://github.com/MediaPortal/MediaPortal-1/tree/MP1-4315-FEAT-Blow_windowplugins_dll_to_separate_plugin_dlls">https://github.com/MediaPortal/MediaPortal-1/tree/MP1-4315-FEAT-Blow_windowplugins_dll_to_separate_plugin_dlls&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><b style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">Completed</b><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- All default Window plugins are now standalone projects</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Removed WindowPlugins.dll from NSIS scripts, added all standalone plugins, tested installer</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Removed WindowPlugins.dll related code from PluginManager</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Smoke tested all plugins: plugin configuration opens &amp; plugin is configurable, plugin opens in MP, MP/plugin does not crash when interacting with the plugin</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><b style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">Todo&nbsp;</b><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">(I could use help sorting these out)</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">-&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250); text-decoration: line-through;">WindowPluginBase has FIXME code</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><del><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- MediaPortal references &amp; uses GUIPictures.dll, reference should be removed</span></del><br />- <del>Sync &amp; fix (Last.FM stuff missing) plugin list in all these files:</del></p><ul><li><div><div><del>mediaportal\MediaPortal.Application\PostBuild.bat</del></div></div></li><li><div><div><del>mediaportal\MediaPortal.Base\BuiltInPlugins.xml</del></div></div></li><li><div><div><del>mediaportal\MediaPortal.Tests\Core\guilib\TestData\MediaPortal.xml</del></div></div></li><li><div><div><del>mediaportal\Setup\setup.nsi</del></div></div></li></ul><p><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Update MP plugin compatibility dependencies (modules MP.Plugins, MP.Plugins.Videos, MP.Plugins.Music)</span><br style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);" /><span style="color: rgb(0, 0, 0); font-family: Tahoma, 'Trebuchet MS', Helvetica, Arial, sans-serif; line-height: 19px; background-color: rgb(250, 250, 250);">- Testing, of course</span></p>

      Attachments

        There are no Sub-Tasks for this issue.

        Activity

          People

            sebastiii sebastiii
            sebastiii sebastiii
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: