<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff Foreground: #000 PrimaryPale: #8cf PrimaryLight: #18f PrimaryMid: #04b PrimaryDark: #014 SecondaryPale: #ffc SecondaryLight: #fe8 SecondaryMid: #db4 SecondaryDark: #841 TertiaryPale: #eee TertiaryLight: #ccc TertiaryMid: #999 TertiaryDark: #666 Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers: * [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar) * [[MainMenu]]: The menu (usually on the left) * [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]]) <<option txtUserName>> <<option chkSaveBackups>> [[SaveBackups]] <<option chkAutoSave>> [[AutoSave]] <<option chkRegExpSearch>> [[RegExpSearch]] <<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]] <<option chkAnimate>> [[EnableAnimations]] ---- Also see [[AdvancedOptions]]
<<importTiddlers>>
This is the support and documentation page for Maya Tools. Browse tools from the menu on the left.
[[ToolsWiki]]
Documentation and Support
ml_ Tools Wiki
[[Tools Home|http://morganloomis.com/download/]] [[ml_arcTracer]] [[ml_breakdownDragger]] [[ml_cameraDepthDragger]] [[ml_convertRotationOrder]] [[ml_copyAnim]] [[ml_deleteKey]] [[ml_hold]] [[ml_keyValueDragger]] [[ml_lockAndHideAttributes]] [[ml_resetChannels]] [[ml_selectKeyed]] [[ml_setKey]] [[ml_toggleVisibility]] [[ml_utilities]] [[ml_worldBake]]
http://morganloomis.com/wiki/tools.html
|bgcolor(lightgrey):Download| [[ml_deleteKey.py|http://morganloomis.com/download/ml_deleteKey.py]] | |bgcolor(lightgrey):Revision| 2 | |bgcolor(lightgrey):Last Update| 2012-03-29 | |>|[[Installation Instructions|Installing ml_deleteKey.py]]| !!!Description This is a more robust tool for deleting keyframes in Maya, including deleting keys on selected channels, current frame, or visible in graph editor. !!!Usage Run the tool, select the options, and press the Delete Key button. Alternately, set the options and right click the button to create a hotkey or shelf button. The options all work together, they are evaluated in the order listed in the UI. For example, if all options are checked, it will first look for selected keys to delete. If no keys are selected, it will check if the channel box is highlighted. And so on. !!!Requirements This script requires the following modules to run. Make sure you have the latest versions downloaded to your script directory. [[ml_utilities]] !!!UI Options |<html></html> Selected Keys|Delete the keys selected in the graph editor.| |<html></html> Selected Channels|Delete all the keys on selected channels. (Unless overridden above)| |<html></html> Visible in Graph Editor|Only delete keys that are visible in the graph editor. (Unless overridden above)| |<html></html> Current Frame|Delete the keys on the current frame. (Unless overridden above)| |<html></html> Delete Sub-Frames|Delete sub-frame keys surrounding the current frame.| |<html></html>|Run the command.| ||Right-click for more options| !!!More Info *[[ml_deleteKey Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_deleteKey]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 2|bgcolor(lightgrey):2012-03-29|Fixing bugs, published first version too quickly!| |Revision 1|bgcolor(lightgrey):2012-03-29|First publish.|
!!!Installing the File
To use [[ml_deleteKey]], download [[ml_deleteKey.py|http://morganloomis.com/download/ml_deleteKey.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_deleteKey.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_deleteKey
ml_deleteKey.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_deleteKey;ml_deleteKey.ui()");
}}}<html>
| ml_deleteKey | index /Users/morganloomis/Dropbox/maya/scripts/toolbox/ml/mlOnline/ml_deleteKey.py |
# -= ml_deleteKey.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 1, 2012-03-29
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_deleteKey.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_deleteKey
# ml_deleteKey.ui()
# From MEL, this looks like:
# python("import ml_deleteKey;ml_deleteKey.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This is a more robust tool for deleting keyframes in Maya, including
# deleting keys on selected channels, current frame, or visible in graph editor.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the tool, select the options, and press the Delete Key button.
# Alternately, set the options and right click the button to create
# a hotkey or shelf button. The options all work together, they are evaluated
# in the order listed in the UI. For example, if all options are checked, it
# will first look for selected keys to delete. If no keys are selected, it
# will check if the channel box is highlighted. And so on.
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [] Selected Keys : Delete the keys selected in the graph editor.
# [] Selected Channels : Delete all the keys on selected channels. (Unless overridden above)
# [] Visible in Graph Editor : Only delete keys that are visible in the graph editor. (Unless overridden above)
# [] Current Frame : Delete the keys on the current frame. (Unless overridden above)
# [] Delete Sub-Frames : Delete sub-frame keys surrounding the current frame.
# [Delete Key] : Run the command.
# : Right-click for more options
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 2 hotkey = {'d': 'deleteKey(deleteSubFrames=True, selectedChannels=True, visibleInGraphEditor=True)'} | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_setKey.py|http://morganloomis.com/download/ml_setKey.py]] | |bgcolor(lightgrey):Revision| 5 | |bgcolor(lightgrey):Last Update| 2012-03-26 | |>|[[Installation Instructions|Installing ml_setKey.py]]| !!!Description This is a more robust tool for setting keyframes in Maya, including setting keys on selected channels, keyed channels, and several other options. !!!Usage Run the tool, select the options, and press the Set Key button. Alternately, set the options and press the "Create Hotkey" button to turn the current functionality into a hotkey. !!!Requirements This script requires the following modules to run. Make sure you have the latest versions downloaded to your script directory. [[ml_utilities]] !!!UI Options |<html></html> Selected Channels|Only key channels that are selected in the Channel Box| |<html></html> Visible in Graph Editor|Only key curves visible in Graph Editor| |<html></html> Key Only Keyed Channels|Only set keys on channels that are already keyed| |<html></html> Delete Sub-Frames|Delete sub-frame keys surrounding the current frame| |<html></html> Insert Key|Insert key (preserve tangents)| |<html></html> Key Shapes|Set keyframes on shapes| |<html></html> Key Shapes|Set keyframes on shapes| |<html></html>|Run the command.| ||Right-click for more options| !!!More Info *[[ml_setKey Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_setKey]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 5|bgcolor(lightgrey):2012-03-26|Updated delete sub-frame option to work with other frame rates|
!!!Installing the File
To use [[ml_setKey]], download [[ml_setKey.py|http://morganloomis.com/download/ml_setKey.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_setKey.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_setKey
ml_setKey.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_setKey;ml_setKey.ui()");
}}}<html>
| ml_setKey | index /Users/morganloomis/Dropbox/maya/scripts/toolbox/ml/mlOnline/ml_setKey.py |
# -= ml_setKey.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 5, 2012-03-26
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_setKey.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_setKey
# ml_setKey.ui()
# From MEL, this looks like:
# python("import ml_setKey;ml_setKey.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This is a more robust tool for setting keyframes in Maya, including
# setting keys on selected channels, keyed channels, and several other options.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the tool, select the options, and press the Set Key button.
# Alternately, set the options and press the "Create Hotkey" button to
# turn the current functionality into a hotkey.
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [] Selected Channels : Only key channels that are selected in the Channel Box
# [] Visible in Graph Editor : Only key curves visible in Graph Editor
# [] Key Only Keyed Channels : Only set keys on channels that are already keyed
# [] Delete Sub-Frames : Delete sub-frame keys surrounding the current frame
# [] Insert Key : Insert key (preserve tangents)
# [] Key Shapes : Set keyframes on shapes
# [] Key Shapes : Set keyframes on shapes
# [Set Key] : Run the command.
# : Right-click for more options
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 5 hotkey = {'S': 'setKey(deleteSubFrames=True, insert=True, select...nGraphEditor=True, keyKeyed=True, keyShapes=True)'} | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_copyAnim.py|http://morganloomis.com/download/ml_copyAnim.py]] | |bgcolor(lightgrey):Revision| 1 | |bgcolor(lightgrey):Last Update| 2012-03-14 | |>|[[Installation Instructions|Installing ml_copyAnim.py]]| !!!Description Copy animation curves either completely or in part from one node or hierarchy to another. !!!Usage Select the source and destination node (or top node) and press the button to either copy the selected node only, or the whole hierarchy underneath. Highlight the timeline if you want to copy just that part of the animation. !!!Requirements This script requires the following modules to run. Make sure you have the latest versions downloaded to your script directory. [[ml_utilities]] !!!UI Options |<html></html>|Copy animation from one object to another.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Uses name matching to copy animation across.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| !!!More Info *[[ml_copyAnim Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_copyAnim]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 1|bgcolor(lightgrey):2012-03-14|First publish.|
!!!Installing the File
To use [[ml_copyAnim]], download [[ml_copyAnim.py|http://morganloomis.com/download/ml_copyAnim.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_copyAnim.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_copyAnim
ml_copyAnim.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_copyAnim;ml_copyAnim.ui()");
}}}<html>
| ml_copyAnim | index /Users/morganloomis/Dropbox/maya/scripts/toolbox/ml/mlOnline/ml_copyAnim.py |
# -= ml_copyAnim.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 0, 2012-03-14
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_copyAnim.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_copyAnim
# ml_copyAnim.ui()
# From MEL, this looks like:
# python("import ml_copyAnim;ml_copyAnim.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Copy animation curves either completely or in part from one node or hierarchy to another.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Select the source and destination node (or top node) and press the button to either copy
# the selected node only, or the whole hierarchy underneath.
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [Copy Single] : Copy animation from one object to another.
# [Copy Hierarchy] : Uses name matching to copy animation across.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 1 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_convertRotationOrder.py|http://morganloomis.com/download/ml_convertRotationOrder.py]] | |bgcolor(lightgrey):Revision| 2 | |bgcolor(lightgrey):Last Update| 2012-03-12 | |>|[[Installation Instructions|Installing ml_convertRotationOrder.py]]| !!!Description This is a tool for changing the rotation order of an object while preserving keyed poses, for when you want to change the rotation order after you've already done animation, or don't want to alter the pose of an object. !!!Usage Run the UI. Select the objects with rotation orders you want to change, and press the button for the desired rotation order. !!!Requirements This script requires the following modules to run. Make sure you have the latest versions downloaded to your script directory. [[ml_utilities]] !!!More Info *[[ml_convertRotationOrder Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_convertRotationOrder]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 2|bgcolor(lightgrey):2012-03-12|Updated to work with non-keyed objects, added the tips button.|
!!!Installing the File
To use [[ml_convertRotationOrder]], download [[ml_convertRotationOrder.py|http://morganloomis.com/download/ml_convertRotationOrder.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_convertRotationOrder.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_convertRotationOrder
ml_convertRotationOrder.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_convertRotationOrder;ml_convertRotationOrder.ui()");
}}}<html>
| ml_convertRotationOrder | index /Users/morganloomis/Dropbox/maya/scripts/toolbox/ml/mlOnline/ml_convertRotationOrder.py |
# -= ml_convertRotationOrder.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 2, 2012-03-12
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_convertRotationOrder.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_convertRotationOrder
# ml_convertRotationOrder.ui()
# From MEL, this looks like:
# python("import ml_convertRotationOrder;ml_convertRotationOrder.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This is a tool for changing the rotation order of an object while preserving keyed poses, for
# when you want to change the rotation order after you've already done animation, or don't
# want to alter the pose of an object.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the UI. Select the objects with rotation orders you want to change, and press the button
# for the desired rotation order.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| ROTATE_ORDERS = ['xyz', 'yzx', 'zxy', 'xzy', 'yxz', 'zyx'] __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 2 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_cameraDepthDragger.py|http://morganloomis.com/download/ml_cameraDepthDragger.py]] | |bgcolor(lightgrey):Revision| 1 | |bgcolor(lightgrey):Last Update| 2012-03-12 | |>|[[Installation Instructions|Installing ml_cameraDepthDragger.py]]| !!!Description Move objects closer to or further from camera, such that they don't change location in screen space, just get larger or smaller in frame. !!!Usage Run the tool, and then click and drag the mouse in the viewport to move selected objects closer or further from camera. When you release click, the tool will exit. !!!Requirements [[euclid.py|http://partiallydisassembled.net/euclid.html]] [[ml_utilities]] !!!More Info *[[ml_cameraDepthDragger Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_cameraDepthDragger]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 1|bgcolor(lightgrey):2012-03-12|First publish.|
!!!Installing the File
To use [[ml_cameraDepthDragger]], download [[ml_cameraDepthDragger.py|http://morganloomis.com/download/ml_cameraDepthDragger.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_cameraDepthDragger.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_cameraDepthDragger
ml_cameraDepthDragger.drag()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_cameraDepthDragger;ml_cameraDepthDragger.drag()");
}}}<html>
| ml_cameraDepthDragger | index /Users/morganloomis/Dropbox/maya/scripts/toolbox/ml/mlOnline/ml_cameraDepthDragger.py |
# -= ml_cameraDepthDragger.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 1, 2012-03-12
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_cameraDepthDragger.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_cameraDepthDragger
# ml_cameraDepthDragger.drag()
# From MEL, this looks like:
# python("import ml_cameraDepthDragger;ml_cameraDepthDragger.drag()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Move objects closer to or further from camera, such that they don't change location
# in screen space, just get larger or smaller in frame.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the tool, and then click and drag the mouse in the viewport to move selected
# objects closer or further from camera. When you release click, the tool will exit.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the euclid module, which can be downloaded here:
# http://partiallydisassembled.net/euclid.html
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Classes | ||||||||
|
| ||||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 1 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_lockAndHideAttributes.py|http://morganloomis.com/download/ml_lockAndHideAttributes.py]] | |bgcolor(lightgrey):Revision| 1 | |bgcolor(lightgrey):Last Update| 2011-10-08 | |>|[[Installation Instructions|Installing ml_lockAndHideAttributes.py]]| !!!Description Quickly set the locked and keyable state of attributes in the channel box. This tool is designed to be used as hotkeys for quickly locking and hiding attributes. It will operate on all visible attributes, unless specific channels are selected. When using to unhide attributes, it will unhide all standard transform attributes, and all user defined attributes. !!!Usage Run the UI, select channels in the channel box, and hit the appropriate button to lock, hide, unlock or unhide channels. Right click the buttons to create hotkeys or shelf buttons. !!!Requirements This script requires the following modules to run. Make sure you have the latest versions downloaded to your script directory. [[ml_utilities]] !!!UI Options |<html></html>|Lock selected attributes.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Hide selected attributes.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Lock and hide selected attributes.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Unlock selected attributes.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Unhide all core attributes.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Unlock and unhide selected attributes.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| !!!More Info *[[ml_lockAndHideAttributes Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_lockAndHideAttributes]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 1|bgcolor(lightgrey):2011-10-08|First publish.|
!!!Installing the File
To use [[ml_lockAndHideAttributes]], download [[ml_lockAndHideAttributes.py|http://morganloomis.com/download/ml_lockAndHideAttributes.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_lockAndHideAttributes.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_lockAndHideAttributes
ml_lockAndHideAttributes.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_lockAndHideAttributes;ml_lockAndHideAttributes.ui()");
}}}<html>
| ml_lockAndHideAttributes | index http://morganloomis.com/download/ml_lockAndHideAttributes.py |
# -= ml_lockAndHideAttributes.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 1, 2011-10-08
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_lockAndHideAttributes.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_lockAndHideAttributes
# ml_lockAndHideAttributes.ui()
# From MEL, this looks like:
# python("import ml_lockAndHideAttributes;ml_lockAndHideAttributes.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Quickly set the locked and keyable state of attributes in the channel box. This tool
# is designed to be used as hotkeys for quickly locking and hiding attributes. It will operate
# on all visible attributes, unless specific channels are selected. When using to unhide attributes,
# it will unhide all standard transform attributes, and all user defined attributes.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the UI, select channels in the channel box, and hit the appropriate button to
# lock, hide, unlock or unhide channels. Right click the buttons to create hotkeys
# or shelf buttons.
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [Lock] : Lock selected attributes.
# [Hide] : Hide selected attributes.
# [Lock and Hide] : Lock and hide selected attributes.
# [Unlock] : Unlock selected attributes.
# [Unhide] : Unhide all core attributes.
# [Unlock and Unhide] : Unlock and unhide selected attributes.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 1 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_worldBake.py|http://morganloomis.com/download/ml_worldBake.py]] | |bgcolor(lightgrey):Revision| 8 | |bgcolor(lightgrey):Last Update| 2011-05-14 | |>|[[Installation Instructions|Installing ml_worldBake.py]]| !!!Description Temporarily bake animation to locators in world space. Use this tool to preserve the worldspace position of animation when you need to make positional changes to an object's parent. !!!Usage Run the tool, select the objects, then press the "To Locators" button. When you're ready to bake back, select the locators and press the "From Locators" button. Checking "Bake on Ones" will bake every frame, otherwise the keytimes will be derived from the original animation. !!!Requirements This script requires the following modules to run. Make sure you have the latest versions downloaded to your script directory. [[ml_utilities]] !!!UI Options |<html></html> Bake on Ones|Bake every frame. If deselected, the tool will preserve keytimes.| |<html></html>|Bake selected object to locators in world space.| |<html></html>|Bake from selected locators back to their source objects.| |<html></html>|Bake from the first selected object directly to the second.| !!!More Info *[[ml_worldBake Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_worldBake]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 8|bgcolor(lightgrey):2011-05-14|fixed error baking things with transforms locked or hidden| |Revision 7|bgcolor(lightgrey):2011-05-13|fixed a bug with transferring certain types of tangents.| |Revision 6|bgcolor(lightgrey):|Updated to use ml_utilities. Changed from direct constraint to constrained duplicate node.| |Revision 1|bgcolor(lightgrey):|First publish|
!!!Installing the File
To use [[ml_worldBake]], download [[ml_worldBake.py|http://morganloomis.com/download/ml_worldBake.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_worldBake.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_worldBake
ml_worldBake.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_worldBake;ml_worldBake.ui()");
}}}<html>
| ml_worldBake | index http://morganloomis.com/download/ml_worldBake.py |
# -= ml_worldBake.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 8, 2011-05-14
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_worldBake.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_worldBake
# ml_worldBake.ui()
# From MEL, this looks like:
# python("import ml_worldBake;ml_worldBake.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Temporarily bake animation to locators in world space.
# Use this tool to preserve the worldspace position of animation when you need to make
# positional changes to an object's parent.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the tool, select the objects, then press the "To Locators" button.
# When you're ready to bake back, select the locators and press the
# "From Locators" button. Checking "Bake on Ones" will bake every frame,
# otherwise the keytimes will be derived from the original animation.
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [] Bake on Ones : Bake every frame. If deselected, the tool will preserve keytimes.
# [To Locators] : Bake selected object to locators in world space.
# [From Locators] : Bake from selected locators back to their source objects.
# [Bake Selected] : Bake from the first selected object directly to the second.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 8 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_arcTracer.py|http://morganloomis.com/download/ml_arcTracer.py]] | |bgcolor(lightgrey):Revision| 3 | |bgcolor(lightgrey):Last Update| 2011-05-14 | |>|[[Installation Instructions|Installing ml_arcTracer.py]]| !!!Description This tool is a substitute for tracing arcs on your screen by hand with a marker. It creates a thick line to represent the path of an object, either as an overlay on your camera view, or in world space. It's a bake process; like a marker it doesn't update interactively. Lines are colored randomly, to distinguish between multiple traces. Frames are marked along the arc as black dots, with keyframes colored red, and the current frame is highlighted. !!!Usage Run the UI, and press the buttons to choose the action. !!!Requirements [[euclid.py|http://partiallydisassembled.net/euclid.html]] [[ml_utilities]] !!!UI Options |<html></html>|Trace an arc as an overlay over the current camera.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Trace an arc in world space.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Retrace the previously traced arc.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Clear all arcs.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| !!!Video Tutorial <html></html> !!!More Info *[[ml_arcTracer Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_arcTracer]] *<html> </html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 3|bgcolor(lightgrey):2011-05-14|Revision notes update.| |Revision 2|bgcolor(lightgrey):2011-05-14|minor bug fix involving error with duplicate names| |Revision 1|bgcolor(lightgrey):2011-05-01|First publish|
!!!Installing the File
To use [[ml_arcTracer]], download [[ml_arcTracer.py|http://morganloomis.com/download/ml_arcTracer.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_arcTracer.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_arcTracer
ml_arcTracer.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_arcTracer;ml_arcTracer.ui()");
}}}<html>
| ml_arcTracer | index http://morganloomis.com/download/ml_arcTracer.py |
# -= ml_arcTracer.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 3, 2011-05-14
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_arcTracer.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_arcTracer
# ml_arcTracer.ui()
# From MEL, this looks like:
# python("import ml_arcTracer;ml_arcTracer.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This tool is a substitute for tracing arcs on your screen by hand with a marker.
# It creates a thick line to represent the path of an object, either as an overlay on your camera view,
# or in world space. It's a bake process; like a marker it doesn't update interactively.
# Lines are colored randomly, to distinguish between multiple traces.
# Frames are marked along the arc as black dots, with keyframes colored red, and
# the current frame is highlighted.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the UI, and press the buttons to choose the action.
# ____________________
# - -/__ Video Tutorial __/- - - - - - - - - - - - - - - - - - - - - - - - -
#
# http://www.youtube.com/watch?v=xLA1aglvPYM
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [Trace Camera] : Trace an arc as an overlay over the current camera.
# [Trace World] : Trace an arc in world space.
# [Retrace Previous] : Retrace the previously traced arc.
# [Clear Arcs] : Clear all arcs.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the euclid module, which can be downloaded here:
# http://partiallydisassembled.net/euclid.html
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 3 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[test.py|http://morganloomis.com/download/test.py]] | |bgcolor(lightgrey):Revision| 12 | |>|[[Installation Instructions|Installing test.py]]| !!!Description This is a tool for creating animation holds, either for individual poses or over a range of keys. Select a range of keys in the graph editor or the time slider, or match your current pose to the next or previous one. !!!Usage Run the UI. Press Next and Previous to match keys to the value of next or previous keyframes. Press Current or Average to turn a frame range into a hold. Current sets the hold to be the current value, and average sets the value to the average of all keys across the range. The range is determined by one of 3 things, in the following order: 1. Selected range in the time slider. 2. The highest and lowest selected keys in the graph editor. 3. If nothing is selected, the previous and next keys from the current time determine the range. If you have no keys selectd, all commands will operate only on curves that are visibile in the graph editor. !!!Requirements [[ml_utilities]] !!!UI Options |<html></html>|Creates a hold for the selected range, or the surrounding keys, based on current frame.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Creates a hold for the selected range, or the surrounding keys, based on average of keys.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Matches selected key or current frame to the previous keyframe value.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Matches selected key or current frame to the next keyframe value.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| !!!Video Tutorial <html></html> !!!More Info *[[test Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With test]] *<html> </html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]// !!!Revision History |Revision 12|bgcolor(lightgrey):2011-05-05|Added revision notes.|
!!!Installing the File
To use [[test]], download [[test.py|http://morganloomis.com/download/test.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/test.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import test
test.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import test;test.ui()");
}}}<html>
| test | index http://morganloomis.com/download/test.py |
# -= test.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 7, 2011-05-05
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/test.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import test
# test.ui()
# From MEL, this looks like:
# python("import test;test.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This is a tool for creating animation holds, either for individual
# poses or over a range of keys. Select a range of keys in the graph editor
# or the time slider, or match your current pose to the next or previous one.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the UI.
# Press Next and Previous to match keys to the value of next or previous keyframes.
# Press Current or Average to turn a frame range into a hold. Current sets the
# hold to be the current value, and average sets the value to the average of
# all keys across the range. The range is determined by one of 3 things,
# in the following order: 1. Selected range in the time slider. 2. The highest
# and lowest selected keys in the graph editor. 3. If nothing is selected,
# the previous and next keys from the current time determine the range.
# If you have no keys selectd, all commands will operate only on curves
# that are visibile in the graph editor.
# ____________________
# - -/__ Video Tutorial __/- - - - - - - - - - - - - - - - - - - - - - - - -
#
# http://www.youtube.com/watch?v=fOeDwGbuHFE
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [Hold Current] : Creates a hold for the selected range, or the surrounding keys, based on current frame.
# [Hold Average] : Creates a hold for the selected range, or the surrounding keys, based on average of keys.
# [<< Previous] : Matches selected key or current frame to the previous keyframe value.
# [Next >>] : Matches selected key or current frame to the next keyframe value.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 12 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_utilities.py|http://morganloomis.com/download/ml_utilities.py]] | |bgcolor(lightgrey):Revision| 2 | |>|[[Installation Instructions|Installing ml_utilities.py]]| !!!Description ml_utilities isn't a stand alone tool, but rather it's a collection of support functions that are required by several of the tools in this library. The individual tools will tell you if this script is required. !!!Usage ml_utilities isn't a stand alone tool, and so it isn't meant to be used directly. !!!More Info *[[ml_utilities Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_utilities]] *<html></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
!!!Installing the File
To use [[ml_utilities]], download [[ml_utilities.py|http://morganloomis.com/download/ml_utilities.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_utilities.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_utilities
ml_utilities.help()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_utilities;ml_utilities.help()");
}}}<html>
| ml_utilities | index http://morganloomis.com/download/ml_utilities.py |
# -= ml_utilities.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 2, 2011-05-04
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_utilities.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_utilities
# ml_utilities.help()
# From MEL, this looks like:
# python("import ml_utilities;ml_utilities.help()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# ml_utilities isn't a stand alone tool, but rather it's a collection of support functions
# that are required by several of the tools in this library. The individual tools will tell
# you if this script is required.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# ml_utilities isn't a stand alone tool, and so it isn't meant to be used directly.
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Classes | ||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 2 | ||
| Author | ||
| Morgan Loomis | ||
|bgcolor(lightgrey):Download| [[ml_hold.py|http://morganloomis.com/download/ml_hold.py]] | |bgcolor(lightgrey):Revision| 4 | |>|[[Installation Instructions|Installing ml_hold.py]]| !!!Description This is a tool for creating animation holds, either for individual poses or over a range of keys. Select a range of keys in the graph editor or the time slider, or match your current pose to the next or previous one. !!!Usage Run the UI. Press Next and Previous to match keys to the value of next or previous keyframes. Press Current or Average to turn a frame range into a hold. Current sets the hold to be the current value, and average sets the value to the average of all keys across the range. The range is determined by one of 3 things, in the following order: 1. Selected range in the time slider. 2. The highest and lowest selected keys in the graph editor. 3. If nothing is selected, the previous and next keys from the current time determine the range. If you have no keys selectd, all commands will operate only on curves that are visibile in the graph editor. !!!Requirements [[ml_utilities]] !!!UI Options |<html></html>|Creates a hold for the selected range, or the surrounding keys, based on current frame.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Creates a hold for the selected range, or the surrounding keys, based on average of keys.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Matches selected key or current frame to the previous keyframe value.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| |<html></html>|Matches selected key or current frame to the next keyframe value.|bgcolor(lightgrey):Right-click to create a shelf or hotkey| !!!Video Tutorial <html></html> !!!More Info *[[ml_hold Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_hold]] *<html> </html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
!!!Installing the File
To use [[ml_hold]], download [[ml_hold.py|http://morganloomis.com/download/ml_hold.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_hold.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_hold
ml_hold.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_hold;ml_hold.ui()");
}}}<html>
| ml_hold | index http://morganloomis.com/download/ml_hold.py |
# -= ml_hold.py =-
# __ by Morgan Loomis
# ____ ___ / / http://morganloomis.com
# / __ `__ \/ / Licensed under Creative Commons BY-SA
# / / / / / / / http://creativecommons.org/licenses/by-sa/3.0/
# /_/ /_/ /_/_/ _________
# /_________/ Revision 4, 2011-05-01
# _______________________________
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - -
#
# Copy this file into your maya scripts directory, for example:
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_hold.py
#
# Run the tool by importing the module, and then calling the primary function.
# From python, this looks like:
# import ml_hold
# ml_hold.ui()
# From MEL, this looks like:
# python("import ml_hold;ml_hold.ui()");
# _________________
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This is a tool for creating animation holds, either for individual
# poses or over a range of keys. Select a range of keys in the graph editor
# or the time slider, or match your current pose to the next or previous one.
# ___________
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Run the UI.
# Press Next and Previous to match keys to the value of next or previous keyframes.
# Press Current or Average to turn a frame range into a hold. Current sets the
# hold to be the current value, and average sets the value to the average of
# all keys across the range. The range is determined by one of 3 things,
# in the following order: 1. Selected range in the time slider. 2. The highest
# and lowest selected keys in the graph editor. 3. If nothing is selected,
# the previous and next keys from the current time determine the range.
# If you have no keys selectd, all commands will operate only on curves
# that are visibile in the graph editor.
# ____________________
# - -/__ Video Tutorial __/- - - - - - - - - - - - - - - - - - - - - - - - -
#
# http://www.youtube.com/watch?v=fOeDwGbuHFE
# ________________
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# [Hold Current] : Creates a hold for the selected range, or the surrounding keys, based on current frame.
# [Hold Average] : Creates a hold for the selected range, or the surrounding keys, based on average of keys.
# [<< Previous] : Matches selected key or current frame to the previous keyframe value.
# [Next >>] : Matches selected key or current frame to the next keyframe value.
# __________________
# - -/__ Requirements __/- - - - - - - - - - - - - - - - - - - - - - - - - -
#
# This script requires the ml_utilities module, which can be downloaded here:
# http://morganloomis.com/wiki/tools.html#ml_utilities
# __________
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -
| Modules | ||||||
| ||||||
| Functions | ||
| ||
| Data | ||
| __author__ = 'Morgan Loomis' __license__ = 'Creative Commons Attribution-ShareAlike' __revision__ = 4 | ||
| Author | ||
| Morgan Loomis | ||
!!!Installing the File
To use [[ml_breakdownDragger]], download [[ml_breakdownDragger.py|http://morganloomis.com/download/ml_breakdownDragger.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_breakdownDragger.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_breakdownDragger
ml_breakdownDragger.drag()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_breakdownDragger;ml_breakdownDragger.drag()");
}}}
!!!Installing the File
To use [[ml_keyValueDragger]], download [[ml_keyValueDragger.py|http://morganloomis.com/download/ml_keyValueDragger.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_keyValueDragger.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_keyValueDragger
ml_keyValueDragger.drag()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_keyValueDragger;ml_keyValueDragger.drag()");
}}}
!!!Installing the File
To use [[ml_resetChannels]], download [[ml_resetChannels.py|http://morganloomis.com/download/ml_resetChannels.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_resetChannels.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_resetChannels
ml_resetChannels.resetChannels()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_resetChannels;ml_resetChannels.resetChannels()");
}}}
!!!Installing the File
To use [[ml_selectKeyed]], download [[ml_selectKeyed.py|http://morganloomis.com/download/ml_selectKeyed.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_selectKeyed.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_selectKeyed
ml_selectKeyed.selectKeyed()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_selectKeyed;ml_selectKeyed.selectKeyed()");
}}}
!!!Installing the File
To use [[ml_smartKey]], download [[ml_smartKey.py|http://morganloomis.com/download/ml_smartKey.py]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_smartKey.py}}}
!!!Running the Command
To run this script directly in Maya, from a ''shelf button'' or the ''script editor'', use the following Python command:
{{{
import ml_smartKey
ml_smartKey.ui()
}}}
To call Python through MEL, for example in a ''hotkey'' or ''marking menu'', use the following MEL command:
{{{
python("import ml_smartKey;ml_smartKey.ui()");
}}}
!!!Installing the File
To use [[ml_toggleVisibility]], download [[ml_toggleVisibility.mel|http://morganloomis.com/download/ml_toggleVisibility.mel]] into your maya scripts directory, for example:
:{{{C:/Documents and Settings/USERNAME/My Documents/maya/scripts/ml_toggleVisibility.mel}}}
!!!Running the Command
If maya is running, restart, or simply type:
{{{
rehash;
}}}
The MEL command is just the same as the script name, minus the .mel extention:
{{{
ml_toggleVisibility;
}}}
Type the text for 'New Tiddler'
|bgcolor(lightgrey):Download| [[ml_breakdownDragger.py|http://morganloomis.com/download/ml_breakdownDragger.py]] | |bgcolor(lightgrey):Revision| 3 | |>|[[Installation Instructions|Installing ml_breakdownDragger.py]]| !!!Description Blend a keyframe or pose with the next or previous keys, essentially creating a breakdown pose that is weighted one way or the other. The weight of the blend is controlled by dragging the mouse in the viewport. !!!Usage Run the tool, and the cursor will turn into a hand. Left-click and hold in the viewport, and then drag either left or right to weight the key to the next or previous key. Alternately, press and hold the middle mouse button to weight the key toward or away from the average of the surrounding keys. If you have no keys selectd, the tool will act only on curves that are visibile in the graph editor. If there are no keys at the current frame, keys will be set. !!!Video Tutorial <html><center><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/D8yD4zbHTP8?fs=1&hl=en_US&color1=0xe1600f&color2=0xfebd01"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/D8yD4zbHTP8?fs=1&hl=en_US&color1=0xe1600f&color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></object></center></html> !!!More Info *[[ml_breakdownDragger Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_breakdownDragger]] *<html><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
<html>
<table width="100%" cellspacing="0" cellpadding="2" border="0" summary="heading">
<tbody><tr bgcolor="#7799ee">
<td valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>ml_breakdownDragger</strong></big></big></font></td><td align="right" valign="bottom"><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="http://morganloomis.com/download/ml_breakdownDragger.py">http://morganloomis.com/download/ml_breakdownDragger.py</a></font></td></tr></tbody></table>
<p><tt># -= ml_breakdownDragger.py =-<br>
# __ by Morgan Loomis<br>
# ____ ___ / / <a href="http://morganloomis.com">http://morganloomis.com</a><br>
# / __ `__ \/ / Licensed under Creative Commons BY-SA<br>
# / / / / / / / <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a><br>
# /_/ /_/ /_/_/ _________ <br>
# /_________/ Revision 3, 2011-01-02<br>
# _______________________________<br>
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Copy this file into your maya scripts directory, for example:<br>
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_breakdownDragger.py<br>
# <br>
# Run the tool by importing the module, and then calling the primary function.<br>
# From python, this looks like:<br>
# import ml_breakdownDragger<br>
# ml_breakdownDragger.<a href="#-drag">drag</a>()<br>
# From MEL, this looks like:<br>
# python("import ml_breakdownDragger;ml_breakdownDragger.<a href="#-drag">drag</a>()");<br>
# _________________<br>
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Blend a keyframe or pose with the next or previous keys, essentially<br>
# creating a breakdown pose that is weighted one way or the other.<br>
# The weight of the blend is controlled by dragging the mouse in the viewport.<br>
# ___________<br>
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Run the tool, and the cursor will turn into a hand. Left-click and hold in<br>
# the viewport, and then drag either left or right to weight the key to the<br>
# next or previous key.<br>
# Alternately, press and hold the middle mouse button to weight the key toward<br>
# or away from the average of the surrounding keys.<br>
# If you have no keys selectd, the tool will act only on curves<br>
# that are visibile in the graph editor. If there are no keys at the <br>
# current frame, keys will be set.<br>
# ____________________<br>
# - -/__ Video Tutorial __/- - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# <a href="http://www.youtube.com/watch?v=D8yD4zbHTP8">http://www.youtube.com/watch?v=D8yD4zbHTP8</a><br>
# __________<br>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -</tt></p>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#aa55cc">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tbody><tr><td width="25%" valign="top"><a href="maya.cmds.html">maya.cmds</a><br>
</td><td width="25%" valign="top"><a href="maya.mel.html">maya.mel</a><br>
</td><td width="25%" valign="top"></td><td width="25%" valign="top"></td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#ee77aa">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="ml_breakdownDragger.html#Dragger">Dragger</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="ml_breakdownDragger.html#BreakdownDragger">BreakdownDragger</a>
</font></dt></dl>
</dd>
</dl>
</dd>
</dl>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#ffc8d8">
<td colspan="3" valign="bottom"> <br>
<font color="#000000" face="helvetica, arial"><a name="BreakdownDragger">class <strong>BreakdownDragger</strong></a>(<a href="ml_breakdownDragger.html#Dragger">Dragger</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan="2"><tt> </tt></td>
<td colspan="2"><tt>Creates the tool and manages the data<br> </tt></td></tr>
<tr><td> </td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="ml_breakdownDragger.html#BreakdownDragger">BreakdownDragger</a></dd>
<dd><a href="ml_breakdownDragger.html#Dragger">Dragger</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="BreakdownDragger-__init__"><strong>__init__</strong></a>(self, name<font color="#909090">='mlBreakdownDraggerContext'</font>, minValue<font color="#909090">=None</font>, maxValue<font color="#909090">=None</font>, defaultValue<font color="#909090">=0</font>, title<font color="#909090">='Breakdown'</font>)</dt></dl>
<dl><dt><a name="BreakdownDragger-dragLeft"><strong>dragLeft</strong></a>(self)</dt><dd><tt>This is activated by the left mouse button, and weights to the next or previous keys.</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-dragMiddle"><strong>dragMiddle</strong></a>(self)</dt><dd><tt>This is activated by the middle mouse button, and weights to the average of the surrounding keys.</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-dragShiftLeft"><strong>dragShiftLeft</strong></a>(self)</dt><dd><tt>This is activated by Shift and the left mouse button, and weights to the next or previous keys, without clamping.</tt></dd></dl>
<hr>
Methods inherited from <a href="ml_breakdownDragger.html#Dragger">Dragger</a>:<br>
<dl><dt><a name="BreakdownDragger-drag"><strong>drag</strong></a>(self, *args)</dt><dd><tt>Called continuously when holding the mouse button down, updates self.<strong>x</strong> and self.<strong>y</strong> with the mouse position,<br>
and runs the corresponding method for whichever button is being pressed.</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-dragControlLeft"><strong>dragControlLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-dragControlMiddle"><strong>dragControlMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-dragShiftMiddle"><strong>dragShiftMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-drawString"><strong>drawString</strong></a>(self, message)</dt><dd><tt>Simply writes a message next to the cursor</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-press"><strong>press</strong></a>(self, *args)</dt><dd><tt>This method is called when the mouse is pressed, and initializes the mouse position.<br>
Be careful overwriting the press method in child classes, because of the undoInfo openChunk.</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-release"><strong>release</strong></a>(self, *args)</dt><dd><tt>Called when the mouse button is released, and cleans up after the tool.<br>
Be careful overwriting the release method in child classes. Not closing the undo chunk leaves maya in a sorry state.</tt></dd></dl>
<dl><dt><a name="BreakdownDragger-setTool"><strong>setTool</strong></a>(self)</dt></dl>
<hr>
Data descriptors inherited from <a href="ml_breakdownDragger.html#Dragger">Dragger</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
</td></tr></tbody></table> <p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#ffc8d8">
<td colspan="3" valign="bottom"> <br>
<font color="#000000" face="helvetica, arial"><a name="Dragger">class <strong>Dragger</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan="2"><tt> </tt></td>
<td colspan="2"><tt>A base class for creating a draggerContext tool in Maya<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Dragger-__init__"><strong>__init__</strong></a>(self, name<font color="#909090">='mlDraggerContext'</font>, title<font color="#909090">='Dragger'</font>, defaultValue<font color="#909090">=0</font>, minValue<font color="#909090">=None</font>, maxValue<font color="#909090">=None</font>, multiplier<font color="#909090">=0.01</font>, cursor<font color="#909090">='hand'</font>)</dt><dd><tt>Args:<br>
name: The name of the context tool in Maya<br>
title: The nice name of the tool<br>
defaultValue: The starting value of the dragger when the mouse button is pushed.<br>
minValue: If specified, clamp the minimum output at this value<br>
maxValue: If specified, clamp the maximum output at this value<br>
multiplier: Scale the output of the dragger by this value.<br>
cursor: What type of cursor to display, see Maya's draggerContext for options</tt></dd></dl>
<dl><dt><a name="Dragger-drag"><strong>drag</strong></a>(self, *args)</dt><dd><tt>Called continuously when holding the mouse button down, updates self.<strong>x</strong> and self.<strong>y</strong> with the mouse position,<br>
and runs the corresponding method for whichever button is being pressed.</tt></dd></dl>
<dl><dt><a name="Dragger-dragControlLeft"><strong>dragControlLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragControlMiddle"><strong>dragControlMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragLeft"><strong>dragLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragMiddle"><strong>dragMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragShiftLeft"><strong>dragShiftLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragShiftMiddle"><strong>dragShiftMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-drawString"><strong>drawString</strong></a>(self, message)</dt><dd><tt>Simply writes a message next to the cursor</tt></dd></dl>
<dl><dt><a name="Dragger-press"><strong>press</strong></a>(self, *args)</dt><dd><tt>This method is called when the mouse is pressed, and initializes the mouse position.<br>
Be careful overwriting the press method in child classes, because of the undoInfo openChunk.</tt></dd></dl>
<dl><dt><a name="Dragger-release"><strong>release</strong></a>(self, *args)</dt><dd><tt>Called when the mouse button is released, and cleans up after the tool.<br>
Be careful overwriting the release method in child classes. Not closing the undo chunk leaves maya in a sorry state.</tt></dd></dl>
<dl><dt><a name="Dragger-setTool"><strong>setTool</strong></a>(self)</dt></dl>
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
</td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#eeaa77">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-drag"><strong>drag</strong></a>()</dt><dd><tt>The primary command to run the tool</tt></dd></dl>
</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#55aa55">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = 'Morgan Loomis'<br>
<strong>__license__</strong> = 'Creative Commons Attribution-ShareAlike'<br>
<strong>__revision__</strong> = 3</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#7799ee">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%">Morgan Loomis</td></tr></tbody></table></html>
|bgcolor(lightgrey):Download| [[ml_keyValueDragger.py|http://morganloomis.com/download/ml_keyValueDragger.py]] | |bgcolor(lightgrey):Revision| 1 | |>|[[Installation Instructions|Installing ml_keyValueDragger.py]]| !!!Description Scale keyframes to their default value by dragging in the viewport. !!!Usage Run the tool, and the cursor will turn into a hand. Left-click and hold in the viewport, and then drag either left or right to scale the key value up or down. If you have no keys selectd, the tool will act only on curves that are visibile in the graph editor. If there are no keys at the current frame, keys will be set. !!!More Info *[[ml_keyValueDragger Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_keyValueDragger]] *<html><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
<html>
<table width="100%" cellspacing="0" cellpadding="2" border="0" summary="heading">
<tbody><tr bgcolor="#7799ee">
<td valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>ml_keyValueDragger</strong></big></big></font></td><td align="right" valign="bottom"><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="http://morganloomis.com/download/ml_keyValueDragger.py">http://morganloomis.com/download/ml_keyValueDragger.py</a></font></td></tr></tbody></table>
<p><tt># -= ml_keyValueDragger.py =-<br>
# __ by Morgan Loomis<br>
# ____ ___ / / <a href="http://morganloomis.com">http://morganloomis.com</a><br>
# / __ `__ \/ / Licensed under Creative Commons BY-SA<br>
# / / / / / / / <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a><br>
# /_/ /_/ /_/_/ _________ <br>
# /_________/ Revision 1, 2011-01-10<br>
# _______________________________<br>
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Copy this file into your maya scripts directory, for example:<br>
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_keyValueDragger.py<br>
# <br>
# Run the tool by importing the module, and then calling the primary function.<br>
# From python, this looks like:<br>
# import ml_keyValueDragger<br>
# ml_keyValueDragger.<a href="#-drag">drag</a>()<br>
# From MEL, this looks like:<br>
# python("import ml_keyValueDragger;ml_keyValueDragger.<a href="#-drag">drag</a>()");<br>
# _________________<br>
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Scale keyframes to their default value by dragging in the viewport.<br>
# ___________<br>
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Run the tool, and the cursor will turn into a hand. Left-click and hold in<br>
# the viewport, and then drag either left or right to scale the key value up or down.<br>
# If you have no keys selectd, the tool will act only on curves<br>
# that are visibile in the graph editor. If there are no keys at the <br>
# current frame, keys will be set.<br>
# __________<br>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -</tt></p>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#aa55cc">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tbody><tr><td width="25%" valign="top"><a href="maya.cmds.html">maya.cmds</a><br>
</td><td width="25%" valign="top"><a href="maya.mel.html">maya.mel</a><br>
</td><td width="25%" valign="top"></td><td width="25%" valign="top"></td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#ee77aa">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="ml_keyValueDragger.html#Dragger">Dragger</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="ml_keyValueDragger.html#KeyValueDragger">KeyValueDragger</a>
</font></dt></dl>
</dd>
</dl>
</dd>
</dl>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#ffc8d8">
<td colspan="3" valign="bottom"> <br>
<font color="#000000" face="helvetica, arial"><a name="Dragger">class <strong>Dragger</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan="2"><tt> </tt></td>
<td colspan="2"><tt>A base class for creating a draggerContext tool in Maya<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Dragger-__init__"><strong>__init__</strong></a>(self, name<font color="#909090">='mlDraggerContext'</font>, title<font color="#909090">='Dragger'</font>, defaultValue<font color="#909090">=0</font>, minValue<font color="#909090">=None</font>, maxValue<font color="#909090">=None</font>, multiplier<font color="#909090">=0.01</font>, cursor<font color="#909090">='hand'</font>)</dt><dd><tt>Args:<br>
name: The name of the context tool in Maya<br>
title: The nice name of the tool<br>
defaultValue: The starting value of the dragger when the mouse button is pushed.<br>
minValue: If specified, clamp the minimum output at this value<br>
maxValue: If specified, clamp the maximum output at this value<br>
multiplier: Scale the output of the dragger by this value.<br>
cursor: What type of cursor to display, see Maya's draggerContext for options</tt></dd></dl>
<dl><dt><a name="Dragger-drag"><strong>drag</strong></a>(self, *args)</dt><dd><tt>Called continuously when holding the mouse button down, updates self.<strong>x</strong> and self.<strong>y</strong> with the mouse position,<br>
and runs the corresponding method for whichever button is being pressed.</tt></dd></dl>
<dl><dt><a name="Dragger-dragControlLeft"><strong>dragControlLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragControlMiddle"><strong>dragControlMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragLeft"><strong>dragLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragMiddle"><strong>dragMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragShiftLeft"><strong>dragShiftLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-dragShiftMiddle"><strong>dragShiftMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="Dragger-drawString"><strong>drawString</strong></a>(self, message)</dt><dd><tt>Simply writes a message next to the cursor</tt></dd></dl>
<dl><dt><a name="Dragger-press"><strong>press</strong></a>(self, *args)</dt><dd><tt>This method is called when the mouse is pressed, and initializes the mouse position.<br>
Be careful overwriting the press method in child classes, because of the undoInfo openChunk.</tt></dd></dl>
<dl><dt><a name="Dragger-release"><strong>release</strong></a>(self, *args)</dt><dd><tt>Called when the mouse button is released, and cleans up after the tool.<br>
Be careful overwriting the release method in child classes. Not closing the undo chunk leaves maya in a sorry state.</tt></dd></dl>
<dl><dt><a name="Dragger-setTool"><strong>setTool</strong></a>(self)</dt></dl>
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
</td></tr></tbody></table> <p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#ffc8d8">
<td colspan="3" valign="bottom"> <br>
<font color="#000000" face="helvetica, arial"><a name="KeyValueDragger">class <strong>KeyValueDragger</strong></a>(<a href="ml_keyValueDragger.html#Dragger">Dragger</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan="2"><tt> </tt></td>
<td colspan="2"><tt>Creates the tool and manages the data<br> </tt></td></tr>
<tr><td> </td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="ml_keyValueDragger.html#KeyValueDragger">KeyValueDragger</a></dd>
<dd><a href="ml_keyValueDragger.html#Dragger">Dragger</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="KeyValueDragger-__init__"><strong>__init__</strong></a>(self, name<font color="#909090">='mlKeyValueDraggerContext'</font>, minValue<font color="#909090">=0</font>, maxValue<font color="#909090">=None</font>, defaultValue<font color="#909090">=1</font>, title<font color="#909090">='Scale'</font>)</dt></dl>
<dl><dt><a name="KeyValueDragger-dragLeft"><strong>dragLeft</strong></a>(self)</dt><dd><tt>Activated by the left mouse button, this scales keys toward or away from their default value.</tt></dd></dl>
<hr>
Methods inherited from <a href="ml_keyValueDragger.html#Dragger">Dragger</a>:<br>
<dl><dt><a name="KeyValueDragger-drag"><strong>drag</strong></a>(self, *args)</dt><dd><tt>Called continuously when holding the mouse button down, updates self.<strong>x</strong> and self.<strong>y</strong> with the mouse position,<br>
and runs the corresponding method for whichever button is being pressed.</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-dragControlLeft"><strong>dragControlLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-dragControlMiddle"><strong>dragControlMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-dragMiddle"><strong>dragMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-dragShiftLeft"><strong>dragShiftLeft</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-dragShiftMiddle"><strong>dragShiftMiddle</strong></a>(self)</dt><dd><tt>Placeholder meant to be overridden in child classes</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-drawString"><strong>drawString</strong></a>(self, message)</dt><dd><tt>Simply writes a message next to the cursor</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-press"><strong>press</strong></a>(self, *args)</dt><dd><tt>This method is called when the mouse is pressed, and initializes the mouse position.<br>
Be careful overwriting the press method in child classes, because of the undoInfo openChunk.</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-release"><strong>release</strong></a>(self, *args)</dt><dd><tt>Called when the mouse button is released, and cleans up after the tool.<br>
Be careful overwriting the release method in child classes. Not closing the undo chunk leaves maya in a sorry state.</tt></dd></dl>
<dl><dt><a name="KeyValueDragger-setTool"><strong>setTool</strong></a>(self)</dt></dl>
<hr>
Data descriptors inherited from <a href="ml_keyValueDragger.html#Dragger">Dragger</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
</td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#eeaa77">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-drag"><strong>drag</strong></a>()</dt><dd><tt>The primary command to run the tool</tt></dd></dl>
</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#55aa55">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = 'Morgan Loomis'<br>
<strong>__license__</strong> = 'Creative Commons Attribution-ShareAlike'<br>
<strong>__revision__</strong> = 1</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#7799ee">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%">Morgan Loomis</td></tr></tbody></table></html>
|bgcolor(lightgrey):Download| [[ml_resetChannels.py|http://morganloomis.com/download/ml_resetChannels.py]] | |bgcolor(lightgrey):Revision| 4 | |>|[[Installation Instructions|Installing ml_resetChannels.py]]| !!!Description Sets the selected channels in the channel box to their default values, or if no channels are selected, resets all keyable channels. !!!Usage Select channels in the channel box, and run the command directly, as a hotkey or shelf button. !!!More Info *[[ml_resetChannels Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_resetChannels]] *<html><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
<html>
<table width="100%" cellspacing="0" cellpadding="2" border="0" summary="heading">
<tbody><tr bgcolor="#7799ee">
<td valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>ml_resetChannels</strong></big></big></font></td><td align="right" valign="bottom"><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="http://morganloomis.com/download/ml_resetChannels.py">http://morganloomis.com/download/ml_resetChannels.py</a></font></td></tr></tbody></table>
<p><tt># -= ml_resetChannels.py =-<br>
# __ by Morgan Loomis<br>
# ____ ___ / / <a href="http://morganloomis.com">http://morganloomis.com</a><br>
# / __ `__ \/ / Licensed under Creative Commons BY-SA<br>
# / / / / / / / <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a><br>
# /_/ /_/ /_/_/ _________ <br>
# /_________/ Revision 4, 2011-01-06<br>
# _______________________________<br>
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Copy this file into your maya scripts directory, for example:<br>
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_resetChannels.py<br>
# <br>
# Run the tool by importing the module, and then calling the primary function.<br>
# From python, this looks like:<br>
# import ml_resetChannels<br>
# ml_resetChannels.<a href="#-resetChannels">resetChannels</a>()<br>
# From MEL, this looks like:<br>
# python("import ml_resetChannels;ml_resetChannels.<a href="#-resetChannels">resetChannels</a>()");<br>
# _________________<br>
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Sets the selected channels in the channel box to their default values,<br>
# or if no channels are selected, resets all keyable channels.<br>
# ___________<br>
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Select channels in the channel box, and run the command directly, as<br>
# a hotkey or shelf button.<br>
# __________<br>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -</tt></p>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#aa55cc">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tbody><tr><td width="25%" valign="top"><a href="maya.cmds.html">maya.cmds</a><br>
</td><td width="25%" valign="top"><a href="maya.mel.html">maya.mel</a><br>
</td><td width="25%" valign="top"></td><td width="25%" valign="top"></td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#eeaa77">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-resetChannels"><strong>resetChannels</strong></a>()</dt><dd><tt>Resets selected channels in the channel box to default, or if nothing's<br>
selected, resets all keyable channels to default.</tt></dd></dl>
</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#55aa55">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = 'Morgan Loomis'<br>
<strong>__license__</strong> = 'Creative Commons Attribution-ShareAlike'<br>
<strong>__revision__</strong> = 4</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#7799ee">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%">Morgan Loomis</td></tr></tbody></table></html>
|bgcolor(lightgrey):Download| [[ml_selectKeyed.py|http://morganloomis.com/download/ml_selectKeyed.py]] | |bgcolor(lightgrey):Revision| 2 | |>|[[Installation Instructions|Installing ml_selectKeyed.py]]| !!!Description Select any node in an animated hierarchy, such as a puppet, and run the command to select all the nodes in the hierarchy that are keyed. If the selected object has a namespace, it will only return nodes in that namespace. The top node of the hierarchy is excluded. !!!Usage Select a node in an animated hierarchy, and run the command directly, as a hotkey or shelf button. !!!More Info *[[ml_selectKeyed Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_selectKeyed]] *<html><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
<html>
<table width="100%" cellspacing="0" cellpadding="2" border="0" summary="heading">
<tbody><tr bgcolor="#7799ee">
<td valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>ml_selectKeyed</strong></big></big></font></td><td align="right" valign="bottom"><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="http://morganloomis.com/download/ml_selectKeyed.py">http://morganloomis.com/download/ml_selectKeyed.py</a></font></td></tr></tbody></table>
<p><tt># -= ml_selectKeyed.py =-<br>
# __ by Morgan Loomis<br>
# ____ ___ / / <a href="http://morganloomis.com">http://morganloomis.com</a><br>
# / __ `__ \/ / Licensed under Creative Commons BY-SA<br>
# / / / / / / / <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a><br>
# /_/ /_/ /_/_/ _________ <br>
# /_________/ Revision 2, 2011-01-02<br>
# _______________________________<br>
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Copy this file into your maya scripts directory, for example:<br>
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_selectKeyed.py<br>
# <br>
# Run the tool by importing the module, and then calling the primary function.<br>
# From python, this looks like:<br>
# import ml_selectKeyed<br>
# ml_selectKeyed.<a href="#-selectKeyed">selectKeyed</a>()<br>
# From MEL, this looks like:<br>
# python("import ml_selectKeyed;ml_selectKeyed.<a href="#-selectKeyed">selectKeyed</a>()");<br>
# _________________<br>
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Select any node in an animated hierarchy, such as a puppet, and run<br>
# the command to select all the nodes in the hierarchy that are keyed.<br>
# If the selected object has a namespace, it will only return nodes in <br>
# that namespace. The top node of the hierarchy is excluded.<br>
# ___________<br>
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Select a node in an animated hierarchy, and run the command directly, as<br>
# a hotkey or shelf button.<br>
# __________<br>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -</tt></p>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#aa55cc">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tbody><tr><td width="25%" valign="top"><a href="maya.cmds.html">maya.cmds</a><br>
</td><td width="25%" valign="top"></td><td width="25%" valign="top"></td><td width="25%" valign="top"></td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#eeaa77">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-selectKeyed"><strong>selectKeyed</strong></a>()</dt><dd><tt>Select any node in a hierarchy, and run the script. <br>
It will select all keyed objects within the hierarchy<br>
except the root node. If the selected object has a namespace,<br>
only nodes within that namespace will be selected.</tt></dd></dl>
</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#55aa55">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = 'Morgan Loomis'<br>
<strong>__license__</strong> = 'Creative Commons Attribution-ShareAlike'<br>
<strong>__revision__</strong> = 2</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#7799ee">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%">Morgan Loomis</td></tr></tbody></table></html>
|bgcolor(lightgrey):Download| [[ml_smartKey.py|http://morganloomis.com/download/ml_smartKey.py]] | |bgcolor(lightgrey):Revision| 0 | |>|[[Installation Instructions|Installing ml_smartKey.py]]| !!!Description This is a more robust tool for setting keyframes in Maya. !!!Usage Run the tool, select the options, and press the Set Key button. Alternately, set the options and press the "Create Hotkey" button to turn the current functionality into a hotkey. !!!UI Options |<html><input type="checkbox" checked="yes"></html> Selected Channels|Only key channels that are selected in the Channel Box| |<html><input type="checkbox" checked="yes"></html> Visible in Graph Editor|Only key curves visible in Graph Editor| |<html><input type="checkbox" checked="yes"></html> Key Only Keyed Channels|Only set keys on channels that are already keyed| |<html><input type="checkbox" checked="yes"></html> Delete Sub-Frames|Delete sub-frame keys surrounding the current frame| |<html><input type="checkbox" checked="yes"></html> Insert Key|Insert key (preserve tangents)| |<html><input type="checkbox" checked="yes"></html> Key Shapes|Set keyframes on shapes| |<html><button type="button">Set Key</button></html>|Run the command.| |<html><button type="button">Create Hotkey</button></html>|Create a hotkey from these settings.| !!!More Info *[[ml_smartKey Python Documentation]] *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_smartKey]] *<html><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//
<html>
<table width="100%" cellspacing="0" cellpadding="2" border="0" summary="heading">
<tbody><tr bgcolor="#7799ee">
<td valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>ml_smartKey</strong></big></big></font></td><td align="right" valign="bottom"><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="http://morganloomis.com/download/ml_smartKey.py">http://morganloomis.com/download/ml_smartKey.py</a></font></td></tr></tbody></table>
<p><tt># -= ml_smartKey.py =-<br>
# __ by Morgan Loomis<br>
# ____ ___ / / <a href="http://morganloomis.com">http://morganloomis.com</a><br>
# / __ `__ \/ / Licensed under Creative Commons BY-SA<br>
# / / / / / / / <a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a><br>
# /_/ /_/ /_/_/ _________ <br>
# /_________/ Revision 0, 2011-01-02<br>
# _______________________________<br>
# - -/__ Installing Python Scripts __/- - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Copy this file into your maya scripts directory, for example:<br>
# C:/Documents and Settings/user/My Documents/maya/scripts/ml_smartKey.py<br>
# <br>
# Run the tool by importing the module, and then calling the primary function.<br>
# From python, this looks like:<br>
# import ml_smartKey<br>
# ml_smartKey.<a href="#-ui">ui</a>()<br>
# From MEL, this looks like:<br>
# python("import ml_smartKey;ml_smartKey.<a href="#-ui">ui</a>()");<br>
# _________________<br>
# - -/__ Description __/- - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# This is a more robust tool for setting keyframes in Maya.<br>
# ___________<br>
# - -/__ Usage __/- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# Run the tool, select the options, and press the Set Key button.<br>
# Alternately, set the options and press the "Create Hotkey" button to<br>
# turn the current functionality into a hotkey.<br>
# ________________<br>
# - -/__ UI Options __/- - - - - - - - - - - - - - - - - - - - - - - - - - - <br>
# <br>
# [] Selected Channels : Only key channels that are selected in the Channel Box<br>
# [] Visible in Graph Editor : Only key curves visible in Graph Editor<br>
# [] Key Only Keyed Channels : Only set keys on channels that are already keyed<br>
# [] Delete Sub-Frames : Delete sub-frame keys surrounding the current frame<br>
# [] Insert Key : Insert key (preserve tangents)<br>
# [] Key Shapes : Set keyframes on shapes<br>
# [Set Key] : Run the command.<br>
# [Create Hotkey] : Create a hotkey from these settings.<br>
# __________<br>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /_ Enjoy! _/- - -</tt></p>
<p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#aa55cc">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tbody><tr><td width="25%" valign="top"><a href="maya.cmds.html">maya.cmds</a><br>
</td><td width="25%" valign="top"><a href="maya.mel.html">maya.mel</a><br>
</td><td width="25%" valign="top"></td><td width="25%" valign="top"></td></tr></tbody></table></td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#eeaa77">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-setKey"><strong>setKey</strong></a>(deleteSubFrames<font color="#909090">=False</font>, insert<font color="#909090">=False</font>, selectedChannels<font color="#909090">=False</font>, visibleInGraphEditor<font color="#909090">=False</font>, keyKeyed<font color="#909090">=False</font>, keyShapes<font color="#909090">=False</font>)</dt><dd><tt>The main function arguments:<br>
<br>
deleteSubFrames: Delete sub-frame keys surrounding the current frame<br>
insert: Insert key (preserve tangents)<br>
selectedChannels: Only key channels that are selected in the Channel Box<br>
visibleInGraphEditor: Only key curves visible in Graph Editor<br>
keyKeyed: Only set keys on channels that are already keyed<br>
keyShapes: Set keyframes on shapes as well as transforms</tt></dd></dl>
<dl><dt><a name="-ui"><strong>ui</strong></a>()</dt><dd><tt>User interface for smart key</tt></dd></dl>
</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#55aa55">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__author__</strong> = 'Morgan Loomis'<br>
<strong>__license__</strong> = 'Creative Commons Attribution-ShareAlike'<br>
<strong>__revision__</strong> = 0</td></tr></tbody></table><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tbody><tr bgcolor="#7799ee">
<td colspan="3" valign="bottom"> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
<td width="100%">Morgan Loomis</td></tr></tbody></table></html>
|bgcolor(lightgrey):Download| [[ml_toggleVisibility.mel|http://morganloomis.com/download/ml_toggleVisibility.mel]] | |bgcolor(lightgrey):Revision| 2 | |>|[[Installation Instructions|Installing ml_toggleVisibility.mel]]| !!!Description Toggle the visibility of an object off and on, regardless of the attribute's locked or keyable state. !!!Usage Select an object, and run the script. If the object is visible, it will be hidden, and vice-versa. !!!More Info *Additional help, or submit a bug: [[Email|mailto:morganloomis+puppet@gmail.com?subject=Help With ml_toggleVisibility]] *<html><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a></html> *//This page generated with help from a script by [[Ryan Dale|http://scienceoss.com/insert-content-into-tiddlywikis-with-this-python-script/]]//