OCIO::ConstContextRcPtr manager_t::get_context( const context_t *ctx) const { OCIO::ConstConfigRcPtr cfg = config(); OCIO::ConstContextRcPtr context = cfg->getCurrentContext(); if( !ctx) return context; OCIO::ContextRcPtr mutable_context; for( int i = 0; i < ctx->size(); ++i) { std::pair<std::string, std::string> ctx_pair = (*ctx)[i]; if( !ctx_pair.first.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); mutable_context->setStringVar( ctx_pair.first.c_str(), ctx_pair.second.c_str()); } } if( mutable_context) return mutable_context; return context; }
OCIO::ConstContextRcPtr ocio_colorspace_node_t::get_local_context() { OCIO::ConstConfigRcPtr config = app().ocio_manager().config(); OCIO::ConstContextRcPtr context = config->getCurrentContext(); OCIO::ContextRcPtr mutable_context; std::string key = get_value<std::string>( param( "key1")); if( !key.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); std::string value = get_value<std::string>( param( "value1")); mutable_context->setStringVar( key.c_str(), value.c_str()); } key = get_value<std::string>( param( "key2")); if( !key.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); std::string value = get_value<std::string>( param( "value2")); mutable_context->setStringVar( key.c_str(), value.c_str()); } key = get_value<std::string>( param( "key3")); if( !key.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); std::string value = get_value<std::string>( param( "value3")); mutable_context->setStringVar( key.c_str(), value.c_str()); } key = get_value<std::string>( param( "key4")); if( !key.empty()) { if(!mutable_context) mutable_context = context->createEditableCopy(); std::string value = get_value<std::string>( param( "value4")); mutable_context->setStringVar( key.c_str(), value.c_str()); } if( mutable_context) context = mutable_context; return context; }
OCIO::ConstContextRcPtr flipbook_t::get_local_context() { OCIO::ConstConfigRcPtr config = app().ocio_manager().config(); OCIO::ConstContextRcPtr context = config->getCurrentContext(); OCIO::ContextRcPtr mutable_context; std::pair<std::string, std::string> ctx_pair; ctx_pair = app().document().composition().ocio_context_pairs()[0]; if( !ctx_pair.first.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); mutable_context->setStringVar( ctx_pair.first.c_str(), ctx_pair.second.c_str()); } ctx_pair = app().document().composition().ocio_context_pairs()[1]; if( !ctx_pair.first.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); mutable_context->setStringVar( ctx_pair.first.c_str(), ctx_pair.second.c_str()); } ctx_pair = app().document().composition().ocio_context_pairs()[2]; if( !ctx_pair.first.empty()) { if( !mutable_context) mutable_context = context->createEditableCopy(); mutable_context->setStringVar( ctx_pair.first.c_str(), ctx_pair.second.c_str()); } ctx_pair = app().document().composition().ocio_context_pairs()[3]; if( !ctx_pair.first.empty()) { if(!mutable_context) mutable_context = context->createEditableCopy(); mutable_context->setStringVar( ctx_pair.first.c_str(), ctx_pair.second.c_str()); } if( mutable_context) context = mutable_context; return context; }