Rename layer automatically

Share your custom panels, brushes, papers... (you need to be registered to read posts in this section)
Post Reply
User avatar
Lukas
Posts: 507
Joined: 14 Jan 2011, 11:15
Contact:

Rename layer automatically

Post by Lukas »

I'm looking for a command to automatically change layer names from "Man" to "Man Color" and "Woman" to "Woman Color"

Is there a way to do it with an embedded George script?

Also, what's the best resource to learn some George scripting?
Last edited by Lukas on 08 May 2013, 09:36, edited 1 time in total.
  • Club Baboo
  • TVPaint Pro 11.7.2
  • macOS Ventura 13.4.1 & Windows 10
  • Cintiq 27QHD
User avatar
Mads Juul
Posts: 3992
Joined: 02 May 2007, 19:18
Location: Viborg,Denmark
Contact:

Re: Rename layer automatically

Post by Mads Juul »

A quick introduction to George :D

this code will rename layer.

Code: Select all

tv_LayerCurrentID
curID = result
tv_LayerInfo curID
PARSE result layerDisplay layerPosition layerOpacity layerName layerType layerStart layerEnd layerPrelighttable layerPostlighttable layerSelection
newName = layerName"_COLOR"
tv_LayerRename curID newName
When using George, using whitespaces is a little cumbersome among other things Because of the PARAM function which splits string into variable at each whitespace, for this reason this script calls the new layer
"man_COLOR" instead of "man COLOR"

here with explaination and link yo the George WIKI

Code: Select all

tv_LayerCurrentID
// the function  'tv_LayerCurrentID' gets the layer id of the current layer and stores it automatically in a variable called 'result' I need the layer id for the functions 'tv_LayerInfo' and 'tv_LayerRename'
http://wiki.tvpaint.fr/index.php?title= ... rCurrentID

Code: Select all

curID = result
//create a new vareiabel and store the value of 'result' in it bacause 'result' is used to store the return valueof the different functions in GEORGE

Code: Select all

tv_LayerInfo curID
// tv_LayerInfo is a function that returns info about the layer and stores it in the varable called "result"
http://wiki.tvpaint.fr/index.php?title=Tv_LayerInfo

Code: Select all

PARSE result layerDisplay layerPosition layerOpacity layerName layerType layerStart layerEnd layerPrelighttable layerPostlighttable layerSelection
// Wath PARSE , I split the input variable (here result) every time there is a whitespace and stores them in the new vaiable
http://wiki.tvpaint.fr/index.php?title=PARSE

Code: Select all

newName = layerName" COLOR"
// I create a new variable from the current name
http://wiki.tvpaint.fr/index.php?title=Tv_LayerRename

Code: Select all

tv_LayerRename curID newName
// I rename layer with the function 'tv_layerRename'
http://wiki.tvpaint.fr/index.php?title=Tv_LayerRename

Here is a introdiction to George
http://wiki.tvpaint.fr/index.php?title=George

here is a list of Commands
http://wiki.tvpaint.fr/index.php?title= ... _Reference
List of George instructions
http://wiki.tvpaint.fr/index.php?title= ... _Reference

and is any question please ask at the forum for George
http://forum.tvpaint.com/viewforum.php?f=34
-Mads

P.S A nice function to use to see whats going on in your script is 'tv_warn'
http://wiki.tvpaint.fr/index.php?title=Tv_Warn
Mads Juul
Storyboard Artist
blog: http://mjstoryboard.blogspot.dk/
Mail: mjstoryboard@gmail .com

Windows 10, 64 bit i7-4790 CPU 4.00 Hz,32 GB RAM, With TVP Animation 11 Pro (11.0.2-64bits)
2 Monitors 1920X1080 pixels + 1 Wacom Cintiq 21UX 2
User avatar
Lukas
Posts: 507
Joined: 14 Jan 2011, 11:15
Contact:

Re: Rename layer automatically

Post by Lukas »

Wow, thanks for your time Mads! :) My brain is consuming as much as possible
  • Club Baboo
  • TVPaint Pro 11.7.2
  • macOS Ventura 13.4.1 & Windows 10
  • Cintiq 27QHD
User avatar
Lukas
Posts: 507
Joined: 14 Jan 2011, 11:15
Contact:

Re: Rename layer automatically

Post by Lukas »

I thought it was fine, but I'm having some trouble with using _ instead of a space

I'm trying to somehow seperate colored layers (so I can toggle all colored layers' visibility with 1 button)

I'm trying to learn by just doing it, so bear with me...

I thought if I named all my layers
- guy line
- guy color
- girl line
- girl color
etc

I could somehow use something like this

Code: Select all

tv_LayerInfo
PARSE result layerDisplay layerPosition layerOpacity layerName layerType layerStart layerEnd layerPrelighttable layerPostlighttable layerSelection
PARSE layerName word1 word2 word3 word4
IF CMP(word2, color)
tv_LayerDisplay LayerID Off
ELSE
tv_LayerDisplay LayerID On
END
(allthough I have no idea yet how to run and use this for all layers in a project...but i'll get there :p)

Is there a way to get around using "_" and use a space anyway, or is this just not gonna work this way?
  • Club Baboo
  • TVPaint Pro 11.7.2
  • macOS Ventura 13.4.1 & Windows 10
  • Cintiq 27QHD
Post Reply