Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Stalkerx777 last won the day on July 16

Stalkerx777 had the most liked content!

Community Reputation

106 Excellent

About Stalkerx777

Contact Methods

  • Skype

Personal Information

  • Name
    Alex Rusev
  • Location
    Vancouver, Canada

Recent Profile Visitors

8,097 profile views
  1. Seems like what you want is a semi-dynamic menu, which gets updated on request. You can do something along those lines: In the menu script: return hou.phm().my_menu_values(kwargs['node']) In your PythonModule: LIST_DIR = False def my_menu_values(node): if not node.cachedUserData('menu_values'): node.setCachedUserData('menu_values', read_dir_or_something()) if LIST_DIR: node.setCachedUserData('menu_values', read_dir_or_something()) return node.cachedUserData('menu_values') Then in your button callback: kwargs['node'].phm().LIST_DIR = True # force menu to cook kwargs['node'].parm('my_menu').menuItems() kwargs['node'].phm().LIST_DIR = False P.S. Untested
  2. Without looking into that classes, I would assume that UT_JSONValueMap->append() takes ownership of its contents and deleting rootMap also deletes the floatV data, and so you're getting a "double free" error. See if UT_JSONValueMap owns the values and if so, you don't need to delete floatV yourself.
  3. Force python sop NOT to cook

    How about just adding a control parm to the node and set it to True when you want it to cook. Or use hou.Node.userData for that matter. if node.evalParm('cook?'): # Yes please
  4. HOM from shell in macOS

    Don't complicate life, just use the Hython interpreter unless you absolutely must stick to system's Python.
  5. access menu item

    No there is no way to do that unless you build XML files with Python before Houdini initialize.
  6. Creating ALIAS for launching houdini

    alias houdini_run='cd /opt/hfs16.5.595; source houdini_setup >> /dev/null; cd - >> /dev/null; env PATH=/home/jim/yt-conda/bin:/home/jim/yt-conda/sbin:$PATH houdini'
  7. PySide to PySyde2 UI

    It's true that official release does not provide Python2.7 binaries for windows: https://download.qt.io/official_releases/QtForPython/pyside2/
  8. PySide to PySyde2 UI

  9. Progress Bar in a User's Property Page

    What is a "user defined property page"?
  10. Set Script to Existing Button

    Right, here is a working solution: n = hou.node('/obj/geo1') ptg = n.parmTemplateGroup() pt = ptg.find('myParm') pt.setScriptCallback('print 123') pt.setScriptCallbackLanguage(hou.scriptLanguage.Python) ptg.replace('myParm', pt) n.setParmTemplateGroup(ptg)
  11. Set Script to Existing Button

    Take a look at hou.ParmTemplate.setTags() method.
  12. Configuring PATHs for installed Python packages

    I don't know the specifics of this package, but for a regular Python package you need PYTHONPATH variable and not PATH
  13. houdini python and mply

    import subprocess subprocess.Popen(['gplay', '/path/to/your/geometry.$F4.bgeo']) gplay must be in PATH, otherwise, specify a full path to it ($HFS/bin/gplay)
  14. Editing Parameter Interface with Python

    Untested, off the top of my head: node = hou.node('your_node') ptg = node.parmTemplateGroup() for i, file_path in enumerate(paths): pt = hou.StringParmTemplate('file%d' % i, 'File %d' %i, 1, file_path) ptg.addParmTemplate(pt) node.setParmTemplate(ptg) Or you could multi-parm block: hou.FolderParmTemplate( ... folder_type=MultiparmBlock)
  15. Multisolver Inputs

    Unfortunately, this is not possible at this moment. It could be quite useful, there were a few times when I wished this feature existed.