Commit Graph

92 Commits

Author SHA1 Message Date
facc127e72 "View Frame" now works in the sequencer too 2016-04-17 12:27:12 +12:00
3129685f38 Sequencer: srt export support.
This commit adds a new operator that will compile the list of text
strips into an srt file. No positioning is supported yet but will
be added later.

The operator can be found in the effect panel in the strip properties.
2015-07-03 12:38:43 +02:00
a44a0cf443 Copy strip modifier operator for sequencer
Copies from active strip to selected strips, found in modifier panel
2015-06-15 21:23:24 +02:00
2cbe60b476 New "use placeholders" feature of the sequencer did not detect correct
filenames.

Added BLI_path utility functions to decompose a path name and
extract the frame number. It should be useful in autocollapse
feature as well
2015-06-04 20:40:44 +02:00
d354eeab74 Placeholder image strips feedback session changes no.2:
Change paths operator can also have the same placeholder logic now
2015-04-22 14:11:51 +02:00
Dalai Felinto
d5f1b9c222 Multi-View and Stereo 3D
Official Documentation:
http://www.blender.org/manual/render/workflows/multiview.html

Implemented Features
====================
Builtin Stereo Camera
* Convergence Mode
* Interocular Distance
* Convergence Distance
* Pivot Mode

Viewport
* Cameras
* Plane
* Volume

Compositor
* View Switch Node
* Image Node Multi-View OpenEXR support

Sequencer
* Image/Movie Strips 'Use Multiview'

UV/Image Editor
* Option to see Multi-View images in Stereo-3D or its individual images
* Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images

I/O
* Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images

Scene Render Views
* Ability to have an arbitrary number of views in the scene

Missing Bits
============
First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report.

Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report.

Everything else is likely small todos, and may wait until we are sure none of the above is happening.

Apart from that there are those known issues:
* Compositor Image Node poorly working for Multi-View OpenEXR
(this was working prefectly before the 'Use Multi-View' functionality)
* Selecting camera from Multi-View when looking from camera is problematic
* Animation Playback (ctrl+F11) doesn't support stereo formats
* Wrong filepath when trying to play back animated scene
* Viewport Rendering doesn't support Multi-View
* Overscan Rendering
* Fullscreen display modes need to warn the user
* Object copy should be aware of views suffix

Acknowledgments
===============
* Francesco Siddi for the help with the original feature specs and design
* Brecht Van Lommel for the original review of the code and design early on
* Blender Foundation for the Development Fund to support the project wrap up

Final patch reviewers:
* Antony Riakiotakis (psy-fi)
* Campbell Barton (ideasman42)
* Julian Eisel (Severin)
* Sergey Sharybin (nazgul)
* Thomas Dinged (dingto)

Code contributors of the original branch in github:
* Alexey Akishin
* Gabriel Caraballo
2015-04-06 10:40:12 -03:00
b1d758ae6b Cleanup: redundant struct declarations 2015-03-29 03:56:39 +11:00
d084967627 Revert "Change Enables proxy operator to Copy proxy operator."
This reverts commit ec03ab021f.

Changing this since it looks like Mattieu does not really like the change.
Will be adding another way to tweak the directories
2015-03-26 15:44:51 +01:00
ec03ab021f Change Enables proxy operator to Copy proxy operator.
Allows to change and copy settings much easier, also allows things like
directory settings etc to be copied over.
2015-03-25 12:36:43 +01:00
e0fa282340 Add some convenience operators to sequencer proxy panel:
Enable proxies for all selected movie strips (won't do recursive
enabling for metastrips yet)
Generate proxies operator here, as well as in strip menu
2015-01-29 12:37:57 +01:00
8abdc89912 Sequencer: Preview dragging playhead over strips
Bring back the 2.4x feature.

also show a highlight when a strip is being previewed.
2015-01-05 02:27:50 +11:00
c35f563bb7 Separate sequence extension drawing routine so it can be reused (as part
of an option or for tools)
2014-11-24 21:11:31 +01:00
649a2bcc3d Politically correct terrible consequencer changes
This patch includes the work done in the terrible consequencer branch
that hasn't been merged to master minus a few controversial and WIP
stuff, like strip parenting, new sequence data structs and cuddly
widgets.

What is included:

* Strip extensions only when slipping. It can very easily be made an
option but with a few strips with overlapping durations it makes view
too crowded and difficult to make out.
* Threaded waveform loading + code that restores waveforms on undo (not
used though, since sound_load recreates everything. There's a patch for
review D876)
* Toggle to enable backdrop in the strip sequence editor
* Toggle to easily turn on/off waveform display
* Snapping during transform on sequence boundaries. Snapping to start or
end of selection depends on position of mouse when invoking the operator
* Snapping of timeline indicator in sequencer to strip boundaries. To
use just press and hold ctrl while dragging.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D904
2014-11-24 18:23:44 +01:00
179ad7dcba Terminology Trim -> Slip tool. It's how it's mostly called in other
software.
2014-10-23 16:48:46 +02:00
f95241eb3e Merge trim tool from terrible_consequencer
The trim tool (T key) allows users to change the position of the
contents of a strip without moving the strip itself.
2014-10-20 15:40:18 +02:00
16dc208ef6 Expose "select all strips to left/right" in the select menu.
Shortcut is ctrl click but might not be discoverable, as we found out
the hard way on gooseberry.
2014-09-03 11:18:44 +02:00
9767ff8916 Code cleanup: use true/false in sequencer functions 2014-03-20 15:46:38 +06:00
03b07a719f code cleanup: unused functions 2013-04-03 15:04:24 +00:00
879e4fd9be sequencer gaps
- remove unneeded checks (poll checks editor is non-null)
- use booleans
- rename operator SEQUENCER_OT_gap_remove, _gap_insert

also quiet shadow warning in rigidbody.c (shadowing 'loc')
2013-03-26 20:34:13 +00:00
e1db5a050d Sequencer usability:
Brought back old tools "Remove Gap(s)" and "Insert Gap".
It's actually one of the first tools I ever coded for it in 90ies, so useful!

* Remove Gap(s)

This checks if there's no strip at a given position, and slides all strips
together to the left, until the gap is closed.

- BackSpace key, remove gap at current frame (or first gap at right of frame)
- SHIFT+BackSpace, remove all gaps at or to right of current frame.

* Insert Gap

Shifts all strips to right of current frame with 10 frames. (Amount can be
set in Toolbar redo panel).
2013-03-26 15:00:56 +00:00
64d161de87 style cleanup:
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-26 07:29:01 +00:00
d75a66674d code cleanup: remove deprecated defines and some struct members 2012-09-06 00:33:59 +00:00
ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
c9d5f32270 Sequencer: display color sample information when mouse is holded down
Behaves in exactly the same way as image editor's color sampling.

Would be nice to display color managed color too, but that's for tomato branch.
2012-08-23 16:14:52 +00:00
9bae78ed5d Sequencer: move up/down operators for modifiers 2012-08-23 09:04:30 +00:00
25b7370e86 de-duplicate sequencer jump operator, use next/prev option instead. 2012-08-23 07:39:51 +00:00
995a19a983 Sequencer: per-sequence modifier stack for color grading
This implements basic color grading modifiers in sequencer, supporting
color balance, RGB curves and HUE corrections.

Implementation is close to object modifiers, some details are there:

http://wiki.blender.org/index.php/User:Nazg-gul/SequencerModifiers

Modifiers supports multi-threaded calculation, masks and instant
parameter changes.

Also added cache for pre-processed image buffers for current frame,
so changing sequence properties does not require rendering of original
sequence (like rendering scene, loading file from disk and so)
2012-08-19 15:41:56 +00:00
51fafdee0c Sequencer: overlay display type options
Before this overlay would happen only for defined rectangle area,
now it's possible to show current / reference frames only, which
makes it possible to do more real slit view involving even displaying
frames on different monitors.

Still some work need to be done to clean interface up and support
displaying color information for reference shot.
2012-08-12 13:24:29 +00:00
0df68aacb1 Grease Pencil - Support for Grease Pencil in the Sequence Editor preview/image
space works again

This commit restores the support for using Grease Pencil in the Sequence Editor
image preview region, making it possible to scribble on footage for review
purposes again. Due to internal changes in how the Sequencer handles the image
drawing for this stuff (i.e. it is now fully based on View2D instead of trying
to implement its own little crazy offset+zoom stuff), a lot of the old code for
handling those offsets is no longer needed. Instead, one of the "standard" cases
is now used, and works quite well.

Bugfixes:
* View-space Grease Pencil drawing was done in wrong place (before view2d
restore)
* Grease Pencil entry in RNA had wrong/missing type

Credits:
* DingTo - initial patch/attempt at restoring support
* Aligorith - solved the "offset problems"
2012-06-11 00:21:50 +00:00
bdf9e02346 new sequence strip type for masks. 2012-06-07 18:24:36 +00:00
b0de69b48f fix for sequencer selection and naming in the outliner, was broken since 2.5x 2012-05-29 05:45:06 +00:00
d7bc2c7f06 style cleanup: misc editor changes. 2012-05-08 11:48:19 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
bdce58a42c Code cleanup:
* Remove some non used *_button_register functions, panels are done in python.
* Remove do_node_region_buttons, was not used anymore.

Fix:
* Only show Grease Pencil panel in the Node editor, when there is a valid nodetree.
2012-04-13 00:04:56 +00:00
44eb9cc272 Fix #30491: Not Updating Scene Length
(also fixes special request from Ian for Mango)

Added operator to update actual content length of all selected strips.
Can be useful for scenes and movies as well after doing making changes to
scene/movie.

Can be improved further to deal better with cases when strip has got effect
and it's get reshuffled because of overlapping after changing it's length.
2012-03-22 13:22:28 +00:00
d8623da305 == Sequencer ==
This adds movieclip input support to the sequencer, thereby making
undistorted and stabilized footage available without a seperate render step.

Also: removes some old cruft code from the sequencer:

* new_tstripdata wasn't used anymore
* StripElems were allocated for SCENE strips on full length, wasting memory
  Added a comment, that hopefully makes things a little bit clearer:
  StripElems are *only* usefull for MOVIE + IMAGE strips for all other strip
  types one can set this pointer to NULL. (If that should cause otherwise
  problems, then the code that doesn't check for NULL is to blame!)
2012-03-21 18:02:29 +00:00
7cc206ddca Code Cleanup: remove non existing function declarations.
added some missing functions too - which are not used yep but should be there for api completeness.
* CDDM_set_mloop
* CDDM_set_mpoly
* BLI_mempool_count
2012-02-29 15:00:37 +00:00
2b7ca2304a unify include guard defines, __$FILENAME__
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-17 18:59:41 +00:00
0c4e0965cc make sequencer use standard select operator with action property, remove select_inverse operator. 2012-01-14 07:23:57 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
113d556295 patch [#28571]
from Bastien Montagne (mont29)

Only applied Sequencer Select Grouped functionality - similar to the one in object mode, select strips based on type, time, data etc.
2011-09-28 14:12:27 +00:00
c07bd1439a == Sequencer ==
This patch adds:

* support for proxy building again (missing feature from Blender 2.49)
  additionally to the way, Blender 2.49 worked, you can select several
  strips at once and make Blender build proxies in the background (using
  the job system)
  Also a new thing: movie proxies are now build into AVI files, and
  the proxy system is moved into ImBuf-library, so that other parts
  of blender can also benefit from it.
  
* Timecode support: to fix seeking issues with files, that have
  a) varying frame rates
  b) very large GOP lengths
  c) are broken inbetween
  d) use different time code tracks
  
  the proxy builder can now also build timecode indices, which are
  used (optionally) for seeking.
  
  For the first time, it is possible, to do frame exact seeking on
  all file types.
  
* Support for different video-streams in one video file (can be
  selected in sequencer, other parts of blender can also use it,
  but UI has to be added accordingly)

* IMPORTANT: this patch *requires* ffmpeg 0.7 or newer, since
  older versions don't support the pkt_pts field, that is essential
  for building timecode indices.
  
  Windows and Mac libs are already updated, Linux-users have to build
  their own ffmpeg verions until distros keep up.
2011-08-28 14:46:03 +00:00
fc128c970b - recently restored sequencer change data operator didnt reset the offsets after a hard cut, causing the new data to be trimmed.
- add change data operator to strip panel next to image file properties since editing every image manually isnt really usable.
- added new sequencer operator "Clear Offsets" (Alt+O), useful to reset the start/end frames around the strip data.
2011-08-14 03:59:22 +00:00
ada88c8d8e sequencer todo: change sequence added back (C key)
split up into operators
- change effect input
- change effect type
- change file data

Change plugin is not ported back yet.
2011-08-12 06:08:22 +00:00
5f5cdf9d00 for bug [#27358] Transform bug when transform > 500
mouse coords would with cont. grab would wrap at short.
use mouse coords as int rather then short.

this problem still happens on linux because of XTranslateCoordinates
2011-05-12 16:47:36 +00:00
284a0d3610 pass even mouse coords value as const so its not edited, view3d_get_view_aligned_coordinate() could modify the event->mval. 2011-04-21 17:25:58 +00:00
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
fa4bbbb249 Maintenance,
- remove some redundant declarations
- changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-12-04 13:00:28 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00