Adding new properties and updating the call to previous ones.
Properties are now :
* label : getLabel
* fullLabel : getFullLabel
* fullLabelToNode : getFullLabelToNode
* fullLabelToGraph : getFullLabelToGraph
Same for the name.
Computing: lock the undo stack at the current index to avoid going back too far and potentially alter computing process.
Submitting: clear the undo stack.
- If global stop: block restarting thread.
- If local stop: restart thread with the remaining nodes to compute.
This implementation permits to avoid app freezing when a local stop occurs.
- "meshroom -h / --help": now provides command line documentation (so
argparse is done before GUI creation)
- new positional argument to set project file or input folder
- new "--pipeline" option to set a default pipeline, also support an
environment variable
* store status file last modification time on NodeChunk
* ChunksMonitor: don't stop the underlying thread when changing chunks, only modify the list of monitored files + use a mutex for thread-safety
Saving file on disk impacts cache folder location and therefore status files paths; force re-evaluation of monitored filepaths at the end of a "saveAs" operation.
* make last modification time check on status asynchronous using a dedicated thread + use a ThreadPool to run tasks in parallel
* avoid UI freeze when checking for status updates + increase performances
Depending on the 'Save File Dialog' used (OS/Qt fallback implementation), it is possible to save the meshroom graph with another extension, making it impossible to reload it via File>Open (due to the filter allowing only *.mg files).
* ease the deletion of a branch from a given starting point
* accessible with alt+del on a node
* re-order menu to put the most destructive operation (Clear Data) at the very end
* change 'destroyCallback' function to 'resetOnDestroy' boolean parameter
* create a dedicated lambda to reset value to None when object is destroyed and attach it to the target instance
* only way to keep a reference to this function that can be used for destroyed signal (dis)connection with instance accessible