This location is for Registered Users Only.
Perhaps you need to login or register.
7.0 or later
Linux, Mac, Windows
Useful Nukepedia Tool #10. Explore this video:
v2.1 - Nuke 13 compatible
v2.0 - updated to use Qt.py to work in Nuke 11 as well as Nuke 10
Just unzip the arcihve and place both the ToDoList.py and Qt.py into your NUKE_PATH (If you already have Qt.py somewhere in your NUKE_PATH you can delete the included version). The rest of the install process remains the same.
v1.3 - made check for Nuke exectuiable case independent which prevented settings to be saved and loaded before in custom install environments (thanks Ean for finding that one)
v1.2 - added callback to ensure proper panel update when the script is loaded with it visible in the current layout
The ToDoList panel is a simple widget that helps organise your work on a nuke script.
watch a quick video here
To install save the downloaded file into your NUKE_PATH and put the following code into your menu.py:
import ToDoList ToDoList.registerNukePanel()
The ToDoList lets you create as many tasks as you like, give them a description, a priority and a status, then adjust the UI setting to view your tasks the way you'd like to;
Hide finished tasks to clean up the list and sort by ascending or descending priority.
You can even copy the content of the tasks to the clipboard to quickly paste your current state of things into an email to keep those supervisors, coordinators and producers happy.
The tasks are saved to a simple xml file and associated to your nuke scripts by name and location, i.e.
if your Nuke script lives here:
the respective task list will live here:
This means people can pre-generate the xml file and nuke script in their pipeline (e.g. through export from Hiero) and the ToDoList will automatically be populated when the nuke script is opened.
If i want to to save the settings file to another location.
do you edit line 565?
"self.settingsFile = nuke.root()['to doSettingsFile' ].value()"
I was wondering about making this use a preference file to define the location of the settings file without having to alter the main code (similar to the autosave knob in the preferences).
I like the idea of a preference file!
One issue unfortunately, I seem to be crashing from time to time when I save my script. It only started happening when I installed the ToDoList, and went away when I uninstalled it.
Not sure what it's conflicting with...?
Here's what the console gave me just now:
Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::n otify() and catch all exceptions there.
Was there any stack trace printed that indicates which event handler triggered this?
Could not parse stylesheet of widget 0x9b768410
It's worth noting actually that these crashes more often than not happen before I've filled out some tasks on the ToDoList. Once it's been populated it seems more stable.
Again, this could totally be a local conflict within our pipeline, but it does seem to only occur with the ToDoList.
Working on Nuke 7.0v10
I'm on 8.05 on Windows and it's not working
I've got this in my menu.py that is located on a network drive:
nuke.pluginAddPath( './python' )
I had to chance the capital letter in your example to small 't'.
This generates the panel, but nothing happens afterwards when I save the script.
What I'm doing wrong?
Thank you for your help.
What do you mean by "it generates the panel but nothing happens"?
It's a bit strange you had to change to lower case "t". The module is called "ToDoList" not "toDoList", so I would investigate that first. Sounds like you are not importing what you think you are.
The problem with the downloaded file was the encoding: ASCI instead of UTF-8 - I converted it in Notepad++ and it works.
I don't know why...but let's assign a few tasks.
# -*- coding: utf-8 -*-
I have never encountered this before though apparently ASCII is the default encoding for Python 2, while Python 3 uses UTF8 (not that that helps inside of Nuke)
Here is the PySide2 Compatible version of it:
I am using this every day again now and was planning to update it using Qt.py so it's compatible with both Nuke 11 and earlier versions. This should actually only take a few moments so will try to tackle it some time after work this week.
Thanks for posting this in the interim though!
Thanks Sven for the nudge and the intermediate solution.
- An automatic sorter would be great, though. Meaning a special filter which drags the finished ones way to the bottom and the red ones on top.
- This is connected to another tool, but connected to the pysides... (but since u did nukepedia, thank you sir) there are so many tools on nukepedia using the old PySides. I have found a try / except command which imports e.g. qtgui from the pyside2 etc... I have a tool now though which says:
from PySide.QtGui import *
from PySide.QtCore import *
and I cant get it run with the pyside2 commands. any ideas?
I can delete this part again, of course...
If I get around to looking at this again I can implement more sorting options.
As for PuySide vs PySide2, I would highly recommend using Qt.py to make code work with either version:
Other than that I recommend using hte nuke-python forum to ask for help.
Nice little Add-On. I will start trying to use it and see how it works out. I just have a few small suggestions.
First, when you use it, it spits out a ton of DEBUG messages to the console. I deleted the line "logger.setLeve l(logging.DEBUG )", and that seems to have stopped it from spamming the console. Is that the right thing to do?
At the moment, the priority number can be any number, even negative. Seems like you could limit these to 0-5 or something.
It'd be nice if there were a way to add a new task from the keyboard. If I'm writing up a list of things to do, I have to grab the pen or mouse each time and click on Add Task. Personally, I'd like it if, when you hit return after typing in a task, it would then create a new task.
When your ToDo text extends past the text box, there's no way to see that text unless you select the text and drag, sliding it into view. It would be much nicer if it handled this in a more elegant way, like making the text box bigger when it fills up a line.
Thanks again for the cool tool.
thanks for the feedback. Deleting the logger line or using a different log level like logging.ERROR is the right to do to suppress the debug messages.
I agree about the text box needing to be bigger/multi line, one day when I get time again...
Try alt+shift+enter to add a new task, I added that to the first version for exactly the reason you mentioned.
What is the specific error you are seeing? Are you using the latest Qt.py?
I have not yet moved to v12 as I'm in the middle of production but will make sure to update as needed when I get there. Let me know if it's urgent for you and I will try and make time sooner than later.
File "C:/Users/Pelik an/.nuke/BMF/py thon/EnhanceWor kflow\Qt.py", line 969, in _install
File "C:/Users/Pelik an/.nuke/BMF/py thon/EnhanceWor kflow\Qt.py", line 668, in _pyside2
Qt.QtCore.QStri ngListModel = Qt._QtGui.QStringListModel
AttributeError: 'module' object has no attribute 'QStringListMod el'
Have you changed something in the Qt.py but haven't uploaded the new version, maybe?
For the "gradienteditor " by mads I had to add a qstringlistmode l to query the version
Is it possible to add a working time colon (Start:End)? Something that register the time automatically or manually by the artist?
Also would be handy to have the working artist drop down list.
This tool has a lot of potential combined with Import/Export xlsx or CSV data formats.
Keep it up with the good work
Had to edit lines 627 and 634 to change iteritems() to items() for python3 in order for the saved file to work.
this is a great tool!
but it can't creat the xml file when i use the nuke13.1