blender.git
9 years agoSystem dependent standard directory retrieval functions update : return const strings...
Damien Plisson [Sat, 27 Feb 2010 17:03:46 +0000 (17:03 +0000)]
System dependent standard directory retrieval functions update : return const strings (as coded in libc) instead of malloc'ed buffers

and plug them into wip BLI_bfile.c to replace the hardcoded paths

9 years agoPatch #21267 by Sergey Sharybin
Ton Roosendaal [Sat, 27 Feb 2010 16:06:33 +0000 (16:06 +0000)]
Patch #21267 by  Sergey Sharybin

His log:
There is a small typo in copy_curve(): there will be serious troubles
if this functions is called for OB_FONT in edit mode (for my cases
it is segmentation fault).
I think we should set editfont to NULL for cloned curves (as it is made
for edit nurb).

This bug was found by trying to edit text with applied Cast modifier
and while I was searching what's wrong, I've found that in
castModifier_deformVerts() DerivedMesh is creating for all objects,
but in castModifier_*_do() derived mesh is used only for OB_MESH
objects. Maybe this place could be optimized a bit by skipping DM
creation for non-meshes?

9 years agofix in commit today using strnlen, which is only available for gcc.
Ton Roosendaal [Sat, 27 Feb 2010 15:39:13 +0000 (15:39 +0000)]
fix in commit today using strnlen, which is only available for gcc.
This adds a BLI_strnlen() to the blenlib.

Patch provided by Sergey Sharybin (nazgul)

9 years agoutility function pyrna_enum_value_from_id for getting the enum from a string and...
Campbell Barton [Sat, 27 Feb 2010 15:28:34 +0000 (15:28 +0000)]
utility function pyrna_enum_value_from_id for getting the enum from a string and raising an error if its invalid.

9 years agostore vars in py operators in the instance rather then the operator classes.
Campbell Barton [Sat, 27 Feb 2010 14:54:45 +0000 (14:54 +0000)]
store vars in py operators in the instance rather then the operator classes.

9 years agohold the python operator instance in the operator, otherwise the handelers need to...
Campbell Barton [Sat, 27 Feb 2010 14:44:46 +0000 (14:44 +0000)]
hold the python operator instance in the operator, otherwise the handelers need to be stored in the operator type or in the module which isnt nice for modal operators.

9 years agopython support for defining region drawing callbacks, while not directly related...
Campbell Barton [Sat, 27 Feb 2010 13:27:06 +0000 (13:27 +0000)]
python support for defining region drawing callbacks, while not directly related to operators, this means python can now make operators that draw in the 3D viewport interactively.
nicer then 2.4x space handelers because you can register draw handelers to draw pre/post 3d space or in pixel space.

9 years agofixes for auto script execution, changing the user preference also updates the global...
Campbell Barton [Sat, 27 Feb 2010 12:34:49 +0000 (12:34 +0000)]
fixes for auto script execution, changing the user preference also updates the global flag.

9 years agowas using wrong global flag for python script disabling in recent commit.
Campbell Barton [Sat, 27 Feb 2010 12:01:10 +0000 (12:01 +0000)]
was using wrong global flag for python script disabling in recent commit.

9 years agoOne more decimal to the lamp distance and energy button... makes fine
Daniel Salazar [Sat, 27 Feb 2010 10:01:20 +0000 (10:01 +0000)]
One more decimal to the lamp distance and energy button... makes fine
tuning nicer

9 years ago* Renaming some Keying Sets API functions to make the terminology more consistent...
Joshua Leung [Sat, 27 Feb 2010 02:03:33 +0000 (02:03 +0000)]
* Renaming some Keying Sets API functions to make the terminology more consistent in the UI
* Fixed bug with hotkeys for adding properties to Keying Sets using the KKEY over the relevant buttons. Was calling the remove callback instead.

9 years agorename flag for auto script execution since scriptlinks are no more.
Campbell Barton [Sat, 27 Feb 2010 01:47:46 +0000 (01:47 +0000)]
rename flag for auto script execution since scriptlinks are no more.

9 years agooption to set the blend file as from a 'Trusted Source' on load.
Campbell Barton [Sat, 27 Feb 2010 01:27:22 +0000 (01:27 +0000)]
option to set the blend file as from a 'Trusted Source' on load.

9 years agobugfix [#20694] Copy Paste to buffer missing in Console editor
Campbell Barton [Fri, 26 Feb 2010 23:56:16 +0000 (23:56 +0000)]
bugfix [#20694] Copy Paste to buffer missing in Console editor
- console selection working
- copy selection to clipboard
- paste selection from clipboard works with multiline paste

word-wrap is still not working with selection drawing.

9 years agoVideoTexture: optional arguments to ImageBuff constructor.
Benoit Bolsee [Fri, 26 Feb 2010 22:14:31 +0000 (22:14 +0000)]
VideoTexture: optional arguments to ImageBuff constructor.

ImageBuff([width,height[,color[,scale]]])

width, height: size of buffer in pixel.
               default: buffer not allocated.
color: initial value of RGB channels. Alpha channel is 255.
       Possible values: 0(black=default) -> 255 (white)
scale: True or False to enable or disable fast scaling
       default: False

This constructors eliminates the need to use the load function
when you just want to initialize the image buffer to black or white.

9 years agoFix for ffmpeg audio rendering being to long.
Joerg Mueller [Fri, 26 Feb 2010 21:08:06 +0000 (21:08 +0000)]
Fix for ffmpeg audio rendering being to long.

9 years agorename extension to addon after discussion with meta-androcto & mindrones
Campbell Barton [Fri, 26 Feb 2010 14:28:29 +0000 (14:28 +0000)]
rename extension to addon after discussion with meta-androcto & mindrones

9 years agorna/py api
Campbell Barton [Fri, 26 Feb 2010 12:28:44 +0000 (12:28 +0000)]
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.

9 years agoAdding back decorator (metaclass registration not in trunk yet)
Martin Poirier [Fri, 26 Feb 2010 12:15:15 +0000 (12:15 +0000)]
Adding back decorator (metaclass registration not in trunk yet)

9 years agoremove rna functions image.get_export_path() and image.get_abs_filename(), filename...
Campbell Barton [Fri, 26 Feb 2010 11:50:59 +0000 (11:50 +0000)]
remove rna functions image.get_export_path() and image.get_abs_filename(), filename functions should not be spesific to images.
rename BKE_get_image_export_path() to BKE_rebase_path() and take a filename arg rather then an image.

obj export file copy was also not working because of a missing import.

9 years agoBugfix #21339: Grease Pencil operator weirdness
Joshua Leung [Fri, 26 Feb 2010 10:01:49 +0000 (10:01 +0000)]
Bugfix #21339: Grease Pencil operator weirdness

Fixed missing listener for Grease Pencil notifiers when drawing.

9 years agouse negate_v3 rather then multiplying a vector by -1.0 (no functional changes)
Campbell Barton [Fri, 26 Feb 2010 09:02:52 +0000 (09:02 +0000)]
use negate_v3 rather then multiplying a vector by -1.0 (no functional changes)

9 years agofix for fly mode restoring non-euler rotations
Campbell Barton [Fri, 26 Feb 2010 08:47:20 +0000 (08:47 +0000)]
fix for fly mode restoring non-euler rotations

9 years agoFew small hair dynamics goodies:
Janne Karhu [Fri, 26 Feb 2010 03:24:21 +0000 (03:24 +0000)]
Few small hair dynamics goodies:
* Effectors now work with hair dynamics.
* Hair dynamics has a new "Collider Friction" parameter that works similarly to internal friction except now all collision objects effect the hair velocity. Useful for quick'n'dirty interaction with objects as the calculations are really fast, but doesn't really take away the need for proper hair-object collisions.

9 years agoNetrender: check if library and image files exist before adding as dependency.
Martin Poirier [Fri, 26 Feb 2010 02:37:31 +0000 (02:37 +0000)]
Netrender: check if library and image files exist before adding as dependency.

9 years ago[#21338] B-Bone display size crash [27127]
Martin Poirier [Fri, 26 Feb 2010 02:33:04 +0000 (02:33 +0000)]
[#21338] B-Bone display size crash [27127]

EditBones pretending to be pose bone when doing bone resize need a valid object pointer.

Tsk, who thought this was a good idea...

9 years agoVideoTexture: fix a bug with AV sync that was causing a loss of sync in case of rewin...
Benoit Bolsee [Thu, 25 Feb 2010 22:12:16 +0000 (22:12 +0000)]
VideoTexture: fix a bug with AV sync that was causing a loss of sync in case of rewind to the begining of the file.

9 years agofix for camera rig that has locking on the camera but not the parent.
Campbell Barton [Thu, 25 Feb 2010 21:20:00 +0000 (21:20 +0000)]
fix for camera rig that has locking on the camera but not the parent.

9 years agoerror in view3d math commit.
Campbell Barton [Thu, 25 Feb 2010 21:10:43 +0000 (21:10 +0000)]
error in view3d math commit.

9 years agosupport for flymode with camera rigs, so the parent most object is actually flying.
Campbell Barton [Thu, 25 Feb 2010 20:40:09 +0000 (20:40 +0000)]
support for flymode with camera rigs, so the parent most object is actually flying.

9 years agouse math functions in view code, no functional changes.
Campbell Barton [Thu, 25 Feb 2010 20:26:38 +0000 (20:26 +0000)]
use math functions in view code, no functional changes.

9 years agosupport for relative file loading and python paths.
Campbell Barton [Thu, 25 Feb 2010 16:08:32 +0000 (16:08 +0000)]
support for relative file loading and python paths.
means you can do...
 blender -P foo.py
where foo is $PWD/foo.py

9 years agoselect parent/child in object mode with [] keys, like pose mode.
Campbell Barton [Thu, 25 Feb 2010 15:41:46 +0000 (15:41 +0000)]
select parent/child in object mode with [] keys, like pose mode.
also needed to extend the RNA api to allow C to set enums without meaningful values.

9 years agofix for warnings, add back pose relax into the pose menu.
Campbell Barton [Thu, 25 Feb 2010 15:10:27 +0000 (15:10 +0000)]
fix for warnings, add back pose relax into the pose menu.

9 years agoAnimViz (Motion Paths + Ghosting) panels are registered so that they will show up...
Joshua Leung [Thu, 25 Feb 2010 12:01:43 +0000 (12:01 +0000)]
AnimViz (Motion Paths + Ghosting) panels are registered so that they will show up in a sensible location in the properties window. Also made these panels collapsed by default.

9 years agoBGE Dome: BlenderPlayer Console arguments: warpdata working now (only with absolute...
Dalai Felinto [Thu, 25 Feb 2010 06:05:56 +0000 (06:05 +0000)]
BGE Dome: BlenderPlayer Console arguments: warpdata working now (only with absolute path)

I forgot to say in the last commit that those arguments are only for the BlenderPlayer.
we can now set external warpdata files.

2Do:
(1) convert relative to absolute paths for warpdata files
(2) investigate weird bug on lack of light in blenderplayer with warpmesh

... [old 2Do]

(3) documentation
(4) preserve scene settings (at least scene->gm.dome) even if you load a new file inside the game (e.g. Yo Frankie loading new levels)

9 years agoAdded a Recovery space in splash so new users don't panic when they
Daniel Salazar [Thu, 25 Feb 2010 03:13:50 +0000 (03:13 +0000)]
Added a Recovery space in splash so new users don't panic when they
loose work (close by mistake or a crash)

9 years agoFix for [#20647] Children from particles on a subsurf mesh don't render correct
Janne Karhu [Thu, 25 Feb 2010 01:57:09 +0000 (01:57 +0000)]
Fix for [#20647] Children from particles on a subsurf mesh don't render correct

9 years agoParticles with "no physics" didn't stick to the emitter like they were supposed to.
Janne Karhu [Thu, 25 Feb 2010 00:03:49 +0000 (00:03 +0000)]
Particles with "no physics" didn't stick to the emitter like they were supposed to.

9 years agoFix for [#19955] 2.5 Particles are calculated wrong when object has any transform...
Janne Karhu [Thu, 25 Feb 2010 00:03:16 +0000 (00:03 +0000)]
Fix for [#19955] 2.5 Particles are calculated wrong when object has any transform animation
* The exact location of particle birth wasn't cached if cache step was greater than 1, so the interpolation from an unborn particle to a living one wasn't accurate at all.
* Although not ideal, the current solution is to copy the birth location to the previous cached frame so it's always exact. This should work properly for memory & disk cache.
* This fix shouldn't cause any problems, but exhaustive tests of caching are difficult so be sure to let me know if there's strange behavior.

9 years agoBGE Dome: Console arguments: angle, tilt, mode and warpdata (not working yet)
Dalai Felinto [Wed, 24 Feb 2010 23:01:49 +0000 (23:01 +0000)]
BGE Dome: Console arguments: angle, tilt, mode and warpdata (not working yet)

2Do:
(1) open external warpdata file
(2) documentation
(3) preserve scene settings (at least scene->gm.dome) even if you load a new file inside the game (e.g. Yo Frankie loading new levels)
otherwise it's a nightmare to update all your files every time you change your projection system. See note.
Maybe SYS_WriteCommandLineInt/Float/String can be used for that. Gotta investigate further.

* Note: an external warpdata file is a must ! Currently every time you need to calibrate your system you have to update the warp file in all your demo files. This is terrible. I'm glad I *now* have a dome near by to test it ;)
* FYI: A recent 'Yo Frankie in a dome' video if you want to see how it works: http://www.vimeo.com/9629626 I'm going to record a better one tomorrow.

9 years agoBugfix: FPS Frame Step had wrong minimum value. Animation rendering would fail if...
William Reynish [Wed, 24 Feb 2010 21:53:16 +0000 (21:53 +0000)]
Bugfix: FPS Frame Step had wrong minimum value. Animation rendering would fail if set to zero.

9 years agoview selected now uses boundboxes of dupli-objects and ignores centerpoints of the...
Campbell Barton [Wed, 24 Feb 2010 20:11:35 +0000 (20:11 +0000)]
view selected now uses boundboxes of dupli-objects and ignores centerpoints of the instance objects when it has duplis. view selected also working again for selected paint mask faces.

9 years agohair was running collision functions (copy to/from collision arrays), even when colli...
Campbell Barton [Wed, 24 Feb 2010 18:06:51 +0000 (18:06 +0000)]
hair was running collision functions (copy to/from collision arrays), even when collision could not be done.

9 years agogetting double frames problem, set the epsilon to 100th of a frame rather then 100...
Campbell Barton [Wed, 24 Feb 2010 17:14:16 +0000 (17:14 +0000)]
getting double frames problem, set the epsilon to 100th of a frame rather then 100,000th.

9 years ago[#21295] Escape key doesn't cancel python modal operators
Campbell Barton [Wed, 24 Feb 2010 15:56:27 +0000 (15:56 +0000)]
[#21295] Escape key doesn't cancel python modal operators
also fix distance with lamps being negative for typed in values.

9 years agoallow cloth sim for linked duplicates, not many people use this but we need for using...
Campbell Barton [Wed, 24 Feb 2010 15:35:15 +0000 (15:35 +0000)]
allow cloth sim for linked duplicates, not many people use this but we need for using hair on linked characters, if there are bugs with this we'll need to fix so enabling for now with comments that its experemental.

9 years agomulti-multi modifier support.
Campbell Barton [Wed, 24 Feb 2010 15:03:28 +0000 (15:03 +0000)]
multi-multi modifier support.

9 years ago[#21324] mdd import script ported to 2.5
Campbell Barton [Wed, 24 Feb 2010 11:03:22 +0000 (11:03 +0000)]
[#21324] mdd import script ported to 2.5
2.4x port by Ivo Grigull (loolarge)

from the tracker:

It should be working ok, but it does not have all options that the old script had. You can only specify the start frame
where to insert the animation, but not skip frames for have a different fps.

However, like the old script this will bloat the memory a bit, at some later point i would like to write a script that
only reads the current frame from the file when you move the timeline.

9 years agoEmpty draw size tooltip fix and added soft limits
Daniel Salazar [Wed, 24 Feb 2010 03:58:26 +0000 (03:58 +0000)]
Empty draw size tooltip fix and added soft limits

9 years agoset the max soft resolution of nurbs surfaces to 64 rather then 1024
Campbell Barton [Tue, 23 Feb 2010 19:59:07 +0000 (19:59 +0000)]
set the max soft resolution of nurbs surfaces to 64 rather then 1024

9 years ago- use search box for adding actions in the NLA
Campbell Barton [Tue, 23 Feb 2010 19:32:32 +0000 (19:32 +0000)]
- use search box for adding actions in the NLA
- use less complicated string conversion for saving keymaps

9 years agoadded support for proxies as drivers back.
Campbell Barton [Tue, 23 Feb 2010 17:56:45 +0000 (17:56 +0000)]
added support for proxies as drivers back.

9 years ago- py-drivers were not using the name lookup cache.
Campbell Barton [Tue, 23 Feb 2010 16:40:55 +0000 (16:40 +0000)]
- py-drivers were not using the name lookup cache.
- use manager context for keymap script.

9 years ago- finally a way to force removal of images (Shift+Click on the X)
Campbell Barton [Tue, 23 Feb 2010 15:34:02 +0000 (15:34 +0000)]
- finally a way to force removal of images (Shift+Click on the X)
- generic modal operator now works with int's

9 years agoscene.render_data -> scene.render
Campbell Barton [Tue, 23 Feb 2010 12:48:35 +0000 (12:48 +0000)]
scene.render_data -> scene.render
bpy.types.SceneRenderData -> bpy.types.RenderSettings

better do these changes before there are too many scripts out.

9 years agoNicer step size for lamp energy value
Daniel Salazar [Tue, 23 Feb 2010 12:22:22 +0000 (12:22 +0000)]
Nicer step size for lamp energy value

9 years agoallow python api to set values of library liked data (still checks editable flag)
Campbell Barton [Tue, 23 Feb 2010 11:19:55 +0000 (11:19 +0000)]
allow python api to set values of library liked data (still checks editable flag)
+ improved exception messages.

9 years agomatrix functions, to_3x3, to_4x4
Campbell Barton [Tue, 23 Feb 2010 09:39:47 +0000 (09:39 +0000)]
matrix functions, to_3x3, to_4x4
force fixed time when recording in the BGE.

9 years agoVarious RNA defaults for more consistency when updating settings (scene changes)...
Joshua Leung [Tue, 23 Feb 2010 05:02:00 +0000 (05:02 +0000)]
Various RNA defaults for more consistency when updating settings (scene changes), and incorrect default values for scale settings.

9 years agoWin64: Enable OpenAL for cmake + win64
Daniel Genrich [Mon, 22 Feb 2010 23:34:45 +0000 (23:34 +0000)]
Win64: Enable OpenAL for cmake + win64

9 years agopep8 cleanup + correction for external player operator return value.
Campbell Barton [Mon, 22 Feb 2010 23:32:58 +0000 (23:32 +0000)]
pep8 cleanup + correction for external player operator return value.

9 years agoMove increment value into numinput structure.
Martin Poirier [Mon, 22 Feb 2010 23:25:34 +0000 (23:25 +0000)]
Move increment value into numinput structure.

Easier for transform to have different values per transform then (also different from gears values).

(Based on a bug reported by Jonathan Smith)

9 years agoWin64: Bugfix for non working scons, thanks to matd for the fix!
Daniel Genrich [Mon, 22 Feb 2010 22:56:28 +0000 (22:56 +0000)]
Win64: Bugfix for non working scons, thanks to matd for the fix!
jesterKing: please check if the win32 dll's aren't needed anymore. Seems that they are compiled into ffmpeg, right?

9 years agoWin64: Bugfix for missing include, reported + fixed by matd, thanks
Daniel Genrich [Mon, 22 Feb 2010 22:17:14 +0000 (22:17 +0000)]
Win64: Bugfix for missing include, reported + fixed by matd, thanks

9 years agoFix dual quaternions flipping in case of stretched (not scaled) bones.
Brecht Van Lommel [Mon, 22 Feb 2010 18:53:46 +0000 (18:53 +0000)]
Fix dual quaternions flipping in case of stretched (not scaled) bones.

9 years agoMade a more generic rig type for giving animators direct control over shape keys...
Nathan Vegdahl [Mon, 22 Feb 2010 18:07:16 +0000 (18:07 +0000)]
Made a more generic rig type for giving animators direct control over shape keys.  With this rig type you can attach shape keys both to the transforms of the bone and any number custom properties on the bone.

9 years agoOSX buildscripts update following ffmpeg precompiled libs update
Damien Plisson [Mon, 22 Feb 2010 16:34:27 +0000 (16:34 +0000)]
OSX buildscripts update following ffmpeg precompiled libs update

9 years ago- respect insert available with pose copy/paste (note: autokeyframe_pose_cb_func...
Campbell Barton [Mon, 22 Feb 2010 15:49:40 +0000 (15:49 +0000)]
- respect insert available with pose copy/paste (note: autokeyframe_pose_cb_func needs to be used for all cases I think)
- copy, paste ID properties with pose

9 years agoFix integer overflow problem in deep shadow buffer.
Brecht Van Lommel [Mon, 22 Feb 2010 15:03:13 +0000 (15:03 +0000)]
Fix integer overflow problem in deep shadow buffer.

9 years agogame settings wasnt checking if the scene has a world set (giving python errors while...
Campbell Barton [Mon, 22 Feb 2010 14:04:04 +0000 (14:04 +0000)]
game settings wasnt checking if the scene has a world set (giving python errors while drawing)

9 years agoContext for Object Align op = Object mode
Daniel Salazar [Mon, 22 Feb 2010 13:25:32 +0000 (13:25 +0000)]
Context for Object Align op = Object mode

9 years ago[#21237] RAW triangle file importer
Campbell Barton [Mon, 22 Feb 2010 13:21:09 +0000 (13:21 +0000)]
[#21237] RAW triangle file importer
ported by Aurel W (aurel)

made adjustments to have this as a package in the extensions directory since this format isnt commonly used for interchanging data but still useful at times.

9 years agogame engine support for recording animation back & some other minor changes.
Campbell Barton [Mon, 22 Feb 2010 12:25:58 +0000 (12:25 +0000)]
game engine support for recording animation back & some other minor changes.

9 years agoOSX : Bugfix [#21293] add OpenMP apple gcc bug workaround for render preview
Damien Plisson [Mon, 22 Feb 2010 10:29:49 +0000 (10:29 +0000)]
OSX : Bugfix [#21293] add OpenMP apple gcc bug workaround for render preview

All openMP calls from a background thread need to have this thread var init workaround

9 years agouse BLI_findstring in more places & remove some warnings, no functional changes.
Campbell Barton [Mon, 22 Feb 2010 09:22:36 +0000 (09:22 +0000)]
use BLI_findstring in more places & remove some warnings, no functional changes.

9 years agofix for typo
Campbell Barton [Mon, 22 Feb 2010 09:02:05 +0000 (09:02 +0000)]
fix for typo

9 years ago- Jack transport update: Moving the playhead in another jack app when not playing...
Joerg Mueller [Mon, 22 Feb 2010 09:01:49 +0000 (09:01 +0000)]
- Jack transport update: Moving the playhead in another jack app when not playing back now triggers an update in blender.
- Missing stub fix from last commit by nazg-gul, blenderplayer works now atm.

9 years agoFix for the player by nazg-gul.
Joerg Mueller [Mon, 22 Feb 2010 08:27:45 +0000 (08:27 +0000)]
Fix for the player by nazg-gul.

9 years agoexclude self references from the ID search list when PROP_ID_SELF_CHECK is set, also...
Campbell Barton [Mon, 22 Feb 2010 08:27:45 +0000 (08:27 +0000)]
exclude self references from the ID search list when PROP_ID_SELF_CHECK is set, also raise an error from python if this is attempted

9 years agoFix for #21286, Trying to open the toolbox crashed blender 2.5 alpha 1
Elia Sarti [Mon, 22 Feb 2010 06:05:35 +0000 (06:05 +0000)]
Fix for #21286, Trying to open the toolbox crashed blender 2.5 alpha 1

Added poll function for BUTTONS_OT_toolbox operator

9 years agobugfix [#21233] Crash in pyapi, with new object.
Campbell Barton [Mon, 22 Feb 2010 00:07:46 +0000 (00:07 +0000)]
bugfix [#21233] Crash in pyapi, with new object.
pass the obdata as an argument rather then assigning later so as not to allow an invalid state.

9 years agoFix for #21209, Delete X for particle settings does nothing.
Elia Sarti [Sun, 21 Feb 2010 22:55:35 +0000 (22:55 +0000)]
Fix for #21209, Delete X for particle settings does nothing.

Disable ID default unlink button if the RNA property is set to never be null, as the unlink default action simply sets pointers to null

9 years agoVideoTexture: improvements to image data access API.
Benoit Bolsee [Sun, 21 Feb 2010 22:20:00 +0000 (22:20 +0000)]
VideoTexture: improvements to image data access API.

- Use BGL buffer instead of string for image data.
- Add buffer interface to image source.
- Allow customization of pixel format.
- Add valid property to check if the image data is available.

The image property of all Image source objects will now
return a BGL 'buffer' object. Previously it was returning
a string, which was not working at all with Python 3.1.
The BGL buffer type allows sequence access to bytes and
is directly usable in BGL OpenGL wrapper functions.
The buffer is formated as a 1 dimensional array of bytes
with 4 bytes per pixel in RGBA order.

BGL buffers will also be accepted in the ImageBuff load()
and plot() functions.

It is possible to customize the pixel format by using
the VideoTexture.imageToArray(image, mode) function:
the first argument is a Image source object, the second
optional argument is a format string using the R, G, B,
A, 0 and 1 characters. For example "BGR" means that each
pixel will be 3 bytes, corresponding to the Blue, Green
and Red channel in that order. Use 0 for a fixed hex 00
value, 1 for hex FF. The default mode is "RGBA".

All Image source objects now support the buffer interface
which allows to create memoryview objects for direct access
to the image internal buffer without memory copy. The buffer
format is one dimensional array of bytes with 4 bytes per
pixel in RGBA order. The buffer is writable, which allows
custom modifications of the image data.

v = memoryview(source)

A bug in the Python 3.1 buffer API will cause a crash if
the memoryview object cannot be created. Therefore, you
must always check first that an image data is available
before creating a memoryview object. Use the new valid
attribute for that:

if source.valid:
    v = memoryview(source)
    ...

Note: the BGL buffer object itself does not yet support
the buffer interface.

Note: the valid attribute makes sense only if you use
image source in conjunction with texture object like this:

# refresh texture but keep image data in memory
texture.refresh(False)
if texture.source.valid:
    v = memoryview(texture.source)
    # process image
    ...
    # invalidate image for next texture refresh
    texture.source.refresh()

Limitation: While memoryview objects exist, the image cannot be
resized. Resizing occurs with ImageViewport objects when the
viewport size is changed or with ImageFFmpeg when a new image
is reloaded for example. Any attempt to resize will cause a
runtime error. Delete the memoryview objects is you want to
resize an image source object.

9 years agoUpdate MSVC project files.
Benoit Bolsee [Sun, 21 Feb 2010 22:15:25 +0000 (22:15 +0000)]
Update MSVC project files.

9 years agoFix #21214 Changing frame range on render panel doesn't update on timeline...
Elia Sarti [Sun, 21 Feb 2010 20:27:13 +0000 (20:27 +0000)]
Fix #21214 Changing frame range on render panel doesn't update on timeline...
Was missing notifier

Also made a description slightly more consistent

9 years agobuilding without jack was broken
Campbell Barton [Sun, 21 Feb 2010 19:54:18 +0000 (19:54 +0000)]
building without jack was broken

9 years agocorrection pointed out by Moguri, logic button was accepting Text instead of actions.
Campbell Barton [Sun, 21 Feb 2010 19:33:14 +0000 (19:33 +0000)]
correction pointed out by Moguri, logic button was accepting Text instead of actions.

9 years ago2.5 Audio:
Joerg Mueller [Sun, 21 Feb 2010 18:01:41 +0000 (18:01 +0000)]
2.5 Audio:

* Jack Transport support!
* Minor sequencer audio corrections.

9 years agoscale int number button sensitivity by the min/max range.
Campbell Barton [Sun, 21 Feb 2010 16:43:25 +0000 (16:43 +0000)]
scale int number button sensitivity by the min/max range.

9 years agomodal operator python template
Campbell Barton [Sun, 21 Feb 2010 16:20:32 +0000 (16:20 +0000)]
modal operator python template

9 years ago[#21269] Alt E extrude options don't appear without Tool Shelf visible
Martin Poirier [Sun, 21 Feb 2010 15:54:41 +0000 (15:54 +0000)]
[#21269] Alt E extrude options don't appear without Tool Shelf visible

Vertex selection count wasn't properly updated after extrude.

9 years agopython rna api now clamps values, (was fun to see the spot_size go backwards)
Campbell Barton [Sun, 21 Feb 2010 14:48:28 +0000 (14:48 +0000)]
python rna api now clamps values, (was fun to see the spot_size go backwards)
Vector callbacks still missing clamp checks

9 years ago== Sequencer ==
Peter Schlaile [Sun, 21 Feb 2010 14:19:53 +0000 (14:19 +0000)]
== Sequencer ==

Made aspect ratio work again in sequencer preview

9 years ago[#21265] Rotate behaves wrong with constraints
Martin Poirier [Sun, 21 Feb 2010 14:13:20 +0000 (14:13 +0000)]
[#21265] Rotate behaves wrong with constraints

With new axis var for rotate, it wasn't reset properly when constraints are turned off.

9 years agogeneric modal operator to make adjusting almost any rna property with the mouse possi...
Campbell Barton [Sun, 21 Feb 2010 14:05:02 +0000 (14:05 +0000)]
generic modal operator to make adjusting almost any rna property with the mouse possible with a few lines.

Example which is similar to interactive lamp adjusting in 2.4x ...
  wm.context_modal_mouse(path_iter="selected_editable_objects", path_item="data.spot_size")

Added lamp Wkey menu back.

9 years agopy api: bpy.props
Campbell Barton [Sun, 21 Feb 2010 12:15:38 +0000 (12:15 +0000)]
py api: bpy.props
new properties without any arguments were failing.

9 years agomodal python operator support.
Campbell Barton [Sun, 21 Feb 2010 11:56:00 +0000 (11:56 +0000)]
modal python operator support.

9 years agoBugfix #21234: Autokey "insert only available" userpref inserts keys for all bones...
Joshua Leung [Sun, 21 Feb 2010 11:42:32 +0000 (11:42 +0000)]
Bugfix #21234: Autokey "insert only available" userpref inserts keys for all bones in an armature

--

Bugfix: When autokey is enabled, notifiers to refresh the animation editors *after* transforms finished for objects were missing.
While I understand the need to limit these to not doing this during transform, after transform, this lead to lag/inconsistent UI problems.

--

* Added 'Damped Track' Option to 'Make Track' Operator
* Improved the code of the 'Clear Track' operator to include other types of tracking constraint too

9 years agobugfix [#21258] Select > Mirror causes segmentation fault.
Campbell Barton [Sun, 21 Feb 2010 11:07:06 +0000 (11:07 +0000)]
bugfix [#21258] Select > Mirror causes segmentation fault.