NUKE (v15.0.2) KNOBS
// IMPORTANT:// The indices of the enumerations correspond to the ID's in 'addUserKnob' and must not change!// Changing the order of these will break compatibility with user knobs generated in previous versions of Nuke.// Any new knob types must be added immediately before LAST_KNOB.// Entries must never be removed from this list.00. OBSOLETE_KNOB, // Allows knobs to be obseleted and script stored values to be translated to new knobs.01. STRING_KNOB, // Stores a char* pointer or std::string, and presents a string box in the panel.02. FILE_KNOB, // A STRING_KNOB with a file chooser in the panel interface.03. INT_KNOB, // Stores an int & presents a numeric entry box in the panel. No slider by default.04. ENUMERATION_KNOB, // Popup/dropdown list with single selection. Stores an int.05. BITMASK_KNOB, // Stores an int & presents one checkbox for each bit.06. BOOL_KNOB, // Stores a bool & presents a single checkbox. Does not set STARTLINE by default.07. DOUBLE_KNOB, // Stores a double & presents a numeric entry boxes and slider.08. FLOAT_KNOB, // Stores a float & presents a numeric entry boxes and slider.09. ARRAY_KNOB, // 2 dimensional array of floats, as used by Convolve. Uses data storage struct ConvolveArray from Convolve.h.10. CHANNEL_MASK_KNOB, // Stores a ChannelSet and presents a variety of panel interfaces allowing user channelset selection.11. CHANNEL_KNOB, // Stores an array of 1 to 4 Channels and presents a panel interface allowing user channel selection.12. XY_KNOB, // Stores 2 floats/doubles, presents a panel interface of two numerical entry boxes and a crosshair in the viewer. Proxy scales.13. XYZ_KNOB, // Stores 3 floats for an xyz position. Presents three numerical entry boxes and a 3d position widget in the viewer.14. WH_KNOB, // Stores 2 floats/doubles representing width & height. Presents one or two numerical entry boxes plus a slider in the former case. Proxy scales.15. BBOX_KNOB, // Stores 4 floats/doubles representing the x,y,r,t of a rectangle. Presents four numerical entry boxes with hardcoded labels & a rectangle widget in the viewer. Proxy scales.16. SIZE_KNOB, // Obsolete; same as FLOAT_KNOB.17. FORMAT_KNOB, // Stores a FormatPair which contains a variety of format information. Presents a popup of current formats.18. COLOR_KNOB, // Stores 3 floats/doubles representing an rgb color. Presents either a numerical entry box and slider, or 3 numerical entry boxes, both with eyedropper and colour picker buttons.19. ACOLOR_KNOB, // Stores 4 floats/doubles representing an rgba color. Presents either a numerical entry box and slider, or 4 numerical entry boxes, both with eyedropper and colour picker buttons.20. TAB_KNOB, // Starts a new tab in the param panel. No data storage.21. CUSTOM_KNOB, // Create custom instances of knobs (inherited from the knob class). Variety of methods for different knob constructor requirements.22. PYSCRIPT_KNOB, // Presents a button, which executes a python script when pressed. STARTLINE not set by default.23. TEXT_EDITOR_KNOB, // same as MULTILINE_STRING_KNOB24. TRANSFORM2D_KNOB, // Stores a Matrix4, representing a 4x4 transformation matrix with a 2-d affine xform. Presents a variety of params, along with a viewer transform jack widget. Proxy scales.25. SPACER_KNOB, // Presents an empty space. No data storage. STARTLINE not set by default.26. TEXT_KNOB, // Presents a user defined piece of text. No data storage. STARTLINE not set by default.27. HELP_KNOB, // Presents a small button with a ? label, which pops up user defined helpful text when pressed.28. MULTILINE_STRING_KNOB, // Stores a char* pointer, and presents a multiple line text entry widget.29. AXIS_KNOB, // Stores a Matrix4, representing a 3D 6-DOF transformation. Presents a variety of params, along with a viewer 3d transform jack widget.30. UV_KNOB, // Stores 2 floats/doubles, presented as two numerical entry boxes with hardcoded 'u' and 'v' labels.31. BOX3_KNOB, // Stores 6 floats, representing 2 3D points describing a 3D volume. Presented as 6 numerical entry boxes with hardcoded labels and a 3d box viewer widget.32. SCRIPT_KNOB, // Presents a Button that either can use knob_changed to execute c++, or can execute tcl directly. STARTLINE not set by default.33. LOOKUPCURVES_KNOB, // Stores a LookupCurves pointer as defined in LookupCurves.h and presents a curve editor widget on the param panel. Curve display can be customised on creation34. TOOLTIP_KNOB, // Obsolete; set-tooltip call!35. PULLDOWN_KNOB, // Presents a pulldown menu, which upon selection executes TCL scripts. No data storage.36. EYEDROPPER_KNOB, // Stores 8 floats representing a sampled colour and the area from which it was sampled. Presented as a colour swatch button, pushing which allows colour sampling in the viewer.37. RANGE_KNOB, // Stores an arbitrary number of floats/doubles. Presented as numerical entry boxes below a single slider with multiple handles.38. HISTOGRAM_KNOB, // Stores a Histogram_Data struct pointer, as defined in HistogramKnob.h. Presented as a histogram graph with in and out drawn at different luminances.39. KEYER_KNOB, // Stores 4 doubles, presented as the vertices on a trapezoid graph shape, used in the Keyer node.40. COLORCHIP_KNOB, // Stores an unsigned int, representing an 8-bit hex colour code, generally for UI colors. Presented as a button with a color swatch label, popping up a color picker when pushed.41. LINK_KNOB, // Soft links to another knob. No internal data storage. Presentation matches the linked knob.42. SCALE_KNOB, // Stores 2 doubles. Presented as one numerical entry box with slider, or two numerical entry boxes.43. MULTILINE_EVAL_STRING_KNOB, // Same as MULTILINE_STRING_KNOB44. ONEVIEW_KNOB, // Stores an int. Presented as a single selection drop down menu, populated with the current script's views.45. MULTIVIEW_KNOB, // Stores a std::set of ints. Presented as a multiple selection drop down menu, populated with the current script's views.46. VIEWVIEW_KNOB, // Stores a std::map relating ints to ints. Presented as a series of buttons allowing patches to be added, where each patch maps from one view to another.47. PYPULLDOWN_KNOB, // Presents a pulldown menu, which upon selection executes python scripts. No data storage.48. OBSOLETE_GPUENGINE_KNOB, // Obsolete, not for use.49. MULTIARRAY_KNOB, // Manages internal storage. Presented as a series of array knobs. Generally recommend use of Table_knob over MultiArray.50. VIEWPAIR_KNOB, // Stores a std::pair of ints. Presented as a pair of buttons, pressing which pops up a select list of the current script's views.51. LIST_KNOB, // Stores a std::vector of std::vectors of std::strings. Columns numbered, and defined based on vector size. Read only.52. PYTHON_KNOB, // Used as part of python knob implementations. Not for use via NDK.53. METADATA_KNOB, // No storage. Presented as a read only list of metadata found on input 0.54. PIXELASPECT_KNOB, // Stores a double. Presented as a numeric entry box and associated slider. Proxy scales.55. CP_KNOB, // Obselete; represents roto curve's control points56. TOOLBAR_KNOB, // Presents toolbars around the edge of the viewer, containing the wrapped controls. Only suitable for use with a subset of knobs. No data storage.57. TABGROUP_KNOB, // Presents tabs within the current page, wrapping the contained knobs. No data storage.58. PLUGIN_PYTHON_KNOB, // A user-created knob, with user-provided python bindings.59. EXOGROUP_KNOB, // Presents wrapped controls on all tabs of the node. No data storage.60. MENU_KNOB, // Presents a button which opens a python defined menu. No data storage.61. PASSWORD_KNOB, // A STRING_KNOB which presents a bullet character for any character entered.62. TOOLBOX_KNOB, // WIP, not for use.63. TABLE_KNOB, // Manages internal storage, and manipulated via TableKnobI.h functions. Presented as defined columns and numbered rows of sub-knobs, allowing for read only and editable params.64. GEOSELECT_KNOB, // Not for direct use. Implemented on all GeoOp parented ops.65. INPUTONLY_CHANNEL_MASK_KNOB, // A CHANNELSET_KNOB, which presents channels available on defined input only.66. INPUTONLY_CHANNEL_KNOB, // A CHANNEL_KNOB, which presents channels available on defined inputs only.67. CONTROL_POINT_COLLECTION_KNOB, // WIP, not for use.68. CASCADING_ENUMERATION_KNOB, // An ENUMERATION_KNOB adding cascading menus.69. DYNAMIC_BITMASK_KNOB, // Stores an unsigned int, and takes a std::map relating ints to strings (ie int to label). Presented as a multi select pop up menu.70. META_KEY_FRAME_KNOB, // Manages internal storage. Presented as series of numerical entry boxes and buttons. Used to manage keyframes where handled separately.71. POSITIONVECTOR_KNOB, // Stores 6 floats. Presented as 6 numerical entry boxes and a moveable 3d viewer arrow.72. CACHED_FILE_KNOB, // A FILE_KNOB which allows localization of data to local drives.73. TRANSFORM_JACK_KNOB, // WIP, not for use.74. RIPPLE_KNOB, // Manages internal storage and manipulated via RippleKnobI.h functions. Presents controls allowing definition of a frame range.75. SCENE_VIEW_KNOB, // Allows display of hierarchical scene data76. VSPACER_KNOB, // As SPACER_KNOB, but vertical instead of horizontal.77. CANCELEXECUTION_KNOB, // Simulates a "Cancel" press on the progress dialog. knob_changed() is not called on this knob.78. SIMPLE_ARRAY_KNOB, // Raw array knob79. RESIZABLE_ARRAY_KNOB, // Array knob containing resizable storage80. DISABLE_KNOB, // Knob managing special logic for disabling nodes81. ICON_KNOB, // Non-interactive icon82. FRAME_EXTENT_KNOB, // A knob providing Ops/Nodes with the ability to have a frame range rendered in the dopesheet83. RADIO_KNOB, // Radio knob, only 1 option can be selected at a time84. FREETYPE_KNOB, // Allows preview of the installed freetype font85. EDITABLE_ENUMERATION_KNOB,86. COLORSPACE_KNOB, // Handles Colorspace and Role Transform selection87. PARTICLE_CHANNELS_KNOB, // Allows the selection of particle channels88. SCENE_GRAPH_KNOB, // Improved display of hierarchical scene data89. PATH_EXPRESSION_KNOB, // For entering scene graph path matching expressions90. PATH_KNOB, // For entering scene graph pathsLAST_KNOB