Commit Graph

118 Commits

Author SHA1 Message Date
Guillermo S. Romero
02038dcf57 SVN maintenance. 2010-12-29 19:50:08 +00:00
Martin Poirier
a15f65776f netrender
Bugfix for job cancellation (reported by Carsten in email)
Ended up recoding part of the communication pipe (use json more consistently)
Fix bpy data modifications where it shouldn't happen (as a bonus, thumbnailing is now done out of process)
2010-12-29 18:34:43 +00:00
Martin Poirier
39919c7856 netrender
adjust dependency calculations for cache files of smoke simulations (no more separate paths for low and high). That was changed a while ago in the api, just didn't update yet.
2010-12-27 19:48:45 +00:00
Martin Poirier
595525067e [#25210] Netrender failed and produce ghost slaves
Error when prefixing relative path (probably copy paste error)
2010-12-27 18:53:34 +00:00
Campbell Barton
54343b79e6 remove reload() from builtins since python3 no longer uses this.
use imp.reload now.

Should use import hooks but for now replace imp.reload with our own reload as the builtin reload was replaced before.
2010-12-22 21:39:48 +00:00
Martin Poirier
728ad84c66 Fix polling order for ui panels in netrender.
Was broken by r33071 but order wasn't optimal even before. Should be snappier now (at least only check if correct render engine is selected).
2010-11-25 01:25:47 +00:00
Martin Poirier
2d2a96a334 netrender
Adding retries on initial slave connection.
2010-11-14 22:11:56 +00:00
Martin Poirier
cd71a6d12b [#24602] Netrender master node IP information is reset to [Default] no matter what
[#24601] Net rendering master node fails to send/retrieve files to/from slaves

Both Reported by Dan McGrath

The second might not actually be fixed with this, but now there is better error checking and reporting.

Misc: add poll method in Panel base class, to better support mixins with different inheritance order.
2010-11-09 03:37:51 +00:00
Martin Poirier
58a1ddcc9e netrender
New Feature:
VCS job type
	Render a file (with dependencies) from a version control system (currently only supports subversion, but system is already generic).
	On client, working path, server path and current revision can be guessed from data on disk or entered manually.
	On slave, a working copy is created (if needed) where specified by the job and updated to the proper revision.
	On master web page, job types now appear in the job lists. The job page shows the list of dependencies for "normal" jobs or versioning information for VCS jobs.

	Limitations: Need to have command line tools "svn" and "svnversion". Working copy path must be the same on client and slaves (the client gets the job path relative to the working copy). When guessing, working copy path is set to the folder where the current file is (this can be changed manually after). On the slave, it will update the working copy AS SPECIFIED to the revision, so if that path is too deep, some dependencies will not be updated properly. Doesn't support mixed revisions (and will not give any warnings for that), it will always use the first revision specified by "svnversion"

Bugfix:
Thumbnail generation doesn't chew down memory anymore and always gives correct result (thumbnail on master especially could mess up between jobs with the name result filename)
2010-10-27 18:24:58 +00:00
Nathan Letwory
a90f876948 Fix for fix, not UnicodeEncodingError (where did I get that from?) but UnicodeDecodeError. 2010-10-13 22:20:34 +00:00
Nathan Letwory
a97af1449c Fix UnicodeEncodingError, which prevents netrender, reprojection and playback from working on Windows in certain situations.
Users can set their machine name to something containing non-ascii characters. In Python this currently causes problem due to
socket.gethostname() throwing UnicodeEncodingError. Work around this by not using platform.system() (which uses internally socket.gethostname()).

See http://www.pasteall.org/16215 for backtrace
2010-10-13 21:53:37 +00:00
Martin Poirier
70def5c247 [#24123] Network render gives black images
Error with buffer handling when reading response.

Also fix bug with blendfile relative path (wasn't converting them properly).
2010-10-05 23:14:31 +00:00
Campbell Barton
868fdd80a2 use is rather then == when comparing against None. 2010-09-18 10:43:32 +00:00
Nathan Letwory
4554278a1c Apply patch [#23782] Fix typo in netrender UI
Submitted by Imran Syed (freakabcd)
2010-09-13 22:57:35 +00:00
Martin Poirier
797bb93b21 bugfix for [#23737] reported by Mariusz Maximus
netrender client's functions to get slaves and jobs info didn't work anymore (was reading response content twice).

At the same time, I switched to json for the dump and load, instead of using eval and repr (for obvious security reasons). I should have done this much earlier.
2010-09-12 14:04:54 +00:00
Campbell Barton
63a8056839 - py api splash URL was old, use blender version (menu was ok in the menu)
- netrender reloading fix
2010-09-11 04:23:45 +00:00
Thomas Dinges
cd4fb20b73 Patch [#23759] more replace self.properties.foo --> self.foo for bf-extensions/trunk/py/scripts
by Filiciss Muhgue (filiciss). Thanks a lot!

Part 1: Trunk, second part of patch will be committed to Extensions.
2010-09-10 23:39:43 +00:00
Martin Poirier
3d9cf8b916 Fix bug caused by someone else's error. 2010-09-09 22:39:27 +00:00
Campbell Barton
45cf7633fe remove class methods for defining properties
eg: bpy.types.Scene.BoolProperty()
2010-09-09 06:29:44 +00:00
Thomas Dinges
cc0d31b921 Fix for [#23736] Network render - error in file: release\scripts\io\netrender\client.py + patch.
Patch by Mariusz Maximus (mariuszekpl). Thanks!
2010-09-08 19:49:05 +00:00
Campbell Barton
a89c526a92 finished moving importers and exporters into python packages (as proposed on the mailing list).
- made operator dir's into python packages
- lazy loading of module which do the actual import and export (faster blender load times)
- general maintanance and small fixes.
- bugfix for exporting x3d materials
- leak fix for exporting 3ds
2010-09-01 12:11:34 +00:00
Martin Poirier
7f1a08d432 netrender:
terminate can fail if process finished after the call to poll, just pass on error then.
2010-08-21 17:07:19 +00:00
Campbell Barton
4f5f868a52 rna data path names which are more likely to break animations.
Added an operator "Update Animation Data",
access from the search menu to update drivers and fcurves.
2010-08-20 06:09:58 +00:00
Campbell Barton
eee445590a rna naming mainly forBoids 2010-08-19 15:49:30 +00:00
Campbell Barton
486b3cd2f5 more rna renaming for non-animated properties: mainly Texface, Particle & Pointcache changes.
Changed some names when applying.
- render was use_render, changed to show_viewport so call it show_render
- texface shadow was use_shadow_face, changed to use_shadow_cast since this only affects casting.
- transp was alpha_mode, changed to blend_type since its similar to other overlay blending where this property name is used.
2010-08-19 12:51:31 +00:00
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