Age | Commit message (Collapse) | Author |
|
|
|
Previously there was no way to see if autopack was enabled. Now the external
data menu has 3 entries instead of 2:
* Automatically Pack Into .blend (with checkbox to indicate autopack on/off)
* Pack All Into .blend
* Unpack All Into Files
Fixes T37608, includes modifications by Brecht from the original patch.
Reviewed By: brecht
Differential Revision: http://developer.blender.org/D118
|
|
Summary:
Behaves very much the same as cache for Movie Clip datablock:
- Image now have `MovieCache *cache` field which replaced
legacy `ListBase ibufs`.
This allows image datablock to easily keep of image
buffers which are owned by itself. This field isn't
saved to the file and getting restored on undo steps.
However, cache limit is global for movies, sequences
and image datablocks now. So overall cached image buffers
size will not go above cache limit size in user
preferences.
- Image buffers which are marked as BITMAPDIRTY will never
be freed from the cache.
- Added utility function to iterate over image buffers
saved in movie cache.
- Movie cache cleanup check callback now have ImBuf argument
which can be used in a condition of cleanup.
- Added some utility functions which replaces legacy ibufs
iterations with image cache iteration which happens from
inside a lock.
- Fixed `image_mem_size()` which was only counting one of
the buffers if both float and byte buffer present.
Additional notes:
- `BKE_image_get_first_ibuf()` is rather stupid, but direct
access to ibufs->first was also the same stupid idea.
Would consider avoid this function is another project.
- There are some places which doesn't look threadsafe, but
they already were not so much threadsafe anyway before.
So think not a big deal with solving this later.
Finally solves infinite memory usage by image sequences! :)
Reviewers: brecht, campbellbarton
Reviewed By: brecht
CC: sebastian_k
Differential Revision: http://developer.blender.org/D95
|
|
missing
Made finding paths for files that exist optional (and off by default), since its handy for relocating projects.
|
|
|
|
Gazzán and S. Lockal for spotting them!
|
|
zero errors.
|
|
- The "ID" buttons (for browse images, for example) now show a Pack icon, for packed
Images. Using this button allows unpack.
- Pack and unpack operations now give a Info report on what happened.
- Not restored yet: option to set "AutoPack".
|
|
- Packing .blend files
If you work a lot with dynamic linked .blend files ("Libraries"), it's always hard to
share your work with others (or for bug reports!).
This new option packs all used external .blend files, and - on save - combines it together
in one .blend file. You can save that file on any location.
Loading a packed .blend file then loads all library data usual - not editable.
Just use unpack to save out all linked .blend files. This will only save out the files
according the directory structure as was used on linking - relative to the current .blend.
It will create new directories, so be careful with unpacking when relative paths go up.
This feature also works fine for linked compressed .blend files.
It also works for many levels deep linked .blend hierarchies.
Access is hidden for now - I need to get some people to give it serious testing first.
You can find the options via spacebar search (try pack or unpack).
- Packed data and Undo
Now all packed data is excluded from the Undo buffer storage. Keeps undo memory smaller
and makes faster redo possible.
|
|
|
|
This commit makes BKE_image_acquire_ibuf referencing result, which means once
some area requested for image buffer, it'll be guaranteed this buffer wouldn't
be freed by image signal.
To de-reference buffer BKE_image_release_ibuf should now always be used.
To make referencing working correct we can not rely on result of
image_get_ibuf_threadsafe called outside from thread lock. This is so because
we need to guarantee getting image buffer from list of loaded buffers and it's
referencing happens atomic. Without lock here it is possible that between call
of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would
be called. Image signal handling too is blocking now to prevent such a
situation.
Threads are locking by spinlock, which are faster than mutexes. There were some
slowdown reports in the past about render slowdown when using OSX on Xeon CPU.
It shouldn't happen with spin locks, but more tests on different hardware would
be really welcome. So far can not see speed regressions on own computers.
This commit also removes BKE_image_get_ibuf, because it was not so intuitive
when get_ibuf and acquire_ibuf should be used.
Thanks to Ton and Brecht for discussion/review :)
|
|
few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()...
|
|
|
|
|
|
|
|
normalise->normalize).
|
|
|
|
Notes:
* This commit adds about a third of missing tips (a few are rather dummy, as name already says everything, but better that than "(undocumented operator)" showing in UI!
* There is a problem with macros, their tips are not registered in RNA. Got a patch for this, will submit it to campbo asap.
|
|
|
|
else if's
|
|
|
|
- spelling - turns out we had tessellation spelt wrong all over.
- use \directive for doxy (not @directive)
- remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
|
|
determine dates
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.
All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.
Reviewed by Andrea, thanks!
|
|
implemented in 2.5x
|
|
fix for sequencer unique naming which was missed with string length update.
|
|
- added flag to optionally receive all paths as absolute.
|
|
http://markmail.org/message/fp7ozcywxum3ar7n
|
|
Plus a few cuts in very long lines…
|
|
|
|
adjust to use floats.
+ minor update to demo_mode
|
|
promoted to doubles, adjust to use floats.
|
|
|
|
|
|
* Change ICON_NULL --> ICON_NONE to avoid two #defines with the same meaning.
|
|
|
|
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
|
|
functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
|
|
image & font and sequence paths were being cleaned but not multires, voxel & sound paths.
- skip fixing file paths on undo.
- simplify bpath alloc and free functions, also pass Main structure so as not to rely on G.main, (needed for file load).
|
|
- loop over sequencer plugin and texture voxel paths.
- fix leak in python bpy.utils.blend_path() and use PyUnicode_DecodeFSDefault() to ensure correct paths with different encodings.
- operators to make paths absolute & relative now redraw the view.
|
|
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
|
|
|
|
When report error was drawn in info header, using border select
or paint brushes flickered. Was caused by Triple Buffer method
not checking for correct redraw case.
Also made report redraws less aggressive, it was drawing the info
header all over with 50 FPS for 10 seconds. Made it 20 FPS, and
added code to only send notifiers for actual changes.
As todo note for future: animated UI options could get better
caching to cope with slower refreshes.
|
|
|
|
menu).
Ton will work on moving the File menu out of the Info space before release.
notes.
- reply Operator isn't working anymore.
- UI for reports is commented out so its not mixed with the file menu.
|
|
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).
Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
|
|
|
|
- remove MEM_guardedalloc.h from header files (include directly)
|
|
|
|
selector rather then the full 'filepath' to fix this.
added flags for filename/filepath/directory args to WM_operator_properties_filesel().
|
|
path -> filepath (for rna and operators, as agreed on with elubie)
path -> data_path (for windowmanager context functions, this was alredy used in many places)
|