Krak Editor

When I add a Genome Modifier and open the editor the editor’s title is “Krakatoa MagmaFlow Editor”, which is blank. When I click in the editor I get a

>> MAXScript Rollout Handler Exception: -- No ""setPixels"" function for undefined <<

It then highlights line 8161 of Genome_MagmaFlow.ms.

Thanks, this is very useful info.
Do you have Krakatoa MX 2 installed? We haven’t tested on a machine that does not have Krakatoa 2 on it, and it is possible that some dependencies still exist.
Also, we haven’t tested extensively without a license, but I assume you installed yours.

The text “Krakatoa MagmaFlow Editor” is expected, it gets replaced with “GENOME” once the initialization is done, since the code is shared. But it is supposed to run without Krakatoa MX 2 installed, sounds like it does not.

Can you try this:

*Start Max
*Create a teapot
*Add a Genome modifier WITHOUT opening the editor.

Then type in MAXScript Listener:
GenomeMFEditor_Functions.OpenMagmaFlowEditor $.modifiers[1]

This should produce some more error output in the Listener, and possibly crash in another line.
Please post the content of the Listener and the line it crashed at.

Thanks!

Alright, firstly I should say that all my thinkbox software is referenced through an [include] to a singular location as described in the install pages of Krakatoa. I do have Krak MX 2.0. I have kept the folder structure precisely, as mentioned in the documentation. However, hadn’t moved the Genome MX install, it was being read locally when I got the error. This was occurring for both 2011/2012.

WORKSTATION–>Plugin.ini->[Include] commonplugins.ini-> HOST–>Thinkbox\Krakatoa…

I moved the folder into my structure system on my host server to be like Frost/Krakatoa and there were no errors. I did this for 2011 with success.

I ran the script you provided on 2012, which I hadn’t moved yet. You can see it trying to open the editor from my remote host.

3dsMax 2012 Not Working with local Genome Install


GenomeMFEditor_Functions.OpenMagmaFlowEditor $.modifiers[1]
-- Error occurred in createUndoRecord(); filename: \\Rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 212589; line: 5415
--  Frame:
--   theFileName: undefined
--   theCount: undefined
--   theFileHandle: undefined
--   undoText: "Editor Window Opened."
--   theFlowScript: undefined
--   called in MagmaFlowEditor_Rollout.open(); filename: \\Rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 365259; line: 8898
--  Frame:
--   theSettings: undefined
--   MaxBGColor: [68,68,68]
--   theVal: undefined
>> MAXScript Rollout Handler Exception:
-- Unknown property: "NumEditingBLOPs" in Genome_Modifier:GNM_Custom <<
Rollout:MagmaFlowEditor_Rollout
-- Error occurred in hc.mouseMoved(); filename: \\Rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 342234; line: 8246
--  Frame:
--   theIndex: undefined
--   theText: undefined
--   lastNodeOver: 0
--   showTooltips: true
--   theID: undefined
--   theNotes: undefined
--   theMouse: [679,423]
>> MAXScript Rollout Handler Exception:
-- Unknown property: "getNodeID" in Genome_Modifier:GNM_Custom <<
-- Error occurred in hc.mouseMoved(); filename: \\Rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 342234; line: 8246
--  Frame:
--   theIndex: undefined
--   theText: undefined
--   lastNodeOver: 0
--   showTooltips: true
--   theID: undefined
--   theNotes: undefined
--   theMouse: [706,429]

The good news is I have one working (2011) with the remoting and a non working version (2012) that is still referenced locally, so I can test between the two to help figure out what’s going on.

running the same line of script in 2011 (working), I still get errors, but the editor works…

3dsMax 2011 Working with remote Genome Install

GenomeMFEditor_Functions.OpenMagmaFlowEditor $.modifiers[1]
-- Error occurred in createUndoRecord(); filename: \\rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 212589; line: 5416
--  Frame:
--   theCount: undefined
--   theFileHandle: undefined-- Error occurred in hc.mouseMoved(); filename: \\rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 342234; line: 8246
--  Frame:
--   theNotes: undefined
--   theIndex: undefined
--   ShowToolTips: true
--   theID: undefined
--   lastNodeOver: 0
--   theMouse: [36,263]
--   theText: undefined
>> MAXScript Rollout Handler Exception: -- Unknown property: "getNodeID" in Genome_Modifier:Genome <<

--   undoText: "Editor Window Opened."
--   theFileName: undefined
--   theFlowScript: undefined
--   called in MagmaFlowEditor_Rollout.open(); filename: \\rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 365259; line: 8898
--  Frame:
--   MaxBGColor: [68,68,68]
--   theSettings: undefined
--   theVal: undefined
>> MAXScript Rollout Handler Exception: -- Unknown property: "NumEditingBLOPs" in Genome_Modifier:Genome <<
Rollout:MagmaFlowEditor_Rollout
-- Error occurred in hc.mouseMoved(); filename: \\rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 342234; line: 8246
--  Frame:
--   theNotes: undefined
--   theIndex: undefined
--   ShowToolTips: true-- Error occurred in hc.mouseMoved(); filename: \\rserver01\plugins\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlow.ms; position: 342234; line: 8246
--  Frame:
--   theNotes: undefined
--   theIndex: undefined
--   ShowToolTips: true
--   theID: undefined
--   lastNodeOver: 0
--   theMouse: [50,376]
--   theText: undefined
>> MAXScript Rollout Handler Exception: -- Unknown property: "getNodeID" in Genome_Modifier:Genome <<

--   theID: undefined
--   lastNodeOver: 0
--   theMouse: [34,587]
--   theText: undefined

Oooops,

my bad, you should have tried this:

GenomeMFEditor_Functions.OpenMagmaFlowEditor $.modifiers[1].magmaHolder

Please try again and let me know what error (if any) you are gettings. The error you posted was caused by me giving you the wrong syntax (I was preparing for the XMesh Webinar and missed that)

Cheers,
Bobo

Nice work on the webinar. the last example was the best.

2011 (Remote install) did not throw any errors.

2012 (local install)

GenomeMFEditor_Functions.OpenMagmaFlowEditor $.modifiers[1].magmaHolder
-- Error occurred in i loop; filename: C:\Program Files\Thinkbox\Genome MX\Scripts\Genome_MagmaFlow.ms; position: 213809; line: 5301
--  Frame:
--   i: "Blend"
--   theColor: undefined
--   called in c loop; filename: C:\Program Files\Thinkbox\Genome MX\Scripts\Genome_MagmaFlow.ms; position: 214107; line: 5310
--  Frame:
--   theRootBlops: undefined
--   theMenu: undefined
--   theCatNodes: undefined
--   theUsedLetters: undefined
--   theTabuLetter: undefined
--   theSubMenu1: undefined
--   c: "Function"
--   theSubMenu2: undefined
--   theSubDirs: undefined
--   needClosing: undefined
--   cnt: undefined
--   theCurrentEditorIndex: undefined
--   catname: undefined
--   called in createDepot(); filename: C:\Program Files\Thinkbox\Genome MX\Scripts\Genome_MagmaFlow.ms; position: 223943; line: 5537
--  Frame:
--   theNodeTypes: #("BLOP", "InputChannel", "Output", "Elbow", "Negate", "Abs", "ComponentSum", "Magnitude", "Normalize", "Floor", "Ceil", "Sqrt", "Log", "Cos", "ACos", "Sin", "ASin", "Tan", "ATan", "LogicalNot", ...)
--   theNodeTypeNames: #("ACos", "ASin", "ATan", "ATan2", "Abs", "Add", "BLOP", "Blend", "Breakout", "Ceil", "Clamp", "ComponentSum", "Cos", "CurrentMesh", "Curve", "Divide", "Elbow", "Equal", "FaceQuery", "Floor", ...)
--   theNodesMenu: StringStream:"rcmenu allNodes_menu (
submenu "Arithmetic" (
menuitem mnu_Arithmetic_1 "A&bs" 
menuitem mnu_Arithmetic_2 "A&dd" 
menuitem mnu_Arithmetic_3 "&Ceil" 
menuitem mnu_Arithmetic_4 "D&ivide" 
menuitem mnu_Arithmetic_5 "&Floor" 
menuitem mnu_Arithmetic_6 "&Log" 
menuitem mnu_Arithmetic_7 "&Modulo" 
menuitem mnu_Arithmetic_8 "M&ultiply" 
menuitem mnu_Arithmetic_9 "&Negate" 
menuitem mnu_Arithmetic_10 "&Power" 
menuitem mnu_Arithmetic_11 "&Sqrt" 
menuitem mnu_Arithmetic_12 "Sub&tract" 
)
on mnu_Arithmetic_1 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Abs" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_2 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Add" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_3 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Ceil" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_4 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Divide" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_5 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Floor" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_6 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Log" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_7 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Modulo" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_8 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Multiply" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_9 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Negate" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_10 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Power" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_11 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Sqrt" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Arithmetic_12 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Subtract" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
submenu "BLOP" (
menuitem mnu_BLOP_1 "BLO&P" 
subMenu "&Geometry" (
menuitem mnu_BLOP_3 "Face&Area" 
)
subMenu "&Logarithms" (
menuitem mnu_BLOP_5 "Log1&0" 
menuitem mnu_BLOP_6 "L&ogBase" 
)
subMenu "&Vectors" (
menuitem mnu_BLOP_8 "3&ColorGradient" 
menuitem mnu_BLOP_9 "Cla&mpVector" 
menuitem mnu_BLOP_10 "Ma&keCircle" 
menuitem mnu_BLOP_11 "Quat&FromAngleAndAxis" 
menuitem mnu_BLOP_12 "&ReflectVector" 
menuitem mnu_BLOP_13 "XFormVbyNx&T" 
)
)
on mnu_BLOP_1 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "BLOP" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_3 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Geometry/FaceArea.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_5 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Logarithms/Log10.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_6 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Logarithms/LogBase.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_8 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Vectors/3ColorGradient.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_9 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Vectors/ClampVector.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_10 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Vectors/MakeCircle.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_11 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Vectors/QuatFromAngleAndAxis.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_12 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Vectors/ReflectVector.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_BLOP_13 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNodeBLOP "C:/Users/Khye/AppData/Local/Thinkbox/Genome/BlackOps/Vectors/XFormVbyNxT.MagmaBLOP"
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
submenu "Convert" (
menuitem mnu_Convert_1 "&Breakout" 
menuitem mnu_Convert_2 "&QuatToVectors" 
menuitem mnu_Convert_3 "To&Float" 
menuitem mnu_Convert_4 "To&Int" 
menuitem mnu_Convert_5 "To&Vector" 
menuitem mnu_Convert_6 "Vectors&ToQuat" 
)
on mnu_Convert_1 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "Breakout" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Convert_2 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "QuatToVectors" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Convert_3 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "ToFloat" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Convert_4 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "ToInt" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Convert_5 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "ToVector" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
on mnu_Convert_6 picked do (
MagmaFlowEditor_CurrentEditors[1][2].createNode "VectorsToQuat" mode:#rcmenu
MagmaFlowEditor_CurrentEditors[1][2].createNodeTree init:true
)
"
--   called in MagmaFlowEditor_Rollout.open(); filename: C:\Program Files\Thinkbox\Genome MX\Scripts\Genome_MagmaFlow.ms; position: 404287; line: 9726
--  Frame:
--   theSettings: undefined
--   theErrorNode: undefined
--   theErrorMsg: undefined
--   theMod: Genome_Modifier:Genome
--   st: 52246566
--   MaxBGColor: [68,68,68]
--   result: undefined
--   theVal: undefined
>> MAXScript Rollout Handler Exception:
-- Unknown property: "FunctionOperatorNode" in (MagmaFlowColorsStruct EditorBackgroundColor:[68,68,68] GridColor:[78,78,78] HeaderColor:(color 80 80 128) StandardSocketColor:(color 0 0 150) HasDefaultSocketColor:(color 0 255 0) NeedsConnectionSocketColor:(color 220 0 0) ErrorSocketColor:(color 255 0 0) HighlightedSocketColor:(color 255 200 0) IntegerSocketColor:(color 100 0 100) FloatSocketColor:(color 0 100 100) VectorSocketColor:(color 0 140 240) OutputNode:(color 200 255 200) InputVectorValueNode:(color 200 240 255) InputFloatValueNode:(color 200 240 220) InputIntValueNode:(color 230 220 240) InputChannelNode:(color 220 220 255) InputScriptNode:(color 255 200 240) InputObjectNode:(color 220 255 240) InputGeometryNode:(color 255 220 220) InputParticlesNode:(color 255 255 200) InputTextureNode:(color 240 200 255) EditableBLOPNode:(color 220 200 255) OperatorNode:(color 255 225 200) LogicOperatorNode:(color 255 240 200) ObjectOperatorNode:(color 255 200 200) DimmUnconnectedNode:(color 200 200 200) MissingNode:(color 255 150 150)) <<
Rollout:MagmaFlowEditor_Rollout

Ok, I got it now.

It is kind of a bug, and I will have to do something about it.
In short, if Genome is loaded BEFORE Krakatoa MX, it will cause the error you are seeing.
This is because I introduced a new color property to the global struct MagmaFlowColors which is visible to both Genome and Krakatoa.
Genome looks for that new property (defining the color of FunctionOperatorNode), but if Krakatoa came second, it redefined that struct without the new property. Since I cannot update Krakatoa on all machines in the world, I will have to get rid of that property or make it a variation of the regular object color.

In most cases, Genome would be loaded second if installed after Krakatoa, but it looks like you caught this due to your custom setup.
I will have to fix this one way or another.

Thanks again for all the help!

Cheers,
Bobo

Try this one, it should now work in both installs.
The only drawback is that if Krakatoa was run second, the Function ops will be drawn in the same color as Arithmetic ops just like before.
Otherwise they will be a slightly different color to make them easier visible in a flow of math operations (this includes the Blend, Clamp, Curve and Noise nodes).

Please let me know if this fixed the problem.
Genome_MagmaFlow_20120314.zip (65.8 KB)

That worked. Thanks as always.