Esempio n. 1
0
void OCIOFileTransform::knobs(DD::Image::Knob_Callback f)
{

    File_knob(f, &src, "src", "src");
    const char * srchelp = "Specify the src file, on disk, to use for this transform. "
    "This can be any file format that OpenColorIO supports: "
    ".3dl, .cc, .ccc, .csp, .cub, .cube, .lut (houdini), .mga, .m3d, .spi1d, .spi3d, .spimtx, .vf";
    DD::Image::Tooltip(f, srchelp);
    
    String_knob(f, &cccid, "cccid");
    const char * srchelp2 = "If the source file is an ASC CDL CCC (color correction collection), "
    "this specifys the id to lookup. OpenColorIO::Contexts (envvars) are obeyed.";
    DD::Image::Tooltip(f, srchelp2);
    
    DD::Image::PyScript_knob(f, "import ocionuke.cdl; ocionuke.cdl.select_cccid_for_filetransform()", "select_cccid", "select cccid");
    
    Enumeration_knob(f, &dirindex, dirs, "direction", "direction");
    DD::Image::Tooltip(f, "Specify the transform direction.");
    
    Enumeration_knob(f, &interpindex, interp, "interpolation", "interpolation");
    DD::Image::Tooltip(f, "Specify the interpolation method. For files that are not LUTs (mtx, etc) this is ignored.");
    
    DD::Image::Divider(f);
    
    DD::Image::Input_ChannelSet_knob(f, &layersToProcess, 0, "layer", "layer");
    DD::Image::SetFlags(f, DD::Image::Knob::NO_CHECKMARKS | DD::Image::Knob::NO_ALPHA_PULLDOWN);
    DD::Image::Tooltip(f, "Set which layer to process. This should be a layer with rgb data.");
}
Esempio n. 2
0
void OCIOCDLTransform::knobs(DD::Image::Knob_Callback f)
{

    // ASC CDL grade numbers
    DD::Image::Color_knob(f, m_slope, DD::Image::IRange(0, 4.0), "slope");
    DD::Image::Color_knob(f, m_offset, DD::Image::IRange(-0.2, 0.2), "offset");
    DD::Image::Color_knob(f, m_power, DD::Image::IRange(0.0, 4.0), "power");
    DD::Image::Float_knob(f, &m_saturation, DD::Image::IRange(0, 4.0), "saturation");

    Enumeration_knob(f, &m_dirindex, dirs, "direction", "direction");
    DD::Image::Tooltip(f, "Specify the transform direction.");

    DD::Image::Divider(f);

    // Cache ID
    DD::Image::String_knob(f, &m_cccid, "cccid", "cccid");
    DD::Image::SetFlags(f, DD::Image::Knob::ENDLINE);

    // Import/export buttons
    DD::Image::PyScript_knob(f, "import ocionuke.cdl; ocionuke.cdl.export_as_cc()", "export_cc", "export grade as .cc");
    DD::Image::Tooltip(f, "Export this grade as a ColorCorrection XML file, which can be loaded with the OCIOFileTransform, or using a FileTransform in an OCIO config");

    DD::Image::PyScript_knob(f, "import ocionuke.cdl; ocionuke.cdl.import_cc_from_xml()", "import_cc", "import from .cc");
    DD::Image::Tooltip(f, "Import grade from a ColorCorrection XML file");

    DD::Image::Divider(f);

    // Layer selection
    DD::Image::Input_ChannelSet_knob(f, &layersToProcess, 0, "layer", "layer");
    DD::Image::SetFlags(f, DD::Image::Knob::NO_CHECKMARKS | DD::Image::Knob::NO_ALPHA_PULLDOWN);
    DD::Image::Tooltip(f, "Set which layer to process. This should be a layer with rgb data.");
}
Esempio n. 3
0
void OCIOLookTransform::knobs(DD::Image::Knob_Callback f)
{
    DD::Image::Enumeration_knob(f, &m_inputColorSpaceIndex, &m_inputColorSpaceCstrNames[0], "in_colorspace", "in");
    DD::Image::Tooltip(f, "Input data is taken to be in this colorspace.");

    DD::Image::Enumeration_knob(f, &m_lookIndex, &m_lookCstrNames[0], "look", "look");
    DD::Image::Tooltip(f, "Specify the look to apply, as predefined in the OpenColorIO configuration.");
    
    DD::Image::Spacer(f, 8);
    
    Enumeration_knob(f, &m_dirIndex, directions, "direction", "direction");
    DD::Image::Tooltip(f, "Specify the look transform direction. in/out colorspace handling is not affected.");
    DD::Image::ClearFlags(f, DD::Image::Knob::STARTLINE );
    
    DD::Image::Enumeration_knob(f, &m_outputColorSpaceIndex, &m_outputColorSpaceCstrNames[0], "out_colorspace", "out");
    DD::Image::Tooltip(f, "Image data is converted to this colorspace for output.");
    
    DD::Image::Bool_knob(f, &m_ignoreErrors, "ignore_errors", "ignore errors");
    DD::Image::Tooltip(f, "If enabled, looks that cannot find the specified correction"
                          " are treated as a normal ColorSpace conversion instead of triggering a render error.");
    DD::Image::SetFlags(f, DD::Image::Knob::STARTLINE );
    
    DD::Image::BeginClosedGroup(f, "Context");
    {
        DD::Image::String_knob(f, &m_contextKey1, "key1");
        DD::Image::Spacer(f, 10);
        DD::Image::String_knob(f, &m_contextValue1, "value1");
        DD::Image::ClearFlags(f, DD::Image::Knob::STARTLINE);
        
        DD::Image::String_knob(f, &m_contextKey2, "key2");
        DD::Image::Spacer(f, 10);
        DD::Image::String_knob(f, &m_contextValue2, "value2");
        DD::Image::ClearFlags(f, DD::Image::Knob::STARTLINE);
        
        DD::Image::String_knob(f, &m_contextKey3, "key3");
        DD::Image::Spacer(f, 10);
        DD::Image::String_knob(f, &m_contextValue3, "value3");
        DD::Image::ClearFlags(f, DD::Image::Knob::STARTLINE);
        
        DD::Image::String_knob(f, &m_contextKey4, "key4");
        DD::Image::Spacer(f, 10);
        DD::Image::String_knob(f, &m_contextValue4, "value4");
        DD::Image::ClearFlags(f, DD::Image::Knob::STARTLINE);
    }
    DD::Image::EndGroup(f);
    
    
    DD::Image::Divider(f);

    DD::Image::Input_ChannelSet_knob(f, &m_layersToProcess, 0, "layer", "layer");
    DD::Image::SetFlags(f, DD::Image::Knob::NO_CHECKMARKS | DD::Image::Knob::NO_ALPHA_PULLDOWN);
    DD::Image::Tooltip(f, "Set which layer to process. This should be a layer with rgb data.");
}
Esempio n. 4
0
void OCIOFileTransform::knobs(DD::Image::Knob_Callback f)
{
    File_knob(f, &m_file, "file", "file");
    DD::Image::Tooltip(f, "Specify the file, on disk, to use for this transform. See the node help for the list of supported formats.");

    // Reload button, and hidden "version" knob to invalidate cache on reload
    Button(f, "reload", "reload");
    DD::Image::Tooltip(f, "Reloads specified files");
    Int_knob(f, &m_reload_version, "version");
    DD::Image::SetFlags(f, DD::Image::Knob::HIDDEN);
    
    String_knob(f, &m_cccid, "cccid");
    const char * srchelp2 = "If the source file is an ASC CDL CCC (color correction collection), "
    "this specifys the id to lookup. OpenColorIO::Contexts (envvars) are obeyed.";
    DD::Image::Tooltip(f, srchelp2);
    
    DD::Image::PyScript_knob(f, "import ocionuke.cdl; ocionuke.cdl.select_cccid_for_filetransform(fileknob='file', cccidknob = 'cccid')", "select_cccid", "select cccid");
    
    Enumeration_knob(f, &m_dirindex, dirs, "direction", "direction");
    DD::Image::Tooltip(f, "Specify the transform direction.");
    
    Enumeration_knob(f, &m_interpindex, interp, "interpolation", "interpolation");
    DD::Image::Tooltip(f, "Specify the interpolation method. For files that are not LUTs (mtx, etc) this is ignored.");
}
Esempio n. 5
0
void OCIOLookTransform::knobs(DD::Image::Knob_Callback f)
{
#ifdef OCIO_CASCADE
    DD::Image::CascadingEnumeration_knob(f,
        &m_inputColorSpaceIndex, &m_inputColorSpaceCstrNames[0], "in_colorspace", "in");
#else
    DD::Image::Enumeration_knob(f,
        &m_inputColorSpaceIndex, &m_inputColorSpaceCstrNames[0], "in_colorspace", "in");
#endif
    DD::Image::Tooltip(f, "Input data is taken to be in this colorspace.");
    
    
    DD::Image::Enumeration_knob(f, &m_lookIndex, &m_lookCstrNames[0], "look", "look");
    DD::Image::Tooltip(f, "Specify the look to apply, as predefined in the OpenColorIO configuration.");
    
    DD::Image::Spacer(f, 8);
    
    Enumeration_knob(f, &m_dirIndex, directions, "direction", "direction");
    DD::Image::Tooltip(f, "Specify the look transform direction. in/out colorspace handling is not affected.");
    DD::Image::ClearFlags(f, DD::Image::Knob::STARTLINE );
    
#ifdef OCIO_CASCADE
    DD::Image::CascadingEnumeration_knob(f,
        &m_outputColorSpaceIndex, &m_outputColorSpaceCstrNames[0], "out_colorspace", "out");
#else
    DD::Image::Enumeration_knob(f,
        &m_outputColorSpaceIndex, &m_outputColorSpaceCstrNames[0], "out_colorspace", "out");
#endif
    DD::Image::Tooltip(f, "Image data is converted to this colorspace for output.");
    
    
    DD::Image::Bool_knob(f, &m_ignoreErrors, "ignore_errors", "ignore errors");
    DD::Image::Tooltip(f, "If enabled, looks that cannot find the specified correction"
                          " are treated as a normal ColorSpace conversion instead of triggering a render error.");
    DD::Image::SetFlags(f, DD::Image::Knob::STARTLINE );
}
Esempio n. 6
0
void OCIOLogConvert::knobs(DD::Image::Knob_Callback f)
{

    Enumeration_knob(f, &modeindex, modes, "operation", "operation");
    DD::Image::SetFlags(f, DD::Image::Knob::ALWAYS_SAVE);
}