Skip to content

Instantly share code, notes, and snippets.

View gfxhacks's full-sized avatar

Gfxhacks gfxhacks

View GitHub Profile
gfxhacks /
Created August 19, 2020 13:58
Autodesk Maya: Takes a screenshot of the active viewport using the playblast feature and saves it next to the scene file. For more info:
Desc: Captures and saves a scene preview based on the active viewport, at the current frame. Uses playblast feature.
import maya.cmds as cmds
import os
import time
gfxhacks / timer_rig.jsx
Created August 9, 2020 04:51
Full featured Countdown Timer rig for Adobe After Effects. More info at
// Usage: In AE 2020 (17.0) or above, create a new composition or open an existing one. Then choose File -> Scripts -> Run Script File... to launch this script.
Title: timer_rig.jsx
Description: Create a new Timer object in the active After Effects composition.
More Info:
app.beginUndoGroup("Create Timer");
gfxhacks /
Created July 4, 2020 04:31
Snippets to extract path, filename, and extension from a full path input in bash. More info:
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`
gfxhacks /
Created July 4, 2020 04:27
Command snippets when working with metadata in OSX. More info:
# 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
#-- 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 /
Created July 4, 2020 01:48
Rename a file from a specified date metadata value in OSX. More info:
#Cmd Usage: sh file.ext kMDItemName
# Title:
# Desc: Rename a file from a specified date metadata value.
# Author:
# More Info:
# kMDItem DATE descriptor options:
# Common Metadata Attributes:
# kMDItemContentCreationDate
gfxhacks /
Last active June 19, 2020 17:06
Snippets to query and edit 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
# ...otherwise remove by id - useful to remove existing parameters
# 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
# float
p = hou.FloatParmTemplate("float1", "Float 1", 1)
# button
p = hou.ButtonParmTemplate(
"Button 1",
script_callback='print("Hello World!")',
# 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
# remove item from folder (same as for group)