Skip to content

Instantly share code, notes, and snippets.

View gfxhacks's full-sized avatar

Gfxhacks gfxhacks

View GitHub Profile
@gfxhacks
gfxhacks / myProjectTemplate.py
Created May 14, 2020 17:33
Example of how to use at: gfxhacks.com/project-folder-templates-in-finder-using-python
import os
def createFolder(folder):
try:
if not os.path.exists(folder):
os.makedirs(folder)
except OSError:
print('Error creating folder: ' + folder)
createFolder('My New Folder')
@gfxhacks
gfxhacks / MotionGraphicsTemplate.py
Last active May 14, 2020 17:34
A complete motion graphics project template, ready to customize... More at: gfxhacks.com/project-folder-templates-in-finder-using-python
# cd to folder in Terminal, then run script.
import os
def createFolder(folder):
try:
if not os.path.exists(folder):
os.makedirs(folder)
except OSError:
print ('Error creating folder: ' + folder)
@gfxhacks
gfxhacks / AfterEffectsTemplate.py
Last active May 14, 2020 17:34
After Effects Project Template. More at: gfxhacks.com/project-folder-templates-in-finder-using-python
# cd to folder in Terminal, then run script using python.
import os
def createFolder(folder):
try:
if not os.path.exists(folder):
os.makedirs(folder)
except OSError:
print ('Error creating folder: ' + folder)
# define new folder
f = hou.FolderParmTemplate("myFolder", "My Folder")
# define new simple folder (no tab)
f = hou.FolderParmTemplate("myFolder", "My Folder", folder_type=hou.folderType.Simple)
# add parameter at bottom of folder
f.addParmTemplate(p)
# remove item from folder (same as for group)
# float
p = hou.FloatParmTemplate("float1", "Float 1", 1)
# button
p = hou.ButtonParmTemplate(
"btn1",
"Button 1",
script_callback='print("Hello World!")',
script_callback_language=hou.scriptLanguage.Python
),
# get node (find the path in your node's info panel)
n = hou.node("/path/to/node")
# get existing list of parameters for the specified node
g = n.parmTemplateGroup()
# define new float parameter ("id", "Label", components/input fields, default values)
p = hou.FloatParmTemplate("myParm", "My Parameter", 3, default_value=[1, 1, 1])
# append the new parameter to the list
@gfxhacks
gfxhacks / queryEditParameters.py
Last active June 19, 2020 17:06
Snippets to query and edit Parameters in Houdini with Python: https://gfxhacks.com/create-parameters-in-houdini-with-python
# edit a parameter using replace
oldParm = "oldParmId"
newParm = hou.FloatParmTemplate("newParmId", "NewParmLabel", 3, default_value=[1, 1, 1])
g.replace(oldParm, newParm)
# if you defined a parameter earlier
g.remove(p)
# ...otherwise remove by id - useful to remove existing parameters
#-- Make sure to specify your own filename.ext and all .ext instances.
#-- To overwrite the file, swap cp with mv.
# copy and rename file
cp filename.ext "newFileName-$(mdls -name kMDItemContentCreationDate filename.ext | sed 's/[^0-9]//g' | cut -c 3-14).ext"
# copy and rename all files in folder with specified extension.
for i in folder/*.ext; do cp "$i" "SomeTextHere-$(mdls -name kMDItemContentCreationDate "$i" | sed -e 's/[^0-9]//g' | cut -c 3-8)-someMoreTextHere.ext"; done
@gfxhacks
gfxhacks / fileMetadataOSXCommands.sh
Created July 4, 2020 04:27
Command snippets when working with metadata in OSX. More info: https://gfxhacks.com/renaming-files-by-date-from-metadata
# Based on this example date: 2020-12-31 16:01:33 +0000
# ---- Reading Metadata ---- #
# read all file's metadata attributes
mdls file.ext
# get file's metadata attribute by name
mdls -name kMDItemContentCreationDate file.ext
@gfxhacks
gfxhacks / extractPathDetails.sh
Created July 4, 2020 04:31
Snippets to extract path, filename, and extension from a full path input in bash. More info: https://gfxhacks.com/renaming-files-by-date-from-metadata/#extracting-path-filename-and-extension
FILEPATH=`dirname path/to/file.ext`
# returns: path/to
FILENAME=`basename path/to/file.ext`
# returns: file.ext
FILENAME=`basename path/to/file.ext | rev | cut -d . -f 2- | rev`
# returns: file
FILEEXT=`rev <<< path/to/file.ext | cut -d . -f 1 | rev`