Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/buttons_scene.c')
-rw-r--r--source/blender/src/buttons_scene.c53
1 files changed, 49 insertions, 4 deletions
diff --git a/source/blender/src/buttons_scene.c b/source/blender/src/buttons_scene.c
index 6eb26e43274..4c85c11b147 100644
--- a/source/blender/src/buttons_scene.c
+++ b/source/blender/src/buttons_scene.c
@@ -1159,13 +1159,56 @@ static void seq_panel_proxy()
uiDefButBitI(block, TOG, SEQ_USE_PROXY,
B_SEQ_BUT_RELOAD, "Use Proxy",
- 10,140,150,19, &last_seq->flag,
+ 10,140,120,19, &last_seq->flag,
0.0, 21.0, 100, 0,
"Use a preview proxy for this strip");
-
+
if (last_seq->flag & SEQ_USE_PROXY) {
+ if (!last_seq->strip->proxy) {
+ last_seq->strip->proxy =
+ MEM_callocN(sizeof(struct StripProxy),
+ "StripProxy");
+ }
+
+ uiDefButBitI(block, TOG, SEQ_USE_PROXY_CUSTOM_DIR,
+ B_SEQ_BUT_RELOAD, "Custom Dir",
+ 130,140,120,19, &last_seq->flag,
+ 0.0, 21.0, 100, 0,
+ "Use a custom directory to store data");
+ }
+
+ if (last_seq->flag & SEQ_USE_PROXY_CUSTOM_DIR) {
+ uiDefBut(block, TEX,
+ B_SEQ_BUT_RELOAD, "Dir: ",
+ 10,120,240,19, last_seq->strip->proxy->dir,
+ 0.0, 160.0, 100, 0, "");
+ }
+ if (last_seq->flag & SEQ_USE_PROXY) {
+ if (G.scene->r.size == 100) {
+ uiDefBut(block, LABEL, 0,
+ "Full render size selected, ",
+ 10,100,240,19, 0, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0,
+ "so no proxy enabled!",
+ 10,80,240,19, 0, 0, 0, 0, 0, "");
+ } else if (last_seq->type != SEQ_MOVIE
+ && last_seq->type != SEQ_IMAGE
+ && !(last_seq->flag & SEQ_USE_PROXY_CUSTOM_DIR)) {
+ uiDefBut(block, LABEL, 0,
+ "Cannot proxy this strip without ",
+ 10,100,240,19, 0, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0,
+ "custom directory selection!",
+ 10,80,240,19, 0, 0, 0, 0, 0, "");
+ } else {
+ uiDefBut(block, BUT, B_SEQ_BUT_REBUILD_PROXY,
+ "Rebuild proxy",
+ 10,100,240,19, 0, 0, 0, 0, 0,
+ "Rebuild proxy for the "
+ "currently selected strip.");
+ }
}
uiBlockEndAlign(block);
@@ -1186,8 +1229,7 @@ void sequencer_panels()
panels = SEQ_PANEL_EDITING;
- if (type == SEQ_MOVIE || type == SEQ_IMAGE || type == SEQ_SCENE
- || type == SEQ_HD_SOUND) {
+ if (type == SEQ_MOVIE || type == SEQ_IMAGE || type == SEQ_SCENE) {
panels |= SEQ_PANEL_INPUT | SEQ_PANEL_FILTER | SEQ_PANEL_PROXY;
}
@@ -1237,6 +1279,9 @@ void do_sequencer_panels(unsigned short event)
case B_SEQ_BUT_RELOAD_FILE:
reload_sequence_new_file(last_seq);
break;
+ case B_SEQ_BUT_REBUILD_PROXY:
+ seq_proxy_rebuild(last_seq);
+ break;
case B_SEQ_BUT_RELOAD:
case B_SEQ_BUT_RELOAD_ALL:
update_seq_ipo_rect(last_seq);