===========================
- Internal changes:
* Fixed bundle.sh script to bundle libmv: it was generating
incorrect CMakeLists header.
* Rename CLIP_OP_delete to CLIP_OT_delete_track.
* Fixed crash when BKE_movieclip_acquire_ibuf is called
with NULL user.
* Made MovieTrackingMarker structure 8-bytes aligned
* Use writestruct rather than writedata for track markers.
This allows to change MovieTrackingMarker safely.
- Added "Delete Marker" operator which deletes marker for
current frame only. Hotkey is Shift-Del.
- Added MovieClip.size and MovieClip.resolution RNA properties.
Use last accessed frame number to get ImBuf from sequence.
- Added different actions for "Clear Path" operator:
* Clear path up to current frame.
* Clear the whole path.
* Cleat remained part of path (for frames after current).
- Changed buttons order and icons for tracking. New order is:
* Track frame backwards.
* Track sequence backwards.
* Track sequence forwards.
* Track frame forwards.
NOTE: this breaks compatibility with existing .blend files again,
but it should be much easier to change data structures without
breackaged in the future.
===========================
Refactored interface of movie clip editor:
- Remove all "modal" things like active tool and mode.
They aren't so useful as I thought when was starting
implementation of UI.
- Toolbar (T-panel) now contains tools only, no options/properties there.
- All properties are moved to properties panel (N-panel).
===========================
Implemented basic structures and operators for markers manipulaiton.
Markers contains:
- Position of marker at frame in unified 0..1 coordinates
- Relative positions of left-bottom and right-top corners of pattern area
- Relative positions of left-bottom and right-top corners of search area
- Selection flags
New operators:
- Create new maerker. It's a modal operator which creates markers
at mouse position when LMB is clicking.
- Delete selected markers.
- Select marker using RMB. Some parts of marker (point, patter, search)
could be deselected.
- Select markers using rectangular selection.
- Select markers using circle selection.
- Marker translation (G-key).
- Marker scaling (S-key).
UI changes:
- Added mode to space clip. Currently supported modes are:
* View mode
* Tracking mode
This was intended to separate different categories of tools,
so interface shouldn't be overheaded with plenty of tools
which aren't actually using in the same time.
- Created new panel when actiev tool is 'MARKER' and there's
active marker where positions could be adjusted in pixel space.
Internal changes:
- Splitted DNA/RNA movieclip files to make separation of
tracking data and movie data more clear. This could be useful
in the future when we'll want to support multiplie moies
for single camera tracking (to make tracking more accurate).
- Added new file in blenkernel, where all tracking-related function
would be stored. Not very much function here at this moment,
but in the future all stuff related on converting DNA to external
tracking data would be stored here.
===========================
- Initial implementaiton of new ID named MovieClip.
Currently it has plactically the same functionality as
images, but this functionality would be widen in nearest future.
- Initial implementation of SpaceClip.
This space is supposed to be used for acting with MovieClips
(opening, playbacking, math-moving interaction and so on).
Currently you could open image sequence/movie file here, pan/zoom,
use a playback here.
I've added cache visualizer to this space, but it's currently more
a developer's feature to see how cache system works, but it could
be adopted for further artists' usage (something like cache visuzlizer
for simulations).
- Added new theme area for Space Clip.
No special colors were defined here yet.
- Implementation of basic cache system for movies.
This cache system is very familiar with sequence cache system,
but it supposed to be more portable: at least cache keys aren't
limited with sequence-based data and current seqcache could
became an interface between sequencer and moviecache without
much logic (only logic related on keys handling would be necessary
here).
Implemented basic limitors (ab\mount of cached imbuf's), so it'll
be a bit more difficult to go out of memory when playing long
animations in Image Editor (this cache system could be used for
images too, in the future).
- Very basic tools implementation -- only sceletion added, no
real tool implemented (only camera focal length added to the UI
which hasn't got real affect on anything).
Assorted notes:
- Not sure about best behaviour for Unlink clip button: should
it be imageeditor-like (with de-referencing only) or text-editor
like (with removing datablock from file).
- Also not sure if tools/properties should be splitted into
different areas or it'll be better to have tools and settings
for this tool/item/etc in the same area (tools at the top,
properties are under them).
Code for properties area is '#if 0'-ed.
- Sound isn't supported during playback in movie clip.
* Moved ICON_BLENDER away from (0,0) spot in blenderbuttons, since ICON_BLENDER=0 define is conflicting ICON_NULL define as well as with logic checks for nonzero icon id.
* This solved bug where ICON_BLENDER can't be set from Python as well as when using new UI functions from within Blender.
* Turned off 'Front-Face Only' for all brushes, it needs more testing
* Added brush icons for other paint modes
* Moved 'tool' panel to bottom of all paint modes
* Moved 'appearance' panel to be next to bottom
* Moved brush selector panel to top of all modes
* Closed all panels except the brush selector panel
* Turned off X symmetry
Now, rather than the bit-too-alarming stop sign, threaded wmJobs
display a progress indicator in the header. This is an optional feature
for each job type and still uses the same hardcoded ui template
(could use further work here...).
Currently implemented for:
Render - parts completed, then nodes comped
Compositor - nodes comped
Fluid Sim - frames simulated
Texture Bake - faces baked
Example: http://mke3.net/blender/devel/2.5/progress.mov
* new icon for split view (at least temporary)
* icon buttons in header rather than popup menus for better efficiency (can easily be changed in python UI script again)
This adds a new presets menu in the splash screen and the Input section of
User Preferences to choose a preset interaction style, consisting of key configurations
and also other user preferences such as select mouse button, view rotation style, etc.
Currently, just 'Blender' and 'Maya' presets are included, hopefully we can have more
presets contributed (and maintained!) by the community.
It's best to keep these presets minimal to avoid too many key conflicts. In the Maya one
I changed the view manipulation key/mouse combos and also the transform
manipulator keys, not much more than that.
To save an interaction preset, open the user preferences Input section, and press the
[ + ] button next to the presets menu. It will save out a .py file containing any edited key
maps and navigation preferences to the presets/interaction folder in your scripts folder.
---
Part of this commit changes the way that key maps are exported/displayed in
preferences - now partial key configs are allowed. Previously it would export/import the
entire key configuration, regardless of whether individual key maps were edited or not
(which would make them more susceptible to conflicts in unexpected areas).
(note, in blender terminology, a key map is a category of key items, such as
'Object Mode' or 'View 2d'.)
Now, the export and the UI display work in a similar way to how key maps are
processed internally - Locally edited key maps (after pressing the 'Edit' button) are
processed first, falling back to other key maps in the current key config, and then falling
back to the default key config. So it's possible for a key config to only include a few
key maps, and the rest just gets pulled from the default key config. The preferences
UI display works like this too behind the scenes in deciding what to show users,
however using it is just like it was before, the complexity is hidden.
Now, temp screens are hidden from being accessed directly, with a new 'Back to Previous' button appearing in place of the screen menu when (for example) fullscreen render image areas are present. Window type menus also get disabled here too, to prevent things from getting too mixed up.