Commit Graph

93 Commits

Author SHA1 Message Date
Martin Poirier
bd7cfbc3cc netrender fixes:
slave use output log option correctly
use os.path.join more consistently (reported by Dalai Felinto)
unify frame range (was 4 digits on master, 6 elsewhere, now 6 everywhere).
Fix occasional broken pipe between master and slave (didn't affect result, just polluted log).
2010-08-14 16:30:41 +00:00
Martin Poirier
0d9898ac73 rewrite poll methods using a base class implementation instead of a global function (now that this is possible because of it being a class method) 2010-08-10 02:58:32 +00:00
Campbell Barton
a6f13f9d7b poll() as a python '@staticmethod' was too limiting and didnt allow useful base class poll functions in many cases.
now rna functions that dont have a 'self' are automatically assumed '@classmethods'.

de-duplicated poll functions and made some minor tweaks too.
2010-08-09 01:37:09 +00:00
Martin Poirier
9f0232766c netrender: fix poll methods 2010-08-06 22:24:33 +00:00
Campbell Barton
30d180ff0d bugfix [#23194] export UVs miss the extension file
also made all other exporters do this.

Made some internal changes.
- moved path functions from bpy.utils to bpy.path (similar to os.path)
- added functions...
  bpy.path.ensure_ext(path, ".ext", case_sensitive=False) # simple function to ensure the extension is set.
  bpy.path.resolve_ncase(path) # useful for importing scenes made on windows where the path case doesnt match the files.
2010-08-06 01:40:54 +00:00
Campbell Barton
163f6055d2 bugfix [#23182] Using self.report() inside poll() gives crash
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.


    def poll(self, context): ...

is now...

    @staticmethod
    def poll(context): ...

Pythons way of doing static methods is a bit odd but cant be helped :|

This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
2010-08-05 16:05:30 +00:00
Martin Poirier
5b345524ea RNA Types metaclass registration
See mailing list posts for details [1][2][3]

Addons still need to be fixed; Campbell said he'd do it today.

See any of the py files (outside netrender) in this commit for how to do it (it's rather simple).

[1] http://lists.blender.org/pipermail/bf-committers/2010-February/026328.html
[2] http://lists.blender.org/pipermail/bf-committers/2010-August/028311.html
[3] http://lists.blender.org/pipermail/bf-committers/2010-August/028321.html
2010-08-02 02:55:12 +00:00
Guillermo S. Romero
20e6b5280d SVN maintenance. 2010-08-01 21:29:50 +00:00
Martin Poirier
a5e4fc782a netrender: fix reload
Note: this is tested and work with metaclass registering. If it doesn't work with registering lists (as currently in svn), I can still commit the metaclass method...
2010-07-31 19:23:22 +00:00
Campbell Barton
026ac24922 [#22488] Reloading scripts causes crash
F8 key enabled again, useful for script UI development.

- keying set freeing wasnt freeing from all scenes and the builtin list.
- PointerProperty() cant refer to a removed python srna type (fixed in rigify and netrender).
- Added a check for freeing a type used by a PointerProperty but its very slow, makes reloading take ~10sec. Only enabled this in debug mode for now.

Netrender register() function isnt re-registering the property, probably because the module is cached by python and not re-run.
2010-07-23 01:43:30 +00:00
Martin Poirier
84b291462f netrender
- Temporary fix for linked libs repathing (didn't work correctly when using relative links).

- autorefresh only for main page (on job page, it's really annoying because it keeps reseting results preview, so until that's fixed, off it is).
2010-07-17 18:40:00 +00:00
Martin Poirier
ccbd4f3a0f path -> filepath
Someone must have missed that when updating the operator properties.
2010-07-15 22:37:07 +00:00
Martin Poirier
78d3793d31 netrender
Save and Restore master from disk.

When the "clear on exit" option is off, write a data file (blender_master.data) in the master's path on exit and reads it back on load.

Note: Jobs and Slaves lists are restored, but not balancer settings (problem with the pickle module).
2010-06-20 20:33:59 +00:00
Campbell Barton
c2f36a4d6a naming changes
path -> filepath (for rna and operators, as agreed on with elubie)
 path -> data_path (for windowmanager context functions, this was alredy used in many places)
2010-06-14 03:52:10 +00:00
Campbell Barton
9cbbc9d3af rename some rna properties filename --> filepath
* filename == "foo.ext"
 * filepath == "/path/to/and/including/foo.ext"

this was alredy followed in some places not not everywhere.
2010-06-02 17:58:28 +00:00
Martin Poirier
139f456bd1 NetRender
Repath functionality: Edit paths in blend file on slaves to match the transfered files.
Tested with textures and point caches. Fluid should work. Point Caches with the External option might not.


This should fix previous problems when using absolute paths in blend files.
2010-05-02 21:34:08 +00:00
Martin Poirier
dd3a07a9f7 [#22211] Sending single frame job to netrender
Patch by Jeroen Bakker
2010-05-01 20:39:04 +00:00
Martin Poirier
f3c0743b41 NetRender:
- multires cache files and image .tex cache support in dependency list
- Compare md5 of files before using a local copy (not one transfered by netrender). Could be changed to a simpler CRC if speed is an issue. The goal is not to have a strong crypto signature but just to detect outdated local files.
- Reduce slave timeout to 5 minutes (down from 30). Slaves should report at most every 30s, there's no reason for a value to be that high.
- Reorder the presentation tables on the main web page (job list is more important)
- Collapse dependency list by default on job page (only show main file and headers for other files, point cache and fluid cache)
- Slave option (default: True) to also output render log to the console (as well as the usual copy to the master)
2010-04-28 01:54:12 +00:00
Martin Poirier
061a306d66 NetRender tweaks by Brecht
* Client connection is made from panel poll functions even if
netrender is disabled
* Network render slave should print when it has connected to server,
now it says "node initiation", I initially thought this meant it was
not connected yet.
* Web interface should auto-refresh, I got confused if job and slaves
were actually found or not.
2010-04-27 03:14:40 +00:00
Daniel Genrich
13e0d584c0 Python API fix: Add COMPAT_ENGINES to properties_data_camera 2010-04-19 11:24:22 +00:00
Daniel Genrich
6bc2eb1949 Python API fix: Make properties_texture compatible with COMPAT_ENGINES, also a little enhancement for data_mesh (thanks to Matt) 2010-04-19 00:39:46 +00:00
Daniel Genrich
6cdf29e1c9 Python API: Make properties_data_mesh compatible with COMPAT_ENGINES. (supervised by Matt ;) 2010-04-18 23:52:37 +00:00
Campbell Barton
9105f6f0bd rna naming, *_frame --> frame_* 2010-04-01 21:44:56 +00:00
Martin Poirier
c4f0a07267 Netrender: Fix for API changes (it would be nice if people at least fixed built-in script when breaking things)
Also force post process off. 

This is a partial fix for Bug [#21410], there is still the problem that loading back multilayer exr as render results doesn't load the composited result correctly (bug is assigned to Brecht). The results are still ok when downloaded outside of the render engine, so there's a work around for now.
2010-03-28 20:46:25 +00:00
Brecht Van Lommel
4a2efe0822 no need to include the setting names in enum items
(commit 27539 by Campbell from render25 branch)
2010-03-16 18:22:55 +00:00
Brecht Van Lommel
056972a97f minor changes to rna names for consistancy
(commit 27445 by Campbell from render25 branch)
2010-03-16 17:42:58 +00:00
Martin Poirier
4faedb3d91 netrender:
sensible timeout on connection attempt
fix for operator api change
2010-03-12 03:12:27 +00:00
Campbell Barton
d0e0f6dea3 move render operators into their own files, render_internal.c & render_opengl.c, rather then have them in the screen module.
also rename render operators SCREEN_OT_ --> RENDER_OT_
2010-03-08 16:36:53 +00:00
Martin Poirier
769eb45124 NetRender: Use threading mixin for master server. See if it solves latency issues that some people are having (always keep the stdout log from the master/client/slaves if you are reporting an issue). 2010-02-27 22:07:38 +00:00
Campbell Barton
bbf6dde277 rna/py api
rename image.save() --> image.save_render() because it uses render settings for saving.
added image.save() which is like pressing save in the image view, saving to the images path and removing the dirty flag.
2010-02-26 12:28:44 +00:00
Martin Poirier
d616286ffb Adding back decorator (metaclass registration not in trunk yet) 2010-02-26 12:15:15 +00:00
Martin Poirier
59e2fdbf31 Netrender: check if library and image files exist before adding as dependency. 2010-02-26 02:37:31 +00:00
Campbell Barton
78bb45931c scene.render_data -> scene.render
bpy.types.SceneRenderData -> bpy.types.RenderSettings

better do these changes before there are too many scripts out.
2010-02-23 12:48:35 +00:00
Campbell Barton
97bdfe6f1b pep8 cleanup + correction for external player operator return value. 2010-02-22 23:32:58 +00:00
Campbell Barton
780aa24dfe Netrender was reloading classes multiple times 2010-02-17 17:16:04 +00:00
Thomas Dinges
dbb6c54862 Netrender:
* Added File Path Button for the "path" property.
2010-02-15 02:53:36 +00:00
Campbell Barton
39c04315e2 change python scripts so modules which register with blender have a register() function rather then making import automatically run the register functions (generally considered bad practice by python people) 2010-02-14 11:21:21 +00:00
Campbell Barton
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Campbell Barton
95069f2909 pep8 changes 2010-01-31 14:46:28 +00:00
Martin Poirier
abd9a59af4 netrender: utility function to extract information from a blend file on disk. Used to get render resolution for jobs in the web interface (lazy init). 2010-01-25 21:10:33 +00:00
Martin Poirier
670d55f097 netrender: refactor thumbnail generation code. New option to generate the thumbnail on the slaves (per slave option, default off). Missing thumbnails are still generated on demand by the master. 2010-01-09 18:21:27 +00:00
Martin Poirier
eb2e64afa5 netrender: bugfix to make thumbnails work correctly when running master through the UI (not in background) [context is borked in that case]. Also show number of threads settings in slave settings (reusing render setting) and force that setting when rendering jobs. 2010-01-08 17:52:21 +00:00
Martin Poirier
ef8179f7cb netrender:
thumbnails on the web interface (resized with imagemagick or compatible if present, fullsize otherwise)
Clicking on the "show" link shows the thumbnail associated with one frame. Clicking on a second one shows all frames in the range. Clicking on more frames extends the range. Clicking on a thumbnail (or on the show link of a visible thumbnail) hides all thumbnails.
2010-01-08 02:33:20 +00:00
Martin Poirier
f2ee251b64 netrender bug: master server clean on exit (off by default) was deleting on folder too low in the hierarchy (/tmp/ instead of /tmp/master_<pid>/). That was nasty but I'd be surprised if it affected anybody. 2010-01-07 19:01:43 +00:00
Martin Poirier
cfaa1e5db1 netrender
jpeg versions of the render results are downloadable from the web interface. 

Notes:

1) They are generated (and written to disk) on demand on the master in the same Blender instance, so this will increase memory usage (until there's a way to free and image buffer from memory or it's run in a separate process).
2) They are darker then the real results, since multilayer exr contain the result before gamma correction (for the linear workflow) and that's not applied when loading them as an image.
3) They are NOT thumbnails, they are the same size as the results (albeit at 90% quality jpeg compression)
2010-01-07 18:54:47 +00:00
Martin Poirier
59ec8ee1ab netrender: Ctrl-C correctly stops master in background mode (low level select was catching the break and spiting and exception) 2010-01-06 20:17:27 +00:00
Martin Poirier
a8c3831a1d netrender:
Slave and Master options to delete files when closed (default True for slave, False for Master)
Web interface option to remove files (on master) when deleting a job (or all jobs)
Web interface button to pause a job
2010-01-06 18:56:24 +00:00
Martin Poirier
2ad69c23a0 netrender: UI layout reorganization and prettifying. Also better operator descriptions (tooltips). Based on a patch by DingTo. 2010-01-05 20:47:23 +00:00
Thomas Dinges
c95ad12dac Netrender:
Tooltips for chunks/priority were swapped.
2010-01-04 22:41:21 +00:00
Campbell Barton
c79cf56b69 dict.get() defaults to None as the second arg. no need to supply it. 2010-01-04 21:10:51 +00:00