Commit Graph

17619 Commits

Author SHA1 Message Date
Campbell Barton
a62b3a534b fix for own error in 24623, removed a memfree call,
printed lots of errors like this one exit
 dynstr_cstring len: 24 0x54c4cb0
2009-11-18 13:14:49 +00:00
Campbell Barton
d3794d9f94 fix for memory leak, use Key Errors for pyrna getitem access & idprops 2009-11-18 13:02:09 +00:00
Campbell Barton
67c295da9c rename pose_channels to bones
was: object.pose.pose_channels["Bone"]
now: object.pose.bones["Bone"]
2009-11-18 11:40:55 +00:00
Campbell Barton
28d1a35260 remove ID property lookups from rna..
ob["foo"] = 1
 print(ob.foo) # now raises an error
2009-11-18 10:59:17 +00:00
William Reynish
b1a5ba6804 Changed the appearance of the toolbar buttons.
When stacked on top of each other, it looks cleaner and simpler without the gradient.
This makes it easier to scan through long lists of tools.

http://www.reynish.com/files/blender25/toolbar_buttons.png
2009-11-18 10:57:30 +00:00
Joshua Leung
849ee94cf9 Partial fixes for #19881: Items existing on the same row as the window dividers are not interactive (selectable, etc.)
The View 2D function for handling scrollbar events now takes into account whether the scrollbar is visible or not, so that it won't block events when the scrollbar isn't visible.

Also, made the UI code take this into account too for its region testing code. Unforunately, there still seems to be something else which is still preventing UI buttons from being processed when they are in those regions.
2009-11-18 10:37:32 +00:00
Damien Plisson
624cd67d55 Quicktime for Cocoa : import part
This makes quicktime import (.mov & quicktime handled image files such as .gif) available also for 64bit OSX

Unfortunately, Apple currently incomplete implementation of QTKit has much lower performance than old Carbon Quicktime.
FYI, it spawns a 32bit process "QTKitserver" to place calls to Quicktime 7.

So this is mostly meant as a "backup" for 64bit OSX builds, until Apple releases full Quicktime X.

Export part will come just after.

CMake scripts updated: set WITH_QUICKTIME and USE_QTKIT to ON
2009-11-18 09:49:42 +00:00
Joshua Leung
22e8616a27 Attempted bugfix for #19909: missing text in frame indicator box
Not sure whether this fixes the issue, but it sounds like some Intel cards have issues with alpha values lingering around.
2009-11-18 08:50:09 +00:00
Campbell Barton
318e9aa5d1 - rna attribute setting problem, class instances could not set their own attributes because they are blocked by our own internal setattr.
this could be supported again easily however it leads typo's & api changes not showing any errors.

  This broke povray export.
  Solution for now is to allow setting private properties starting with '_'

  eg, 
    ob = bpy.context.object
    
    ob._foo = [1,2,3] # this is a python list, it will stay only as long as this PyObject is active
    ob.foo = 1 # raises an error!, only for rna properties
    ob["foo"] = 1 # converts to an ID property and is saved

    using the underscore like this should really be used for classes internally.

- povray failed on armatures

- menu key wasn't using WM_keymap_add_menu
2009-11-18 08:40:18 +00:00
Thomas Dinges
1e1a0078da * NC_WINDOW Notifier for ID Name property (maybe not the best solution, but as ID blocks can be everything (object name, material, even scene) i chose the window Notifier. 2009-11-18 05:11:16 +00:00
Campbell Barton
5ad1563f34 insert spaces instead of tabs, makes editing templates less painfull, tho we should really have a function to insert strings rather then char's for this to work better. 2009-11-18 01:16:49 +00:00
Joshua Leung
b6e015f70c Small UI Tweaks - Toolbar + Graph Editor:
* "RNA Path" and "Array Index" for the active F-Curve in the Graph Editor are now shown in the properties region. These are greyed out unless the F-Curve cannot be evaluated, in which case they can be edited to make the F-Curve work again

* Made the Push and Relax operators in Pose Mode fit on a single row in the toolbar, since they're opposites of each other.
2009-11-17 22:46:42 +00:00
Martin Poirier
7b05c9ca30 Fun stuff with macro
Make macros work with more than one modal operator and mix of modal and invoke/exec

As a proof, brought back loopcut + edge slide in a single macro operator called Loopcut and Slide, replacing Loopcut as assigned to Ctrl-R.
2009-11-17 22:19:48 +00:00
Campbell Barton
2ae15e39ad make animation system and rna internals use getattr style syntax for user defined properties
bone["foo"] rather then bone.foo
matches python and avoids naming collisions
2009-11-17 20:46:59 +00:00
Martin Poirier
c07dde45a2 Macro for extrude along normals with a poll function to restrict it to face select.
Added before "free" extrude in the keymap means it's picked up first when applicable.
2009-11-17 20:40:39 +00:00
William Reynish
26695c15c2 Made toolbar buttons left-aligned.
Currently all tool buttons are left aligned, unless it has an icon like the Render Image and Animation buttons.
Later it might be nicer to introduce a proper flag to make text center aligned for those cases.
2009-11-17 20:19:35 +00:00
Campbell Barton
d438ec3080 adjusting generic props in the UI refreshes the depgraph, this is weak but allows custom props to be used as drivers 2009-11-17 16:53:52 +00:00
Martin Poirier
4076572874 [#19760] Extrude + Continuous Grab doesn't work
Flag macro as blocking

Make macro copy operator flags when one of them returns MODAL (these flags are needed by the event system)
2009-11-17 16:48:43 +00:00
Thomas Dinges
5baa1d1759 * Alphabetical Order for Constraints.
* Formatting fix for last commit.
2009-11-17 16:27:53 +00:00
Campbell Barton
966b01665b use number keys to set the current brush in paint modes 2009-11-17 16:04:17 +00:00
Martin Poirier
99f8809b1a auto IK constraint was added twice, creating a circular list (HANG!) 2009-11-17 15:51:28 +00:00
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