Folder activity
Posted: Thu Dec 15, 2005 2:13 am
Hi,
I try to create a new task that can notify me if all items in a specified folder are rendered and then start another task.
I use After Effects to create animations.
My purpose is to ask Robotask if the rendering in After Effects is over.
The only solution I found is to create a loop that looks if the last
item to render is free (with the system variable
{IsFileFree({LASTFILE})} ).
(I can know what file will be the last to render)
It works but I wonder if a simplier solution exists because I have to
create a loop with 50000 iterations plus a pause to be sure that my
loop will execute for a long time (the time for rendering).
Is it a way to loop a task until a variable get a True value ?
I wanted my task to stop when the variable {IsFileFree({LASTFILE})} returns a True value.
The ideal solution will be to know if there is no more activity in a
specified folder : for example if I have 10 animations to render in a
folder "Rendered Files", I will know that the rendering is over if
there is no more activity in this folder.
Moreover this ideal solution would be usefull to know if my client has
finished his upload in my FTP site (if there is no more activity in a
FTP folder) or such other things.
Here is my task :
;**********************
;* RoboTask Task file *
;* Do not edit! *
;**********************
[Root]
ActionAfterRun=INTEGER|0
Actions=FOLDER
Automat=INTEGER|-1
CatID=INTEGER|1789981768
ContinueOnError=INTEGER|0
ExternalName=STRING|"Task37"
Hide=INTEGER|0
ID=INTEGER|707182475
Name=STRING|"Rendering finished ?"
Priority=INTEGER|3
RunOnClose=INTEGER|0
RunOnStartup=INTEGER|0
ToLog=INTEGER|3
[Actions]
Action1=FOLDER
Action10=FOLDER
Action2=FOLDER
Action3=FOLDER
Action4=FOLDER
Action5=FOLDER
Action6=FOLDER
Action7=FOLDER
Action8=FOLDER
Action9=FOLDER
[Actions\Action1]
ActionID=STRING|"A_VARIABLES_CREATE"
Enabled=INTEGER|-1
Name=STRING|"Create variable ""LASTFILE"" with value """""
Params=FOLDER
[Actions\Action1\Params]
expand=STRING|"0"
varname=STRING|"LASTFILE"
[Actions\Action10]
ActionID=STRING|"A_DIALOG_MESSAGE"
Enabled=INTEGER|-1
Name=STRING|"Show ""Rendering finished !"""
Params=FOLDER
[Actions\Action10\Params]
icon=STRING|"1"
msg0=STRING|"Rendering finished !"
msgcount=STRING|"1"
playsound=STRING|"0"
showmessage=STRING|"1"
[Actions\Action2]
ActionID=STRING|"A_DIALOG_OPEN"
Enabled=INTEGER|-1
Name=STRING|"Open Dialog"
Params=FOLDER
[Actions\Action2\Params]
caption=STRING|"What will be your last item to render ?"
default=STRING|"None"
filter=STRING|"Text files|*.txt|All files|*.*|"
variable=STRING|"LASTFILE"
[Actions\Action3]
ActionID=STRING|"A_LOOP_SIMPLE"
Enabled=INTEGER|-1
Name=STRING|"Simple Loop"
Params=FOLDER
[Actions\Action3\Params]
begin=STRING|"1"
end=STRING|"10"
[Actions\Action4]
ActionID=STRING|"A_GENERAL_PAUSE"
Enabled=INTEGER|-1
Name=STRING|"Delay 5000 ms"
Params=FOLDER
[Actions\Action4\Params]
delay=STRING|"50"
[Actions\Action5]
ActionID=STRING|"A_FLOW_IF"
Enabled=INTEGER|-1
Name=STRING|"If Then"
Params=FOLDER
[Actions\Action5\Params]
case=STRING|"0"
operator=STRING|"1"
type=STRING|"3"
value1=STRING|"{IsFileFree({LASTFILE})}"
[Actions\Action6]
ActionID=STRING|"A_LOOP_END"
Enabled=INTEGER|-1
Name=STRING|"End Loop"
[Actions\Action7]
ActionID=STRING|"A_FLOW_ENDIF"
Enabled=INTEGER|-1
Name=STRING|"End If"
[Actions\Action8]
ActionID=STRING|"A_ROBOTASK_LOG"
Enabled=INTEGER|-1
Name=STRING|"LASTFILE exists"
Params=FOLDER
[Actions\Action8\Params]
message=STRING|"{IsFileFree({LASTFILE})}"
type=STRING|"0"
[Actions\Action9]
ActionID=STRING|"A_VARIABLES_REMOVE"
Enabled=INTEGER|-1
Name=STRING|"Remove variable ""LASTFILE"""
Params=FOLDER
[Actions\Action9\Params]
varname=STRING|"LASTFILE"
I try to create a new task that can notify me if all items in a specified folder are rendered and then start another task.
I use After Effects to create animations.
My purpose is to ask Robotask if the rendering in After Effects is over.
The only solution I found is to create a loop that looks if the last
item to render is free (with the system variable
{IsFileFree({LASTFILE})} ).
(I can know what file will be the last to render)
It works but I wonder if a simplier solution exists because I have to
create a loop with 50000 iterations plus a pause to be sure that my
loop will execute for a long time (the time for rendering).
Is it a way to loop a task until a variable get a True value ?
I wanted my task to stop when the variable {IsFileFree({LASTFILE})} returns a True value.
The ideal solution will be to know if there is no more activity in a
specified folder : for example if I have 10 animations to render in a
folder "Rendered Files", I will know that the rendering is over if
there is no more activity in this folder.
Moreover this ideal solution would be usefull to know if my client has
finished his upload in my FTP site (if there is no more activity in a
FTP folder) or such other things.
Here is my task :
;**********************
;* RoboTask Task file *
;* Do not edit! *
;**********************
[Root]
ActionAfterRun=INTEGER|0
Actions=FOLDER
Automat=INTEGER|-1
CatID=INTEGER|1789981768
ContinueOnError=INTEGER|0
ExternalName=STRING|"Task37"
Hide=INTEGER|0
ID=INTEGER|707182475
Name=STRING|"Rendering finished ?"
Priority=INTEGER|3
RunOnClose=INTEGER|0
RunOnStartup=INTEGER|0
ToLog=INTEGER|3
[Actions]
Action1=FOLDER
Action10=FOLDER
Action2=FOLDER
Action3=FOLDER
Action4=FOLDER
Action5=FOLDER
Action6=FOLDER
Action7=FOLDER
Action8=FOLDER
Action9=FOLDER
[Actions\Action1]
ActionID=STRING|"A_VARIABLES_CREATE"
Enabled=INTEGER|-1
Name=STRING|"Create variable ""LASTFILE"" with value """""
Params=FOLDER
[Actions\Action1\Params]
expand=STRING|"0"
varname=STRING|"LASTFILE"
[Actions\Action10]
ActionID=STRING|"A_DIALOG_MESSAGE"
Enabled=INTEGER|-1
Name=STRING|"Show ""Rendering finished !"""
Params=FOLDER
[Actions\Action10\Params]
icon=STRING|"1"
msg0=STRING|"Rendering finished !"
msgcount=STRING|"1"
playsound=STRING|"0"
showmessage=STRING|"1"
[Actions\Action2]
ActionID=STRING|"A_DIALOG_OPEN"
Enabled=INTEGER|-1
Name=STRING|"Open Dialog"
Params=FOLDER
[Actions\Action2\Params]
caption=STRING|"What will be your last item to render ?"
default=STRING|"None"
filter=STRING|"Text files|*.txt|All files|*.*|"
variable=STRING|"LASTFILE"
[Actions\Action3]
ActionID=STRING|"A_LOOP_SIMPLE"
Enabled=INTEGER|-1
Name=STRING|"Simple Loop"
Params=FOLDER
[Actions\Action3\Params]
begin=STRING|"1"
end=STRING|"10"
[Actions\Action4]
ActionID=STRING|"A_GENERAL_PAUSE"
Enabled=INTEGER|-1
Name=STRING|"Delay 5000 ms"
Params=FOLDER
[Actions\Action4\Params]
delay=STRING|"50"
[Actions\Action5]
ActionID=STRING|"A_FLOW_IF"
Enabled=INTEGER|-1
Name=STRING|"If Then"
Params=FOLDER
[Actions\Action5\Params]
case=STRING|"0"
operator=STRING|"1"
type=STRING|"3"
value1=STRING|"{IsFileFree({LASTFILE})}"
[Actions\Action6]
ActionID=STRING|"A_LOOP_END"
Enabled=INTEGER|-1
Name=STRING|"End Loop"
[Actions\Action7]
ActionID=STRING|"A_FLOW_ENDIF"
Enabled=INTEGER|-1
Name=STRING|"End If"
[Actions\Action8]
ActionID=STRING|"A_ROBOTASK_LOG"
Enabled=INTEGER|-1
Name=STRING|"LASTFILE exists"
Params=FOLDER
[Actions\Action8\Params]
message=STRING|"{IsFileFree({LASTFILE})}"
type=STRING|"0"
[Actions\Action9]
ActionID=STRING|"A_VARIABLES_REMOVE"
Enabled=INTEGER|-1
Name=STRING|"Remove variable ""LASTFILE"""
Params=FOLDER
[Actions\Action9\Params]
varname=STRING|"LASTFILE"