I've also tried using nuke.scriptReadFile(...) and then running
nuke.root().setName(file_path) but it seems that is not possible as it
errors out with invalid name.  Even if I try to run setName in the script
editor once Nuke has launched and feed in exactly the name that is present
in the UI it will error out.  I don't want to use scriptSaveAs because I
don't want to change the file contents on disk...a bit worried an error
could corrupt a valid file, plus doing a save during an open operation
doesn't feel like a good idea.

Options are dwindling so I may resort to using the external script to
accomplish this.



On Thu, Mar 13, 2014 at 6:05 PM, Tony Barbieri <great...@gmail.com> wrote:

> I'm getting very close but still have one last hurtle to overcome.  So I
> ended up using the onCreate callback with the flag nodeClass="Root":
>
> nuke.addOnCreate(on_startup, nodeClass="Root")
>
> All seems well and the on_startup function is called successfully.  The
> last issue is I can't seem to get Nuke to open the file in the currently
> running session.  The code I'm using is:
>
>     nuke.scriptClear()
>     nuke.Root().setModified(False)
>     nuke.scriptOpen(*cmd.get("args", []))
>
> Even with the scriptClear and the set root unmodified, Nuke still opens a
> new session for the file.  I thought about using nuke.scriptReadFile(...),
> but that would put the file's contents into an Untitled file whereas I need
> to have the script open in the session so a user could save normally.
>
> If all else fails I'll go with the script technique.  Ideally I'd like to
> not have to go that route because I'm trying to use as similar a technique
> across applications as I can.
>
> Thanks again for any help!
>
> -tony
>
>
> On Thu, Mar 13, 2014 at 1:48 PM, Tony Barbieri <great...@gmail.com> wrote:
>
>> Thanks for the replies, both options sound great.  Appreciate you taking
>> the time!
>>
>> -tony
>>
>>
>> On Thu, Mar 13, 2014 at 1:04 PM, Brian Hawkins <bhawk...@reald.com>wrote:
>>
>>>  If you want to open a file on launch using your "openfile.py" script,
>>> you can run nuke from the command line with your python script as the first
>>> argument:
>>>
>>>
>>>
>>> eg:
>>>
>>> "Nuke8.0.exe /path/to/your/script/openfile.py"
>>>
>>>
>>>
>>> If you use a python file instead of a nukescript in the command line
>>> nuke will run the script as soon as it has run its own startup procedures.
>>>
>>>
>>>
>>> *From:* nuke-dev-boun...@support.thefoundry.co.uk [mailto:
>>> nuke-dev-boun...@support.thefoundry.co.uk] *On Behalf Of *Tony Barbieri
>>> *Sent:* Thursday, March 13, 2014 10:51 AM
>>>
>>> *To:* Nuke plug-in development discussion
>>> *Subject:* Re: [Nuke-dev] Open file on startup
>>>
>>>
>>>
>>> The onScriptLoad callback doesn't seem to fire when launching.  I'm
>>> adding the onScriptLoad callback in the init.py but it doesn't seem to
>>> "take" until I open a script after Nuke has launched.  Trying to use the
>>> onCreate callback also doesn't seem to work as I am trying to open a script
>>> while everything is still instantiating.  Not really sure how to proceed
>>> with this at this point.
>>>
>>>
>>>
>>> On Mon, Mar 10, 2014 at 3:29 PM, Tony Barbieri <great...@gmail.com>
>>> wrote:
>>>
>>> Thanks for your reply, Nathan.  This seems like the most straightforward
>>> way to accomplish this.
>>>
>>>
>>>
>>> Thanks again!
>>>
>>>
>>>
>>> -tony
>>>
>>>
>>>
>>> On Mon, Mar 10, 2014 at 1:06 PM, Nathan Rusch <nathan_ru...@hotmail.com>
>>> wrote:
>>>
>>> The `onScriptLoad` callback runs after the Root's `onCreate` callback,
>>> which should be the last `onCreate` to run when a script is loaded.
>>>
>>>
>>>
>>> -Nathan
>>>
>>>
>>>
>>> *From:* Tony Barbieri <great...@gmail.com>
>>>
>>> *Sent:* Monday, March 10, 2014 7:58 AM
>>>
>>> *To:* nuke-dev@support.thefoundry.co.uk
>>>
>>> *Subject:* [Nuke-dev] Open file on startup
>>>
>>>
>>>
>>> Hello!
>>>
>>>
>>>
>>> I am trying to open a file on startup by using a custom open method
>>> written in python.  I am trying to run the open code either in an init.py
>>> or menu.py that we use for our facility.  Ideally this can happen in the
>>> init.py.  The code appears to be running correctly but it seems that the
>>> file is zeroed out to a default scene due to it running "too early".
>>>
>>>
>>>
>>> Is it possible to open a file on Nuke launch without using the standard
>>> command-line file flag but do it via python?
>>>
>>>
>>>
>>> Thanks!
>>>
>>>
>>>
>>> --
>>> -tony
>>>    ------------------------------
>>>
>>> _______________________________________________
>>> Nuke-dev mailing list
>>> Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
>>>
>>>
>>> _______________________________________________
>>> Nuke-dev mailing list
>>> Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
>>>
>>>
>>>
>>>
>>>
>>> --
>>> -tony
>>>
>>>
>>>
>>>
>>>
>>> --
>>> -tony
>>>
>>>
>>>  ------------------------------
>>>
>>>
>>>
>>> ******************************************************************************************
>>> This email and any files transmitted with it are confidential and
>>> intended solely for the use of the individual or entity to whom they are
>>> addressed and may contain confidential and privileged information. No one
>>> else is authorized to distribute, forward, print, copy or act upon any
>>> information contained in this email. If you are not the intended recipient,
>>> please contact the sender by reply email and destroy all copies of the
>>> original message.
>>>
>>> *******************************************************************************************
>>>
>>> ------------------------------
>>>
>>>
>>> ******************************************************************************************
>>> This email and any files transmitted with it are confidential and
>>> intended solely for the use of the individual or entity to whom they are
>>> addressed and may contain confidential and privileged information. No one
>>> else is authorized to distribute, forward, print, copy or act upon any
>>> information contained in this email. If you are not the intended recipient,
>>> please contact the sender by reply email and destroy all copies of the
>>> original message.
>>>
>>> *******************************************************************************************
>>>
>>> _______________________________________________
>>> Nuke-dev mailing list
>>> Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
>>>
>>>
>>
>>
>> --
>> -tony
>>
>
>
>
> --
> -tony
>



-- 
-tony
_______________________________________________
Nuke-dev mailing list
Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

Reply via email to