Age | Commit message (Collapse) | Author |
|
submitted by Murat Egretli
Not actually a patch but talks about descriptions that are missing
and some small fixes that are needed.
Kent
|
|
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
|
|
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
|
|
|
|
Buttons for editing RNA paths/array index for F-Curves that aren't working are now actually functional. This means that when invalid paths are present, they can be manually fixed up.
|
|
- any numnber of attributes are supported for renaming, eg: modifiers["Foo.Bar"].prop.bar
- the path is resolved in blender so each attribute is type checked against the naming list.
- inherited properties are supported by recursively checking parent classes names aganst the name list.
- fcurves and drivers are currently supported.
|
|
|
|
least its very unlikely).
|
|
- remove MEM_guardedalloc.h from header files (include directly)
|
|
|
|
or get it from the context instead.
|
|
This panel allows editing of the coordinates of the 'first selected keyframe' on the Active F-Curve. That is, if you've got keyframes A (5), B (7), and C (12), and B & C are both selected, then the 'active keyframe' will be B.
While I still think it's more efficient to use the cursor for batch-setting a bunch of keyframes, there are currently problems using that for sub-frame placement on the x-axis.
Notes:
- There is none of the averaging crap from before, where no accurate value could ever be set.
- Take care when setting the values of the handles, since getting correct F-Curve recalc flushing working via the RNA stuff is VERY TRICKY, and has been left out for now to get something workable. I recommend setting the values numerically, then grabbing these keyframes and immediately cancelling, to get these updates done.
|
|
|
|
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.
next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 and 27683 by Campbell from render25 branch)
|
|
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.
next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 by Campbell from render25 branch)
|
|
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing: UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
|
|
|
|
* Copy/Paste operators for F-Modifiers
Available in Graph and NLA Editors. Use the Copy/Paste buttons beside the 'Add Modifier' buttons.
Copy copies all the modifiers of the ACTIVE F-Curve or Strip depending on the editor.
Paste pastes modifiers from the buffer to all the selected F-Curves or Strips, adding the new modifiers to the ends of each list.
* 'Stepped Interpolation' F-Modifier
This modifier holds each interpolated value from the F-Curve for several frames without changing the timing.
This allows to preview motions 'on-twos' for example without altering the timing, or having to go through setting heaps of keyframes. In this case, Andy wanted to use this for CG <-> StopMo.
|
|
|
|
Feature request for ZanQdo, which shows the intermediate values used in driver calculations (i.e. current value of driver, and current value of variables), allowing drivers expressions to be debugged. This is a per-driver setting...
|
|
Added buttons beside the numeric inputs for cursor location to make it more obvious how the cursor can be used for numeric manipulation of selected keyframes.
|
|
regions, the widget sizes were too small to be useful.
|
|
* Fixed Driver version-patching code to work correctly again with the new system.
* Fix for bug #20484, by adding a new driver variable type ('Transform Channel') which makes it easier to use object/bone transforms as in the past. The main differences with using this (compared with the 'Single Prop' type) are that this allows for 'final' transforms to get used instead (i.e. constraints are also taken into account), and also that this variable type can only be used for transforms (more limited scope -> less flexibility -> point-n-click goodies can follow). Mancandy now loads correctly again.
* Added toggle for local vs worldspace transforms when working with Rot/Loc Diff variable types, and also for the newly added Transform Channel
* Removed some dead code from sequencer...
|
|
Highlights:
* Support for Multi-Target Variables
This was the main reason for this recode. Previously, variables could only be used to give some RNA property used as an input source to the driver a name. However, this meant that effects such as Rotational Difference couldn't be used in conjunction with other effects and/or settings to achieve the powerful results. Now, a variable can take several input targets, perform some interesting operations on them, and spit out a representative value based on that.
* New Variable Types
With the introduction of multi-target variables, there are now 3 types of variable that can be used: single property (i.e. the only type previously), Rotational Difference (angle between two bones), and Distance (distance between two objects or bones).
* New Driver Types
In addition to the existing 'Average', 'Sum', and 'Expression' types, there is now the additional options of 'Minimum' and 'Maximum'. These take the smallest/largest value that one of the variables evaluates to.
* Fix for Driver F-Curve colouring bug
Newly added drivers did not get automatically coloured in the Graph Editor properly. Was caused by inappropriate notifiers being used.
Notes:
* This commit breaks existing 2.5 files with drivers (in other words, they are lost forever).
* Rigify has been corrected to work with the new system. The PyAPI for accessing targets used for the variables could still be made nicer (using subclassing to directly access?), but that is left for later.
* Version patching for 2.49 files still needs to be put back in place.
|
|
24759) due to unusability and performance issues. The ability to use a sound as animation source will be added as an import operator later that renders a sound to an f-curve which brings the advantage that you can edit the generated curve later and the disadvantage it is not automatically updated when the sound changes.
|
|
* bpy.utils.display_name(), which makes filenames and module names look nicer in menus eg... /home/me/foo_bar.py --> "Foo Bar"
* missing rna_path --> data_path renaming
|
|
This patch, by Elia Sarti (vekoon), simply adds the possibility to specify the final array component of the RNA path in the path itself,
e.g. using location[0] or location["x"] or even location.x,
instead of specifying this using an "array_index"
This should be easier for users to understand the driver system. The array-indices have been kept (but hidden from the UI under standard situations) since they are theoretically a tad faster than the in-path lookups still, and are easier for internal-tools to set for now...
|
|
* Removed ED_anim_dag_flush_update and ED_anim_object_flush_update. These
were wrapping DAG_* calls and were intended be used instead of them when
doing a DAG update from editors. That goes against the design in my opinion,
no matter who calls the DAG, that should update the editors correctly, so
any special checks in such functions for editors should be avoided.
* Driver RNA properties now do updates again, including DAG scene sorting,
text buttons no longer update as you type anymore, so this should be
safe I think.
* Remove scene.update() RNA function, all properties/functions should do this
automatically, if changing some property or calling a function/operator
does not do the correct update, that should be fixed.
|
|
* Insert Keyframe (IKEY) now only shows the menu requesting to choose a KeyingSet to use if there is no active KeyingSet. To get the old behaviour, the "always_prompt" boolean property for the "ANIM_OT_insert_keyframe_menu" operator should be supplied.
* After inserting/deleting keyframes without the menu, a popup menu confirming that the keyframes have been modified is shown. Please note that you do not need to click on this popup.
TODO:
Make the confirmation popup fade out after a fixed time.
|
|
but you can play around with it.
|
|
* "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.
|
|
Somehow this worked here, even though the pointer being referenced was supposed to have been freed already...
|
|
* Updating dependencies for drivers now clears the disabled status of the relevant Driver FCurve too
* Changing the type of ID-block used for Driver Targets and Keying Set Paths will now clear the pointer to the ID-block if it is of the wrong type.
|
|
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
conversion script instead, if they use a lot of math functions
in new code:
http://www.pasteall.org/9052/python
|
|
* When there is only a single keyframe for a F-Curve, the handles aren't shown anymore. This looks nicer than the fat orange blobs that appeared
* Tweaked the management of GL_BLEND when drawing animation channels in the Graph Editor in an attempt to fix some of the missing text drawn issues.
* Converted the properties panel to use layout engine + added color selectors
|
|
Added RNA functions for adding and removing Driver Targets. Unfortunately, I couldn't do this by simply adding callbacks for the add/remove of the collection, as I've had to add to extra RNA functions to do that.
Example usage - driving Lamp Distance with Cube LocZ:
myOb= bpy.data.objects["Lamp"]
myOb.driver_add("data.distance")
# drivers is list of F-Curves that have driver data
drivers= myOb.animation_data.drivers
distDriver= drivers[0].driver
dtar= distDriver.add_target("ctrl1")
dtar.id_type= 'OBJECT'
dtar.id= bpy.data.objects["Cube"]
dtar.rna_path= "location"
dtar.array_index= 2
|
|
|
|
Added a base-template for editing/creating RNA-Paths. This is now used for KeyingSets and Driver UI's, so that when the actual magic gets put in, it will work.
|
|
* Converted Drivers UI to mostly use the Layout Engine
* All the buttons that perform actions are not operators yet (the code for that would be quite icky still)
* I've added some (commented out) calls for the property definitions of Driver properties to perform Depsgraph updates. I've left these commented out until we have the option to turn off auto-updates, since with driver editing, that could be very dangerous.
* Drivers can now (in theory) use any ID-block, using the Any-ID template added earlier. However, be warned that the stupid depsgraph won't be able to cope with most of these cases.
TODO:
- more fancy widgets for RNA-Path and Index will come later
|
|
belongs here still, but this came up often, it avoids having to
switch tabs a lot when creating things.
Also renamed uiLayoutFreeBlock to uiLayoutAbsoluteBlock.
|
|
* Removed some legacy code which is not needed anymore now.
* Move some test_*poin_but functions to logic space code,
since that's the only place using it still.
* uiIconFromID now uses RNA info to lookup the icon, to avoid
code duplication, and means it works for more ID types.
|
|
#19345: can't get out of grayed out pointer field.
#19342: item_pointerR fields can't be cleared with one item.
#19341: fix hanging tooltips when manipulating regions.
#19339: context panel still allowed tabbing, but it has no header.
#19334: editing SSS settings crashed previewrender.
#19330: object mode could not be switched on from the header menu.
|
|
* Fixed padding for Graph Editor visibility toggles
* Reverted many of the tweaks to Timeline UI for now (for the reasons outlined in earlier mail)
* NLA Editor now (mostly) uses the new channel-drawing API
|
|
instead of casting everywhere.
|
|
* Made NLA Editing functions more aware of transitions.
- A transition can only be added between a pair of action-clips. Previous, two transitions could be added next to each other, which has undefined behaviour
- Deleting a strip with transition(s) on either side will remove the transitions too. Feedback welcome on this
- The 'type' setting for NLA-Strips is no longer editable. This was dangerous as it could result in transitions with undefined behaviour (though nothing would happen).
* Menus for adding F-Modifiers now only show relevant modifiers (i.e. 'Invalid' is not included in the list, and 'Cycles' doesn't need to be shown for NLA since we've got repeat)
* Function Generator and Noise F-Modifiers now have complete GUI's. A few settings were missed during the porting process.
* F-Modifier buttons now have their source-ID's included in the RNA Pointers used. This didn't get them animateable directly, but is a step closer.
|
|
* Most of the F-Modifiers have been ported to use the layout engine + RNA for drawing their buttons now. This plays much nicer with various button-layouts.
--> As a nice demo, try adding a Noise Modifier to a NLA-strip, and change the 'size' setting to about 2 to see some effects.
* Generator and Envelope modifiers haven't been ported yet since they're quite complex (requiring more time + energy), and as such, have been made to have some temporary error prints instead. Will check on this tomorrow.
* Finished/cleaned up the RNA-wrapping of most FModifiers.
TODO's (help requested... Brecht?):
Generator modifier's UI cannot be wrapped yet using the layout engine (though I might try using the old system only), as I'm having some trouble wrapping the coefficients array for this (see rna_fcurve.c - rna_def_fmodifier_generator())
|
|
* Using the Ctrl-Shift-M hotkey, F-Modifiers can be added to all the selected strips.
* F-Modifiers can also be added/tweaked from the NLA N-Key properties. The UI now uses the same code as for the graph editor ones.
The UI drawing here is currently messed up from the NLA side, since it seems combining normal layout stuff and old-style uiBlocks doesn't seem to work too well (BUT! the buttons are at least functional).
Next up, I'll need to recode the buttons panel for the Graph Editor so that all of the drawing can be migrated over to use the new layout engine.
|
|
* F-Modifier UI drawing/handling is now defined in a separate file so that it will be more suitable for inclusion into the NLA Editor's buttons.
* Started removing F-Curve dependence from the modifier drawing code, which wasn't strictly necessary
* Fixed F-Curve RNA wrapping to correctly use FPoints instead of the bulkier BPoints. Although nobody was likely to have encountered bugs here yet, this would almost certainly have contributed to some segfaults/data corruption along the track.
|
|
FModifier
Started cleaning up FModifiers in preparation for allowing them to be used on NLA Strips.
This commit separates the 'Built-in Function' mode for the Generator modifier out into its own modifier, since it was being quite frequently used (and the RNA wrapping for this used to be quite hackish).
BACKWARDS COMPATABILITY WARNING:
Old files with FModifiers saved (i.e. old 2.5 files, but not any others) will not load correctly as a result of these changes (the wrong modifiers will be shown). I've decided that there are not likely to be many files affected by this yet, but doing this will result in a much nicer modifiers-define list in the long run.
|
|
For now, some of these polls may be a bit too restrictive, but at least we have some unified+cleaned bases to work from now (instead of relying on the generic ED_operator_area_active).
|