Commit Graph

14703 Commits

Author SHA1 Message Date
Joshua Leung
bb9323a720 NLA SoC: Minor Tweaks (Duplicate + Muted-Strip Drawing)
* Duplicate operator now inits transform once strips have been created
* Muted strips now draw with a dotted outline
2009-06-19 12:57:31 +00:00
Joshua Leung
d525ae1782 NLA SoC: Duplicate Strips Operator (Shift D)
It is now possible to Duplicate Strips again. Strips are added into the first available space in the track above the original track (or a new track above the original if there wasn't any space).

Also, separated out the 'add' operators into their own menu. This might need to be changed later...
2009-06-19 12:45:08 +00:00
Joshua Leung
e3fc5481b9 NLA SoC: Bugfixes
* Loading old Action Editors resulted in wrong view settings being used
* Wrong operator names used in previous commit...
2009-06-19 11:56:53 +00:00
Joshua Leung
8ffb1dacad NLA SoC: Bugfix for Deleting Keyframes
When an F-Curve doesn't contain any keyframes anymore but it still exists, the F-Curve's value is not recalculated and flushed anymore if the F-Curve's value will not change. That is, if the F-Curve doesn't have any other data, i.e. drivers or generator-modifiers, which would still change its value, it wouldn't be recalculated to have a value of zero. 

This solves the problem of deleting all scale keyframes, whereby objects/bones would appear to 'vanish'
2009-06-19 04:58:40 +00:00
Joshua Leung
a87bc73d32 NLA SoC: Transition Strips + Strip Adding Operators + Bugfixes
== Transitions ==
Transition strips are now able to be created + evaluated. Transitions allow for interpolation between the endpoints of two adjacent strips in the same track (i.e. two strips which occur in the same track one after the other, but with a gap between them). 

- The current behaviour when only one endpoint affects some setting is non-optimal, since it appears somewhat inconsistently extend/replace values...
- Transform code needs a few fixes still to deal with these


== Strip Adding Operators ==
* New strips referencing Actions can be added using the Shift-A hotkey while in the strips-area. You must have a track selected first though.  
The new strip will get added, starting from the current frame, in the selected track(s) only if there is enough space to do so. Otherwise, the new strip gets added at the top of the stack in a new track.

* New transition strips can be added with the Shift-T hotkey while in the strips area. You must have two adjacent strips selected for this to work.

== New Backend Methods ==
* Recoded the strip/track adding API to be more flexible
* Added a new method for testing whether F-Curve has any modifiers of with certain attributes. Will be used in a later bugfix...

== Bugfixes ==
- Fixed bug with strip-blending which caused the blending modes to be useless.
- NLA buttons now use proper poll callbacks instead of defining checks
- Commented out missing operator in menus, silencing warnings in console
- Removed obsolete/incorrect comments
2009-06-19 04:45:56 +00:00
Joshua Leung
74884754d2 NLA SoC: Added menus including the operators coded already 2009-06-12 06:44:49 +00:00
Joshua Leung
4f9846b6a1 NLA SoC: Fixes for crashes when selecting keyframes in object channels in DopeSheet 2009-06-12 02:49:21 +00:00
Joshua Leung
cdeb95e737 NLA SoC: RNA Fixes
- Lower bound for start values has been expanded to -MAXFRAME, to avoid clipping problems when the strip is moved past frame 0

- Removed some obsolete (+ commented out) NLA wrapping in Object stuff
2009-06-11 11:53:41 +00:00
Joshua Leung
0bef8012bc NLA SoC: Channel ordering change
In response to user-feedback, I've changed the order in which channels appear. Now, the channel ordering is:

- Object/AnimData block
-- Active Action 
-- Last NLA Track
..
..
-- First NLA Track

It is important to note several things still:
1) Active action is applied AFTER the NLA Tracks have been evaluated, not before
2) In this new order, the tracks+active action are shown in the evaluation-stack order, i.e. first thing applied is at the bottom, last is at the top.

As a result, I've switched the view-orientation back so that it works the same way as for DopeSheet/Graph editors (i.e. expands downwards not upwards). This may cause problems loading files saved with older builds of this branch. There are still some lingering problems due to this change which I'll fix in due course.
2009-06-11 05:02:46 +00:00
Joshua Leung
f0f9034966 NLA SoC: Operator for adding new NLA-Tracks
New tracks can be added in the following ways (with the mouse hovering over the channels-list):
* Shift-A - this will add a new track at the top of the stack (i.e. above all the existing NLA-tracks but below the Active Action) for every AnimData block where there was a selected NLA-Track

* Ctrl-Shift-A - this will add a new track above every selected one
2009-06-11 03:19:08 +00:00
Joshua Leung
4a29d0c1a3 NLA SoC: 'Split' Operator (YKEY)
Selected NLA Strips are split into two strips, each with half the length of the original strip. 

Possible improvements subject to demand:
- multiple splits?
- splits with variable spacing? (i.e. 3:2, or 1:5).
2009-06-11 02:18:29 +00:00
Joshua Leung
64f94a670e NLA SoC: Evaluation bugfixes
* Strip scaling was being evaluated in the wrong way, resulting in scaled strips not being played too fast (for lengthened strips) or too slow (shortened strips)

* Also, verified that the 'reversed' option works correctly (no changes needed to be made here)
2009-06-11 02:14:56 +00:00
Joshua Leung
867e129135 F-Modifiers (in Nla branch):
For fun, added 'sinc' (i.e. y = sin(pi*x)/(pi*x)) as a type of builtin function usable through the generator modifier. This makes a nice 'jolt' which tapers off.
2009-06-10 05:03:27 +00:00
Joshua Leung
2f8290434c NLA SoC: Added BorderSelect operators (BKEY and Alt-BKEY)
These work in the same way as the ones in the Action Editor...
2009-06-10 04:43:18 +00:00
Joshua Leung
7dbc21ae3c NLA SoC: Merge from 2.5
20669 to 20771

(sheesh, that took an hour, not including having to restart the whole process after TortoiseSVN bailed out midway through the first try)
2009-06-10 03:36:28 +00:00
Campbell Barton
b9ef34b6e5 patch from Xavier Thomas, add back the sequencer snap operator 2009-06-09 21:29:59 +00:00
Guillermo S. Romero
a796a74fb5 Timecode printing is more or less duplicated in two different places,
so make them both use the same style and note down for future.
2009-06-09 20:03:52 +00:00
Thomas Dinges
83f9f1d4d6 2.5 Texture RNA:
* Wrapped some Mapping properties and added them into the layout.
2009-06-09 16:04:07 +00:00
Joshua Leung
abdb8fd94d NLA SoC: Added simple delete-strips operator (XKEY/DELKEY) 2009-06-09 12:28:49 +00:00
Joshua Leung
ca5ff43b1f NLA SoC: Improved anim-channel filtering flags for NLA so that channels don't need to be checked to be NLA-Tracks before being used. 2009-06-09 12:28:10 +00:00
Joshua Leung
096e2f0b5a NLA SoC: Transform tools for NLA
This commit restores transform support for NLA. Grab, scale, 'extend', and tweak (i.e. grab by just click+dragging) are implemented. 

Notes:
- As soon as one end of a strip touches another adjacent strip (within the same track), that end stops moving. This has been done to avoid the situation where overlapping strips within the same track (which is not allowed) might be caused by transforms.
- Made some changes to the RNA setters for the strip extents so that the validation above could take place (and other necessary changes on a per-strip basis could also occur).

TODO's ?
- Strips cannot be transferred from track to track using transforms. I've yet to decide whether this needs to be done, or whether a separate operator will suffice.
- What happens to the range of Actions used when the strips change sizes unexpectedly (i.e. the no-overlap condition above)? Currently range stays the same, but this doesn't always seem desirable?
2009-06-09 11:26:45 +00:00
Brecht Van Lommel
ed12137ff5 2.5:
* Fix compilation with FFMPEG.
* Ensure FFMPEG and similar flags are set during RNA compile,
  so the right output formats show.
2009-06-09 10:30:16 +00:00
Campbell Barton
d36a1b4f06 added layout attribute for setting the operator execution context.
eg, layout.operator_context = 'INVOKE_REGION_WIN'

Needed to set the context that menu item operators are executed in.

fixed missing NULL check with anim system debug printing.
2009-06-09 10:30:11 +00:00
Campbell Barton
a0ea138d31 minor file selector changes
- clamp the border to the region bounds when selecting files 
- fix for border select past the end of the filelist selecting nothing.
- de-selecting files would still set the filename.
2009-06-09 07:28:15 +00:00
Campbell Barton
031dbc89cf - rna wrapped sequencer space
- uiItemEnumO_string, forgot to actually set the enum value
- added more sequencer header buttons (these should probably be moved to a view panel eventually)
2009-06-09 05:39:01 +00:00
Joshua Leung
4b8b9b222e NLA SoC: Added buttons in NKEY region for NLA Editor
- Most of the settings wrapped in RNA have been exposed here using the new layout engine stuff from Brecht (C-API). I've tried to maintain a hierarchy of high-level (owner, generic-settings) to low-level (children, specialised-settings) here, which seems to be the prevailing guidelines?
(It took a while to try to understand how this all fitted together, since there were no clear examples on how to use this anywhere)

- NLA-Strip Modifiers have not been exposed yet. They still use the old-style drawing, which may/may not be compatible here.

- Fixed a bug with how the notifiers from this panel get sent. I really don't know how the compiler would have missed the undeclared pointer that was being used ('ob').
2009-06-09 04:39:33 +00:00
Brecht Van Lommel
c8b4cf9206 2.50:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD

Notes:
* Game and sequencer RNA, and sequencer header are now out of date
  a bit after changes in trunk.
* I didn't know how to port these bugfixes, most likely they are
  not needed anymore.
  * Fix "duplicate strip" always increase the user count for ipo.
  * IPO pinning on sequencer strips was lost during Undo.
2009-06-08 20:08:19 +00:00
Guillermo S. Romero
7a3215d11b Change separator to one that does not mean drop frame. 2009-06-08 17:46:29 +00:00
Brecht Van Lommel
cd6ace5c16 2.5: small fix to get context.texture_slot as the right
Material/World/LampTextureSlot type.
2009-06-08 16:55:43 +00:00
Campbell Barton
62160cef8a Sequencer WIP
- Move buttons into the sequencer Nkey region
- Made the header and menu items use the python api, still need to get more buttons working.
- Fixed some minor problems
2009-06-08 16:48:12 +00:00
Ton Roosendaal
ddbd871567 2.5
Small fixes:

- Preview render now accepts resize of 1 pixel without re-render,
  solves re-renders on scrolling window or dragging panel, because
  of float rounding.
- Panel dragging outline was off 0.5 pixel, showed as fat AA lines
- On switching tab, the preview gets re-rendered
2009-06-08 16:24:37 +00:00
Ton Roosendaal
c33b6a54f7 2.5
Down with smart, up with simple!
I now use the widget polygon code to generate a mask quad strip, 
draw it over the image, and then the AA outline. Should work on
all systems.
2009-06-08 12:39:39 +00:00
Ton Roosendaal
098a0840a4 2.5
Removed masking idea for preview draw, it appears Win32 && X11 windows
are 24 bits, not 32 bits with alpha. Not going to open that can of worm
to add this, will find a different masking method...
2009-06-08 12:10:39 +00:00
Ton Roosendaal
dad86a9bde 2.5
Test commit: different treatment of drawing alpha mask...
2009-06-08 11:27:40 +00:00
Joshua Leung
a8f8161518 NLA SoC: Fixed Outliner drawing for NLA data, and set icons for RNA wrapping of this data... 2009-06-08 11:11:39 +00:00
Ton Roosendaal
80360a0b66 2.5
Forget 'svn add'...
2009-06-08 10:41:52 +00:00
Ton Roosendaal
559ab6a835 2.5
Sequencer: added Nkey + UI region, with two empty panels to fill!
2009-06-08 10:38:28 +00:00
Ton Roosendaal
ca6a8a233b 2.5
Preview renders:

- Added proper button type (BUT_EXTRA) for preview buttons, to
  handle drawing better. It now first draws an alpha mask, to 
  ensure the preview is correctly fitting inside the widget style.
  It then draws the outline.
- Added protection for executing preview renders while regular
  rendering, that's not going to work...
2009-06-08 10:00:14 +00:00
Joshua Leung
9d4ebe1088 2.5 - Time indicator label for time-codes now draws in SMPTE format
When an Animation Editor is showing timing in 'seconds' (instead of frames), the indicator label is now drawn with the same style of timecodes as the scrollbar labels are.
2009-06-08 02:33:24 +00:00
Joshua Leung
39ff455eec NLA SoC: Added button for entering/exiting TweakMode
- Should the icons used for this be reversed?
2009-06-08 01:07:19 +00:00
Nicholas Bishop
eeea2cec0d Multires/2.5:
Bugfix, restoring sculpting from undo data should mark the multires DM as modified.
2009-06-07 21:02:54 +00:00
Thomas Dinges
0a6051295f * Added some Image Format Options to the the scene output panel. Patch by William Reynish. Thanks!
* Added missing Notifiers for Subsurface Scattering.
2009-06-07 19:18:20 +00:00
Nicholas Bishop
98444f6770 Multires/2.5:
Attempt to make multires updating a little cleaner by
assuming that no update needs to be performed, and only
doing the update when the modified flag is set (either
by sculpting or using some other tool that needs an update.)
2009-06-07 18:09:22 +00:00
Nicholas Bishop
0fc53d8d4c Use the local context pointer for the multires subdivide operator, rather than searching for a multires modifier in the modifier list. 2009-06-07 17:36:31 +00:00
Thomas Dinges
51740b57b9 2.5 Buttons:
* Small stamp tweaks by William Reynish. 

* Moved the modifier tab next to constraints.
2009-06-07 15:40:14 +00:00
Campbell Barton
bb06e311a1 added item_enumO() so python menu items can call enum types with string args.
Example sequencer menu
		self.layout.column()
		self.layout.item_enumO("SEQUENCER_OT_effect_strip_add", property='type', value='ADD', text="Effect Strip (Add)")
2009-06-07 14:53:08 +00:00
Brecht Van Lommel
eecf7722b6 UI Buttons:
* Context now allows pinning a datablock, independent of
  selection.
* Initial ID browse buttons for most buttons tabs.
* Browsing from world to texture now displays world textures
  again, but is a bit of a hack, not sure there is a right
  way to do this.
* There's a button to switch between active materials and
  textures now, only temporary though.
* There's some code to put context part in own region,
  disabled still because it doesn't work that well yet.
2009-06-07 13:36:12 +00:00
Thomas Dinges
0a9dea9d7d 2.5 RNA:
* Some more Notifiers for the world properties.
2009-06-07 13:35:39 +00:00
Brecht Van Lommel
1c9079d6e1 UI:
* layout.split() now takes a percentage argument to control
  the split position.
* ID template now works for more than just the Text ID type,
  includes and icon, and some other fixes.
2009-06-07 13:20:41 +00:00
Ton Roosendaal
c1135d489b 2.5
Preview renders now re-use a rendered buffer when size is same.
Looks nicer while sliding, and no memory free/allocating.
2009-06-07 13:16:31 +00:00