Commit Graph

176 Commits

Author SHA1 Message Date
Joshua Leung
db72192c22 Bye bye vile relics of extinct version control systems,
Causing a flurry of refresh file prompts post-commit,
Confusing local diffs and causing merge conflicts,
Stating the obvious; redundant and useless...

We shall not miss thou, blasted expand $keywords$
2011-08-12 07:20:49 +00:00
Joerg Mueller
4532bd731d Merge with trunk up to r38584. 2011-07-21 21:11:58 +00:00
Joshua Leung
74111ac11c Attempted bugfix: don't perform any keyframe remapping stuff if
rendering, to prevent any race condition problems

I've noticed some weird and random crashes recently while rendering,
which I suspect have been arising from having an Action Editor open
while rendering. Previously only the timeline was patched against
these problems, though the issues may be more widespread. Hence,
solving this problem at the root cause instead.
2011-07-21 00:07:07 +00:00
Campbell Barton
5792bd7cc7 cmake: cleanup include paths, some duplicates and going up some unneeded dirs. 2011-07-17 09:11:13 +00:00
Joshua Leung
9132754dc1 Timeline Drawing - Time cursor draws extra wide in timeline so that
keyframe lines are wrapped up nicely by it

Ideally it could be made so that it only became wide when it is on a
frame with a keyframe, though that could end up causing performance
problems, so this will have to do (if a bit "chunky" looking at
times).
2011-07-12 12:13:23 +00:00
Joshua Leung
7dd6926b22 Bugfix [#27548] Timeline view - 2D drawing issues
* Keyframe lines were being drawn too short when frame number box was
enabled. The code for drawing this was modifying the View2D view-space
to get it's stuff in the right place, but the timeline code was not
accounting for this.

* In order to make the time ticks more visible outside the frame
range, I've moved the start/end frame drawing stuff in timeline to
occur after the grid drawing, and to draw semi-transparent, just like
the preview range curtains in the other animation editors
2011-07-12 12:04:27 +00:00
Joshua Leung
a6270b0204 Animation Channels Filtering Refactor - Part 5
Channels can now be used as "animation containers" to be filtered
further to obtain a set of subsidiary channels (i.e. F-Curves
associated with some summary channel).

The main use of this is that object and scene summary channels can now
be defined without defining the filtering logic in three different
places - once for channel filtering, once for drawing keyframes in
action editor, and once for editing these keyframes.

An indirect consequence of this, is that the "Only selected channels"
option in Timeline will now result in only the keyframes for a
selected bones getting shown (when enabled), instead of all keyframes
for the active object. This was requested by Lee during Durian, and is
something which has only become possible as a result of this commit.
2011-06-30 13:56:47 +00:00
Campbell Barton
09da9d4393 cmake maintenance
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
2011-05-31 01:15:44 +00:00
Campbell Barton
170716ca53 use BKE_area_find_region_type in place of inline loops (no functional changes). 2011-05-20 05:27:31 +00:00
Campbell Barton
3be303aa3e corrections for redundant null checks & transform printing a string into its self. 2011-04-29 06:59:18 +00:00
Campbell Barton
5c7bed92d4 fix for cmake glew includes (tested with mingw), also made qtcreator project generator work with mingw again 2011-04-06 03:02:40 +00:00
Campbell Barton
617e6a83bc object/paint/misc-files: floats were being implicitly promoted to doubles, adjust to use floats.
- also UV angle stretching was using radians->deg which wasn't needed.
2011-03-27 14:59:55 +00:00
Campbell Barton
3c184def72 use NULL instead of 0 for pointers, (editors) 2011-03-03 17:59:04 +00:00
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
Janne Karhu
47d2353f26 Fix for [#26205] Crash when duplicating window
* Timeline duplication code freed the original time caches too.
2011-02-25 08: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
Nathan Letwory
322ff7dfe4 I swear, it was just an innocence change in guardedalloc!
The butterfly wing flap, causing a nice storm in the rest of blender.

Now all dependencies should point ok again. CMakers, do double-test.
2011-02-21 12:35:04 +00:00
Campbell Barton
8b7482892b made most variables which are only used in a single file and not defined in header static for blenlib, blenkernel and editors. 2011-02-14 17:55:27 +00:00
Joshua Leung
efd1d0f901 Bugfix [#25902] alt+a over 3D view don't up date dropesheet editor
Migrating "redraws" settings from TimeLine view data to per Screen.
The options are now still shown in the TimeLine "Playback" menu
though.

This means that whatever redraw settings you set in a TimeLine editor
will be used throughout a screen (i.e. editor layout) to determine
which editors will get updated during playback, instead of only
certain editors doing certain things at vague times.

---

Also, I moved some version patches pre 2.56 version bump into a
version-check for 2.56. These must've been missed when doing the
release...
2011-02-01 23:41:01 +00:00
Campbell Barton
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
Joshua Leung
b445467f15 In the Timeline, keyframe lines are now drawn in front of the frame
indicator. This is so that it will be possible to see if there is a
keyframe on the current frame by just looking in the timeline.
2011-01-28 00:52:31 +00:00
Campbell Barton
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
Campbell Barton
8c86d2da3a Quiet warnings from last commit.
Janne: could you check if ptcache_file_pointers_seek() & ptcache_read_init() can be removed?
2011-01-02 10:13:17 +00:00
Janne Karhu
9f88e0faeb Fix for [#25427] cloth or soft body crash un Undo
* Argh my bad, sorry about this!
* Now only the actual data array is saved to avoid constant re-allocations, but no relations to active data are kept.
* Also reverted Ton's quick fix for the crash as it's not needed anymore.
2011-01-02 03:55:26 +00:00
Campbell Barton
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
Janne Karhu
6a79de7698 Fix for [#25325] Timeline doesn't show status of baked psys until frame is advanced
* Timeline didn't listen to file read notifier, so the pointcache frames indicator didn't get updated.
* Also added listens to particle & modifier (cloth, sb & smoke) notifiers as changes that cleared a pointcache weren't shown directly in the timeline either.
* The timeline display was also always one frame behind the actual state, since the notifiers are handled before the actual dynamics are calculated.
** This is now fixed too, by creating the actual drawn data always at drawtime.
2010-12-21 20:18:43 +00:00
Janne Karhu
555427765d Pointcache frame markers in timeline look a bit nicer if they are aligned exactly on frames. 2010-12-18 21:19:55 +00:00
Campbell Barton
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
Campbell Barton
e8397e6193 include headers in cmake source, added a script to check for consistency, reporting missing headers & C files.
this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-29 04:35:56 +00:00
Campbell Barton
3367ef8b65 initialize structs to zero rather then using memset(). 2010-10-31 15:39:37 +00:00
Campbell Barton
c6976e7351 use explicit file paths for CMake rather then globing, This is recommended by cmake devs.
globbing vs explicit is discussed here.
http://www.cmake.org/pipermail/cmake/2008-December/025694.html

Practical implications are:
- developers need to keep CMakeLists.txt files up to date.
- Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-10-23 04:05:55 +00:00
Campbell Barton
e5fbd93cec editors/space_* build without unused args warnings 2010-10-16 08:03:28 +00:00
Campbell Barton
f81248265d tag UNUSED() for operator exec() and invoke() functions. 2010-10-15 01:36:14 +00:00
Campbell Barton
a9197c3aa2 remove unused args in draw*.c and some in view*.c, tag some as UNUSED(). 2010-10-14 01:22:14 +00:00
Sergey Sharybin
e4964a3477 Fix #24167: Timeline keyframes don't update when selecting objects from outliner
Based on patch from Alexander Kuznetsov. Own changes:
- Keyframes in timelime depends on active object, so timelime better be
  listeing to ND_OB_ACTIVE notifier rather than ND_OB_SELECT
- When scene is changing in this operator NC_WINDOW notifier would be send
  and the whole interface would be redrawed, so no need in ND_OB_ACTIVE in
  this case
2010-10-07 16:41:42 +00:00
Nathan Letwory
7f7f3f5025 Fix [#24046] Keyframe display in Timeline isn't updated
Reported by Alex Glawion

Add necessary object selecction notifier handling to redraw timeline properly.
2010-09-29 12:34:32 +00:00
Janne Karhu
afa4b855ca Fixed: Showing pointcached frames in the timeline was terribly slow when using disk cache.
* The existence of cached frames was checked each frame causing hundreds of disk operations per frame update.
* Pointcache now keeps an updated array of the cached frames for fast "frame exists in cache" queries.
* This fix also speeds up some other pointcache operations nicely.
2010-09-27 09:58:37 +00:00
Campbell Barton
dea59cc5eb warning fixes and minor cmake changes. 2010-09-18 03:55:56 +00:00
Joshua Leung
c4a83ec086 Bugfix: Timeline did not refresh when changing selecting a bone
This happened/was most noticeable when clicking on a bone of an armature in posemode but not active (i.e. some object other than the armature is active when trying to select the bone).
2010-09-13 00:47:12 +00:00
Thomas Dinges
76918e6f90 Timeline Notifier Listener:
* Added ND_FRAME_RANGE to the header listener, changing frame range in Properties Window didn't update it in the timeline, reported by Hardworker in IRC. Thanks! 
* Main Area Listener doesn't listen to all NC_SCENE Notifiers now, only selected ND Notifiers, like the header does. This is more efficient. If there is a reason to let it listen to all NC_SCENE notifiers, please tell me. :)
2010-08-28 15:04:42 +00:00
Campbell Barton
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
Guillermo S. Romero
95aa8cfa4a Update address in license block. 2010-08-10 21:22:26 +00:00
Campbell Barton
f2d77e4496 remove unused includes from editors/space_* 2010-08-08 08:14:07 +00:00
Campbell Barton
e531f3736d drawing in the timeline could change bezier keys while rendering, disable. 2010-07-10 21:09:38 +00:00
Campbell Barton
ebde8a7ccc new notifier for FRAME_RANGE, use to recalculate the timeline scrollbar range. 2010-06-26 19:17:48 +00:00
Campbell Barton
ee14cc198b fix for timeline drawing with new cache visualization.
memcpy buffer overrun when the first frame wasnt 0.
2010-06-23 08:18:14 +00:00
Matt Ebb
2849201339 hopefully fix some flickering in timeline cache display 2010-06-22 09:12:22 +00:00
Matt Ebb
1d6c2f214b Timeline addition: Display cached frames
This started off doing pointcache debugging but it's also very useful for users too.
Previously it was very hard to see the state of the system when you're working caches
such as physics point cache - is it baked? which frames are cached? is it out of date?

Now, for better feedback, cached frames are drawn for the active object at the bottom 
of the timeline - a semitransparent area shows the entire cache extents, and more 
solid blocks on top show the frames that are cached. Darker versions indicate it's 
using a disk cache.

It can be disabled in general in the timeline View -> Caches menu, or by each individual
system that can be shown.

There's still a bit to do on this, behaviour needs to be clarified still eg. deciding what
shows when it's out of date, or when it's been played back but not cached, etc. etc. 
Part of this is due to a lack of definition in the point cache system itself, so we should
try and clean up/clarify this behaviour and what it means to users, at the same time.

Also would be interested in extending this to other caches such as fluid cache, 
sequencer memory cache etc. in the future, too.
2010-06-22 02:29:52 +00:00
Campbell Barton
129bee4743 remove cruft from cmake files, more to go 2010-06-04 20:56:56 +00:00
Campbell Barton
55d3a2014c have cmake build editors as different libs like scons and nan-makefiles 2010-06-04 11:34:57 +00:00