From 7823ca06da0bd3d2c0eba83f9a98f5b1d1a6db7f Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Fri, 12 Jun 2015 15:25:46 +0200 Subject: Support metadata display in clip editor --- source/blender/blenkernel/BKE_blender.h | 2 +- source/blender/blenkernel/intern/movieclip.c | 2 +- source/blender/editors/interface/resources.c | 8 +++++++- source/blender/editors/space_clip/clip_draw.c | 8 +++++++- source/blender/makesdna/DNA_space_types.h | 1 + source/blender/makesrna/intern/rna_space.c | 5 +++++ 6 files changed, 22 insertions(+), 4 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 21ad5050fda..8367fd4369f 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,7 +42,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 275 -#define BLENDER_SUBVERSION 0 +#define BLENDER_SUBVERSION 1 /* Several breakages with 270, e.g. constraint deg vs rad */ #define BLENDER_MINVERSION 270 #define BLENDER_MINSUBVERSION 5 diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c index f063933f3f9..74758ae508b 100644 --- a/source/blender/blenkernel/intern/movieclip.c +++ b/source/blender/blenkernel/intern/movieclip.c @@ -222,7 +222,7 @@ static ImBuf *movieclip_load_sequence_file(MovieClip *clip, MovieClipUser *user, colorspace = clip->colorspace_settings.name; } - loadflag = IB_rect | IB_multilayer | IB_alphamode_detect; + loadflag = IB_rect | IB_multilayer | IB_alphamode_detect | IB_metadata; /* read ibuf */ ibuf = IMB_loadiffname(name, loadflag, colorspace); diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 8e7c1674f06..68016ae3dd8 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -2620,7 +2620,13 @@ void init_userdef_do_versions(void) } } - + if (U.versionfile < 275 || (U.versionfile == 275 && U.subversionfile < 1)) { + bTheme *btheme; + for (btheme = U.themes.first; btheme; btheme = btheme->next) { + copy_v4_v4_char(btheme->tclip.metadatatext, btheme->tseq.text_hi); + } + } + if (U.pixelsize == 0.0f) U.pixelsize = 1.0f; diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c index ce248f1eb10..76954ede522 100644 --- a/source/blender/editors/space_clip/clip_draw.c +++ b/source/blender/editors/space_clip/clip_draw.c @@ -43,6 +43,7 @@ #include "BLI_math.h" #include "BLI_string.h" #include "BLI_math_base.h" +#include "BLI_rect.h" #include "BKE_context.h" #include "BKE_image.h" @@ -285,6 +286,7 @@ static void draw_movieclip_buffer(const bContext *C, SpaceClip *sc, ARegion *ar, MovieClip *clip = ED_space_clip_get_clip(sc); int filter = GL_LINEAR; int x, y; + rctf frame; /* find window pixel coordinates of origin */ UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &x, &y); @@ -308,10 +310,14 @@ static void draw_movieclip_buffer(const bContext *C, SpaceClip *sc, ARegion *ar, glPixelZoom(zoomx * width / ibuf->x, zoomy * height / ibuf->y); glaDrawImBuf_glsl_ctx(C, ibuf, x, y, filter); - /* reset zoom */ glPixelZoom(1.0f, 1.0f); + BLI_rctf_init(&frame, 0.0f, ibuf->x, 0.0f, ibuf->y); + + if (sc->flag & SC_SHOW_METADATA) + ED_region_image_metadata_draw(x, y, ibuf, frame, zoomx * width / ibuf->x, zoomy * height / ibuf->y); + if (ibuf->planes == 32) glDisable(GL_BLEND); } diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 2098591e4a8..9d5b6bb42b4 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -1165,6 +1165,7 @@ typedef enum eSpaceClip_Flag { SC_SHOW_GRAPH_SEL_ONLY = (1 << 19), SC_SHOW_GRAPH_HIDDEN = (1 << 20), SC_SHOW_GRAPH_TRACKS_ERROR = (1 << 21), + SC_SHOW_METADATA = (1 << 22), } eSpaceClip_Flag; /* SpaceClip->mode */ diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 5cc768acd35..8cc6ddcf23a 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -4410,6 +4410,11 @@ static void rna_def_space_clip(BlenderRNA *brna) RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SC_HIDE_DISABLED); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, NULL); + prop = RNA_def_property(srna, "show_metadata", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", SC_SHOW_METADATA); + RNA_def_property_ui_text(prop, "Show Metadata", "Show metadata of clip"); + RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, NULL); + /* scopes */ prop = RNA_def_property(srna, "scopes", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "scopes"); -- cgit v1.2.3