tornavis/source/blender/makesdna
Aditya Y Jeppu 997b5fe45d VSE strip thumbnails
Draw thumbnails as strip overlay. This works for movie and image strips.
To draw thumbnails, this overlay has to be enabled and strips must be
tall enough.

The thumbnails are loaded from source file using separate thread and
stored in cache.

Drawing code uses only images stored in cache, and if any is missing,
background rendering job is started. If job can not render thumbnail,
to prevent endless loop of creating job for missing image it sets
`SEQ_FLAG_SKIP_THUMBNAILS` bit of `Sequence` flag.

To prevent visual glitches during timeline panning and zooming, `View2D`
flag `V2D_IS_NAVIGATING` is implemented. If bit is set, drawing code
will look for set of evenly distributed thumbnails that should be
guaranteed to exist and also set of previously displayed thumbnails.
Due to volatile nature of cache these thumbnails can be missing anyway,
in which case no new thumbnails will be drawn for particular strip.

Cache capacity is limited to 5000 thumbnails and performs cleanup of
non visible images when limit is reached.

ref T89143

Reviewed By: ISS

Differential Revision: https://developer.blender.org/D12266
2021-09-21 10:55:04 +02:00
..
intern Cleanup: typo 2021-09-18 13:35:05 +02:00
CMakeLists.txt
DNA_ID.h Refactor IDProperty UI data storage 2021-08-27 08:27:24 -05:00
DNA_ID_enums.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_action_types.h Cleanup: use C style comments for descriptive text 2021-08-26 12:36:58 +10:00
DNA_anim_types.h Cleanup: remove deprecated flag use in collada 2021-08-26 12:36:58 +10:00
DNA_armature_defaults.h
DNA_armature_types.h Cleanup: use C style comments for descriptive text 2021-08-26 12:36:58 +10:00
DNA_asset_defaults.h Assets: Add an active asset library per workspace, for the UI to use 2021-07-15 16:12:36 +02:00
DNA_asset_types.h Cleanup: rename `FileList::asset_library` → `asset_library_ref` 2021-08-06 15:20:39 +02:00
DNA_boid_types.h Cleanup: full sentences in comments, improve comment formatting 2021-06-26 21:50:48 +10:00
DNA_brush_defaults.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_brush_enums.h Fix T91159: GPencil Smooth brush is using Affect Pressure but not used 2021-09-03 12:42:18 +02:00
DNA_brush_types.h GPencil: New Brush option to define Caps type 2021-08-04 15:54:54 +02:00
DNA_cachefile_defaults.h Alembic Procedural: basic cache control settings 2021-08-20 14:34:43 +02:00
DNA_cachefile_types.h Alembic Procedural: basic cache control settings 2021-08-20 14:34:43 +02:00
DNA_camera_defaults.h
DNA_camera_types.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_cloth_types.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_collection_defaults.h
DNA_collection_types.h Cleanup: rename restrict to hide/visibility in Object, Collection, MaskLayer 2021-08-04 19:18:34 +02:00
DNA_color_types.h Cleanup: use doxygen comments for DNA_color_types 2021-06-15 09:34:58 +10:00
DNA_constraint_types.h Cleanup: use C style comments for descriptive text 2021-08-26 12:36:58 +10:00
DNA_curve_defaults.h Curves: add taper mode option 2021-03-23 18:34:46 +11:00
DNA_curve_types.h Cleanup: spelling 2021-09-12 19:51:16 +10:00
DNA_curveprofile_types.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_customdata_types.h Geometry Nodes: fields and anonymous attributes 2021-09-09 12:54:20 +02:00
DNA_defaults.h
DNA_defs.h Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXX 2021-07-04 00:43:40 +10:00
DNA_documentation.h Cleanup: use single back-tick quoting in comments 2021-07-20 22:58:14 +10:00
DNA_dynamicpaint_types.h Cleanup: Spelling Mistakes 2021-06-22 10:54:50 -07:00
DNA_effect_types.h Cleanup: full sentences in comments, improve comment formatting 2021-06-26 21:50:48 +10:00
DNA_fileglobal_types.h Cleanup: spelling in comments 2021-07-05 15:54:57 +10:00
DNA_fluid_defaults.h Modifiers: export motion blur velocity through attribute 2021-09-10 16:48:30 +02:00
DNA_fluid_types.h Modifiers: export motion blur velocity through attribute 2021-09-10 16:48:30 +02:00
DNA_freestyle_types.h UI: Freestyle UI Upgrade 2021-09-13 10:37:50 -04:00
DNA_genfile.h Cleanup: repeated terms in code comments & error messages 2021-06-28 15:46:08 +10:00
DNA_gpencil_modifier_defaults.h Revert "GPencil: Curvature support for length modifier." 2021-09-19 13:19:32 +08:00
DNA_gpencil_modifier_types.h Revert "GPencil: Curvature support for length modifier." 2021-09-19 13:19:32 +08:00
DNA_gpencil_types.h Fix: DNA struct alignment on 32 bit 2021-08-11 16:57:56 -06:00
DNA_gpu_types.h
DNA_hair_defaults.h
DNA_hair_types.h
DNA_image_defaults.h
DNA_image_types.h Cleanup: typedef enum for eImageType. 2021-09-08 10:35:16 +02:00
DNA_ipo_types.h Cleanup: comment spelling & punctuation 2021-07-27 18:06:29 +10:00
DNA_key_types.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_lattice_defaults.h
DNA_lattice_types.h Refactor: Move vertex group names to object data 2021-07-13 12:10:34 -04:00
DNA_layer_types.h Cleanup: rename restrict to hide/visibility in Object, Collection, MaskLayer 2021-08-04 19:18:34 +02:00
DNA_light_defaults.h Cycles: add a spread setting for area lights 2021-04-01 12:31:01 +02:00
DNA_light_types.h Cleanup: code comments punctuation / spacing 2021-07-23 17:03:51 +10:00
DNA_lightprobe_defaults.h
DNA_lightprobe_types.h Cleanup: full sentences in comments, improve comment formatting 2021-06-26 21:50:48 +10:00
DNA_lineart_types.h LineArt: Automatic crease with flat/smooth faces. 2021-09-15 14:03:39 +08:00
DNA_linestyle_defaults.h
DNA_linestyle_types.h Cleanup: comment spelling & punctuation 2021-07-27 18:06:29 +10:00
DNA_listBase.h
DNA_mask_types.h Cleanup: rename restrict to hide/visibility in Object, Collection, MaskLayer 2021-08-04 19:18:34 +02:00
DNA_material_defaults.h LineArt: UI cleanups. 2021-07-20 13:06:45 +08:00
DNA_material_types.h Cleanup: use named enum types. 2021-07-21 08:18:34 +02:00
DNA_mesh_defaults.h Fix T84520: Make the different weight paint code paths exclusive to each other 2021-04-02 14:44:26 +02:00
DNA_mesh_types.h Fix: DNA struct alignment on 32 bit 2021-08-11 16:57:56 -06:00
DNA_meshdata_types.h Cleanup: spelling in comments 2021-07-05 15:54:57 +10:00
DNA_meta_defaults.h
DNA_meta_types.h Cleanup: full sentences in comments, improve comment formatting 2021-06-26 21:50:48 +10:00
DNA_modifier_defaults.h Modifiers: export motion blur velocity through attribute 2021-09-10 16:48:30 +02:00
DNA_modifier_types.h Modifiers: export motion blur velocity through attribute 2021-09-10 16:48:30 +02:00
DNA_movieclip_defaults.h FFmpeg: Adjust default proxy settings 2021-04-14 14:25:34 +02:00
DNA_movieclip_types.h Cleanup: Use more clear field name 2021-02-22 16:30:04 +01:00
DNA_nla_types.h
DNA_node_types.h Geometry Nodes: Curve Sample Node 2021-09-20 20:23:26 -05:00
DNA_object_defaults.h Grease Pencil: Add LineArt modifier 2021-03-16 19:59:09 +01:00
DNA_object_enums.h
DNA_object_fluidsim_types.h Cleanup: full sentences in comments, improve comment formatting 2021-06-26 21:50:48 +10:00
DNA_object_force_types.h Cleanup: full sentences in comments, improve comment formatting 2021-06-26 21:50:48 +10:00
DNA_object_types.h Geometry Nodes: Support modifier on curve objects 2021-09-11 13:54:40 -05:00
DNA_outliner_types.h Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXX 2021-07-04 00:43:40 +10:00
DNA_packedFile_types.h
DNA_particle_defaults.h
DNA_particle_types.h Cleanup: spelling in comments 2021-07-07 13:42:46 +10:00
DNA_pointcache_types.h Fix T89771: Cloth disk cache is not read on library overrides in some cases. 2021-07-14 14:23:19 +02:00
DNA_pointcloud_defaults.h
DNA_pointcloud_types.h
DNA_rigidbody_types.h Cleanup: code comments punctuation / spacing 2021-07-23 17:03:51 +10:00
DNA_scene_defaults.h Anotations: Fix a several issues with stroke placement 2021-07-26 18:53:30 -04:00
DNA_scene_types.h VSE: Image transform tools 2021-09-21 10:55:04 +02:00
DNA_screen_types.h Cleanup: code comments punctuation / spacing 2021-07-23 17:03:51 +10:00
DNA_sdna_types.h
DNA_sequence_types.h VSE strip thumbnails 2021-09-21 10:55:04 +02:00
DNA_session_uuid_types.h
DNA_shader_fx_types.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_simulation_defaults.h
DNA_simulation_types.h
DNA_sound_types.h VSE: Fix audaspace not reading ffmpeg files with start offset correctly 2021-08-16 15:10:58 +02:00
DNA_space_types.h VSE strip thumbnails 2021-09-21 10:55:04 +02:00
DNA_speaker_defaults.h
DNA_speaker_types.h
DNA_text_types.h
DNA_texture_defaults.h
DNA_texture_types.h Cleanup: remove unused MTex.pmapto, pmaptoneg & defines 2021-07-19 11:24:24 +10:00
DNA_tracking_types.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
DNA_userdef_types.h UI: Automatic Blend Thumbnail Selection 2021-09-16 17:40:19 -07:00
DNA_uuid_types.h Blenlib: introduce a UUID type 2021-09-17 12:22:00 +02:00
DNA_vec_defaults.h
DNA_vec_types.h
DNA_vfont_types.h Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXX 2021-07-04 00:43:40 +10:00
DNA_view2d_types.h VSE strip thumbnails 2021-09-21 10:55:04 +02:00
DNA_view3d_defaults.h Viewport normal drawing with constant length 2021-08-04 10:55:05 +02:00
DNA_view3d_enums.h Cleanup: spelling in comments 2021-07-26 12:32:42 +10:00
DNA_view3d_types.h Gizmo: add flag to hide the gizmo group during interaction 2021-09-15 22:34:21 +10:00
DNA_volume_defaults.h
DNA_volume_types.h
DNA_windowmanager_types.h Cleanup: code comments punctuation / spacing 2021-07-23 17:03:51 +10:00
DNA_workspace_types.h Keymap: preference for fallback-tool with RMB select 2021-09-21 18:14:11 +10:00
DNA_world_defaults.h
DNA_world_types.h
DNA_xr_types.h Cleanup: comment blocks & spelling 2021-08-06 01:36:43 +10:00