Commit Graph

20 Commits

Author SHA1 Message Date
3ef896a945 == Sequencer ==
Attention! Rather large sequencer rewrite:

* Implemented layer blending using implicit effects. (works like layers 
  in "The Gimp" or Photoshop.)
* Fixed Space-Bar start-stop in preview windows.
  You can start playback using spacebar within a preview-window and it _works_!
* Fixed Flip Y (didn't work for float)
* Fixed premul (didn't work for float)
* Added IPOs to _all_ tracks. In blend-mode REPLACE it drives the 
  "mul"-parameter in all other blend modes it drives the effect.
* you can meta single tracks.
* moved "mute track" from "M" to "Shift-M"
* added "Shift-L" for "lock track"
* changed inner workings for Metas. Now all ImBufs have to use the
  reference counting mechanism. (Only interesting for coders :)

!!! Really important change, that affects current files!

Since you can mute tracks and now there is real layer blending capabilities
in place, I changed the silly behaviour that chose the output track.

Old behaviour: if we have an effect track visible, use the uppermost effect
track. If there is _no_ effect track visible, use the lowest input track.

New behaviour: always use the uppermost track. With blend modes active: 
work our way down starting from the uppermost track to the first 
"replace"-mode track. This is the way the gimp, photoshop, basically _all_
other applications work...

So if this change ruins your day: please try to fix your files using
"mute". If this doesn't work out, I can still restore the old behaviour,
but I really hope, that this is _not_ necessary!

Rational: most people won't get affected by this change, since you can't
really do anything usefull with the (old) sequencer without at least one 
effect track and then you are on the safe side...
2008-01-01 11:44:42 +00:00
bf5cc424a8 Patch from ILdar AKHmetgaleev (akhil) - [#7864] correct scale in sequencer's glow
Added py-api write access to sequencer images.
2007-12-12 14:20:12 +00:00
af03bbe412 == Sequencer ==
Peach request: display last mapped frame in status bar of speed control
effect. (To come: auto-resize based on this information)
2007-10-21 20:05:01 +00:00
7c7c62409b == Sequencer ==
This adds "[#6766] Transform Sequencer effect" by damiles.
* Configurable interpolation: no, linear, bicubic
* Makes it possible to specify coordinates in units of pixels or by percent
  of the picture size

It makes the code a lot more clean, since new imbuf functions are used.

This patch also fixes
[#6829] Limit on VSE Transform Effect
2007-08-05 18:22:45 +00:00
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
a9e76993ae == Sequencer ==
Bugfix: forgot to reset effectdata on speed effect duplicate (thereby
sharing temporary data across effect strips leading to segfaults on the
road...)
2007-03-25 09:03:24 +00:00
fc633e46c5 in seqeffects.c I removed and extra ; and then did a lot of formatting
fixes.

gamma.c made it return B_PLUGIN_VERSION instead of a hard coded 4.
I haven't had time to look at the other plugins but I'm guessing
the deal was B_PLUGIN_VERSION was still 3 and gamma.c was float aware
so it was bummped to 4.  Now that B_PLUGIN_VERSION is 5 I'm guessing
the other plugins need to be updated so they are at level 5 as well.
(float aware)  I'm going to work on it later today.  At home with a
sick kid.  This is all in reference to bug #5692

Kent
2007-01-17 14:10:02 +00:00
00c82cd3b2 == Sequencer ==
== Plugins ==

Made sequencer plugins work again by boosting the version number and
working around recent changes to the ImBuf-structure for older binary
plugins.

This commit also restores the original length of name in VarStruct.
2007-01-05 14:26:04 +00:00
1834540830 == Sequencer ==
Bugfixes:
* The speed controller changes now dynamically the IPO-curve range to
  it's needs. (Frame matching and negative velocities didn't work...
  Obviously nobody tried ;-)
* Fixed some redraw bugs. The IPO window is correctly updated if one pushes
  the IPO Frame locking button.
2006-12-31 15:38:14 +00:00
0bb1256bf5 == Sequencer ==
Fixed an off by one error in Speed Controller.
If no IPO is present, enlarging the strip will now "stretch" time.
Shrinking doesn't work right now because of stripdata-handling...
2006-12-04 20:00:17 +00:00
c1b4132e8d == Sequencer ==
Major sequencer rewrite to add Speed Control effect.
Changes:
- Cleaned up large parts of sequence.c removing a lot of unnecessary code.
  (We first built old seqar array to decide, what is visible, then build
   dependencies with new code, then used old code to iterate through the
   strips and deciding using new code what is used and so forth and so on...)
  Should be much faster now.
- Now we build the strips recursively thereby elemenating the need of a
  seperate dependency calculation.
- Added a Speed-Control effect to change strip speed afterwards.
  (Offers global speed as well as IPO-controlled speed.
   There are several modes to play with:
   - Control by velocity (IPO = velocity where 1.0 is normal speed)
   - Control by frame number (IPO = target frame)
   - IPO-Value can be rescaled to frame-value, to make frame exact matching
     possible. (Matching video tracks to audio tracks with IPOs ;-)

Demo-Blend file is here http://peter.schlaile.de/blender/sequencer/speedcontroltest.blend

Since this was also a Plumiferos request I hope to be mentioned in the
credits ;-)

Enjoy! And please test the new sequencer thoroughly. It is really more like
a rewrite this time.
2006-11-11 22:35:40 +00:00
57a2f7a5b5 == Sequencer ==
This adds support for "generator effect strips", which don't need necessarily
an input strip and my version of Matt Ebb's [ #5035 ] 'Solid Color'
sequence strip.

TODO: With a little bit more tweaking it will be possible to make animated
effect plugins and my still unfinished "Bake"-Strip.

For the 'Solid Color'-Effect, to quote Matt:
This is nice and simple, just provides a solid colour that's set in a colour picker in the properties popup. This is something we've needed for a long time, and I got totally sick of having to make 'black.png' and 'white.png' just to do fades, so I coded this.
2006-11-09 22:23:09 +00:00
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
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
2447ce7ee7 Bugfix #4475
Sequencer effect "Glow" did not work for float images (like render result).
Reason: threshold value for glow was still integer range.
2006-06-27 10:28:00 +00:00
c4229b0272 ==Sequencer==
Fixed the blur-plugin (and maybe a lot more) crashes by expecting
future float-buffer aware sequencer-plugins to have a bumped PLUGIN_VERSION
number. Since quality and speed is degraded by converting the float
buffer first to byte, performing the effect on bytes and then converting
back again an additional warning is displayed in the effect strip,
suggesting to update the used sequencer-plugins.

Fixed some more crashes along the way.

Float buffer aware sequencer plugins should
- first check, if the output-ibuf has a rect_float
  => perform all operations with floats (input and output)
- if not: perform everything on bytes (intput and output)
2006-06-10 19:56:28 +00:00
18bcef6777 Plumiferos bug report; duplicating strips with effects crashed.
Was in new code that handlerized callbacks... leaving function pointers
unassigned. Dubious code... I would NULL everything first before filling.
2006-05-18 19:42:47 +00:00
7deaac1d25 ==Sequencer==
- Added early-out optimisation to add-effect (the case, where fac == 0)
- Bugfixes:
  * hddaudio: ffmpeg does not seek always to the correct frame,
    if the SEEK_BACKWARD flag is used. Now we account for this and
    seek a little bit further... (hack, urghs)
  * hddaudio: on long timelines, the new seek code didn't work
    (forgot a long long cast)
  * the audio mixdown code now also calculates meta-strip IPOs
2006-05-02 13:22:00 +00:00
73da80e757 We're now doing final conversions... float exrs to dpx amd png. Found a
couple of bugs in the new float support in sequencer;

- when effects have float buffer input, the effect strip itself only got
  byte buffers assigned, which bypassed the float versions of effects
- the float version of cross effect used ints to fade... should be float
- tests if an effect should be recalculated didn't check for float yet
- display of float buffer in sequencer preview showed black when no
  byte rect was in imbuf

Peter; we need this urgent, so I commit now.. check if this is according
to how you thought floatbuffers to work? thanks!
2006-03-16 20:42:00 +00:00
327d413eb3 this patch features several cleanups and bugfixes for the sequencer:
- blur works again (this was a serious bug in gamwarp...)
- seperates all sequence effects into a seperate file with a clean interface
- thereby fixing some obscure segfaults
- seperates the scope views into a seperate file
- adds float support to all effects and scope views
- removes a bad level call to open_plugin_seq
- FFMPEG seeking improved a lot.
- FFMPEG compiles with debian sarge version cleanly
- Makes hdaudio seek and resample code really work
2006-03-07 20:01:12 +00:00