Commit Graph

195 Commits

Author SHA1 Message Date
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
1280b6f902 - add back prefix for ID lists (LF) for linked and fake user for search fields.
- remove debug print for left/right name flipping & commented test from the sequencer.
2010-07-31 01:06:08 +00:00
ae662b8235 bugfix [#23105] Scene strips renders out darker (no gamma corection?) 2010-07-30 11:55:41 +00:00
9e45fa7f2f bugfix [#23106] Blender crashes (segfault) when scene strip file is missing 2010-07-30 11:40:23 +00:00
98e26b1b08 == Sequencer ==
Some cleanup on effects:

- converted interface to float cfra
- made effects return their own ImBufs, which has the following 
  advantages:
  * code in sequencer.c is a lot more readable.
  * multicam saves one memcpy of an image
  * prepares things for GPU-rendering
2010-07-25 17:19:55 +00:00
6a4d370a16 Bugfix: the sequencer core rewrite missed preprocessing of images with
wrong resolution on input, which can create image distortion and crashes 
on render.

Thanks to Juan Pablo Bouza for spotting this one!
2010-07-24 19:42:29 +00:00
65fcb0edcf == Sequencer ==
This patch cleans up the sequencer core by replacing the caching system
(TStripElems) with a hash based system, which is:

a) a lot faster
b) a lot more readable
c) a lot more memory conserving

The new caching system is also a good building ground for

a) sub frame precision rendering (even on scene strips)
b) multi core rendering (threaded rendering is still disabled, but can 
   be extended now to arbitrary core numbers)

I tested the code on an extensive editing session today and had no 
crashes during 4 hours of editing. So I consider it very stable.
2010-07-23 16:57:11 +00:00
4536a4c610 Fix #22841: crash rendering scene with opengl in sequencer as part of
animation. Only allow this from main thread, opengl can't be called from
render threads. It was already disabled in background mode.

For now I'm going to consider this a limitation.
2010-07-21 16:20:54 +00:00
f9e9e90a02 == Sequencer ==
Cutting effect strips (esp multicam) didn't free endstill tstripdata.
Doesn't sound like much of a problem, but those can get big on large 
timelines. So every cut eating 3 MB of memory doesn't leave much room 
for editing decisions :)
2010-07-20 12:22:45 +00:00
c7ce37471d == Sequencer ==
Bugfix: free_imbuf_seq() was closing IMB anim handles on nearly every 
change of RNA variables. This can be *very* slow, if you twiddle with 
parameters during playback. Especially multicam editing...

Now: we close IMB anim handles only on refresh_all() and filepath 
changes.
2010-07-19 20:01:18 +00:00
3ef41270f9 [#22880] SEQUENCER: Flip Y broken in recent builds (Windows & Linux)
own fault when adding saturation.
2010-07-16 15:45:35 +00:00
ae1748b984 bugfix [#22847] 18+ char Name in Edit Strip causes errors when duplicating strips 2010-07-14 12:16:23 +00:00
e86b78c47c Merging revision 30264:30270 from my GSoC branch to trunk, logs:
Bugfix for [#22284] Blender cursor gets stuck in the timeline when scrubbing (jack transport).

Dirty hack fix for:
* [#22366] Cutting audio and meta strips with audio does not actually cut audio
* [#22639] Audio not clipped to meta bounds

Also fixed a seemingly symptomless bug in sequencer_edit.c
2010-07-13 15:19:15 +00:00
862427e0b2 fix for crash copying in the sequencer. 2010-07-13 09:31:28 +00:00
291c99c5d9 - saturation option for sequencer strips, runs before multiply and color balance.
- multiply of 0.0 wasnt being applied.
2010-07-13 09:28:01 +00:00
a586541d74 tweak to color balance after talking with colin and testing other software, lift for values above 1.0 was too intense.
Use: 1 + ((lift-1) * (lift-1)) so 2.0 is still a full lift but 1.x isnt so strong.

Changed color picker to give more precission, we were having to edit the buttons to see what the numbers were.
2010-07-12 16:20:51 +00:00
a470640f2e sequencer float conversion was only using rgb -> float conversion inconsistantly, some places used colorspace conversion, some not.
Added IMB_float_from_rect_simple() for the sequencer to use.
2010-07-12 14:57:24 +00:00
22371e8816 [#22791] Can't change keyed strip attributes if two sequencer windows open
own recent commit for overlay sequencer view brokey keyframing in the sequencer.

for now prefetch and overlay views wont have correct fcurves applied.
2010-07-10 19:17:52 +00:00
6fcacf077d - duplicating a scene now duplicates all strips (not just selected ones)
- python change, dont import 'bpy' by default, initially I thaught this would make scripting easier but it ends up being annoying when you want to register a script or if you want to import it. (more trouble then its worth to save 1 line, also not very pythonic).
2010-07-08 14:30:43 +00:00
b511fbea6d Sequencer display overlay option, this can show a border area from another time to help compare for color grading.
- Okey sets the border in the display.
- Okey resets the frame offset in the sequencer timeline.
- ghost icon in the header can enable/disable.
- frame offset can be relative or absolute (lock icon)

Not very happy that this commit adds a call to BKE_animsys_evaluate_animdata(scene, ...) in do_build_seq_array_recursively()
without this the offset frames dont have fcurves applied.
Though we will need something like this for prefetch frames to work too.
2010-07-08 10:03:29 +00:00
6debe0fcf6 fix for duplicating metastrips, unique names and animation data. 2010-07-07 16:37:41 +00:00
e8be069870 duplicating a sequence strip now duplicates its fcurves 2010-07-07 16:17:18 +00:00
be1846bcf6 fix for numeric problems for color balance in the sequencer (same check as in compositor).
for optimized builds this gave crazy colors.
2010-07-07 15:06:57 +00:00
ed1de5d276 dont swap strip names when swapping strips, means they keep their fcurves 2010-07-07 13:14:51 +00:00
2a95a246ed color balance can now be animated in the sequencer. 2010-07-06 16:44:05 +00:00
ca252e39f5 Correction to recent color balance compositor and sequencer changes.
- In my changes lift was acting like a second gamma.
- In blender 2.4x it was being added which gave ugly clipping.
- in Magic Bullet Looks it scales the color about 1.0: (col - 1 * (2-lift)) + 1

Did more testing and made sure the order of applying lift/gamma/gain works the same as MagicBulletLooks (tested on Collin's mac laptop).
2010-07-06 10:21:28 +00:00
aea7ea5b30 recent commit broke invert option for sequencer lift. 2010-07-05 14:53:11 +00:00
b1cdc52b30 Color Balance Node
changes from sequencer applied to compositor mostly noticable is how the lift works.

Before & After,
http://www.graphicall.org/ftp/ideasman42/color_balance_before_after.png

even with lower values these kinds of errors can be seen.
2010-07-05 14:29:16 +00:00
58778d41e2 Color Balance
- color_balance_float_float wasnt using the new calculation method
- moved calculation into an inline function color_balance_fl() & made the lift adjustments less confusing.
2010-07-05 09:56:06 +00:00
83a2a4e5b8 Improvements to Blenders color balance (lift/gamma/gain).
Fairly closely match some mac application colin has called 'Looks', to give better results.
- lift is now applied non linear (was being added to the color)
- change the color wheel to preserve the luminance of the gamma and gain values, this stops the color from being set too dark (option for the color wheel template).
- sub-pixel precission for the color wheel since the white area at the center can make a lot of difference with a very small change.

This change will make existing node and sequencer setups lift render slighly differently however discussed this with Ton and he's ok with it.
2010-07-04 20:59:10 +00:00
8aa0f9b033 last fix still could give corrupt sound, rather then updating the sound info just add and remove the sound handle. 2010-07-04 10:51:10 +00:00
5553f66eb7 sequencer
- effects strips now add directly above the strips they operate on (almost always what you want)
- blend mode for new image/movie/scene/color strips is now cross: without this adjusting alpha will fade to black rather then the strip below.
- SEQ_HAS_PATH macro didnt include sound-ram or sound-hd
- meta drawing code has misleading variable names (from own commit).
2010-07-04 08:49:54 +00:00
6e5a436f56 == Sequencer ==
This fixes:
[#22722] Removing a sequence strip doesnt remove assosiated fcurves

by using the same hack that is used for moving curve-data along with the 
strips on grab.

Should be cleaned up (both functions!) by making sequencer-strips 
finally true IDs.

Until that happens, there is only an more or less ugly way of doing 
that.
2010-07-03 21:13:08 +00:00
15be7b215f - changes to the sequencer so new strips use the data name.
- removed the name option for the sequence operators.
2010-07-02 20:09:42 +00:00
7b36b2ebbb - duplicating a scene now duplicates its sequence strips too.
- bugfix for copying a scene with FFMPEG properties set (wasnt copying the ID properties, could crash blender)
- relative path option for adding sequence strips and replaceing images.
2010-06-25 12:04:04 +00:00
4c81019823 Move some sequencer functions about, no functional changes.
- Remove SEQ_DESEL, better not have a flag which includes ~, use ~SEQ_ALLSEL instead.
- Rename recurs_dupli_seq -> seqbase_dupli_recursive
- Rename deep_dupli_seq -> seq_dupli_recursive
2010-06-24 10:04:18 +00:00
4bade8e137 sequence.swap(other) rna function. 2010-06-21 22:05:34 +00:00
72d21c35ad sequencer swap data operator.
needed for durian so we can swap out preview AVI's for EXR sequences.
2010-06-21 17:37:50 +00:00
a7386bf986 fix for crash with opengl sequencer strips that dont have a camera 2010-06-17 14:22:13 +00:00
7e21cede8f setting the sequencer strip filepath for sound strips would rename the strip path but not the sounds,
resulting in sounds that didnt play in the sequencer unless you removed and replaced them with a strip that pointed to the new path.

The way these 2 datablocks work together is a bit odd, I think this is OK for now but should be better defined.
2010-06-10 15:41:01 +00:00
d58a591072 Sequencer crashes with clips that have OpenGl render enabled (rev 28658)
disabling for now, opengl write rendering isnt drivial to solve.
2010-05-08 19:08:33 +00:00
5371c54a4c bugfix [#21085] Sequencer file selector for movies is strange
elubie fixed the first part, this fixes the internal data updating while keeping the frame range.
2010-05-08 16:36:28 +00:00
008863daec Merge image related changes from the render branch. This includes the image
tile cache code in imbuf, but it is not hooked up to the render engine.


Imbuf module: some small refactoring and removing a lot of unused or old code
(about 6.5k lines).

* Added a ImFileType struct with callbacks to make adding an file format type,
  or making changes to the API easier.
* Move imbuf init/exit code into IMB_init()/IMB_exit() functions.
* Increased mipmap levels from 10 to 20, you run into this limit already with
  a 2k image.
* Removed hamx, amiga, anim5 format support.
* Removed colormap saving, only simple colormap code now for reading tga.
* Removed gen_dynlibtiff.py, editing this is almost as much work as just
  editing the code directly.
* Functions removed that were only used for sequencer plugin API:
  IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp,
  IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace,
  IMB_dit0, IMB_dit2, IMB_cspace
* Write metadata info into OpenEXR images. Can be viewed with the command
  line utility 'exrheader'

For the image tile cache code, see this page:
http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache
2010-05-07 15:18:04 +00:00
540bf6d7c8 should make problems mentioned in
[#19221] Sequencer animation curves not converted correctly from 2.4

go away.
2010-05-01 16:02:59 +00:00
bff3ec4ccc == Sequencer ==
Since prefetch rendering in sequencer is currently disabled, 
seq_thread_shutdown should be always TRUE for now.
2010-05-01 11:51:56 +00:00
5e74542bb6 use size_t for MEM_allocN_len as well as some of its callers 2010-04-29 21:46:25 +00:00
4f6e3dad47 == Sequencer ==
Forgot some changes for multicam support.
2010-04-25 15:39:04 +00:00
a92b8b7ff6 == Sequencer ==
This adds MULTICAM-editing support for blender. (Well, the beginning of.)

There is now a new effect track, named MULTICAM, which just selects
one of the lower tracks.

Doesn't sound that exciting, but if you combine this with A/B-Trim (moving
split points of two directly connected tracks around, while magically
resizing both strips, something to be added), you just do:

* add several tracks for your camera angles
* (optionally) sync those tracks
* add one multicam track on top

Use that multicam-track to edit your movie. (Either using fcurves on the
multicam source selector or using knife-tool and A/B-Trim.)

Compare that to:

* add several tracks
* add cross fades between them
* do some python scripting to add several fcurves to make that beast
  somewhat work.
* cry out loud, using it, if you have to move cut points around

Alternatively, even harder:

* just edit the old way and put strip after strip

You might think, that this isn't really helpfull for animators, but
consider using scene-strips (in OpenGL-mode) for input, that are set for
different camera angles and can now be intercut a lot more easily...

Also: small fix on the way: the speed effect can now be used in cascade.
(Don't know, if anyone used it that way, but now it works.)
2010-04-25 12:53:39 +00:00
f1eab048d3 == Sequencer ==
Removed seqrectx and seqrecty global variables.
2010-04-18 14:48:53 +00:00
153081accd Applied:
[#21390] Sequencer: Shifted frames on Time Flip/Flip Backwards

thanks to Koen Ribus(kori) for the patch.
2010-04-18 13:25:51 +00:00