Apparently things have changed since {rB98d205508977a6f72bf55},
and putting the buttons in two separate rows is no longer enough
to keep the right-most popover button in the timeline header from
aligning with the menu buttons. This just adds a separator large
enough to avoid the alignment.
Relabel the Playback Synchronisation menu so that it's clear:
- what does happen (instead of describing what does //not// happen), and
- that the synchronisation options don't just affect audio.
The changes are:
- Change label from "Audio" to "Sync"
- Change the labels of the sync enum:
- No Sync → Play Every Frame
- Frame Dropping stays the same
- AV-sync → Sync to Audio
The "Audio" label has moved one option down, as that option does
actually relate to audio.
Reviewed By: looch, Severin, HooglyBoogly, campbellbarton
Differential Revision: https://developer.blender.org/D9269
For other areas in Blender that have a toggle and related settings,
we put a popover with the settings right next to the toggle. This
combination is nice because it organizes the settings without making
interaction slower. It also makes the settings more discoverable since
they're right next to the toggle.
Differential Revision: https://developer.blender.org/D8537
The current playback popover has some issues:
- Using labels instead of headers is inconsistent with
the rest of the interface
- Incomplete context and description for some properties
- Ugly large spacing
This commit fixes these problems by using headers.
Differential Revision: https://developer.blender.org/D8434
Since the timeline is a variation of the dopesheet, it also respects
some of the dopesheet settings.
The "Selected Only" setting is overridden from a scene property (since
rB4904eadc0f38) and the "Display Hidden" dopesheet setting seems to be
ignored.
This commit adds the remaining "Show Errors" setting to the menu,
allowing it to be updated from the timeline.
Instead of having the option to show marker lines,
make the marker region optional.
- Added a Show Markers entry in the View menu of the animation editors.
- If the markers region is not active then the Marker menu gets hidden.
- Removed marker menu from the driver editor
and don't allow to use marker operators.
This option was doing nothing in Blender 2.80.
I don't really see a reason for keeping it around.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D5552
staticmethod shouldn't be used unless it's necessary,
in that case a comment should be included especially when
subclassing non-staticmethods from RNA.
This also includes fixed/slighly refactored drawing code for marker lines.
The old code used the wrong height.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4411
When enabled, inserting keyframes into F-Curves with simple cyclic
extrapolation (the same conditions as required for cycle-aware auto
handle smoothing to activate) will take the cycle into account:
- Keyframes that are being inserted outside of the cycle bounds
are remapped to be inside the cycle. Thus it is not necessary
to be within the main iteration of the cycle when tweaking.
This becomes especially useful in the final animation tweaking
phase when the channel keys may be staggered for overlap, so
the actual master period is different for different channels.
- Modifying one of the end points of a cycle also changes the
other end point when appropriate, to preserve smooth transition.
This feature applies to both manual keyframe insertion using
'I', and auto-keyframing.
Differential Revision: https://developer.blender.org/D3140
- Added flexible separators to
Clip, Graph, Dopesheet, Image, Node, Timeline, 3D View.
- Added graying out for Proportional Editing
menus to avoid popping when right-aligned.
- Slightly re-arranged some controls,
so they can be on correct side of the separators.
Patch by @billreynish
This support layout.separator_spacer() to be used by headers as a way to
dynamically separate the ui buttons.
Right now no UI file is changed, though we can use this right away in the
timeline, and shortly after in the viewport header (moving settings from
the topbar to it).
Original design by William Reynish.
Review: Campbell Barton
D3468
NOTE: This is all still heavily WIP, and still requires some additional
layout engine magic to make it all nice.
* Moved current frame, and start/end frame buttons to the end
* Put playback controls in the center
* Remove other more obscure buttons (e.g. Frame menu, lock frame to frame range)
More to follow in next commit...
Now all Keying Set and Auto Keyframing settings can be found the in NKEY
Properties Region (right-hand-side hidden tab/drawer).
This way, we have more room to display the full names of the settings,
without clogging up the timeline header.
* Remove the "sync_mode" dropdown from timeline header, and move it into
the Playback menu instead.
* Remove the confusing "Frame Dropping" and "AV Sync" entries from the
Playback menu. These were supposed to be mutually exclusive (or else,
the "sync_mode" menu would break).
* Turn AV Sync on by default
* Commented out the Frame Dropping and Av Sync RNA Properties too.
THere doesn't seem to be any valid reason for these to exist?
A recent change in the UI layout code probably broke how the scale_x
for layouts was getting handled. This was leaving a large gap
(and causing layouts to pop) when trying to scrub the timeline.
This commit fixes this with a manually-found value that largely seems
to get rid of the popping problem. There's still a little jumping (1-2 px)
but it's less distracting now.
This commit removes all references to the old timeline editor.
Unfortuantely, the removal of the Timeline spacetype defining
functions has ended up breaking the version patching code I'd
been working on earlier (as now, the editor gets marked as
"unknown/info" before we get a chance to patch it!)
Eventually the idea is that they'll get remapped to some more global/generic hotkey
that can get used across all animation editors (see T54728). However, to facilitate
the removal of the timeline editor, it's better we do this now.
For many years, animators have been requesting the ability to edit keyframes in the
timeline. However, implementing such tools in the timeline quickly becomes a slippery
slope, where we'll eventually end up having to duplicate all the functionality from the
dopesheet editor.
Discussing with William and Pablo this morning, we realised that perhaps it might be possible
to just make the Timeline a mode of the Dopesheet Editor (and kill off the old standalone
Timeline), meaning that we essentially get all the Dopesheet Editor goodness for free!
Also, with some proposed UI updates (i.e. allowing "submodes" of editors to be part of the
the main editors selector), it might not even matter that there isn't an "actual" timeline
editor anymore.
This commit implements the following changes (which are actually sufficient for supporting
most basic workflows):
* Timeline mode in Dopesheet Editor
* Tweaks to UI code to make the Timeline header/menus show up in Dopesheet editor
TODO:
* Hide channels list when switching to timeline mode
* Port over cache-file indicators
* Add missing timeline-only settings that need a new home in the dopesheet
* Go through fixing all timeline editor operators (e.g. Bind to camera)
* Port over start/end frame shading (and adjust preview range rendering to make the
distinction between these clear)
* Remove old timeline editor, and transfer over any leftover code