Results 1 to 3 of 3

Thread: Girder 5 ComponentManager and Plugin interaction

  1. #1
    Join Date
    Jun 2006
    Posts
    196

    Default Girder 5 ComponentManager and Plugin interaction

    I have a Girder4/5 plugin written in C++ that controls my SpeakerCraft MZC66, I recently figured out how to get status back from the MZC66 and decided the best way to pass this to NR would be to use Device Manager. The most pertinent question I have right now is in my speakercraft.lua file for the component in DM I have:

    local Requires = {
    {
    Type = 'Version',
    Identifier = 'Pro',
    },
    {
    Type = 'Plugin',
    Identifier = PluginID,
    Namespace = 'speakercraft',
    Wait = true,
    },

    }

    From what I could get from other components (mainly USBUIRT) this should load, or connect to the speakercraft plugin (PluginID is equal to that of my plugin) and call it 'speakercraft'. However, when I enable the component in ComponentManager is pauses and states it is unable to load plugin 20040 SpeakerCraft. (when Wait = false, it continues but 'speakercraft' is nil) I assume there is something wrong with my plugin, that it is not responding to Girder properly to let it know it is ready for Component Manager (I can send it 'actions' through Girder however) but I'm not sure what to look for. The base of the plugin was the sendmessage example. Is there a simple answer for this?
    Also, (and less importantly) I have tried to find information on how to write Component Manager plugins, with little luck, is there a manual or forum post I have missed somewhere?

    Thanks,
    Brett
    Last edited by JBrett; November 24th, 2008 at 06:08 PM.

  2. #2
    Join Date
    Jun 2006
    Posts
    196

    Default

    I noticed when I changed:
    Namespace = 'speakercraft',
    to
    Namespace = 'usbuirt',
    then my Component loaded, but it loaded the usbuirt plugin (so I'm not sure what 'Identifier = PluginID' is for) The name of my plugin is 'SpeakerCraft' so I change the case to match, but it didn't work, recomplied my plugin to all lower case, and made Namespace = 'speakercraft', still didn't work so I'm leaning towards 'Namespace' to be more important than Identifier and the culprit, but still really haven't gotten anywhere. Sorry for the second post so fast but I wanted document my progress.
    Last edited by JBrett; November 24th, 2008 at 07:39 PM.

  3. #3
    Join Date
    Jun 2006
    Posts
    196

    Default

    Oh, my bad, I thought, and was hoping that by requiring the plugin Girder would automatically create a wrapper for use in the component lua code, this doesn't appear to be the case. I added commands to create a "speakercraft" lua table in my plugin and it now the component loads correctly.
    Last edited by JBrett; November 26th, 2008 at 08:09 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •