Commit Graph

176 Commits

Author SHA1 Message Date
bc40f11093 header cleanup (no functional changes) 2011-10-10 09:38:02 +00:00
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
58587a3881 replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination.
also dont call CTX_data_scene() twice when checking for function arguments.
2011-09-26 18:51:10 +00:00
8f9fa6a400 == Sequencer ==
Fixed silly bug, that activated proxies at the wrong time.
2011-09-11 21:46:24 +00:00
59a823c48a Code cleanup: remove context from RNA update functions, only one left. 2011-09-05 19:34:27 +00:00
b3704f45c4 Fixes for snprintf usage:
* replace by BLI_snprintf in various places, note _snprintf on windows
  does not properly null terminate the string.
* fix overflow in sequencer proxy code due to buffer being smaller than
  specified size.
* fix some usage of snprintf as strcpy, this is will go wrong if the
  string contains % characters.
* remove BLI_dynstr_printf function in gpu module, use BLI_dynstr_appendf
2011-08-30 10:07:50 +00:00
43ab8e8624 * Merge trunk up to r39790.
* Subversion bump (also for init_userdef_do_versions).
* Minor fix for compilation without ffmpeg.
2011-08-30 08:22:03 +00:00
5bac37f6d4 * Reverting Titlecard commit r37537
* Reverting update recent files commit r37155
* Turning reference counts into unsigned ints
* Minor things
2011-08-29 15:01:55 +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
b4b046995b * Removing mocap GSoC (is an addon already).
* Fixing ffmpeg-0.8 errors.
* Fixing Ketsji paths.
* Removing DoSound from BGE.
* Fixing audio scene update to use only current scene objects.
2011-08-28 14:21:44 +00:00
23807d1fb4 Merging trunk up to r39447. 2011-08-16 14:11:58 +00:00
02b24e655b fix for bug where changing movie filepaths would reset the strip length.
also fixed possible & unlikely buffer overflow.
2011-08-14 14:43:11 +00:00
2d884fc035 3D Audio GSoC:
* Pepper depends on ffmpeg 0.7.1 or higher now, windows and mac build systems set to ffmpeg-0.8
* Fixed orientation retrieval in OpenAL device code.
* Added stopAll() method to AUD_IDevice (also for Python) and call it on BGE exit
* Changed BGE to use audaspace via native C++ instead over the C API.
* Made AUD_SequencerFactory and AUD_SequencerEntry thread safe.
* Changed sound caching into a flag which fixes problems on file loading, especially with undo.
* Removed unused parameter from sound_mute_scene_sound
* Fixed bug: changing FPS didn't update the sequencer sound positions.
* Fixed bug: Properties of sequencer strips weren't set correctly.
* Minor warning fixes.
2011-08-07 11:54:58 +00:00
bd6ca0570e 3D Audio GSoC:
Implemented basic audio animation.

* AnimatableProperty: Propper cache writing and spline interpolation for reading (the solution for stair steps in audio animation)
* Animatable properties so far are: volume, pitch, panning
* Users note: Changing the pitch of a sound results in wrong seeking, due to the resulting playback length difference.
* Users note: Panning only works for mono sources, values are in the range [-2..2], this basically controls the angle of the sound, 0 is front, -1 left, 1 right and 2 and -2 are back. Typical stereo panning only supports [-1..1].
* Disabled animation of audio related ffmpeg output parameters.
* Scene Audio Panel: 3D Listener settings also for Renderer, new Volume property (animatable!), Update/Bake buttons for animation problems, moved sampling rate and channel count here
2011-07-28 13:58:59 +00:00
9077b8bffc 3D Audio GSoC:
Main: Complete rewrite of the sequencer related audio code to support 3D Audio objects later and especially adressing the animation system problems (see mailing list if interested).
Note: Animation is not working yet, so with this commit volume animation doesn't work anymore, that's the next step.

Minor things:
* Changed AUD_Reference behaviour a little to be more usage safe.
* Fixed bug in AUD_I3DHandle: Missing virtual destructor
* Fixed enmus in AUD_Space.h
* Fixed a warning in rna_scene.c
* Removed an unneeded call in rna_sound.c
2011-07-26 13:56:31 +00:00
6a392e8cb5 == RNA Property Updates get called by Animation System now ==
This fixes bug #26764 and several others like it, where modifier
properties (and others, but most visibly modifiers) would not do
anything when animated or driven, as modifier properties require the
RNA update calls to tag the modifiers to get recalculated.

While just adding a call to RNA_property_update() could have gotten
this working (as per the Campbell's patch attached in the report, and
also my own attempt #25881). However, on production rigs, the
performance cost of this is untenatable (on my own tests, without
these updates, I was getting ~5fps on such a rig, but only 0.9fps or
possibly even worse with the updates added).

Hence, this commit adds a property-update caching system to the RNA
level, which aims to reduce to the number of times that the update
functions end up needing to get called.

While this is much faster than without the caching, I also added an
optimisation for pose bones (which are numerous in production rigs) so
that their property updates are skipped, since they are useless to the
animsys (they only tag the depsgraph for updating). This gets things
moving at a more acceptable framerate.
2011-07-24 04:34:46 +00:00
4532bd731d Merge with trunk up to r38584. 2011-07-21 21:11:58 +00:00
ce0ad0b40b fix [#28018] Sequence Swap Data Operator does not work 2011-07-19 01:36:59 +00:00
413bc87e4f Merge with trunk r37757. 2011-06-23 17:30:56 +00:00
2023db70a8 cmake option to build without an audio library. 2011-06-23 09:27:56 +00:00
cfcc4b4fcd == Simple Title Cards for Sequencer ==
This commit adds an experimental effect strip to the sequencer: "Title
Card".

This is useful for adding simple one-line text section headers or
"title cards" (i.e. title + author/contact details) to video clips,
which is often seen in demo videos accompanying papers and/or
animation tests.

See http://aligorith.blogspot.com/2011/06/gsoc11-simple-title-
cards.html for some more details on usage.

Code notes:
- There are a few things I've done here which will probably need
cleaning up. For instance, the hacks to get threadsafe fonts for
rendering, and also the way I've tried to piggyback the backdrop
drawing on top of the Solid Colour strips (this method was used to
keep changes here minimal, but is quite fragile if things change).
2011-06-16 02:46:38 +00:00
7fd1fe9fc8 draw sequences with invalid effect frame ranges pink to highlight they are invalid and wont render. 2011-06-07 18:34:33 +00:00
c6f3fabd16 fix [#27568] Segmentation fault in Sequencer when adding an effect strip with python
disallow negative length effect strips.
2011-06-04 10:39:04 +00:00
8246f94317 better error reporting for seq_swap() 2011-05-28 09:59:34 +00:00
dc50003824 This fixes:
[#27422] Strobe setting does not work with effect strip
[#27421] Some Settings of Adjustment Layers are not Functional.
2011-05-17 18:37:44 +00:00
ff884f4179 == Sequencer ==
This fixes one part of [#27353] VSE crashes on large M4V

StripData was alloced in full length for MOVIE and SOUND-tracks, which only
use the first element for filename storage. (StripData as an array is only
used in IMAGE strips).

Fixed the crash and documented accordingly.
2011-05-16 17:54:55 +00:00
70b832589a [PATCH] == Sequencer ==
This patch adds adjustment layer tracks to the sequencer and does some cleaning
up of the code.

What's an adjustment layer?

Think of it as an effect track, which takes no explicit input, but alters
the output of everything down the layer stack.

So: you can add several stages of color correction with it.

And: you can even use it with metastrips to group several adjustments together.
2011-05-16 17:14:47 +00:00
1093f69e50 Style Cleanup
- duplicate cases in if/else
- calc inside sizeof(...)
- redundant NULL checks.
- assignment to self.
- fix error getting text prefix for screen ID button.
2011-05-01 10:14:09 +00:00
d995d641f3 scene sequencer strips now work when camera override is used even if the scene has no active camera. 2011-04-30 06:22:02 +00:00
e7ffd32a61 use camera render argument to avoid temp overwriting the scene camera.
also fix for mistake with rendering stars from previous commit.
2011-04-30 05:42:37 +00:00
abcdf9573a add back support for rendering local view camera. 2011-04-30 04:29:36 +00:00
f9f771cd01 converted more mixed tab/space indentations to tabs. only whitespace changes. 2011-04-21 15:53:30 +00:00
163dbded30 == Sequencer ==
Fixes Fix for [#25713] VSE shows and renders wrong straight alpha gradient even after convert to pr
(see revision: 34540, fix by Janne)

By not breaking the seqcache interface API.

Added comments to header file, so that it is easier to understand, how the
cache API is supposed to work.
2011-04-17 10:05:27 +00:00
69bd72c3b6 quiet gcc float -> double promotion warnings. 2011-04-02 02:08:33 +00:00
3556da255a fix for memory leak when freeing metastrips from the clipboard. 2011-04-01 09:00:16 +00:00
6d3546069c fix [#26713] Video Sequencer: Audio mute after making meta strip copy/paste
was not recursively restoring sound strips on paste.

also found many duplicate functions were defining the transform mode as in int but getting as an enum, use enum for both now.
2011-04-01 08:51:12 +00:00
cc87bf16a1 quiet gcc implicit float -> double warnings & use floats in places. 2011-03-30 16:11:16 +00:00
627c764e3c bug [#26329] Project Paint not working
we cant ensure that a requested buffer can be allocated so report opengl errors when failing to allocate the buffer (rather then printing to console).

this is common enough and generic error isn't too helpful to users.
2011-03-06 23:12:12 +00:00
Nathan Letwory
0ff06e21cd doxygen: blender/blenkernel tagged. 2011-02-27 20:40:57 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
354fc0076e Fix for [#26160] Blender Crashes when undoing
Was trying to free audio data from sequencer strips that don't even have audio. Corrected the error in several ways so this will definitely not happen again :-)
2011-02-22 16:32:05 +00:00
27e812d697 Clear some compiler warnings by commenting some functions, adding others to headers.
left in warnings where functions obviously need to get ported to 2.5x still.

Also, render stamp seq strip works again.
2011-02-17 22:34:41 +00:00
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
2011-02-13 10:52:18 +00:00
867fc4b463 enforce string limits (reported by pedantic checking tools & some developers).
mostly replace strcpy with BLI_strncpy and multiple strcat's with a BLI_snprintf().
also fix possible crash if CWD isnt available.
2011-02-13 03:21:27 +00:00
dbce60448f This fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custom proxy file. 2011-02-05 15:11:29 +00:00
73f48ef3f8 Fix for [#25843] Multiple Scene Strip in Sequencer, bad scrubbing for armatures in viewport
* Sequencer didn't restore the scene properly after drawing a frame other than the current frame.
2011-01-28 13:14:01 +00:00
53b83262c5 Fix for [#25713] VSE shows and renders wrong straight alpha gradient even after convert to premul is checked
* Caching of the start and end stills were just referencing the original imbuf (which got premultiplied after the caching), so as a result most of the time the premul was applied twice.
* Now the start and end stills are stored in the cache as duplicates of the original (non modified) imbuf.
2011-01-28 00:59:42 +00:00
5bcee8cd0a remove misc unused vars and correct theme name for face angles. 2011-01-11 07:40:31 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00