Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-15Cleanup: comment line length (editors)Campbell Barton
Prevents clang-format wrapping text before comments.
2018-12-14NLA: insert keyframes correctly for strips with non-Replace mode.Alexander Gavrilov
NLA strips support using the keyframe values in a variety of ways: adding, subtracting, multiplying, linearly mixing with the result of strips located below in the stack. This is intended for layering tweaks on top of a base animation. However, when inserting keyframes into such strips, it simply inserts the final value of the property, irrespective of these settings. This in fact makes the feature nearly useless. To fix this it is necessary to evaluate the NLA stack below the edited strip and correctly compute the raw key that would produce the intended final value, according to the mode and influence. Differential Revision: https://developer.blender.org/D3927
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-11NLA: fix frame mapping applied twice keyframing from graph/action editors.Alexander Gavrilov
The insert_keyframe function already applies NLA strip to action time remapping, so doing it in insert_graph_keys/insert_action_keys is redundant outside the code path that inserts directly into fcurve.
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-07-02Cleanup: use bool for poll functionsCampbell Barton
2018-06-07Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/animation/anim_deps.c source/blender/editors/animation/keyframing.c source/blender/editors/animation/keyingsets.c source/blender/editors/armature/pose_edit.c source/blender/editors/armature/pose_transform.c source/blender/editors/gpencil/gpencil_convert.c source/blender/editors/include/ED_anim_api.h source/blender/editors/include/ED_keyframing.h source/blender/editors/interface/interface_anim.c source/blender/editors/space_action/action_edit.c source/blender/editors/space_graph/graph_edit.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/transform/transform_conversions.c source/blender/makesrna/intern/rna_armature.c source/blender/makesrna/intern/rna_pose.c source/blender/python/intern/bpy_rna_anim.c source/blenderplayer/bad_level_call_stubs/stubs.c source/gameengine/Converter/KX_BlenderSceneConverter.cpp
2018-06-07Cleanup: remove moar G.main usages.Bastien Montagne
Notes: * Really need to address RNA setters case, end up adding way too much G.main here these days... :/ * Added Main pointer into bAnimContext, helps a lot in anim code ;)
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04Cleanup: strip trailing space in editorsCampbell Barton
2018-05-31Fix: View All in Action Editor zoomed in far enough to enter "crazy mode" ↵Joshua Leung
with a single keyframe Now, when there's just a single keyframe, pressing HomeKey will instead just center the view instead of trying to do "frame range" + margin.
2018-05-19WIP COW Fix: Insert keyframe operators/api now queries depsgraph for ↵Joshua Leung
evaluated data When using copy on write, insert keyframe operators were reading from old bmain data instead of COW data. This meant that inserting keyframes would often read old/stale data, resulting in invalid keyframes getting created (e.g. from last transform operation, instead of actual current state). This commit makes it so that keyframing operators will ask depsgraph for the evaluated copy of the data, so that it can read values from that. It introduces a new function - `DEG_get_evaluated_rna_pointer()`, which when working correctly/fully, should work just like the other `DEG_get_evaluated_*()` functions, except it lets you pass in an RNA Pointer. However, currently, this is only done for Pose Bones (as a dirty hack, since this is an important/pivotal requirement for production) and/or datablock properties directly (since we can just use the DEG_get_evaluated_id() directly). on the datablock. Committing to a branch for now as this all needs more testing. More work to come later at a more sane time of day!
2018-04-03Cleanup: editor BKE_main includesCampbell Barton
2017-10-18Cleanup: Use const for RNA EnumPropertyItem argsCampbell Barton
Practically all access to enum data is read-only.
2017-10-17Make auto handle placement aware of cyclic extrapolation.Alexander Gavrilov
Cyclic extrapolation is implemented as an f-curve modifier, so this technically violates abstraction separation and is something of a hack. However without such behavior achieving smooth looping with cyclic extrapolation is extremely cumbersome. The new behavior is applied when the first modifier is Cyclic extrapolation in Repeat or Repeat with Offset mode without using influence, repeat count or range restrictions. This change in behavior means that curve handles have to be updated when the modifier is added, removed or its options change. Due to the way code is structured, it seems it requires a helper link to the containing curve from the modifier object. Reviewers: aligorith Differential Revision: https://developer.blender.org/D2783
2017-09-27Math Lib: Add non-clamped round_* functionsCampbell Barton
Replace iroundf with round_fl_to_int, add other types
2016-08-04Cleanup: Use BKE_gpencil prefixJulian Eisel
This is a good point to change this as grease-pencil-v2 branch was just merged, so I hope merge conflicts with other branches are minimal.
2016-07-07Dopesheet: Keyframe size can be adjusted as part of theme settingsJoshua Leung
This commit introduces a scale factor setting for scaling all keyframe indicators in the Dopesheet Editor up/down, in order to make them easier to select. It is perhaps most useful for keyframe types which are usually indicated using smaller keyframes (e.g. breakdown), which may get tricky to quickly select.
2016-06-03Fix T48234: Glitch w/ action constraints sharing an actionCampbell Barton
FCurve evaluation depended on FCurve.curval, which isn't threadsafe. Now only use this value for debug display, and pass the value instead of storing in the FCurve for all but debug-display.
2016-04-22Fix T48230: Home key when only one keyframe makes the DopeSheet acting weird.Bastien Montagne
Simply apply same minimal range as in graph editor when we get a zero one from keyframes.
2016-04-16Anim Editors: "View Frame" Operator - Code Cleanups/Reshuffling + ↵Joshua Leung
NLA/Timeline Support * Reshuffled code for existing "View Frame" implementations, and removed leftover comment from some of the the copy-and-paste used to build it. * Added support for this operator in the NLA and Timeline
2016-04-15Code Cleanup: Add proper defines (with ANIM_* prefix) for animation-related ↵Joshua Leung
copy-paste buffer free callbacks
2016-03-13Keyframing: Added ToolSetting for choosing default keyframe typeJoshua Leung
To make it easier for animators working in a multipass pose-to-pose workflow when inserting breakdown keyframes and so forth, it is now possible to specify the "type" of keyframe being created (i.e. the colour of the keyframe, when drawn in the Dope Sheet). Usage: 1) Choose the type of keyframe ("Keyframe", "Breakdown", "Extreme", etc.) from the new dropdown located between the AutoKeying and KeyingSet widgets on the timeline header. 2) Insert keyframes 3) Rejoyce that your newly created keyframes have now been coloured for you already in the DopeSheet. Todo: * Look into a way of using the actual keyframe colours (from the theme) for the icons of these types.
2016-02-08Fix: ANIM_animdata_update() was not handling post-edit updates on GP channelsJoshua Leung
This may have resulted in situations where the order of GP keyframes was incorrect (leading to some frames not being able to be found), or in some redraw problems when trying to delete GP keyframes (that I was getting earlier, but can't seem to reproduce now) TODO: We now need to hook up a proper api to do the GP key sorting
2016-02-05Fix T46037: Moving keys in NLA tweak mode on offset actions results in ↵Joshua Leung
Bezier handles getting stretched unreasonably Patch by Alexander Gavrilov (angavrilov) Reviewed by Joshua Leung (aligorith)
2015-12-13Dopesheet: Mirroring GPencil keyframes now works againJoshua Leung
2015-12-13Dopesheet: IKEY (Insert Keyframe) operator now works in GPencil ModeJoshua Leung
It will create blank keyframes, or copies of the prevailing keyframe, depending on whether "Additive Drawing" is enabled or not.
2015-12-13Grease Pencil: Merge GPencil_Editing_Stage3 branch into masterJoshua Leung
This commit merges all the work done in the GPencil_Editing_Stage3 branch as of ef2aecf2db981b5344e0d14e7f074f1742b0b2f7 into master. For more details about the changes that this brings, see the WIP release notes: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.77/GPencil
2015-11-23Cleanup: use `rna_enum_` prefix for RNA enumsCampbell Barton
Definitions could shadow local vars.
2015-09-02Fix T45995: Auto-set preview range sets superfluous end key.Bastien Montagne
get_keyframe_extents() would add an extra frame in case of mono-key fcurves in selected set... Now do the 'not same start/end frames' check later, and also use floor/ceil instead of round (we want to start at frame 3 if first key is at frame 3.8, reversed-same goes for end frame).
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-07-29Clean channels tool for Hwoozeberry.Antony Riakiotakis
Basically it's a clean keyframes tool, but also removes a channel if the only remaining keyframe has the default value only and is not used by drivers or generative modifiers. It's was used to help with performance of keyframe-heavy scenes in gooseberry. Note, as always the curve left after the clean tool is used is not the same as the original, so this tool is better used before doing custom editing of fcurves and after initial keyframe insertion, to get rid of any unwanted keyframes inserted while doing mass keyframe insertion (by selecting all bones and pressing I for instance)
2015-05-15Zoom to frame options, requested by the Hwoozeberry (dutch translation)Antony Riakiotakis
team. There are 3 options here: 1) Keep range (previous behaviour) 2) Seconds - allows a specified offset in seconds around current frame 3) keyframes - zoom to include a number of keyframes around the cursor Options 2 and 3 have their own properties to tweak the behaviour and all options can be found in User Preferences->Interface under the 2D viewports section. Number 3 will probably need some refinement so commiting here for the hwoozeberry team to test first.
2015-04-14Fix T44362 no easy way to repeatedly duplicate keyframes in actionAntony Riakiotakis
editors. Reporter used a hacky work-around by placing cursor at end of keyframe range and doing ctrl-C ctrl-V repeatedly. This was working on 2.73 but not anymore since the old selection is not kept. Much better is to have duplication operator be repeatable. This commit takes care of that.
2015-04-13New operator for action and graph editor that centers around currentAntony Riakiotakis
scene frame, bound to numberpad zero.
2015-04-02Code Cleanup: Split Action management operator stuff into action_data.cJoshua Leung
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-28NLA Strip Keyframes: Insert keyframe tools in Anim Editors work nowJoshua Leung
* Insert Keyframe tool for Dopesheet/Graph Editors needed to be modified to not try to resolve the paths for NLA Control Curves * For now, the poll callback to get the "Active FCurve" also works when given a NLA control curve. They're really the same in most cases, and this should be fine until one of the channels does something funky.
2015-03-28Nla Strip Controls: Added special FCurve type (in the animfiltering code)Joshua Leung
Using the standard "FCurve" animchannel type didn't work that well for the control FCurves on NLA Strips, as the paths would not resolve correctly, and the indentation was wrong. Also, there would likely be issues down the track with applying NLA mapping. Hence, it's easier to just create a separate type for this case, and adapt the rest of the code to also consider these (todo).
2015-03-28Bugfix: Fix for crash when trying to create new action in Shape Key ↵Joshua Leung
DopeSheet mode When the active object had no shapekey data, trying to create a new action from the Shape Keys mode of the DopeSheet would crash. The segfault here was a silly regression caused by my earlier Action Stashing work. However, the old (pre-Action Stashing) code here also wasn't that great either. While it didn't crash, it would still silently create a new action, even if that could not get assigned/used anywhere. To prevent both of these problems from happening again, I've added additional null checks, as well as beefing up the poll callback here to forbid keyframing
2015-03-03Grrr, missed those ones in previous commit!Bastien Montagne
2015-03-03UI messages fixes...Bastien Montagne
2015-03-01Bugfix T43851: Creating a new action after stashing crashes blenderJoshua Leung
2015-02-28Action Editor: "New Action" operator now stashes old actions, and is used by ↵Joshua Leung
default again This commit modifies the "New Action" operator to always stash the old action before it creates a new one. As a result, the old active action will now have a proper user of sorts after the new one is created, preventing previously created actions from being lost. Now that the New operator does this, it can be used for the Action Editor header AND NLA Editor (Animation Data Panel -> Active Action) again. The "stash and create" operator is somewhat redundant at this point as a result.
2015-02-28Action Editor WIP: Adding new actions in Action Editor now uses the "stash ↵Joshua Leung
and create new" operator In constrast to the old "new" operator, this operator will stash the existing action in the stack to prevent it from being lost. This situation isn't totally ideal yet, since the NLA Editor still calls the old method.
2015-02-28Action Stashing: Don't allow an action to get stashed more than onceJoshua Leung
2015-02-28Code Cleanup: Deduplicate logic for getting AnimData block associated with ↵Joshua Leung
Action Editor modes
2015-02-28Code cleanup: Split off the creation and setting logic for new actions into ↵Joshua Leung
different functions This is also just as prep for the next step