Commit Graph

47594 Commits

Author SHA1 Message Date
Joshua Leung
2cb23d03ef Bugfix #20752: Background Image Panel Properties Keyframing?
Added a check in RNA_property_animateable() which checks if the base ID-block can have animation data or not. Screen data currently cannot have animation data, so this solves that problem (where there were non-functional entries there in the menu).
2010-01-27 10:43:14 +00:00
Brecht Van Lommel
f268ab1eba Attempt to fix strand + new bump crash (they can't work together). 2010-01-27 10:30:10 +00:00
Joshua Leung
3937ed3050 Tweaks for Animation Editor Translations:
* Auto-snapping can now be toggled on/off using Ctrl-Key again. Defaults to turning Nearest-Frame on if no auto-snapping is enabled, since this offers the best snapping behaviour in general.

* Graph Editor's 'Draw Time' option can now be taken into account for increment snapping/stepping
2010-01-27 09:42:17 +00:00
Campbell Barton
b9cad87243 missing check for NULL poll for wmPaintCursorDraw which is allowed.
would crash when in transform and moving the mouse over another window.
2010-01-27 09:36:28 +00:00
Campbell Barton
107f6cb269 - duplicate window crasheing when it was full screen
- keymap item was missing NULL check crash
- editmode object in inactive layer crash
2010-01-27 09:16:28 +00:00
Matt Ebb
de56a63849 Fix [#20773] NODE ANIMATION: Animating node values broken
Now the compositing node tree will update on frame change if any of the 
nodes are animated.

This doesn't work for playback (i.e. alt a), that's better off waiting until we 
have some kind of frame caching system.
2010-01-27 05:42:17 +00:00
Matt Ebb
904665f15b [#20728] "Export UV Layout" overwrites existing files (without feedback)
The 'save over' popup was only appearing based on a string comparison of the operator name ("Save"). Changed this to use a hidden operator property: "check_existing". Python operators must 
have this property for the file selector confirmation too.

This property can also be set to false, to prevent checking for existing files, useful in the File->Save menu item to prevent the dangerously missable confirmation popup.
2010-01-27 02:20:24 +00:00
Matt Ebb
0bb36e9ced Fixes to Color Balance node:
* The Lift/Gamma/Gain formula previously was incorrect, fixed this and 
removed conversions - now the RNA values are the same as what goes into 
the formula.
* Because of this, added the ability for the Value slider to map to a wider range 
than 0.0-1.0. The black/white gradient remains the same, in this case just 
indicating darker/brighter rather than absolute colour values. Also added ability 
for color wheels to be locked at full brightness (useful for this case, where the 
color value itself is dark).
* Added an alternate formula - offset/power/slope (asc-cdl). This fits the standard 
Color Decision List formula, here for compatibility with other systems, though 
default Lift/Gamma/Gain is easier to use and gives nicer results.
2010-01-27 00:22:29 +00:00
Campbell Barton
ebafb7e484 bugfix [#20823] Attempting to undo renaming a UV set on this scene causes a crash 2010-01-27 00:01:59 +00:00
Elia Sarti
0d69ebe878 Fix for 3d view's properties region notifier: 3D cursor position was not updated 2010-01-26 23:32:03 +00:00
Benoit Bolsee
58fd865744 CMake: fix MSVC debug build crash at startup when ffmpeg enabled.
A wrong libraries link order was causing this problem for
some reason. Since a sorting algorithm for linked libraries
was already implemented in Unix, I just enabled it for Windows.

Note about CMake 2.6.0: The Link Library Dependencies option
(Linker General settings panel) is automatically enabled, which
causes the Blender libraries to be linked twice because CMake
will also add them in the Additional Dependencies field.
CMake 2.8.0 does not have this problem, please upgrade if you
are still using CMake 2.6.0.
2010-01-26 22:49:59 +00:00
Tamito Kajiyama
c5558e6967 Made an attempt to improve memory consumption during stroke
rendering.  When objects exists out of the viewing frustrum and
near the near clipping plane, feature edges in the 3D camera
coordinate system are projected to an extremely far location from
the camera view in the 2D image space.  These feature edges
result in very long strokes with a large number of stroke
vertices, which temporarily require a significant memory storage,
causing a fatal "out of memory" error.  This problem is partially
addressed by the changes in the present commit.
2010-01-26 22:24:53 +00:00
Campbell Barton
709b1a93e6 support for #'s for output animation paths
This was supported...
image: /tmp/foo_###_bar --> /tmp/foo_001_bar.png

But not this...
anim: /tmp/foo_###_bar --> /tmp/foo_001_250_bar.avi
2010-01-26 21:41:38 +00:00
Martin Poirier
586af8ca47 Properties for macro operator call in python.
Dicts are converted to operator properties like this:

bpy.ops.armature.extrude_forked(TRANSFORM_OT_translate={"value":(2,0,1)})

Note that this doesn't work quite well if one operator is twice in the same macro, but that's a problem at the RNA level too. I'll have to deal with that eventually.
2010-01-26 20:43:27 +00:00
Brecht Van Lommel
b7405ce98f Fix for dropping objects in 3d view, need to set property in
sub operator in macro.
2010-01-26 19:06:01 +00:00
Ton Roosendaal
b119ce5fcc Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths, 
  file paths, and so on. By default you drag an icon, exceptionally 
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag 
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts 
  the mouse event to an EVT_DROP type. This event then gets the full 
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps 
  you can make a "drop map" this way, which become 'drop map handlers' 
  in the queues.
- next to that the UI kit handles some common button types (like 
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize 
    an operator
- The dropbox handler then calls its standard Operator with its 
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit 
on mouse-over. In case the icon is a button or UI element too (most 
cases), the drag-able feature will make the item react to 
mouse-release instead of mouse-press. 

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image


** Drag and drop Notes:

- Dropping into another Blender window (from same application) works 
too. I've added code that passes on mousemoves and clicks to other 
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an 
Image ID... keep this in mind. Sequencer for example wants paths to 
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're 
part of the UI and editor design (= how we want an editor to work), and 
not default offered configurable like keymaps. 

- At the moment only one item can be dragged at a time. This is for 
several reasons.... For one, Blender doesn't have a well defined 
uniform way to define "what is selected" (files, outliner items, etc). 
Secondly there's potential conflicts on what todo when you drop mixed 
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip, 
should be represented in filewindow as a single sequence anyway. 
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it 
could show the operator as a sort of menu, allowing arrow or scrollwheel 
to choose. For time being I'd prefer to try to design a singular drop 
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that 
detects an object (type) under cursor, so a drag item's option can be 
further refined (like drop object on object = parent). (disabled)


** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled, 
while WM event code tried same. Added new OPERATOR_HANDLED flag for this. 
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review... 
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS 
into Blender window. I've noticed this code is unfinished for Macs, but 
seems to be complete for Windows. Needs test... currently, an external 
drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26 18:18:21 +00:00
Brecht Van Lommel
722f57ca75 Fix Blend From Shape having no effect after exiting edit mode.
Also added a UI string for mesh selection mode property to show
up in undo stack.
2010-01-26 17:39:45 +00:00
Martin Poirier
d5ca236948 Typo in error string 2010-01-26 17:37:44 +00:00
Brecht Van Lommel
32fdc12923 Fix #20831: setting shadowbuffersize to 10240 only possible via typing it in. 2010-01-26 17:14:13 +00:00
Martin Poirier
655800bbab Typo in function declaration causing warnings. 2010-01-26 17:09:32 +00:00
Campbell Barton
246bcf48ad weight panel editing now supports mirroring
- use mirror when the option is enabled in editmode.
- fliped group names are used when they exist.
- only the setting that is edited will be applied to the mirrored verts group.
- copy value is applied to all mirrored verts of the selection.
- normalize normalizes all vgroups and mirrors.

utility functions defvert_sync and defvert_sync_mapped, similar to defvert_copy but does not remove existing groups and optionally creates groups as needed.
defvert_sync_mapped uses a an int array for mapping the flipped values.
2010-01-26 17:07:47 +00:00
Brecht Van Lommel
e308fe9632 Fix #20805: L selection in edit mode with bezier doesn't work. 2010-01-26 17:06:28 +00:00
Brecht Van Lommel
8d6a40c016 Fix #19802: tweaking the values of e.g. the add tube operator when
entering editmode on a second mesh would create a duplicate tube.

Cleaning the undo stack from the previous mesh would mess up the redo.
Also, OBJECT_OT_mode_set was causing enter/exit editmode undo push to
be done twice, now it leaves undo push to the operator it calls.
2010-01-26 15:54:42 +00:00
Brecht Van Lommel
dcf54b9b66 Fix for missing space between colon and number in sliders buttons. 2010-01-26 15:44:27 +00:00
Campbell Barton
bffad18da8 [#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.
2010-01-26 14:39:01 +00:00
Brecht Van Lommel
058f68de10 Fix #20049: mdef binding wasn't working correct since raytrace optimization. 2010-01-26 14:08:19 +00:00
Campbell Barton
641774436f am learning bad spelling from blender. grr 2010-01-26 14:00:13 +00:00
Campbell Barton
e307f6c6a0 rename defgroup functions to be more consistant.
* no functional changes *
2010-01-26 13:50:17 +00:00
Brecht Van Lommel
50a7cdd116 Fix attempt to free already freed memory when loading an animation
in the sequencer, was in the code that tests if it's a file that it
understands. Didn't cause a crash here though, just warning.
2010-01-26 13:17:28 +00:00
Brecht Van Lommel
c8eaae0bd7 Fix #19580: text editor - current line is dependent on the
text datablock, not the editor.
2010-01-26 12:12:31 +00:00
Campbell Barton
8f6ce8c2d3 bugfix [#20401] Hair Combing with "Limit Selection to Visible" does not comb all particles
Limit selection was totally broken (border select, circle select etc) because the depth function was using the view matrix multiplied by the object matrix.
I couldnt find any case where this was needed, but take care when using data->mats.modelview from particle mode edit tools.
2010-01-26 11:51:28 +00:00
Brecht Van Lommel
38111eb224 Patch #20800: uv editor zoom rate not properly calculated,
uv's were drawn slightly offset from the image. Patch by
Masahito Takahashi, thanks!
2010-01-26 11:36:48 +00:00
Campbell Barton
009304523e bugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()' 2010-01-26 11:29:39 +00:00
Brecht Van Lommel
4efed23517 Use #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined. 2010-01-26 11:25:39 +00:00
Brecht Van Lommel
7c776bc124 Fix for make duplicates real, put new objects on same layers as
duplicator instead of original object.
2010-01-26 11:23:47 +00:00
Brecht Van Lommel
5fe3524ab1 Fix #20803: convert button in particle modifier didn't work
for creating duplis yet.
2010-01-26 11:15:45 +00:00
Brecht Van Lommel
50e324c5d0 Rename Beauty Fill to Beautify Fill like in 2.4x, more accurate
description of what it does since it doesn't actually fill, only
change an existing one.
2010-01-26 11:14:44 +00:00
Brecht Van Lommel
26d8b59864 Assign automatic/envelope weights in weight paint mode is back,
accessible from W key and in new Weights menu in the header.
2010-01-26 11:11:53 +00:00
Joshua Leung
5a1603374c Bugfix #19344: Using the scroll bar zoom widget doesn't work in some situations
Zoom widgets now only show if the scrollbar only shows scale markings (i.e. timegrids).


---

Also removed an empty header file.
2010-01-26 10:52:42 +00:00
Joshua Leung
e03bbf12c3 Assorted Bugfixes:
* Adding new Keying Set paths didn't initialise the id-type setting. Make this default to Object
* Fixed bad poll callbacks for Graph Editor operators working on keyframes, which were expecting F-Curves to be selected too to be eligible for editing. This was often too restrictive, resulting in nothing happening.
* Fixed error with default property for Debug Redraw-Timer Operator not being set. However, this operator is currently still no use, since the info popups are now disabled.
2010-01-26 10:29:10 +00:00
Campbell Barton
4e92b69411 set the keymap to NULL if its not found so as not to use it un-initializes. 2010-01-26 10:14:39 +00:00
Matt Ebb
e6c4aee39a Fix [#20827] c26276 RMB on "clear" command in console menu crashes blender 2010-01-26 10:06:22 +00:00
Campbell Barton
9cbbeb2d65 modifier.c has all its vergex group index lookups inline, use get_named_vertexgroup_num() instead.
no functional changes.
2010-01-26 09:36:33 +00:00
Joshua Leung
0e1eca2d08 Finishing off the Transform code changes for Degrees/Radians:
Added flags for the mapping function offering more control over what values were affected and when. In the WIP code, the values for unselected verts were getting the restoration conversion being repeatedly applied, resulting in the values tending to zero.
2010-01-26 09:25:32 +00:00
Matt Ebb
07a4986be7 WIP commit - degree conversions for transform fcurve editing - grabbing a point works fine, but still
issues with grabbing a single handle.

Using the Radians unit setting still goes fine though so you can use that for now.
2010-01-26 05:58:03 +00:00
Martin Poirier
a1ea4ba717 [#20822] r26267 win32 - LMB cancels zoom in camera view
Very interesting bug caused by an extra redraw.
2010-01-26 03:29:07 +00:00
Matt Ebb
991d8a8fe3 Fix compilation problem (I'm guessing this is the intention in this line) 2010-01-26 03:23:15 +00:00
Joshua Leung
14d4feca57 Radians vs Degrees: The Second Attempt
F-Curves now internally store radians again instead of degrees. 
- This solves problems with inconsistencies when working with drivers.
- No need to version patch old files, potentially screwing them up. As such, removed the version patching for F-Curves.
- Is better suited to optionally showing radians throughout the UI instead or degrees.

As a result, values are now converted on the fly in the Graph Editor for display and operators that operate on values. I've made the conversion system for this rather general, so that other unit type conversions can also be hooked up with the type conversion backend.

Also, made some tweaks to F-Curve RNA wrapping to make it represent the data better.

TODO:
- Transform code currently still needs to be corrected to work with these changes. Currently moving keyframes for rotation curves will make them change too rapidly vertically when using degrees.
2010-01-26 03:16:14 +00:00
Matt Ebb
e6a23762da Fix [#20821] COLOR MANAGEMENT: Corrupts motion picture files
Wasn't tagging movie formats with profiles properly.
2010-01-26 02:49:30 +00:00
Matt Ebb
ba2257b57e Fix [#20798] - Add/change/remove shortcut options dissapearing from buttons @ Tool Shelf
Made the RMB menus for manipulating shortcuts a bit more robust (only dealing with mouse 
clicks/key events, rather than all tweaks/timers/etc) and added ability to add key shortcuts for 
transform tools from the RMB menu.
2010-01-26 01:02:10 +00:00