Commit Graph

17598 Commits

Author SHA1 Message Date
Campbell Barton
df0f1d53b8 new function WM_keymap_add_menu(), similar to WM_keymap_add_item() except it takes a registered menu. the key will then trigger this menu. 2009-11-17 15:29:55 +00:00
Campbell Barton
68f94765bd switching the active brush with Alt+Wheel would crash when going past the last, need rna to clamp the range. 2009-11-17 15:10:19 +00:00
Campbell Barton
efae4c8f21 removing drivers was trying to remove the fcurve from the actions fcurve list if an action was set, now check if the context is for drivers first.
not 100% sure this is correct but removing fcurves worked in my tests for actions and drivers.
2009-11-17 14:32:19 +00:00
Campbell Barton
733b77063c was trying to add one too many drivers when inserting them on all items on an array (own error) 2009-11-17 14:10:29 +00:00
Campbell Barton
f7682e2e0f - in pose mode, pose bone properties are edited rather then armature bone
- new id property array method convert_to_pyobject()
- editing an array in the UI broke
- fixed for own error when updating ID prop api
2009-11-17 12:54:29 +00:00
Campbell Barton
51f2dcd08c - access console languages as modules rather then having the py operator call an operator
- workaround for __getattr__ existing for types that dont support it
2009-11-17 12:21:41 +00:00
Campbell Barton
7f8a24b614 select linked enables seam limit when in face mode and the "limit" property is not set (like in 2.4x) 2009-11-17 10:57:49 +00:00
Joshua Leung
10e1780cf9 Assorted bugfixes - Sequencer/Preview Range:
* Snapping strips now works with the hotkey  Shift-S   as in the rest of Blender
* Preview Range works in Sequencer now (the operators for setting, clearing, and also drawing)
* Related to the Preview Range for Sequencer, toggling the time-display mode also works
* Preview Range Set operator now works again, after the modal keymaps change for borderselect broke it. Also sends correct notifiers now after bein called.
2009-11-17 10:12:35 +00:00
Joshua Leung
b1a6ef4bfc DopeSheet Drawing Optimisation (Long Keyframes):
Optimised the code for drawing Long Keyframes by making the code use a Red-Black Tree instead of performing linear search over all the (potentially unsorted) BezTriples to find the previous one with a matching value.

As a result, the Redraw Timer (Ctrl Alt T) tool reports that the time needed to draw the keyframes region on a heavy imported-BVH file has dropped from an average of 270ms per draw, to about 60ms. The view is also freely pannable as a result.

Note that this code will currently have some issues when there are more than 4 BezTriples occurring on the same frame, but that should only happen when transforming keyframes anyway. This will be addressed as necessary.
2009-11-17 08:27:46 +00:00
Campbell Barton
3087da0b25 my chnges broke 'del idprop["key"]'
made it possible to remove properties from rna types.

eg.
 del group["someprop"]
2009-11-16 22:21:39 +00:00
Martin Poirier
98d4a56d55 Fixing keymap export:
- Didn't support new userdef keymaps (new "active" rna function to get the active version of a keymap)
- Didn't support modal keymaps (new "modal" param to add_keymap function, new "add_modal_item" function on keymaps (both functions now make sure the keymap is of the right type))
2009-11-16 20:50:02 +00:00
Campbell Barton
6ed0686fcc bpy/rna methods to find properties (works nice with autocomp!)
keys(), values() & items()

ed...
 print(bpy.context.active_object.keys())

Possible name conflict here, need to keep an eye on it.
2009-11-16 20:16:45 +00:00
Thomas Dinges
061675b3eb 2.5 Texture RNA:
* Alphabetical Order for Texture Types, this way it's easier to find the texture inside the drop down.
2009-11-16 20:02:58 +00:00
Campbell Barton
5b2fdb6ebe missing include 2009-11-16 19:18:04 +00:00
Campbell Barton
578950c977 ID property access from python for pose channels, bones and any ID objects.
The advantage with this is that global property definitions are not needed to add a property to an object.

to avoid confusion these are accessed like a dictionary (closely matching how the BGE accesses properties)

 ob["mySetting"] = 1.0

 bone["foo"] = {"one":1, "two":2.1, "three":"Three"}

 if "foo" in bone: print("prop found...")

At the moment these can also be accessed as attributes, will be changed shortly. eg.
 bone.foo == bone["foo"]
2009-11-16 19:03:40 +00:00
Campbell Barton
66dfaabb9d update idproperty python api for python 3.1
- removed 'group.has_key("key")', use... '"key" in group' instead
- removed verbose float and int conversions that are not needed
- fixed memory leak
2009-11-16 18:56:58 +00:00
Campbell Barton
cf1700bdd5 python api for ID property access by Joseph Eager, copied from blender 2.4x. 2009-11-16 18:53:11 +00:00
William Reynish
ca5a912c3e Added single column support to modifiers
Tiny cleanups and improvements in some modifier layouts
2009-11-16 16:07:22 +00:00
Campbell Barton
d6c0680268 un-initialized variable, fix for own recent commit 2009-11-16 14:29:46 +00:00
Campbell Barton
20043a0fc0 add hook in vertex and control point menu's, Ctrl+H
TODO's
- add for lattice
- break up add_hook
- add other hook operators
2009-11-16 13:59:27 +00:00
Joshua Leung
88fe2d187b Bugfix: Remove drivers button was broken
Somehow this worked here, even though the pointer being referenced was supposed to have been freed already...
2009-11-16 12:44:33 +00:00
Joshua Leung
a12c2a8561 Constraints: Code cleanup
* Removing duplicate api functions
* Shuffled around newly added api functions to make the ordering more consistent
* Fixes for a few bugs in the api functions as I checked over them
* Replaced most of the #defines for flags and modes with enums
2009-11-16 12:33:42 +00:00
Campbell Barton
567ee32f14 - fcurve modifiers.new()/remove()/active
- renamed .add() to .new() for rna collection functions since they dont add an existing item.
- remove 'name' as an argument from the new driver target function, better to keep the api minimal and let scripters use the data api for editing values after.
- added some api functions to keep rna api from becoming a mess.
2009-11-16 11:11:16 +00:00
Campbell Barton
be07bb3cc3 functions returning non ID pointers that relied on having the ID set could crash, (adding a pose constraint crashed in one testcase)
now use the functions ID pointer.
2009-11-16 09:20:21 +00:00
Dalai Felinto
2e104b44c6 bge: fix for "dome mode not working with Letterboxing".
This bug was introduced after commit # 24102 (BGE: when letterbox is enabled use the camera framing as a clipping area) reported in IRC by Pete Carss (domejunky)

*) an extra stub fix for recent commit. By the way: we want to have blenderplayer running in blender 2.5 beta0. Therefore if you are doing big changes in the last minutes (Friday, Saturday??) It would help a lot if you could enable blenderplayer in your builds. links problems are really easy to fix)

**) an typo I spotted in recent mesh dynamic load in bge.
2009-11-16 02:52:02 +00:00
Guillermo S. Romero
aa739e7a71 Add include path to find BLO_readfile.h. 2009-11-16 00:44:07 +00:00
Benoit Bolsee
b45ab480e0 BGE: dynamic loading patch commited. API and demo files available here: https://projects.blender.org/tracker/?func=detail&aid=19492&group_id=9&atid=127 2009-11-15 23:58:56 +00:00
Dalai Felinto
349fa813ea bpplayer compiling fixes: ([#19890] Getting the Blenderplayer to build again by Mitchel Stokes (moguri) and some changes form mine)
1) SetDisplayArea was created in Blender but we forgot to set it in the player
2) Fix some SCons incs (using lists instead of strings)
3) added more nasty stubs calls (this file is getting big)

* typo fix from last commit

**) it's raining with bolts here and I have to turn the internet off. I couldnt hard test this commit but it looks like working. sorry if sometihng go wrong
2009-11-15 23:48:21 +00:00
Benoit Bolsee
923e67fe1f Fix runtime check uninitialized pointer 2009-11-15 23:43:20 +00:00
Martin Poirier
11cfdfa264 === Better support for user defined modal keymaps ===
Fixing/Missing RNA properties:
- "virtual" property for "ANY" modifier for keymapitem
- modal property for keymap
- Look up modal_items in usermaps too

Lazy init usermaps needs to init modal_items too.

New function to initialize a user keymap (fill in modal_item and poll pointers).

Operator modal keymaps now look up if there's a user defined keymap that overwrites it.

Full Event UI buttons now show "Any" when modifier is set to that (instead of listing all of them).

Note: Having the modifiers as boolean still doesn't express the full breath of values possible for them. There is commented code in this commit to represent them as enum, which would solve this, but make the keymap editor more cryptic.
2009-11-15 19:25:34 +00:00
Dalai Felinto
6ea605797c patch [#19722] Text labels for Stereo and dome modes from Jorge Bernal (lordloki)
I'm not 100% happy with the dome mode description ("physical" doesn't really match the difference between all modes). But for the time being let's leave like this.
2009-11-15 17:10:52 +00:00
Joshua Leung
bbb2668ce0 Bugfix #19878: pressing shift+b or alt+b locks up blender
Modal keymaps for clip zoom and zoom border in 3D-View were missing, which lead to events for those operators never getting processed.
2009-11-15 11:46:08 +00:00
Campbell Barton
635a98a4ce [#19896] [bugfix] Fixing converting of rotation f-curves
from Mitchell Stokes (moguri) 

--- from the patch
With f-curves there are 3 rotation modes, rotation_euler, rotation_axis_angle, and rotation_quaternion. The IPO converter
was still simply looking for "rotation" f-curves instead of specific ones. This patch fixes that and also
fixes bug #19873 ( http://projects.blender.org/tracker/index.php?func=detail&aid=19873&group_id=9&atid=306
).
2009-11-15 11:32:53 +00:00
Joshua Leung
61fe981a0f Bugfix #19887: Blender crash when resizing nodes in node editor
This commit fixes the crash, but there are currently some issues with getting the active node in general with the Nodes Editor.
2009-11-15 11:32:29 +00:00
Joshua Leung
6468f21ddf Red-Black Tree Code Cleanups:
Added some more methods for the Red-Black Tree implementation in Blender (used for runtime viewing and searching of keyframes) which abstract away some of the lower-level handling of the BST (i.e. adding nodes without balancing and searching for nodes). 

Also, improved the implementation of the jump next/prev keyframe operator so that it pops up an error message when the last keyframe in whatever direction is encountered.
2009-11-15 11:20:44 +00:00
Campbell Barton
d04f94d0c6 skip rna property & function lookups for members starting with "_" (since makesrna disallows this)
added a way profile python startup in bpy/__init__.py, if'd out by default.
2009-11-14 23:11:46 +00:00
Martin Poirier
33da66d7b3 RNA property for propvalue in keymapitems.
Enables modification of modal keymaps.
2009-11-14 22:43:42 +00:00
Campbell Barton
a6eeb88aac sequencer select linked time option, (Selectmouse /w Ctrl & Ctrl+Shift), selects all strips that have the same start/end as the active strip or.. if your selecting a handle select all strips and handles on the same time 2009-11-14 20:46:18 +00:00
Joerg Mueller
694525e38b Make it possible to put audio strips into meta strips in the sequencer. 2009-11-14 20:17:05 +00:00
Campbell Barton
e94640040b sequencer support for loading multiple movie and sounds at once.
- more api like functions for adding movie, sound & images (easier to use from pyrna api)
- operators share more settings
- renamed get_last_seq() to active_seq_get() - same for set.
2009-11-14 19:26:58 +00:00
Campbell Barton
c2e092ef8b reload with the active sequence strip set 2009-11-14 15:31:52 +00:00
Campbell Barton
c9d2186561 - sequencer speed effect back using fcurves, still needs manual reloading to refresh.
- added a function id_data_find_fcurve() to get the fcurve without RNA vars. Aligorith: this could be made to use a path rather then a property name.
2009-11-14 14:58:19 +00:00
Thomas Dinges
b386ef0abe * Compile fix. prop was declared in the middle of scope. 2009-11-14 08:50:02 +00:00
Joshua Leung
e191007d5f Action Constraints Bugfix:
Action Constraints were failing when the rotation mode was non-default. Fixed this by copying over the current rotation mode when creating temp elements to evaluate with.
2009-11-14 02:50:45 +00:00
Campbell Barton
e53b05fbd8 report this broke MSVC 2009-11-13 18:47:20 +00:00
Campbell Barton
e12fe32feb documentat & cross reference collection types 2009-11-13 17:42:44 +00:00
Campbell Barton
c1d0f9179d fix for error with property getattro in recent commit which broke autocomp.
active base/bone & editbone were not converted to property srna
2009-11-13 16:37:44 +00:00
Campbell Barton
91352006c4 arbitrary property and function support for rna properties (arrays and collections), this means functions can be easily added.
eg.
 scene.objects.link()
 object.constraints.new()
 mesh.verts.transform(...)
 mesh.faces.active

PropertyRNA stores an StructRNA pointer where these can be defined.
2009-11-13 16:08:03 +00:00
Arystanbek Dyussenov
6df83fba02 Merge -c 24547 from COLLADA branch (fix flipping of triangles created by tesselation). 2009-11-13 15:48:45 +00:00
Campbell Barton
5a322bd67c F8 reload works again, script errors are printed but dont stop loading every other script 2009-11-13 11:10:29 +00:00