Announcement

Collapse
No announcement yet.

SupportsMultipleInstancesSingleEXE supported?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    SupportsMultipleInstancesSingleEXE supported?

    Is SupportsMultipleInstancesSingleEXE really deprecated? What are the plans to add support for it in the SDK?

    While my HS3 plugins run in HS4 the UI usability is not ideal and started to look at migration to HS4. Multiple of them (especially the ones in the HS3 updater) are are HS3 Multiple Instance Single EXE plugins. When I looked the "HS3 to HS4 API reference" in Confluence, there is no support for this anymore though recall discussions several months ago when about this.

    Without support for this migration of some plugins to HS4 will be very hard requiring lots of redesign/rework.

    #2
    I bit the bullet and rewrote my PI, quite a bit of work but I split the class HSPI into 2 classes, with things you see in the sample plugin as part of the HSPI class, everything else that needs to be instantiated into a new class (or should I say, a class like what we had in HS2 ). I (re)used the same functions we had in HS3 to add instances but rather than adding HSPI instances, I now add new instance of the new class (called it MediaDevice). Maybe I was lucky how I had structured HS3 (or perhaps how I kept most of HS2 structure) to get info and procedure calls into the right instances so with some tweaking all of that functioned for HS4.

    The UI is another story

    Comment


      #3
      Thanks Dirk. I did a major rewrite from from HS2 to HS3 for the squeezebox media plugin when those plugin APIs changed several years back and sounds like going back to HS2 style and invent your work to manage media player instances. Also sounds like much more work than I had hoped for and time I really have these days; I would have to migrate 6 plugins to the HS4 SDK where the driver to look into this is the new HS4 UI compatibility not the core functionality; based on your feedback maybe wait and see or just live with the UI usability issues in HS4.

      Comment


        #4
        Rich came up with a little “tile view” player device,
        which is of interest, the rest I’m seriously on the fence we can come up with great implementations for a mobile first html based implementation to navigate content.

        Comment


          #5
          Dirk,
          how are you tracking the multiple instances? before we had the dv.interfaceinstance string. curious what you came up with?

          Mark

          HS3 Pro 3.0.0.534
          Hardware: Insteon Serial PLM | AD2USB for Vista Alarm | HAI Omnistat2 | 1-Wire HA7E | RFXrec433 | Dahua Cameras | LiftMaster Internet Gateway
          Plugins: Insteon (mine) | Vista Alarm (mine) | Omnistat 3 (by Kirby) | Ultra1Wire3 | RFXCOM | NetCAM | MyQ | BLRadar | BLDenon | Jon00 Charting
          Platform: HP h8-1360t, Windows Server 2012 R2, i7-3.4GHz, 16GB memory

          Comment


            #6
            Originally posted by mnsandler View Post
            Dirk,
            how are you tracking the multiple instances? before we had the dv.interfaceinstance string. curious what you came up with?
            I'm currently on the road until Sunday so I can't check my code and I'm not sure what dv.interfaceinstance did. Perhaps I never used it, I need to look at my code.
            I actually didn't make a big change between HS3 and HS4 when it came to creating devices. In HS3, there was a root device per player and then many child devices attached to that parent. In HS4, the child devices became features so it was just tweaking the syntax. Maybe when I was tweaking the syntax, maybe I dropped setting things like dv.interfaceinstance but as I said, I cannot recall having a very dedicated purpose. I think the most fundamental change I had was that the controls of the root devices now in HS4 had to be changed to more features and I'm not sure, the day I want to support seamless migration from a HS3 setup to HS4 how I would tackle that without coding up a dedicated migration tool and even then, how I would not break events that were using the controls on the root device.

            Comment

            Working...
            X