def register(): logger.info("Registering appleseed renderer.") # Register render. pm.renderer("appleseed", rendererUIName="appleseed") createRenderMelProcedures() # Final Render procedures. pm.renderer( "appleseed", edit=True, renderProcedure="appleseedRenderProcedure", commandRenderProcedure="appleseedBatchRenderProcedure", batchRenderProcedure="appleseedBatchRenderProcedure", cancelBatchRenderProcedure="appleseedCancelBatchRenderProcedure", renderRegionProcedure="mayaRenderRegion") # Ipr Render procedures. pm.renderer( "appleseed", edit=True, iprRenderProcedure="appleseedIprRenderProcedure", isRunningIprProcedure="appleseedIsRunningIprRenderProcedure", startIprRenderProcedure="appleseedStartIprRenderProcedure", stopIprRenderProcedure="appleseedStopIprRenderProcedure", refreshIprRenderProcedure="appleseedRefreshIprRenderProcedure", pauseIprRenderProcedure="appleseedPauseIprRenderProcedure", changeIprRegionProcedure="appleseedChangeIprRegionProcedure", ) # Globals createRenderTabsMelProcedures() renderSettingsBuiltCallback('appleseed') pm.renderer("appleseed", edit=True, addGlobalsNode="defaultRenderGlobals") pm.renderer("appleseed", edit=True, addGlobalsNode="defaultResolution") pm.renderer("appleseed", edit=True, addGlobalsNode="appleseedRenderGlobals") pm.callbacks(addCallback=renderSettingsBuiltCallback, hook="renderSettingsBuilt", owner="appleseed") addRenderGlobalsScriptJobs() # AE templates. pm.callbacks(addCallback=appleseedAETemplateCallback, hook="AETemplateCustomContent", owner="appleseed") # Manually load templates in aetemplate folder. templatesDir = os.path.join(thisDir, "aetemplate") logger.debug("Registering AETemplates in %s" % templatesDir) for file in os.listdir(templatesDir): if fnmatch.fnmatch(file, '*template.py'): templateModule = file.replace(".py", "") logger.debug("Registering AE template %s" % templateModule) mel.eval('python("import appleseedMaya.aetemplate.%s")' % templateModule) # Hypershade callbacks asHypershadeCallbacks = [ ("hyperShadePanelBuildCreateMenu", hyperShadePanelBuildCreateMenuCallback), ("hyperShadePanelBuildCreateSubMenu", hyperShadePanelBuildCreateSubMenuCallback), ("hyperShadePanelPluginChange", hyperShadePanelPluginChangeCallback), ("createRenderNodeSelectNodeCategories", createRenderNodeSelectNodeCategoriesCallback), ("createRenderNodePluginChange", createRenderNodePluginChangeCallback), ("renderNodeClassification", renderNodeClassificationCallback), ("createRenderNodeCommand", createRenderNodeCallback), ("nodeCanBeUsedAsMaterial", nodeCanBeUsedAsMaterialCallback), ("buildRenderNodeTreeListerContent", buildRenderNodeTreeListerContentCallback) ] for h, c in asHypershadeCallbacks: logger.debug("Adding {0} callback.".format(h)) pm.callbacks(addCallback=c, hook=h, owner="appleseed") # appleseed translator. createTranslatorMelProcedures() # Logos. pm.renderer("appleseed", edit=True, logoImageName="appleseed.png") mel.eval(''' global proc appleseedLogoCallback() { evalDeferred("showHelp -absolute \\\"http://appleseedhq.net\\\""); } ''') pm.renderer("appleseed", edit=True, logoCallbackProcedure="appleseedLogoCallback") # Menu if om.MGlobal.mayaState() == om.MGlobal.kInteractive: createMenu() # XGen try: import xgenm as xg for h, c in asXGenCallbacks: xg.registerCallback(h, c) logger.info("appleseedMaya: initialized xgenseed") except Exception as e: logger.info( "appleseedMaya: could not initialize xgenseed. error = %s" % e)
def main(): menu.clear() constant.init() scheduler.init() menu.createMenu(constant.API, constant.SCHEDULE_SCRIPT, constant.SCHEDULED)
def __init__(self): Delegate.__init__(self, delete_handler=self.quit_if_last) #Add a menu in a non-kiwi way, because I can't get gazpacho to do it! self.menubar, self.uimanager = createMenu(self, "plothole_ui.xml") merge_id = self.uimanager.new_merge_id() #self.uimanager.add_ui(merge_id, "/MenuBar/Plot/", "test", "New Plot", gtk.UI_MANAGER_MENUITEM, False) self.plotmenu = self.uimanager.get_widget("/MenuBar/Plot").get_submenu() testitem = gtk.MenuItem(None) self.plotmenu.append(testitem) #testitem.connect("activate", self.new_plot_cb) testitem.show() #Setup the Source view self.source_list.set_columns(self.src_columns) self.source_list.set_selection_mode(gtk.SELECTION_MULTIPLE) self.source_listview=self.source_list.get_treeview() name_col=self.source_list.get_treeview_column(self.src_columns[2]) self.source_listview.search_column=2 #Setup the Lines list self.lines_list.set_headers_visible(True) self.lines_list.set_columns(self.lines_columns) self.gen_col_list.set_headers_visible(False) self.gen_col_list.set_columns(self.gen_columns) self.name.set_property('data-type', str) self.x_col.set_property('data-type', int) self.y_col.set_property('data-type', int) self.x_expr.set_property('data-type', str) self.y_expr.set_property('data-type', str) self.title.set_property('data-type', str) self.label.set_property('data-type', str) self.style.set_property('data-type', str) self.marker.set_property('data-type', str) self.legend_loc.set_property('data-type', str) self.legend_size.set_property('data-type', str) self.x_axis_label.set_property('data-type', str) self.y_axis_label.set_property('data-type', str) self.context_id = self.statusbar.get_context_id("test") self.plot_model=self.plt_combo.get_model() #Access to global clipboard self.clipboard = gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD) self.clipboard_text="" self.loading=False #Are we currently loading a saved session? #Ugly hack to avoid some recursion problems. self.color_button=gtk.ColorButton() #Source clipboard self.src_clipboard=[] self.src_clipboard_cut=False self.style.prefill([("-","-"), ("--","--"), (":", ":"), ("-.","-."), ("_-", "steps"), (" ","None")]) self.marker.prefill([(".", "."), ("o", "o"), ("^", "^"), ("v", "v"), ("+", "+"), ("x", "x"), ("s", "s"), (",",","), (" ", "None")]) #x_col_liststore = self.x_col.get_model_items() #x_col_liststore.set_column_types("str", "str") self.x_col.prefill([("0",0),("1",1)]) self.y_col.prefill([("0",0),("1",1)]) self.legend_loc.prefill(["best", "upper right", "center right", "lower right", "lower center", "lower left", "center left", "upper left", "upper center", "center"]) self.legend_size.prefill(["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"]) self.src_proxy=self.add_proxy(Source(), [ "name", "x_expr_enable", "x_expr", "x_col", "y_col", "y_expr_enable", "y_expr", "norm_enable", "norm_min_pt", "norm_min_y", "norm_max_pt", "norm_max_y", "comment", "transpose" ]) self.plt_proxy=self.add_proxy(Plot(), [ "title", "shown", "xlim_enable", "ylim_enable", "xlim_min", "xlim_max", "ylim_min", "ylim_max", "legend_enable", "legend_loc", "legend_size", "legend_border", "x_axis_label", "x_axis_label_enable", "y_axis_label", "y_axis_label_enable", "x_grid_enable", "y_grid_enable", "x_majorticks_enable", "x_minorticks_enable", "x_majorticks_maxn", "x_minorticks_maxn", "y_majorticks_enable", "y_minorticks_enable", "y_majorticks_maxn", "y_minorticks_maxn", "mpl_commands", "figheight", "figwidth", "x_log_enable", "y_log_enable", ]) self.line_proxy=self.add_proxy(Line(), [ "label", "style", "marker", "width", "x_scale_enable", "y_scale_enable", "x_scale", "y_scale", "x_shift_enable", "y_shift_enable", "x_shift", "y_shift", "x_column", "y_column", "source_columns_enable" ]) # self.gen_col_proxy=self.add_proxy(GeneratedColumn(), [ # "id", "name", "expr" # ]) #Setup the line color selector (is there a more "kiwi" way?) self.line_colorseldlg = None self.color = self.line_color_area.get_colormap().alloc_color(0, 65535, 0) self.line_color_area.set_events(gtk.gdk.BUTTON_PRESS_MASK) self.line_color_area.connect("event", self.line_color_area_event) #These are "hooks", which get called every time a proxy is updated. self.src_proxy.proxy_updated = self.src_proxy_updated self.plt_proxy.proxy_updated = self.plt_proxy_updated self.line_proxy.proxy_updated = self.line_proxy_updated #Drag'n drop Sources setup source_listview = self.source_list.get_treeview() source_listview.enable_model_drag_dest([("text/uri-list",0,80)], gtk.gdk.ACTION_COPY) self.source_list.enable_dnd() source_listview.connect("drag_data_received",self.on_drag_data_received) #Initial widget sensitivity self.expressions_expander.set_sensitive(False) self.source_pane.set_sensitive(False) self.plot_pane.set_sensitive(False) self.line_notebook.set_sensitive(False)
def main(): # calling menu function constants.init() schedule.init() menu.createMenu(constants.API, constants.ICON_NAME, constants.SCHEDULE_SCRIPT)
def register(): logger.info("Registering appleseed renderer.") # Register render. pm.renderer("appleseed", rendererUIName="appleseed") # Final Render procedures. createRenderMelProcedures() pm.renderer( "appleseed", edit=True, renderProcedure="appleseedRenderProcedure", commandRenderProcedure="appleseedBatchRenderProcedure", batchRenderProcedure="appleseedBatchRenderProcedure", cancelBatchRenderProcedure="appleseedCancelBatchRenderProcedure", renderRegionProcedure="mayaRenderRegion") # Ipr Render procedures. pm.renderer( "appleseed", edit=True, iprRenderProcedure="appleseedIprRenderProcedure", isRunningIprProcedure="appleseedIsRunningIprRenderProcedure", startIprRenderProcedure="appleseedStartIprRenderProcedure", stopIprRenderProcedure="appleseedStopIprRenderProcedure", refreshIprRenderProcedure="appleseedRefreshIprRenderProcedure", pauseIprRenderProcedure="appleseedPauseIprRenderProcedure", changeIprRegionProcedure="appleseedChangeIprRegionProcedure", ) # Globals createRenderTabsMelProcedures() pm.renderer("appleseed", edit=True, addGlobalsNode="defaultRenderGlobals") pm.renderer("appleseed", edit=True, addGlobalsNode="defaultResolution") pm.renderer("appleseed", edit=True, addGlobalsNode="appleseedRenderGlobals") pm.renderer("appleseed", edit=True, addGlobalsTab=("Common", "createMayaSoftwareCommonGlobalsTab", "updateMayaSoftwareCommonGlobalsTab")) pm.renderer("appleseed", edit=True, addGlobalsTab=("Appleseed", "appleseedCreateTabProcedure", "appleseedUpdateTabProcedure")) # Extension attributes. addExtensionAttributes() # AE templates. pm.callbacks(addCallback=appleseedAETemplateCallback, hook="AETemplateCustomContent", owner="appleseed") # Manually load templates in aetemplate folder. templatesDir = os.path.join(thisDir, "aetemplate") logger.debug("Registering AETemplates in %s" % templatesDir) for file in os.listdir(templatesDir): if fnmatch.fnmatch(file, '*template.py'): templateModule = file.replace(".py", "") logger.debug("Registering AE template %s" % templateModule) mel.eval('python("import appleseedMaya.aetemplate.%s")' % templateModule) # Hypershader callbacks pm.callbacks(addCallback=hyperShadePanelBuildCreateMenuCallback, hook="hyperShadePanelBuildCreateMenu", owner="appleseed") pm.callbacks(addCallback=hyperShadePanelBuildCreateSubMenuCallback, hook="hyperShadePanelBuildCreateSubMenu", owner="appleseed") pm.callbacks(addCallback=buildRenderNodeTreeListerContentCallback, hook='buildRenderNodeTreeListerContent', owner="appleseed") pm.callbacks(addCallback=createRenderNodeCallback, hook='createRenderNodeCommand', owner="appleseed") pm.callbacks(addCallback=connectNodeToNodeOverrideCallback, hook='connectNodeToNodeOverrideCallback', owner="appleseed") # Appleseed translator. createTranslatorMelProcedures() # Logos. if appleseedIconsPath(): pm.renderer("appleseed", edit=True, logoImageName=os.path.join(appleseedIconsPath(), "appleseed.png")) mel.eval(''' global proc appleseedLogoCallback() { evalDeferred("showHelp -absolute \\\"http://appleseedhq.net\\\""); } ''') pm.renderer("appleseed", edit=True, logoCallbackProcedure="appleseedLogoCallback") else: logger.info( "appleseedMaya: skipping logo registration. Logo not found") # Menu createMenu()
def register(): logger.info("Registering appleseed renderer.") # Register render. pm.renderer("appleseed", rendererUIName="Appleseed") # Final Render procedures. createRenderMelProcedures() pm.renderer( "appleseed", edit=True, renderProcedure="appleseedRenderProcedure", commandRenderProcedure="appleseedBatchRenderProcedure", batchRenderProcedure="appleseedBatchRenderProcedure", cancelBatchRenderProcedure="appleseedCancelBatchRenderProcedure", renderRegionProcedure="mayaRenderRegion" ) # Ipr Render procedures. pm.renderer( "appleseed", edit=True, iprRenderProcedure="appleseedIprRenderProcedure", isRunningIprProcedure="appleseedIsRunningIprRenderProcedure", startIprRenderProcedure="appleseedStartIprRenderProcedure", stopIprRenderProcedure="appleseedStopIprRenderProcedure", refreshIprRenderProcedure="appleseedRefreshIprRenderProcedure", pauseIprRenderProcedure="appleseedPauseIprRenderProcedure", changeIprRegionProcedure="appleseedChangeIprRegionProcedure", ) # Globals createRenderTabsMelProcedures() addRenderGlobalsScriptJobs() pm.renderer("appleseed", edit=True, addGlobalsNode="defaultRenderGlobals") pm.renderer("appleseed", edit=True, addGlobalsNode="defaultResolution") pm.renderer("appleseed", edit=True, addGlobalsNode="appleseedRenderGlobals") mel.eval('registerUpdateRendererUIProc("evalDeferred -lp appleseedCurrentRendererChanged");') pm.renderer( "appleseed", edit=True, addGlobalsTab=( "Common", "createMayaSoftwareCommonGlobalsTab", "appleseedUpdateCommonTabProcedure" ) ) pm.renderer( "appleseed", edit=True, addGlobalsTab=( "Appleseed", "appleseedCreateAppleseedTabProcedure", "appleseedUpdateAppleseedTabProcedure" ) ) # AE templates. pm.callbacks( addCallback=appleseedAETemplateCallback, hook="AETemplateCustomContent", owner="appleseed") # Manually load templates in aetemplate folder. templatesDir = os.path.join(thisDir, "aetemplate") logger.debug("Registering AETemplates in %s" % templatesDir) for file in os.listdir(templatesDir): if fnmatch.fnmatch(file, '*template.py'): templateModule = file.replace(".py", "") logger.debug("Registering AE template %s" % templateModule) mel.eval('python("import appleseedMaya.aetemplate.%s")' % templateModule) # Hypershader callbacks pm.callbacks( addCallback=hyperShadePanelBuildCreateMenuCallback, hook="hyperShadePanelBuildCreateMenu", owner="appleseed" ) pm.callbacks( addCallback=hyperShadePanelBuildCreateSubMenuCallback, hook="hyperShadePanelBuildCreateSubMenu", owner="appleseed" ) pm.callbacks( addCallback=buildRenderNodeTreeListerContentCallback, hook='buildRenderNodeTreeListerContent', owner="appleseed" ) pm.callbacks( addCallback=createRenderNodeCallback, hook='createRenderNodeCommand', owner="appleseed") pm.callbacks( addCallback=connectNodeToNodeOverrideCallback, hook='connectNodeToNodeOverrideCallback', owner="appleseed") # Appleseed translator. createTranslatorMelProcedures() # Logos. if appleseedIconsPath(): pm.renderer( "appleseed", edit=True, logoImageName=os.path.join(appleseedIconsPath(), "appleseed.png") ) mel.eval(''' global proc appleseedLogoCallback() { evalDeferred("showHelp -absolute \\\"http://appleseedhq.net\\\""); } ''' ) pm.renderer( "appleseed", edit=True, logoCallbackProcedure="appleseedLogoCallback" ) else: logger.info("appleseedMaya: skipping logo registration. Logo not found") # Menu if om.MGlobal.mayaState() == om.MGlobal.kInteractive: createMenu() # XGen try: import xgenm as xg xg.registerCallback("RenderAPIRendererTabUIInit" , "appleseedMaya.xgenseedui.xgseedUI" ) xg.registerCallback("RenderAPIRendererTabUIRefresh", "appleseedMaya.xgenseedui.xgseedRefresh" ) xg.registerCallback("PostDescriptionCreate" , "appleseedMaya.xgenseedui.xgseedOnCreateDescription" ) xg.registerCallback("ArchiveExport" , "appleseedMaya.xgenseed.xgseedArchiveExport") xg.registerCallback("ArchiveExportInfo", "appleseedMaya.xgenseed.xgseedArchiveExportInfo") xg.registerCallback("ArchiveExportInit", "appleseedMaya.xgenseed.xgseedArchiveExportInit") logger.info("appleseedMaya: initialized xgenseed") except Exception as e: logger.info("appleseedMaya: could not initialize xgenseed. error = %s" % e)