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
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
2015-02-28Code Cleanup: Separate out the logic for stashing actions into a separate ↵Joshua Leung
function
2015-02-28Action Editor: Stash Action OperatorJoshua Leung
This operator (the snowflake icon, beside the pushdown button on the Action Editor header) adds the currently active action to the NLA stack in a muted track, then creates + loads a new action ready to be populated with new keyframes. Since the NLA is being used to hang on to all the actions here, no actions are getting lost. Usage Notes (there will be some additional tweaks to make this nicer): * To preview different actions that have been "stashed", simply click the "Solo" toggle for the track containing the action in question. Playing back the NLA will now show the stashed track * To edit a previously stashed action - simply enter tweakmode on it in the NLA while the "Solo" toggle is enabled. Todo: * Add some more operators here to polish up the Action <-> NLA bridge to make the layered and stash workflows smoother. Examples include some tools to easily switch between the different actions layers in the stack, as well as making it easier to get out of tweakmode (and sync up the action lengths) * Review and cleanup the behaviour of the "new" operator here to avoid the old problems that users were running into * After the next release - Implement the full Action Libraries functionality, with ways to bridge the stashed strips over to a full-blown library.
2015-02-28Fix for previous commit: Pop up a warning in cases where the operator will ↵Joshua Leung
refuse to do anything
2015-02-28Action Editor: Added "Push Down" operator to send the current action on to ↵Joshua Leung
the NLA Stack This commit exposes the "Push Down" button/functionality found in the NLA Editor to the Action Editor, so that actions can be added NLA Stack from here too. The main point of this for now is to make the whole layered-animation workflow nicer more efficient, but not requiring the second editor be visible in common cases. It also conveniently sets things up for the next few changes (already hinted at here)...
2015-02-28Code Cleanup: Clarify some comments regarding usercount managementJoshua Leung
(Note for the uninitiated looking at the diffs: this is very much *not* what you're probably thinking right now, if you're looking at the line in act_new_exec())
2015-01-09Gooseberry animation request: Paste flipped pose in actionAntony Riakiotakis
and graph editor. This was a tricky commit that was not so straightforward to make work. The information for bones is not easy to come by in the animation curves, however we do have some string manipulation tricks to make it happen. Testing in gooseberry worked for the rigs there, commiting to master now
2014-11-30Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)Joshua Leung
This merge-commit brings in a number of new features and workflow/UI improvements for working with Grease Pencil. While these were originally targetted at improving the workflow for creating 3D storyboards in Blender using the Grease Pencil, many of these changes should also prove useful in other workflows too. The main highlights here are: 1) It is now possible to edit Grease Pencil strokes - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions to enter "Stroke Edit Mode". In this mode, many common editing tools will operate on Grease Pencil stroke points instead. - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less, Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete. - Proportional Editing works when using the transform tools 2) Grease Pencil stroke settings can now be animated NOTE: Currently drivers don't work, but if time allows, this may still be added before the release. 3) Strokes can be drawn with "filled" interiors, using a separate set of colour/opacity settings to the ones used for the lines themselves. This makes use of OpenGL filled polys, which has the limitation of only being able to fill convex shapes. Some artifacts may be visible on concave shapes (e.g. pacman's mouth will be overdrawn) 4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing has been added which draws strokes as a series of screen-aligned discs. While this was originally a partial experimental technique at getting better quality 3D lines, the effects possible using this technique were interesting enough to warrant making this a dedicated feature. Best results when partial opacity and large stroke widths are used. 5) Improved Onion Skinning Support - Different colours can be selected for the before/after ghosts. To do so, enable the "colour wheel" toggle beside the Onion Skinning toggle, and set the colours accordingly. - Different numbers of ghosts can be shown before/after the current frame 6) Grease Pencil datablocks are now attached to the scene by default instead of the active object. - For a long time, the object-attachment has proved to be quite problematic for users to keep track of. Now that this is done at scene level, it is easier for most users to use. - An exception for old files (and for any addons which may benefit from object attachment instead), is that if the active object has a Grease Pencil datablock, that will be used instead. - It is not currently possible to choose object-attachment from the UI, but it is simple to do this from the console instead, by doing: context.active_object.grease_pencil = bpy.data.grease_pencil["blah"] 7) Various UI Cleanups - The layers UI has been cleaned up to use a list instead of the nested-panels design. Apart from saving space, this is also much nicer to look at now. - The UI code is now all defined in Python. To support this, it has been necessary to add some new context properties to make it easier to access these settings. e.g. "gpencil_data" for the datablock "active_gpencil_layer" and "active_gpencil_frame" for active data, "editable_gpencil_strokes" for the strokes that can be edited - The "stroke placement/alignment" settings (previously "Drawing Settings" at the bottom of the Grease Pencil panel in the Properties Region) is now located in the toolbar. These were more toolsettings than properties for how GPencil got drawn. - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a suggestion for an earlier discussion on developer.blender.org - By default, the painting operator will wait for a mouse button to be pressed before it starts creating the stroke. This is to make it easier to include this operator in various toolbars/menus/etc. To get it immediately starting (as when you hold down DKEy to draw), set "wait_for_input" to False. - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor - Toolbar panels have been added to all the other editors which support these. 8) Pie menus for quick-access to tools A set of experimental pie menus has been included for quick access to many tools and settings. It is not necessary to use these to get things done, but they have been designed to help make certain common tasks easier. - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and spatially stable manner. - D Q = "Quick Settings" pie. This allows quick access to the active layer's settings. Notably, colours, thickness, and turning onion skinning on/off.
2014-11-11UI Refactor T41640Campbell Barton
Make the UI API more consistent and reduce confusion with some naming. mainly: - API function calls - enum values some internal static functions have been left for now
2014-07-10Fix for invalid memory access in graph editor when deleting the lastLukas Tönne
vertex in a fcurve.
2014-05-29Comments: Note direction in doxy argsCampbell Barton
2014-05-29Cleanup: Use doxy for more structured commentsCampbell Barton
2014-05-18Fix T40201: Keyframe edits fail to update the viewportCampbell Barton
2014-05-09Code cleanup: Define a dedicated "channel_role" field for animchannel typesJoshua Leung
This makes it easier for finding the active or first selected channel (where actual data channels need to be favoured over expanders - which come first), as previously, long switch statements were needed everytime.
2014-05-09DopeSheet: View Selected recenters the view vertically to display the active ↵Joshua Leung
channel
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-24Fix T39851: F-curve noise modifier on a bone: change selection when ↵Joshua Leung
modifying value When the dopesheet was open, "keyframe edited" events from the graph editor (i.e. fired whenever any properties on keyframes or FModifiers are changed) would trigger the dopesheet to synchronise selection states of anim channels and ensure that FCurve autocolours are initialised correctly. This however was undesired when editing properties in the graph editor. Now, made it so that keyframe adding/removing operators use different notifier flags to specify that the channels might have changed + need colour syncing, and adjusted the dopesheet updating logic to fit
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-06Fix T38987 Dope sheet is inoperable with "view slected" when nothing is ↵Bastien Montagne
selected. Code was unconditionnaly setting view's xmin and xmax, even when it was aborting afterward.
2014-01-15Code Cleanup: use iroundfCampbell Barton
also increase precision of rctf print functions
2013-12-20UI: restore confirmation popups for delete operators.Brecht Van Lommel
It turned out this was leading to accidental deleting in some cases when the info message was missed by users. Fixes T37801.