Plugin Class IDs

Every plugin needs a unique class ID which goes into the resource statement in the resource file.  You also need a unique GUID which is uniquely generated.  Menu commands also need a unique resource number which is added to kSDKCmdIDBase or they will clash.  (I'm not sure of the scope there across all menus)

I maintain a list of all my IDs in my Laboratory http://www.sparrowhawke3d.com/PluginClassIDs.html.

I'd encourage any other developers to add a list of their IDs here or with a link.

For developers who are no longer active the resource IDs can be found in the .dat file of their plugins (if you have them and find a clash).  Menu IDs will be in the .txt file.

Comments

  • AlbertoAlberto Posts: 1,381
    edited November 2018

    Good idea.

    These are mine:

    Component
    Family
    Class ID
    Fluid Domain
    kRID_GeometricPrimitiveFamilyID
    aBI0
    FluidS
    kRID_ModifierFamilyID
    aBI1
    Fluidos
    kRID_SceneCommandFamilyID
    aBI2
    Fluid Source or Sink
    kRID_GeometricPrimitiveFamilyID
    aBI3
    Source Properties
    kRID_DataComponentFamilyID
    aBI4
    Fluid Domain Properties
    kRID_DataComponentFamilyID
    aBI5
    Solid or Fluid Properties
    kRID_DataComponentFamilyID
    aBI6
    BulbLightX
    kRID_LightsourceFamilyID
    aBo2
    SpotLightX
    kRID_LightsourceFamilyID
    aBo3
    AreaLightX
    kRID_LightsourceFamilyID
    aBo4
    LinearLightX
    kRID_LightsourceFamilyID
    aBo5

     

    And for the MenuResID 

    Component
    ID
    Fluidos
    kThirdPartiesCmdIDBase + 2750

     

    Post edited by Alberto on
  • RuudLRuudL Posts: 176

    Although I am not the developer of PyCarrara, I did the Mac port, I will disclose it's ClassIDs. No new menu commands (CMNU RsID) are added by PyCarrara.

    Please note that the ClassID of PyTweener ('COtw') is the same as the ClassID of the SDK Samples Tweener. If both are installed and used in an loaded scene, it will most likely cause Carrara to crash.

    Extension File
    Family
    FamilyID
    ClassID
    PyCarrara.dat
    kRID_TweenerFamilyID
    twee
    COtw
    PyCarrara.dat
    kRID_ModifierFamilyID
    modi
    PYwm
    PyCarrara.dat
    kRID_ImportFilterFamilyID
    3Din
    PYim
  • RuudLRuudL Posts: 176

    As much as I like this initiative, I find the data fragmented and incomplete. I think what's needed is a database (with search, filter and sort capability) containing data of all Carrara plug-ins (or as much as possible). Data that is crucial for the development of well behaving plug-ins that don't clash with others and don't crash Carrara.

    This thread motivated me in exploring and examining how the resouces are organised in a .dat file and how to extract the data from these resouces. With the gained knowledge I started building a Plug-in Database. I will soon open a new thread on this subject.

Sign In or Register to comment.