[gegl] gcut: ui improvements after seconds switch-over



commit bb73c4117061903e24cf334305ee05015aa3abff
Author: Øyvind Kolås <pippin gimp org>
Date:   Wed Jul 26 22:19:34 2017 +0200

    gcut: ui improvements after seconds switch-over

 gcut/default.edl     |   39 +++++++++++++++++++--------------------
 gcut/default.edl.inc |   39 +++++++++++++++++++--------------------
 gcut/gcut-ui.c       |   16 ++++++++++++----
 3 files changed, 50 insertions(+), 44 deletions(-)
---
diff --git a/gcut/default.edl b/gcut/default.edl
index 1e7b129..c45c064 100644
--- a/gcut/default.edl
+++ b/gcut/default.edl
@@ -8,27 +8,26 @@ selection-start=291
 selection-end=291
 frame-scale=0.398424
 t0=56.702866
-frame-no=291
+frame-pos=0.000
 
-gegl:color value=black gegl:crop width=400 height=400 31 50 -- 
-gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 50 -- [fade=26] svg:src-over opi=0:0 aux=[  
gegl:text opi=0:0 string='note: this is a gcut video\nproject for testing features\nit relies on synthetic 
GEGL\npatterns instead of\nvideo footage\nto be to minimie size\nfor inclusion in gcut sources\nbeing able to 
create this project \nfrom scratch in the gcut ui\nis a current goal.' size=0.071811296045780182rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=3 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.051874876022338867rel ]
+gegl:color value=black gegl:crop width=400 height=400 1.240s 2.000s -- 
+gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 2.000s -- [fade=1.040s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='note: this is a gcut video\nproject for testing features\nit relies 
on synthetic GEGL\npatterns instead of\nvideo footage\nto be to minimie size\nfor inclusion in gcut 
sources\nbeing able to create this project \nfrom scratch in the gcut ui\nis a current goal.' 
size=0.071811296045780182rel color='rgb(1.0000, 1.0000, 1.0000)' width=3 height=1 gegl:translate opi=0:0 
x=0.10000000000000001rel y=0.051874876022338867rel ]
 -- #annotations
-gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 reset-origin=true 0 80 -- svg:src-over opi=0:0 
aux=[  gegl:text opi=0:0 string='gcut' font='sans' size=0.20000000000000001rel color='rgb(1.0000, 1.0000, 
1.0000)' width=1 height=1 gegl:gaussian-blur opi=0:0 std-dev-x={  0.000000=0.400000rel  64.000000=0.000084rel 
 }  std-dev-y={  0.000000=0.200000rel  }  clip-extent=false gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.3304142951965332rel ]  gegl:lens-flare opi=0:0 pos-x={  0.000000=-2.000000  60.000000=0.293004  
100.000000=2.000000  }  pos-y={  0.000000=0.100000  60.000000=0.360697  100.000000=0.910000  }
-gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 50 -- [fade=64] svg:src-over opi=0:0 aux=[  
gegl:text opi=0:0 string='video editing\nfileformat+render / ui' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.55924856662750244rel ]
-gegl:cell-noise opi=0:0 shape={  0.000000=1.000000  40.000000=1.850000  }  palettize=true gegl:translate 
opi=0:0 x={  500.000000=50.000000  }  y={  500.000000=500.000000  }  gegl:crop opi=0:0 width=400 height=400 0 
40 -- [fade=23] 
-gegl:simplex-noise opi=0:0 seed=605124352 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=14] 
gegl:threshold opi=0:0 value=0.13152152299880981 gegl:gaussian-blur opi=0:0 std-dev-x=0.012467504478991032rel 
std-dev-y=0.0055317822843790054rel gegl:exposure opi=1:0 black-level=0.029268454760313034 
exposure=2.5591373443603516 gegl:levels opi=0:0 out-high=0.99985802173614502
-gegl:simplex-noise opi=0:0 scale=1.1438060998916626 seed=168548944 gegl:exposure opi=1:0 
exposure=4.4479846954345703 gegl:crop opi=0:0 width=400 height=400  0 25 -- [fade=34] svg:src-over opi=0:0 
aux=[  gegl:text opi=0:0 string='single track ui with\ncross fade' size=0.12115363776683807rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:dropshadow opi=0:0 x=0.0018535566050559282rel 
y=0.0019916105084121227rel radius=0.028898788616061211rel opacity=1.9511399269104004 gegl:translate opi=0:0 
x=0.063941836357116699rel y=0.14936363697052002rel ]  
-gegl:simplex-noise opi=0:0 scale=2.982180118560791 iterations=3 gegl:crop opi=0:0 width=400 height=400 0 25 
-- [fade=34] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='multi-process rendering' 
size=0.093153767287731171rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.059999999999999998rel y=0.16329610347747803rel ]
-gegl:simplex-noise opi=0:0 seed=1031312640 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=34] 
-gegl:simplex-noise opi=0:0 seed=331734624 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=34] 
svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='single track editing' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.059999999999999998rel 
y=0.80000000000000004rel ]
-gegl:simplex-noise gegl:crop width=400 height=400 0 36 -- [fade=34] 
-gegl:fractal-explorer zoom={ 0=120 60=1300} shiftx={ 0=-320 60=-2500} shifty=-180 gegl:crop width=480 
height=640 0 60 -- [fade=30] 
-gegl:sinus opi=0:0 complexity={  1.000000=0.500000  40.000000=4.000000  80.000000=0.200000  }  gegl:crop 
opi=0:0 width=400 height=400 0 80 -- [fade=60] 
-gegl:noise-solid opi=0:0 y-size=4.6258320808410645 seed=668093247 gegl:crop opi=0:0 width=400 height=400 0 
25 -- [fade=34] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='TODO' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.050000000000000003rel 
y=0.29999999999999999rel ]
-gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=36] svg:src-over opi=0:0 aux=[ 
 gegl:text opi=0:0 string='crash recovery by default' size=0.081632360816001892rel color='rgb(1.0000, 1.0000, 
0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel y=0.42925620079040527rel ]
-gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=34] svg:src-over opi=0:0 aux=[ 
 gegl:text opi=0:0 string='overlays:audio filter' size=0.10000000000000001rel color='rgb(1.0000, 1.0000, 
0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel y=0.48208630084991455rel ]
-gegl:noise-solid gegl:crop width=400 height=400 0 25 -- [fade=34] over aux=[ text size=0.1rel 
string='network rendering' color=yellow translate x=0.1rel y=0.8rel ]
+gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 reset-origin=true 0.000s 3.200s -- svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='gcut' font='sans' size=0.20000000000000001rel color='rgb(1.0000, 
1.0000, 1.0000)' width=1 height=1 gegl:gaussian-blur opi=0:0 std-dev-x={  0.000000=0.400000rel  
64.000000=0.000084rel  }  std-dev-y={  0.000000=0.200000rel  }  clip-extent=false gegl:translate opi=0:0 
x=0.10000000000000001rel y=0.3304142951965332rel ]  gegl:lens-flare opi=0:0 pos-x={  0.000000=-2.000000  
60.000000=0.293004  100.000000=2.000000  }  pos-y={  0.000000=0.100000  60.000000=0.360697  
100.000000=0.910000  }
+gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 2.000s -- [fade=2.560s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='video editing\nfileformat+render / ui' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.55924856662750244rel ]
+gegl:cell-noise opi=0:0 shape={  0.000000=1.000000  40.000000=1.850000  }  palettize=true gegl:translate 
opi=0:0 x={  500.000000=50.000000  }  y={  500.000000=500.000000  }  gegl:crop opi=0:0 width=400 height=400 
0.000s 1.600s -- [fade=0.920s] 
+gegl:simplex-noise opi=0:0 seed=605124352 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- 
[fade=0.560s] gegl:threshold opi=0:0 value=0.13152152299880981 gegl:gaussian-blur opi=0:0 
std-dev-x=0.012467504478991032rel std-dev-y=0.0055317822843790054rel gegl:exposure opi=1:0 
black-level=0.029268454760313034 exposure=2.5591373443603516 gegl:levels opi=0:0 out-high=0.99985802173614502
+gegl:simplex-noise opi=0:0 scale=1.1438060998916626 seed=168548944 gegl:exposure opi=1:0 
exposure=4.4479846954345703 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- [fade=1.360s] 
svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='single track ui with\ncross fade' 
size=0.12115363776683807rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:dropshadow opi=0:0 
x=0.0018535566050559282rel y=0.0019916105084121227rel radius=0.028898788616061211rel 
opacity=1.9511399269104004 gegl:translate opi=0:0 x=0.063941836357116699rel y=0.14936363697052002rel ]
+gegl:simplex-noise opi=0:0 scale=2.982180118560791 iterations=3 gegl:crop opi=0:0 width=400 height=400 
0.000s 1.000s -- [fade=1.360s] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='multi-process rendering' 
size=0.093153767287731171rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.059999999999999998rel y=0.16329610347747803rel ]
+gegl:simplex-noise opi=0:0 seed=1031312640 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- 
[fade=1.360s] 
+gegl:simplex-noise opi=0:0 seed=331734624 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- 
[fade=1.360s] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='single track editing' 
size=0.10000000000000001rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.059999999999999998rel y=0.80000000000000004rel ]
+gegl:simplex-noise gegl:crop width=400 height=400 0.000s 1.440s -- [fade=1.360s] 
+gegl:fractal-explorer zoom={ 0=120 60=1300} shiftx={ 0=-320 60=-2500} shifty=-180 gegl:crop width=480 
height=640 0.000s 2.400s -- [fade=1.200s] 
+gegl:sinus opi=0:0 complexity={  1.000000=0.500000  40.000000=4.000000  80.000000=0.200000  }  gegl:crop 
opi=0:0 width=400 height=400 0.000s 3.200s -- [fade=2.400s] 
+gegl:noise-solid opi=0:0 y-size=4.6258320808410645 seed=668093247 gegl:crop opi=0:0 width=400 height=400 
0.000s 1.000s -- [fade=1.360s] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='TODO' 
size=0.10000000000000001rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.050000000000000003rel y=0.29999999999999999rel ]
+gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- [fade=1.440s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='crash recovery by default' size=0.081632360816001892rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.42925620079040527rel ]
+gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- [fade=1.360s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='overlays:audio filter' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.48208630084991455rel ]
+gegl:noise-solid gegl:crop width=400 height=400 0.000s 1.000s -- [fade=1.360s] over aux=[ text size=0.1rel 
string='network rendering' color=yellow translate x=0.1rel y=0.8rel ]
 --#end titles
-gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 474 -- svg:src-over opi=0:0 aux=[  gegl:text 
opi=0:0 string='end titles\n\nfull of newlines\n\nand some images and more\n\nmost of the 
time\n\n\nthough\n\nusing an image that one pans\nwill provide better typographic control\nperhaps based on a 
pdf/svg\n\nthis is is also where I should stick misc info' size=0.040000000000000001rel color='rgb(1.0000, 
1.0000, 1.0000)' width=1 height=8 gegl:translate opi=0:0 x=0.10000000000000001rel y={  0.000000=1.000000rel  
800.000000=-2.000000rel  }  ]
+gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 18.960s -- svg:src-over opi=0:0 aux=[  
gegl:text opi=0:0 string='end titles\n\nfull of newlines\n\nand some images and more\n\nmost of the 
time\n\n\nthough\n\nusing an image that one pans\nwill provide better typographic control\nperhaps based on a 
pdf/svg\n\nthis is is also where I should stick misc info' size=0.040000000000000001rel color='rgb(1.0000, 
1.0000, 1.0000)' width=1 height=8 gegl:translate opi=0:0 x=0.10000000000000001rel y={  0.000000=1.000000rel  
800.000000=-2.000000rel  }  ]
 -----
-fnord.mp4 40 140 0 -- 
diff --git a/gcut/default.edl.inc b/gcut/default.edl.inc
index 966fddc..e938b4b 100644
--- a/gcut/default.edl.inc
+++ b/gcut/default.edl.inc
@@ -8,27 +8,26 @@
 "selection-end=291\n"
 "frame-scale=0.398424\n"
 "t0=56.702866\n"
-"frame-no=291\n"
+"frame-pos=0.000\n"
 "\n"
-"gegl:color value=black gegl:crop width=400 height=400 31 50 -- \n"
-"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 50 -- [fade=26] svg:src-over opi=0:0 aux=[  
gegl:text opi=0:0 string='note: this is a gcut video\\nproject for testing features\\nit relies on synthetic 
GEGL\\npatterns instead of\\nvideo footage\\nto be to minimie size\\nfor inclusion in gcut sources\\nbeing 
able to create this project \\nfrom scratch in the gcut ui\\nis a current goal.' size=0.071811296045780182rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=3 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.051874876022338867rel ]\n"
+"gegl:color value=black gegl:crop width=400 height=400 1.240s 2.000s -- \n"
+"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 2.000s -- [fade=1.040s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='note: this is a gcut video\\nproject for testing features\\nit 
relies on synthetic GEGL\\npatterns instead of\\nvideo footage\\nto be to minimie size\\nfor inclusion in 
gcut sources\\nbeing able to create this project \\nfrom scratch in the gcut ui\\nis a current goal.' 
size=0.071811296045780182rel color='rgb(1.0000, 1.0000, 1.0000)' width=3 height=1 gegl:translate opi=0:0 
x=0.10000000000000001rel y=0.051874876022338867rel ]\n"
 "-- #annotations\n"
-"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 reset-origin=true 0 80 -- svg:src-over opi=0:0 
aux=[  gegl:text opi=0:0 string='gcut' font='sans' size=0.20000000000000001rel color='rgb(1.0000, 1.0000, 
1.0000)' width=1 height=1 gegl:gaussian-blur opi=0:0 std-dev-x={  0.000000=0.400000rel  64.000000=0.000084rel 
 }  std-dev-y={  0.000000=0.200000rel  }  clip-extent=false gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.3304142951965332rel ]  gegl:lens-flare opi=0:0 pos-x={  0.000000=-2.000000  60.000000=0.293004  
100.000000=2.000000  }  pos-y={  0.000000=0.100000  60.000000=0.360697  100.000000=0.910000  }\n"
-"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 50 -- [fade=64] svg:src-over opi=0:0 aux=[  
gegl:text opi=0:0 string='video editing\\nfileformat+render / ui' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.55924856662750244rel ]\n"
-"gegl:cell-noise opi=0:0 shape={  0.000000=1.000000  40.000000=1.850000  }  palettize=true gegl:translate 
opi=0:0 x={  500.000000=50.000000  }  y={  500.000000=500.000000  }  gegl:crop opi=0:0 width=400 height=400 0 
40 -- [fade=23] \n"
-"gegl:simplex-noise opi=0:0 seed=605124352 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=14] 
gegl:threshold opi=0:0 value=0.13152152299880981 gegl:gaussian-blur opi=0:0 std-dev-x=0.012467504478991032rel 
std-dev-y=0.0055317822843790054rel gegl:exposure opi=1:0 black-level=0.029268454760313034 
exposure=2.5591373443603516 gegl:levels opi=0:0 out-high=0.99985802173614502\n"
-"gegl:simplex-noise opi=0:0 scale=1.1438060998916626 seed=168548944 gegl:exposure opi=1:0 
exposure=4.4479846954345703 gegl:crop opi=0:0 width=400 height=400  0 25 -- [fade=34] svg:src-over opi=0:0 
aux=[  gegl:text opi=0:0 string='single track ui with\\ncross fade' size=0.12115363776683807rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:dropshadow opi=0:0 x=0.0018535566050559282rel 
y=0.0019916105084121227rel radius=0.028898788616061211rel opacity=1.9511399269104004 gegl:translate opi=0:0 
x=0.063941836357116699rel y=0.14936363697052002rel ]  \n"
-"gegl:simplex-noise opi=0:0 scale=2.982180118560791 iterations=3 gegl:crop opi=0:0 width=400 height=400 0 25 
-- [fade=34] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='multi-process rendering' 
size=0.093153767287731171rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.059999999999999998rel y=0.16329610347747803rel ]\n"
-"gegl:simplex-noise opi=0:0 seed=1031312640 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=34] \n"
-"gegl:simplex-noise opi=0:0 seed=331734624 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=34] 
svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='single track editing' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.059999999999999998rel 
y=0.80000000000000004rel ]\n"
-"gegl:simplex-noise gegl:crop width=400 height=400 0 36 -- [fade=34] \n"
-"gegl:fractal-explorer zoom={ 0=120 60=1300} shiftx={ 0=-320 60=-2500} shifty=-180 gegl:crop width=480 
height=640 0 60 -- [fade=30] \n"
-"gegl:sinus opi=0:0 complexity={  1.000000=0.500000  40.000000=4.000000  80.000000=0.200000  }  gegl:crop 
opi=0:0 width=400 height=400 0 80 -- [fade=60] \n"
-"gegl:noise-solid opi=0:0 y-size=4.6258320808410645 seed=668093247 gegl:crop opi=0:0 width=400 height=400 0 
25 -- [fade=34] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='TODO' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.050000000000000003rel 
y=0.29999999999999999rel ]\n"
-"gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=36] svg:src-over opi=0:0 
aux=[  gegl:text opi=0:0 string='crash recovery by default' size=0.081632360816001892rel color='rgb(1.0000, 
1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel y=0.42925620079040527rel 
]\n"
-"gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 25 -- [fade=34] svg:src-over opi=0:0 
aux=[  gegl:text opi=0:0 string='overlays:audio filter' size=0.10000000000000001rel color='rgb(1.0000, 
1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel y=0.48208630084991455rel 
]\n"
-"gegl:noise-solid gegl:crop width=400 height=400 0 25 -- [fade=34] over aux=[ text size=0.1rel 
string='network rendering' color=yellow translate x=0.1rel y=0.8rel ]\n"
+"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 reset-origin=true 0.000s 3.200s -- svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='gcut' font='sans' size=0.20000000000000001rel color='rgb(1.0000, 
1.0000, 1.0000)' width=1 height=1 gegl:gaussian-blur opi=0:0 std-dev-x={  0.000000=0.400000rel  
64.000000=0.000084rel  }  std-dev-y={  0.000000=0.200000rel  }  clip-extent=false gegl:translate opi=0:0 
x=0.10000000000000001rel y=0.3304142951965332rel ]  gegl:lens-flare opi=0:0 pos-x={  0.000000=-2.000000  
60.000000=0.293004  100.000000=2.000000  }  pos-y={  0.000000=0.100000  60.000000=0.360697  
100.000000=0.910000  }\n"
+"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 2.000s -- [fade=2.560s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='video editing\\nfileformat+render / ui' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.55924856662750244rel ]\n"
+"gegl:cell-noise opi=0:0 shape={  0.000000=1.000000  40.000000=1.850000  }  palettize=true gegl:translate 
opi=0:0 x={  500.000000=50.000000  }  y={  500.000000=500.000000  }  gegl:crop opi=0:0 width=400 height=400 
0.000s 1.600s -- [fade=0.920s] \n"
+"gegl:simplex-noise opi=0:0 seed=605124352 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- 
[fade=0.560s] gegl:threshold opi=0:0 value=0.13152152299880981 gegl:gaussian-blur opi=0:0 
std-dev-x=0.012467504478991032rel std-dev-y=0.0055317822843790054rel gegl:exposure opi=1:0 
black-level=0.029268454760313034 exposure=2.5591373443603516 gegl:levels opi=0:0 
out-high=0.99985802173614502\n"
+"gegl:simplex-noise opi=0:0 scale=1.1438060998916626 seed=168548944 gegl:exposure opi=1:0 
exposure=4.4479846954345703 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- [fade=1.360s] 
svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='single track ui with\\ncross fade' 
size=0.12115363776683807rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:dropshadow opi=0:0 
x=0.0018535566050559282rel y=0.0019916105084121227rel radius=0.028898788616061211rel 
opacity=1.9511399269104004 gegl:translate opi=0:0 x=0.063941836357116699rel y=0.14936363697052002rel ]\n"
+"gegl:simplex-noise opi=0:0 scale=2.982180118560791 iterations=3 gegl:crop opi=0:0 width=400 height=400 
0.000s 1.000s -- [fade=1.360s] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='multi-process rendering' 
size=0.093153767287731171rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.059999999999999998rel y=0.16329610347747803rel ]\n"
+"gegl:simplex-noise opi=0:0 seed=1031312640 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- 
[fade=1.360s] \n"
+"gegl:simplex-noise opi=0:0 seed=331734624 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- 
[fade=1.360s] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='single track editing' 
size=0.10000000000000001rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.059999999999999998rel y=0.80000000000000004rel ]\n"
+"gegl:simplex-noise gegl:crop width=400 height=400 0.000s 1.440s -- [fade=1.360s] \n"
+"gegl:fractal-explorer zoom={ 0=120 60=1300} shiftx={ 0=-320 60=-2500} shifty=-180 gegl:crop width=480 
height=640 0.000s 2.400s -- [fade=1.200s] \n"
+"gegl:sinus opi=0:0 complexity={  1.000000=0.500000  40.000000=4.000000  80.000000=0.200000  }  gegl:crop 
opi=0:0 width=400 height=400 0.000s 3.200s -- [fade=2.400s] \n"
+"gegl:noise-solid opi=0:0 y-size=4.6258320808410645 seed=668093247 gegl:crop opi=0:0 width=400 height=400 
0.000s 1.000s -- [fade=1.360s] svg:src-over opi=0:0 aux=[  gegl:text opi=0:0 string='TODO' 
size=0.10000000000000001rel color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 
x=0.050000000000000003rel y=0.29999999999999999rel ]\n"
+"gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- [fade=1.440s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='crash recovery by default' size=0.081632360816001892rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.42925620079040527rel ]\n"
+"gegl:noise-solid opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 1.000s -- [fade=1.360s] svg:src-over 
opi=0:0 aux=[  gegl:text opi=0:0 string='overlays:audio filter' size=0.10000000000000001rel 
color='rgb(1.0000, 1.0000, 0.0000)' width=1 height=1 gegl:translate opi=0:0 x=0.10000000000000001rel 
y=0.48208630084991455rel ]\n"
+"gegl:noise-solid gegl:crop width=400 height=400 0.000s 1.000s -- [fade=1.360s] over aux=[ text size=0.1rel 
string='network rendering' color=yellow translate x=0.1rel y=0.8rel ]\n"
 "--#end titles\n"
-"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0 474 -- svg:src-over opi=0:0 aux=[  gegl:text 
opi=0:0 string='end titles\\n\\nfull of newlines\\n\\nand some images and more\\n\\nmost of the 
time\\n\\n\\nthough\\n\\nusing an image that one pans\\nwill provide better typographic control\\nperhaps 
based on a pdf/svg\\n\\nthis is is also where I should stick misc info' size=0.040000000000000001rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=1 height=8 gegl:translate opi=0:0 x=0.10000000000000001rel y={  
0.000000=1.000000rel  800.000000=-2.000000rel  }  ]\n"
+"gegl:color opi=0:0 gegl:crop opi=0:0 width=400 height=400 0.000s 18.960s -- svg:src-over opi=0:0 aux=[  
gegl:text opi=0:0 string='end titles\\n\\nfull of newlines\\n\\nand some images and more\\n\\nmost of the 
time\\n\\n\\nthough\\n\\nusing an image that one pans\\nwill provide better typographic control\\nperhaps 
based on a pdf/svg\\n\\nthis is is also where I should stick misc info' size=0.040000000000000001rel 
color='rgb(1.0000, 1.0000, 1.0000)' width=1 height=8 gegl:translate opi=0:0 x=0.10000000000000001rel y={  
0.000000=1.000000rel  800.000000=-2.000000rel  }  ]\n"
 "-----\n"
-"fnord.mp4 40 140 0 -- \n"
diff --git a/gcut/gcut-ui.c b/gcut/gcut-ui.c
index ce3441a..81deb1d 100644
--- a/gcut/gcut-ui.c
+++ b/gcut/gcut-ui.c
@@ -803,7 +803,7 @@ static void toggle_fade (MrgEvent *event, void *data1, void *data2)
   }
   else
   {
-    edl->active_clip->fade = (edl->frame - edl->active_clip->abs_start)*2;
+    edl->active_clip->fade = (edl->frame_pos_ui - edl->active_clip->abs_start)*2;
   }
   gcut_cache_invalid (edl);
   mrg_event_stop_propagate (event);
@@ -1203,7 +1203,7 @@ static void zoom_timeline (MrgEvent *event, void *data1, void *data2)
 #define PAD_DIM     8
 int VID_HEIGHT=96; // XXX: ugly global
 
-static void render_clip (Mrg *mrg, GeglEDL *edl, const char *clip_path, int clip_start, int clip_frames, 
double x, double y, int fade, int fade2)
+static void render_clip (Mrg *mrg, GeglEDL *edl, const char *clip_path, double clip_start, double 
clip_frames, double x, double y, double fade, double fade2)
 {
   char *thumb_path;
   int width, height;
@@ -2857,7 +2857,10 @@ static void gcut_draw (Mrg     *mrg,
     Clip *clip = l->data;
     double duration = clip_get_duration (clip);
     cairo_rectangle (cr, t, y, duration, scroll_height);
+      cairo_save (cr);
+      cairo_identity_matrix (cr);
     cairo_stroke (cr);
+    cairo_restore (cr);
     t += duration;
   }
 
@@ -2919,7 +2922,7 @@ static void gcut_draw (Mrg     *mrg,
     else
     {
       Clip *next = clip_get_next (clip);
-      render_clip (mrg, edl, clip->path, clip->start, duration, t, y, clip->fade, next?next->fade:0);
+      render_clip (mrg, edl, clip->path, clip->start, duration, t, y, clip->fade, next?next->fade:0.0);
       /* .. check if we are having anim things going on.. if so - print it here  */
     }
 
@@ -2931,7 +2934,12 @@ static void gcut_draw (Mrg     *mrg,
     mrg_listen (mrg, MRG_PRESS, clicked_clip, clip, edl);
     mrg_listen (mrg, MRG_DRAG, drag_clip, clip, edl);
     mrg_listen (mrg, MRG_RELEASE, released_clip, clip, edl);
+
+    cairo_save (cr);
+    cairo_identity_matrix (cr);
+    cairo_set_line_width (cr, 1);
     cairo_stroke (cr);
+    cairo_restore (cr);
 
     t += duration;
   }
@@ -3403,7 +3411,7 @@ int gcut_ui_main (GeglEDL *edl)
 
   mrg_add_timeout (mrg, 10100, save_idle, edl);
 
-  if (0)
+  if (1)
   {
     cache_renderer_iteration (mrg, edl);
     mrg_add_timeout (mrg, 90 /* seconds */  * 1000, cache_renderer_iteration, edl);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]