Commit Graph

52 Commits

Author SHA1 Message Date
Campbell Barton
76c13cc0f7 fix for [#8359] Sequencer image preview: HOME hotkey zooming at output res, not at "full view"
also made image and sequencer account for aspect ratio and added numpad 1,2,4,8 keys for zooming.
2008-05-09 20:08:28 +00:00
Campbell Barton
55cbcd125d [#10998] Sequencer: some new features missing from the menu items
also added Shift+H for muting unselected and fixed a problem with marker selection not working in the sequencer (shift+rmb logic was reversed)
2008-05-09 08:01:27 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
Peter Schlaile
8d2a0a566f == Sequencer ==
A lot of fixes for anim_startofs / anim_endofs:
* crashed when striplen was 0 and startstill / endstill still in use
* made it work for Audio (HD and RAM)
* made it work for Image Sequences
* added a new cutting tool, that uses anim_startofs / endofs instead of
  startofs / endofs. This is now the default and called "hard cut"
* moved old cutting method to "Shift-K" and renamed it "soft cut"
2008-03-24 17:35:01 +00:00
Peter Schlaile
775f845146 == Sequencer ==
* Fix button drawing in header finally, sigh.
* Fixes: 
  [#8262] Hide Meta Strip does not hide contained Audio
2008-02-24 13:26:27 +00:00
Peter Schlaile
f59bbef4b3 == Sequencer ==
Fixes a lot of small things:
* zoom in/out in preview is more fine grained (use SHIFT)
* zebra scopes don't try to draw the border and fail
* lock/unlock now locks/unlocks all selected strips
* fix redraw problems of panel on lock/unlock
* buttons-panel is redrawn on translate, so that position information is shown
* added lock / hide to Strip-Menu
* fixed small drawing problems in header

TODO: find a good key for lock / unlock (Shift-L | Alt-Shift-L isn't that nice
      to press...)
2008-02-24 12:12:05 +00:00
Peter Schlaile
134fdd6d5a == Sequencer ==
Updated image preview a lot:
* Added a histogram-scope
* Added optional title-safe margins
* Re-arranged header, so that only usefull buttons are shown in image
  preview mode
* Added zebra-mode for visual feedback of over-exposure regions
  (helps in before and especially after color correction :)
* Added color-seperation-mode for waveform-display
* Show 10%, 70% and 90% hints in waveform-display
2008-01-31 15:28:16 +00:00
Peter Schlaile
237ba0291a == Sequencer ==
Moved N-keys dialog into panel (sub panel of "Scene")
_much_ better :)

Since UI-code isn't directly my main field of coding, please check
thoroughly...
2007-12-26 16:07:16 +00:00
Roland Hess
905d7126dd Fixing small header oversight -- Remap Paths was masked from movie type strips. It was still available via hotkey, but if you didn't know it, it wasn't in the header menus to see. Now it is. 2007-11-30 13:43:12 +00:00
Campbell Barton
7922496183 ==Sequencer==
added an option to reload selected strip data (Alt+R - same as reloading images in the imaeg 
viewer)
made the sequencer max memory limit 16gig for 64bit's.
2007-10-24 13:12:07 +00:00
Campbell Barton
6576464b03 Sequencer...
snapping to unselecrted strips didnt work (I didnt notice find_neighboring_sequence needed them to be touching, added find_next_prev_sequence to get the next/prev seq)
added select linked (L and Ctrl+L)
added Ctrl +/- select more/less
2007-10-18 12:35:58 +00:00
Campbell Barton
2639404f34 Sequencer
- Draw a verticle line for markers
- Added an option to transform selected markers in the sequencer - useful for Extending time
2007-10-17 18:32:54 +00:00
Campbell Barton
4b6b27ea70 markers in the sequencer
- added a new redraw type - REDRAWMARKER, at the moment this draws the same windows as REDRAWANIM, but this may not always be true, and it is more explicit whats 
happening, This replaced 5 or so draw calls in quite a few places.
2007-10-17 15:27:38 +00:00
Campbell Barton
8bb97b6efa patch 7145 - Copy Select objects by PassIndex, Ctrl+C, Ctrl+G
Sequencer Feature, Split Image Sequence.
Splits a image sequence into strips. useful for importing frames for animatics.
 Also added undo calls in a few places that did not have it.
2007-10-17 11:17:11 +00:00
Campbell Barton
da792a426a Sequence editor, (peach request)
Grab/Extend from frame - similar to a feature thats know as ripple editing in other applications. this is a fast way to add or remove frames 
from 
clips. to use.

Select all, drag the playbak head to the area you want to extend and press Ekey, the clips will be extended on the side the playhead that 
the mouse is on.

Also did more cleanups to sequencer transform code.
2007-10-09 20:37:53 +00:00
Peter Schlaile
5b1d669006 == Sequencer ==
This patch adds prefetch buffering to the sequencer
(see the tracker for additional details:

https://projects.blender.org/tracker/?func=detail&aid=7307&group_id=9&atid=127
)

We create seperate render threads (currently one, because of the fact,
that sequence rendering modifies global structures...), that
render up to the defined userpref value "Prefetch frames" in advance.
(Pressing Alt-A will _first_ fill the buffer and then start playing.)

Bassam and I did some extensive testing, so it should work.

If you don't configure your number of prefetch frames, prefetching is disabled!
(Sane defaults... :)

Also: if the machine is definitely too slow and runs out of the prefetch
area, prefetching is disabled automatically and we are back to good old
frame skipping mode.

My Dual Athlon is able to handle 4 parallel DV streams at once (sometimes
a little bit choppy, but prefetching is never disabled!)

I fixed also a long standing bug in the audio code, that made playback run
backwards at the beginning...
2007-10-01 08:03:11 +00:00
Roland Hess
a7a5e5c6cb Adds the following selection methods to the Sequence Editor:
Ctrl-RMB and Alt-RMB now call for different selection methods that are helpful when working within a single channel that holds several strips. The Ctrl modifier signals "Right" and the Alt modifier signals "Left".

Ctrl-RMB clicking a strip will select that strips left handle and the adjacent handle of any strip that abuts it on the left, allowing you to move the boundary between the strips without changing their outer endpoints. Ctrl-RMB clicking again on that strip will add to the selection all strips to the left of it, allowing you to slide the entire set of strips out of the way for a new one.

Alt-RMB works the same, but to the right.

Ctrl-Alt-RMB on a strip selects the surrounding handles only, allowing you to move the targeted strip and have the surrounding two strips adjust to follow.
2007-06-26 17:46:12 +00:00
Ton Roosendaal
9dd0c5abe5 Whoa, a new feature!
Sequence Editor: SHIFT+R, Remap Paths (also in pull down menu)

This allows to remap the root of a path to another directory.
Works on all selected Image strips. That way you can make absolute
paths relative, for example.

Example:
original path: /mnt/orange/finals/06_which_way/06_03b/
to be remapped: /mnt/orange/finals/
remap to: //
new path: //06_which_way/06_03b/
2007-06-25 13:01:46 +00:00
Campbell Barton
37c7d4d385 Type header_seq.c - Reassing Inputs -> Reassign Inputs
Mesh.c added new function to mesh - mesh.pointInside(vec)
2007-03-07 08:53:26 +00:00
Peter Schlaile
d59224377c == Sequencer ==
Fix for the fix. Added "Transform" twice. Ouchie!
2006-11-16 21:40:30 +00:00
Peter Schlaile
1a36a9080c == Sequencer ==
Fixes Bug #5239 reported by Anders Gudmundson:
- Sequencer eats memory like popcorn with metastrips
- Crash on gaps in metastrips

Both were introduces by my last patch that added "Speed Control".

I also forgot to add "Speed Control" and "Color" to the "Add"-menu.
(Simply haven't noticed, I use the spacebar all the time...)
2006-11-16 21:36:04 +00:00
Peter Schlaile
0df60a9ef4 == Sequencer ==
Added enhancements by blendix (Patch #4919: Insert sequence effect between)

It adds the following things:
- You can add a sequence strip afterwards in the middle of an effect chain
  (you have to move strips around before, so that there is "room" for it.
   Blender will ask you then, if you want to add in between or after the
   selected strips)
- In the case you messed it up and want your effect strips to be reassigned in
  a different way, there is the new "R"-key. Just select three arbitrary
  strips and press "R". If you don't create a cycle, those will be connected
  to a new effect chain.
- Fixed freeing of imbufs on changes to properly take into account dependencies.  An example of a simple case that went wrong is one image strip with two
  glow effects, changing the parameters of the first glow strip will not
  result in any updates. Basically only direct dependencies were taken into
  account, which resulted in the image preview not being updated in some cases.
- Let the sequencer detect an active sequence strip if none is defined, to
  get rid of annoying error messages when trying to add an effect to a
  selected sequence strip right after loading a file.
- Delete is less destructive. If you delete somewhere between other strips,
  Blender now tries to relink in a reasonable way.
- The active sequence strip is now displayed with a light instead of a dark
  outline, which makes it easier to spot, and is especially useful for the
  tools using the active sequence strip.
- Ability to view the final result when editing inside meta strip.
  The channel button was modified to also allow negative numbers,
  where -n is n levels up the meta stack. There is probably a nicer way to
  specify this, instead of (ab)using the channel button, but this seems to
  work quite efficient.
- Also a small bugfix: don't crash on loading files from newer versions with
  an unknown effect strip.
2006-11-09 18:58:02 +00:00
Peter Schlaile
e8a58eb0f9 == Sequencer ==
Bugfixes: Fixed partially bug #5030
Added patch: #4992 Basic Transforms
 This adds basic transform capabilities (rotate, scale, shift) to the
 sequencer.
2006-10-30 22:28:06 +00:00
Ton Roosendaal
b4e787cb5c Cosmetic change: the FFMPEG options for HD sound/movie are hidden behind
the #ifdef now, so it won't arise questionmarks in releases.
2006-07-07 09:39:37 +00:00
Peter Schlaile
af3f454cd8 ==Sequencer==
Added patch by Matt Ebb, that enhances the sequencer GUI in several ways:
- It looks a lot better
- Strip colours are themeable.
- The drawing code is more readable.
- The background of the timeline makes now distinguishing the channels easier
  by alternating between different shades of gray.
- Handle-scaling is clamped to min and max-values, making it possible to
  grab strips at large zooming levels more easily.
- Preview-images can be panned by dragging it with the middle mouse button.
  Home-Key resets the position.
- Since some people can't grab the meaning of "C 0", it is renamed to "Chan: 0"
- Effect strips have slightly different colors to distinguish them better.

Additionally:
- fixed an off by one error in Matt's patch
- Scene-rendering saves CFRA to avoid jumping current-scene on scrub
  (might be academic fix, since most likely it only happens if you add
  the sequencer-scene to the timeline... But nevertheless it bugs you on
  testing the GUI ;-)
2006-06-08 19:05:58 +00:00
Peter Schlaile
2dce179e9d ==Sequencer==
This patch is mostly a usability patch for the sequencer, mainly written by
Anders Gudmundson and twisted a little bit by me.

- Lock Time to other windows
- Possibility to switch the X-Axis between frames and seconds-display
- IPO-Frame Locking for plugins (T-Key)
- Additional Popup to add HD-Sound and Movie at once
- In Timeline-Window: Sequencer windows only playback
- Make the IPOs a little bit IPO-Frame-Lock friendlier (doesn't jump;
  the frame that is drawn has the right dimension)
- Wheel-Mouse buttons make the sequencer window zoom again.
- The "This is not a sound/movie-file message" now reads "... or
  FFMPEG-support not compiled in!" since I learned some prominent
  people who complained, that hdaudio does not work for them ;-)
- Make SPACEKEY open up the "Add Strip"-Popup on the timeline and start
  playback in the preview window.
2006-03-26 21:36:42 +00:00
Peter Schlaile
90f0e37263 * Adds configuration buttons for ffmpeg-output
* Large sequencer rewrite to support:
  - Audio-tracks, which are not completely loaded into memory (hdaudio) but
    kept on disk instead.
  - A dependency tree, that builds only the Imbufs, that are really needed
  - Cleaner sequencer code
  - Per instance data in sequencer plugins (without this, the Dynamic
    Noise Reduction plugin would be impossible)
  - A Luma Waveform display
  - A U/V scatter plot display
  - Memcache limiting in sequencer
  - Buttons changed according to the boosted framecount limit
2006-02-05 19:30:37 +00:00
Campbell Barton
93904a476e Aligned all remaining non-aligned header buttons, (was looking yuck with rounded theme, hope this doesn't mess you up Broken)
Aligned filesel buttons|text entry- looked arse also.
Added tooltips for filesel text entry- "Type in dir to create" and "+/- increment" or somthing like that.
- Cam
2006-01-15 13:30:56 +00:00
Ton Roosendaal
e173de2462 Patch provided by Matt Ebb, cut sequence strips (patch tracker).
There were a couple of issues with the implementation:

- there was no proper test if selected strips would be cut or not
- cutting meta strips could go very wrong... for example when the cut
  of meta was in an internal gap. With meta's being recursive, and too
  complex, I've disabled Meta-cutting
- added an OK menu for hotkey K
- added warnings when no cut was done

This is the first time in 6 years I do work in sequencer... man, this has
grown into a messy bizz! Like sequence variables... using names like:
start, startdisp, startstill, startoffs... totally confusing here. Could
use giant cleanup! Implementation was weak from scratch though, Mea Culpa!
2005-08-14 10:31:14 +00:00
Daniel Dunbar
b03a20d272 - got rid of silly #define ..._BIT, #define ... (1<<..._BIT) stuff
- switched almost all uiDefBut(..., TOG|BIT|..) to use UiDefButBit and the
   name of the actual bit define instead of just a magic constant, this makes
   searching the code much nicer. most of the credit here goes to LetterRip
   who did almost all of the conversions, I mostly just checked them over.
2005-08-03 18:48:22 +00:00
Ton Roosendaal
42ae9128fa Removal of old transform() <sob> part one.
- added in new transform the (not so useful but yah) old feature that
  does scrollwheel zoom during transform
- had to change transform call arguments for uv-window/sequence/oops to
  match new transform for mouse callback

TODO (for martin?)

- pulldown menu support to call with local axes compliant as for pressing
  it with hotkey
- mirrormenu() still uses old transform stuff...
2005-04-30 21:19:19 +00:00
Rob Haarsma
b86dc81cf3 Removed a couple of redundant "FTF_api.h" includes,
removed leftovers from Freeimage/Imagemagick experiments
and removed stuff from a Quicktime for linux implementation.

Also removed the (win32) Fullscreen button from the UI and
disabled the corresponding commandline option. The code is
still present to reenable the option whenever the ATI issues
get solved.
2005-03-23 21:10:03 +00:00
Daniel Dunbar
8e92ee8684 - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)
NOTE: BLI_winstuff.h was meant to be a wrapper around windows.h to handle
undefining various crap that windows.h defines. Platform specific headers
should only have to be included in a few places. This reduces the number
of inclusions of BLI_winstuff.h to 16 which is a much more reasonable
number (than the 144 or whatever it used to be)
2005-03-19 21:08:13 +00:00
Ton Roosendaal
3a840670a5 Lots of small changes, all for UI in Blender;
----- Killed UI frontbuffer draw
The interface toolkit was drawing all live updates (while using menus/buttons)
in the frontbuffer. This isn't well supported cross-platform, so time to be
killed once. Now it uses *only* glReadPixels and glCopyPixels for frontbuffer
access.

Live updates or menus now are drawn in backbuffer always, and copied to
front when needed.

NOTE: it was tested, but needs thorough review! On PC systems I suspects
backbuffer selection to screw up (check!). On SGI/SUN workstations it
should work smooth; but I need evidence

----- Smaller fixes;

- AA fonts were garbled on ATI systems. Now the AA fonts are drawn exact
  on pixel positions. Needs the new FTGL libb too, patch is on maillist
- Rounded theme uses antialiased outlines
- Pulldown and popup menus have nice softshadow now
- New button type 'PULLDOWN', thats the one that callsup a pulldown menu.
  Should be added to themes, as is the full menu/pulldown drawing
- Screendump for 1 window does the full window now, including header
- Empty pulldowns (for example running blender without scripts) give no
  drawing error anymore

For review & fun;
- added curved lines as connectors, for Oops window
2004-10-03 13:49:54 +00:00
Johnny Matthews
248404e7a2 This commit changes the sweep effect to be called 'Wipe' in both UI and in backend variable naming. 2004-08-03 19:36:17 +00:00
Matt Ebb
d2a424b814 Menu item for the sequence editor properties panel wasn't
showing in some circumstances - fixed and simplified.
2004-07-30 10:53:10 +00:00
Roel Spruit
8a0cd0bc97 Added another Sequence effect: the wellknown Glow effect. 2004-06-23 22:11:57 +00:00
Ton Roosendaal
6fdea0ffe7 Popular request: the floating panels (NKEY) now close on a 2nd NKEY command.
This for all current NKEY menus by default. Can be standard for each hotkey
controlled Panel from now on; use toggle_blockhandler() for it.

Another popular request: hotkey enabled Panels now optionally reopen on
the previous location, instead of under mouse. This option "Pinned" is a
user option now. Optional for later; have it as per-panel option... dunno!

The last request, close on mouse-exit, won't be implemented, this intrudes
with Panel consistancy, and is pretty OK solved with NKEY-NKEY now.
2004-06-19 12:25:28 +00:00
Roel Spruit
a31dec3712 added a new Sequence Effect: Sweep.
this consists of 22 different ways to sweep from 1 strip to another. For you windows lovers: it's like "Blinds" in Powerpoint :)
- in the NKEY menu you can choose which type you want perform, vertical, horizontal, in/out etc. it's too much to decribe.

Credits for this go to Kent 'Sirdude" Mein who coded the sequence plugin I stole the code from.

To allow certain sequence effects to have settings, I also added a "varstr" void pointer to the Sequence DNA, that can point to a special struct for each effect. This is similar to how plugins are handles.

more neat effects to come....
2004-06-18 22:53:06 +00:00
Ton Roosendaal
b106d1b8b6 Added Panel support in Sequence window, and converted old Nkey menu for it. 2004-06-16 20:25:56 +00:00
Matt Ebb
5926231d12 * Added 'Transform' menus to Ipo, OOPS, Action, NLA, and
Sequence spaces

* And a few small tweaks
2004-06-03 14:29:14 +00:00
Stephen Swaney
34693b400d fix warnings about implicit declaration of sprintf before Mom finds out. 2004-03-26 01:12:45 +00:00
Matt Ebb
aefe45e9b1 * Fixed some non-working toolbox entries (Thanks William Reynish for the report)
* Added animation playback menu items to IPO, Sequencer, Sound menus

* Added hotkey descriptions to more items in the 3D View menus
2004-01-17 05:51:06 +00:00
Matt Ebb
9d78e1164b * Added butspace and sound menus. That's all of them now, phew.
* Very small tweaks to Sequence and Ipo menus
2004-01-10 11:19:05 +00:00
Ton Roosendaal
5f3a96be10 Fixes after report from Matt:
- errors in names/hotkeys pulldowns fixed
- full window option in pulldown win caused ortho on/off event
- weight paint now shows vertex color Panel in editbuttons
- adding armature while vpaint mode, didnt end vpaint mode
- cleaned up some buttons design
- leftmouse press-hold for toolbox also moved 3d cursor
2003-10-28 18:43:55 +00:00
Ton Roosendaal
41545885b8 - added a 'collapse pulldown' icon to all headers that have it
- narrowed the space icon takes, looks pretty
- the status (pulldown or not) is now stored locally per window, it was
  global flag in user settings.
2003-10-27 13:23:48 +00:00
Simon Clitherow
fd3be2e3ef added sequence editor pull-down menus.
TODO: fix "Enter/Exit Meta Strip" to work correctly for nested
meta strips.
2003-10-20 20:12:01 +00:00
Ton Roosendaal
7f5d06d638 Another mega commit... loadsof restructure, and a pretty good one! :)
- changed the BIF_DrawString() function. it used to work different for
  AA fonts  as for default fonts. Now it's identical. Setting color for fonts
  can just be done with OpenGL, for both font types.
  Removed: BIF_DrawStringRGB()
- added theme color options for Buttons
- recoded DefButton, so it automatically chooses the right color.
- had to remove a 1000 uiBlockSetCol() calls for that reason...
- uiBlockSetCol() still works, to override automatic color

- removed entirely the silly old color system (BIFColorID). All color
  calls can now be done with a BIF_ThemeColor() call, including fonts and
  buttons and opengl stuff

- all buttons in button header have headercolor by default

- recoded drawing icons, it was a really bad & old loop doing manually
  colorshading and blending... which was per pixel a load of code!
  Now it uses a single OpenGL call to blend or colorize. Quite faster!
- (as test, for review) icons don't colorize anymore with button color,
  but have a different alpha to blend in (when not active)


- recoded the entire interface_draw.c file...:
- drawing buttons is separated in three parts:
  1. main drawing function for text and icons
  2. free definable callback for button itself
  3. free definable callback for slider
- removed a load of redundant code for this!
- coded a minimal theme, and adjusted Matt's buttons to match new
  callback system

- adding new drawing themes is piece of cake now
- for coders, default 'themes' to be aware of:
  UI_EMBOSS : the themable drawing style
  UI_EMBOSSP: the pulldown menu system (apart from color not themable)
  UI_EMBOSSN: draw nothing, only text and/or icon
  UI_EMBOSSM: minimal theme, still in use for Logic and Constraintsa
  this can be set with uiBlockSetEmboss(block) or in the uiNewBlock() call.

TODO: make UI API call for button alignment

(plus removed another series of warnings from code...)

Plus: fixed bug in Matts commit: he used a 'short' button for an 'int'
2003-10-20 15:40:20 +00:00
Ton Roosendaal
10333bd1d3 - removed all #include "interface.h" from files. this is a local/internal
include only (use BIF_interface.h instead)
- split up interface.c in two files: NEW: interface_panel.c
- removed the temporal text files

WARN: FIX AUTOMAKE AND MSVC!
2003-10-15 19:23:54 +00:00
Matt Ebb
c2c7bb6648 - Modified drawing of ICONROW controls to be clearer,
more consistent and logical. (ICONROWs haven't
scrolled left/right in years!

More detailed tweaking of headerbuttons positions can come when
more menus are finished

- added text labels to the drawtype menu in 3d view header
2003-10-15 13:47:15 +00:00