Commit Graph

698 Commits

Author SHA1 Message Date
61389bba41 fix spelling mistakes in comments (and in some python error messages), nothing to effect translations. 2011-10-17 06:39:13 +00:00
7f4bb1f71b spelling corrections in comments and quiet warning 2011-10-15 14:14:22 +00:00
90b3bd84da fix [#28850] With "Auto-keyframe" on, the "Selection to Cursor" option doesn't create keyframe. 2011-10-10 12:56:21 +00:00
8714fb7019 replace sprintf with strcpy where no formatting is done and return value isn't used. 2011-10-09 06:03:38 +00:00
5bbd0decfd fix [#28765] keyframe handles do not move with curves in graph editor when hidden, resulting in bad curves.
hide handles wasn't properly respected by transform function testhandles_fcurve().
2011-09-29 05:03:21 +00:00
45b74dcf2c Reverting part of r.40659
The output of an automated tool is not a valid excuse for clobbering
code to increase maintenance headaches later on.
2011-09-28 23:43:48 +00:00
35f881b44d Commented and tagged some unused vars, added some var init (gcc warnings...) 2011-09-28 15:22:13 +00:00
a932f93098 Commented and tagged some unused vars (gcc warnings...). 2011-09-25 15:37:06 +00:00
274b9c8fb8 whitespace cleanup 2011-09-25 12:31:21 +00:00
f157a543c6 /blender/editors: Removed final points in UI strings and messages.
Plus a few cuts in very long lines…
2011-09-19 12:26:20 +00:00
d4898f9c40 use macros RAD2DEG & DEG2RAD rather then multiplying by 180.0/M_PI or M_PI/180.0 2011-09-17 09:43:51 +00:00
2222f536f8 use replace 0 with NULL for pointers, set some functions static
also fixed own errors in recent static check commit.
2011-09-16 08:20:21 +00:00
56460a0340 fix for passing NULL to strstr() in visualkey_can_use() 2011-09-12 00:13:49 +00:00
5fdbfbaf3a replace magic numbers for flags for uiSetRoundBox(); 2011-09-11 06:41:09 +00:00
59a823c48a Code cleanup: remove context from RNA update functions, only one left. 2011-09-05 19:34:27 +00:00
3386563368 Bugfix [#28435] Key Visual transform and Parenting not working
After reviewing this code, it seems that this case can work after all.
However, several things needed to be tweaked:
1) Removed check which stopped parented objects from getting the
visual keying coordinates determined. This actually wasn't doing
anything, given that this case would never occur as...
2) Tweaked the visualkey_can_use() function to also consider parenting
as a cause for visual-keying to be necessary.
2011-09-02 12:26:57 +00:00
8276989f63 fix [#28460] SEGFAULT when trying to make empty display as image 2011-09-02 08:20:30 +00:00
27ec8d5043 fix for some warnings with the recent merge, also tag unused args. 2011-08-30 09:50:31 +00:00
43ab8e8624 * Merge trunk up to r39790.
* Subversion bump (also for init_userdef_do_versions).
* Minor fix for compilation without ffmpeg.
2011-08-30 08:22:03 +00:00
8e12b7b054 Assorted comment clarification in response to code review notes 2011-08-28 11:39:18 +00:00
c96f28a718 - use %u rather tham %d for unsigned ints in string formatting funcs.
- replace (strlen(str) == 0) with str[0]=='\0'
2011-08-27 03:25:02 +00:00
2b0127a0c5 Rearrange anim channels - quick hotkey tweak
Use PageUp/Down for moving up/down, and Shift PageUp/Down for moving
to top/bottom. This is more comfortable than the old combinations
involving shift+ctrl.
2011-08-22 02:01:22 +00:00
be25346da6 Bugfix [#28308] Crashes when individual channels are moved in Action
Editor
2011-08-21 07:08:15 +00:00
674d1b8d68 Select by Keying Set...
* Split off code to refresh relative/builtin KeyingSets for the
current context before they get used to a separate function.
* Hooked this up to a new PyAPI/RNA function: KeyingSet.refresh().
Call this before checking the paths that a Keying Set has, especially
if it is not "absolute"

* Added option for "Select Grouped" operator (for Objects), which will
select all objects affected by the active Keying Set. This is probably
more useful for absolute KeyingSets, where changing the selection is
less likely to affect the result.
- The equivalent for bones is currently still in development, but is
likely to be more useful for animators, where rigs are the primary
animation entities they deal with
2011-08-15 10:37:26 +00:00
b8473d70e2 Bugfix [#28244] Setting vector handle in fcurve can fail
So apparently this was a regression from 2.4x, since vector handles
were one of the handle types which could be set independently for each
handle (vs both needing to be the same, for example, Auto Handles)
2011-08-14 10:19:21 +00:00
db72192c22 Bye bye vile relics of extinct version control systems,
Causing a flurry of refresh file prompts post-commit,
Confusing local diffs and causing merge conflicts,
Stating the obvious; redundant and useless...

We shall not miss thou, blasted expand $keywords$
2011-08-12 07:20:49 +00:00
022e815fbd Sound clip NLA Strips for Nexyon
These are basically just for specifying when a speaker should fire off
it's soundclip, and as such, many NLA operations are irrelevant for
it. They can only be specified on object-level for speaker objects.

I've still got some UI tweaks I'll need to work on in order for these
to be able to be added even when the speaker doesn't have any NLA
tracks yet. (EDIT: while typing this, I had an idea for how to do
this, but that'll be for next commit). In the mean time, you'll need
to add a single keyframe for the object, snowflake that action and
delete the NLA strip before you can start editing.
2011-08-07 12:27:20 +00:00
dca090abc8 Assorted loose ends for auto-clamped handles work
* Tweaked order of handle types to make it easier to find Auto/Auto-
clamped in the list
* Fixed a number of places which were still just checking for auto-
handles when they should have included auto-clamped too, including
handle rotation
2011-08-05 11:23:28 +00:00
900928f8bf Bassam Feature Request: "Auto Clamped" handles can now be set per
handle/key

This used to be a weird per-curve setting which would happen to get
applied/work correctly if handles were set to "auto", and was a source
of constant confusion for both old and new animators. The main effect
of this handle-type/option was really to just ensure that auto-handles
stayed horizontal, instead of tilting as the keys were moved.

This commit simply changes this from a per-curve to per
keyframe/handle setting.
2011-08-04 14:13:05 +00:00
fde1dc0fb2 Speaker Object icons, thanks Phil Gosch. 2011-08-03 13:34:49 +00:00
2b446aa280 Animation channels can now be renamed by Ctrl-Clicking on them, as in
the Outliner

Channels which can be renamed include:
- Scenes, Objects, World, Material, Texture, etc. (i.e. "ID-blocks",
or the dark and light blue channels)
- Action Groups (green channels)
- Action expanders (i.e. "CubeAction", "WorldAction", etc.)
- Grease Pencil stuff

Channels which CANNOT be renamed, as they mostly use hardcoded values
or otherwise include:
- Drivers expander
- FCurves (they don't technically have a "name"; what is shown is just
a user-friendly representation of their rna_paths)
2011-08-03 01:22:31 +00:00
3e85ec432e 3D Audio GSoC:
Adds new speaker object type.

Notes:
* Needs some nice icons
* Quickily review by Joshua Leung (5 mins)
* Properties UI updated (with help of Thomans Dinges)
* Speakers have their own theme color
* No real audio functionality yet.
* Minor bug regarding lamps/lattices fixed in interface_templates.c

I personality tested:
* Creation, Deletion, Duplication
* Saving, Loading
* Library linking (incl. make local)
* Tracking
* Dope Sheet, Outliner
* Animation
* Drawing (incl. Theme)
2011-08-01 11:44:20 +00:00
4532bd731d Merge with trunk up to r38584. 2011-07-21 21:11:58 +00:00
74111ac11c Attempted bugfix: don't perform any keyframe remapping stuff if
rendering, to prevent any race condition problems

I've noticed some weird and random crashes recently while rendering,
which I suspect have been arising from having an Action Editor open
while rendering. Previously only the timeline was patched against
these problems, though the issues may be more widespread. Hence,
solving this problem at the root cause instead.
2011-07-21 00:07:07 +00:00
5792bd7cc7 cmake: cleanup include paths, some duplicates and going up some unneeded dirs. 2011-07-17 09:11:13 +00:00
3ce8c9242d Bugfix [#27157] keyframing a constrained bone does not work as before
Visual Keyframing was broken by r.34685, which used another method
which, at the time, appeared to work perfectly fine. Apparently not.

Also, extend/fixed visual keying to work for axis-angle rotations too.
Needs some testing, but should probably work
2011-07-16 06:46:39 +00:00
9132754dc1 Timeline Drawing - Time cursor draws extra wide in timeline so that
keyframe lines are wrapped up nicely by it

Ideally it could be made so that it only became wide when it is on a
frame with a keyframe, though that could end up causing performance
problems, so this will have to do (if a bit "chunky" looking at
times).
2011-07-12 12:13:23 +00:00
7dd6926b22 Bugfix [#27548] Timeline view - 2D drawing issues
* Keyframe lines were being drawn too short when frame number box was
enabled. The code for drawing this was modifying the View2D view-space
to get it's stuff in the right place, but the timeline code was not
accounting for this.

* In order to make the time ticks more visible outside the frame
range, I've moved the start/end frame drawing stuff in timeline to
occur after the grid drawing, and to draw semi-transparent, just like
the preview range curtains in the other animation editors
2011-07-12 12:04:27 +00:00
d585ad2e3f Bugfix [#27650] graph editor -> drivers -> Delete Channels (X) deletes
wrong entries if obdata selected

In this case, the problem was that there were some lingering F-Curves
that were unselected by still had "active" flags set (a problem caused
by the old filtering channel visible vs list visible bug). Now,
"active" flag is treated separately from "selected" flag (bringing
this back into line with bones), leaving no confusion.
2011-07-12 03:59:06 +00:00
d044ecea10 Compiler warning fix 2011-07-09 01:11:09 +00:00
579efb097d Deleting Grease Pencil layers from Action-Editor works again 2011-07-08 11:57:25 +00:00
bc9432b905 Grease Pencil ActEdit Mode: Filtering Cleanup
* Ported filtering code for Grease Pencil frames editing to the newer-
style refactored stuff
* Decoupled active status of layers from selection status, bringing
this into line with everything else again
2011-07-07 11:29:36 +00:00
242ca1bdce NLA Drawing - Second attempt at providing options for streamlining the
view for transforming strips

When the "Include animation data blocks with no NLA data" toggle
(action icon) is off, action lines are only shown if they have
keyframes. So when this option is off, only NLA blocks that have NLA
tracks will be shown, and of those, only those which currently have an
active action with keyframes will have their red action lines shown.

Combined with the vertical-space tweak when show control curves is
turned off, this should be good enough for most cases.
2011-07-07 05:28:09 +00:00
82b17039ed NLA Drawing - When "Show Control Curves" option in View menu is
disabled, the strips are drawn so that they take up less vertical
space.

Originally, the primary reason why these were taller than those in the
other animation editors was really so that these control curves could
be visualised adequately. So, when these aren't shown, we can afford
to collapse the strips vertically.

This should make it possible to fit more strips on screen to retime
them. in some staggered fashion.
2011-07-06 01:34:10 +00:00
3f3c6f5f1f Merging from trunk up to r38119. 2011-07-05 13:54:25 +00:00
7c15143449 bind marker camera now uses active object rather then scene camera (was requested a few times) 2011-07-04 15:09:02 +00:00
de1c4fafc7 First stages of easier "expressions" creation...
It is now possible to create "scripted expression" drivers by simply
clicking on some property, and typing some short Python expression
prefixed with a '#'. This will result in a scripted expression driver,
with the typed-in text being created.

For example, you can click on X-Location of the default cube, and
type:
#sin(frame)
and a new driver will be created for the x-location of the cube. This
will use the current frame value, and modulate this with a sine wave.

Do note though, that the current frame is a special case here. In the
current implementation, a special "frame" driver variable, which
references the current scene frame is created automatically, so that
this simple and (assumed) common case will work straight out of the
box.

Future improvements:
- Explore possibilities of semi-automated extraction of variables from
such expressions, resulting in automated variable extraction. (Doing
away with variables completely is definitely 100% off the agenda
though)
- Look into some ways of defining some shorthands for referencing
local data (possibly related to variable extraction?)
2011-07-04 03:12:28 +00:00
52784d7e30 NLA Strip Drawing Tweaks
* Removed frame-number display from NLA strips. Indeed doing so makes
things look cleaner/easier to identify.
* When transforming NLA strips, the "temp-metas" (purple strips) get
their frame extents drawn on either end, like in the sequencer, which
seems to be easier to read than the ones inside the strips.

---

The downside of this tweak is that there is no longer any visual
feedback for which strips run reversed instead of forwards, as that
used to be shown using the frame extents stuff.
2011-07-01 12:21:13 +00:00
77dbc5c914 Icons!
Animation Editor toggle tweaks:
* By popular request, curve visibility toggles in the Graph Editor are
now represented using the eyeball icons
* Muting is now represented by a speaker icon (a speaker for this
purpose seems fairly common?)

New icons:
* Keying Sets now have their own icons (as found in a proposal on
jendrzych's "Pixel Sized" blog)
* Drivers also have their own icon now. This is just a hacky one I've
devised which doesn't look that great. Suggestions on this are very
welcome.
2011-07-01 02:37:44 +00:00
a6270b0204 Animation Channels Filtering Refactor - Part 5
Channels can now be used as "animation containers" to be filtered
further to obtain a set of subsidiary channels (i.e. F-Curves
associated with some summary channel).

The main use of this is that object and scene summary channels can now
be defined without defining the filtering logic in three different
places - once for channel filtering, once for drawing keyframes in
action editor, and once for editing these keyframes.

An indirect consequence of this, is that the "Only selected channels"
option in Timeline will now result in only the keyframes for a
selected bones getting shown (when enabled), instead of all keyframes
for the active object. This was requested by Lee during Durian, and is
something which has only become possible as a result of this commit.
2011-06-30 13:56:47 +00:00