==Sequencer==

Added patch by Matt Ebb, that enhances the sequencer GUI in several ways:
- It looks a lot better
- Strip colours are themeable.
- The drawing code is more readable.
- The background of the timeline makes now distinguishing the channels easier
  by alternating between different shades of gray.
- Handle-scaling is clamped to min and max-values, making it possible to
  grab strips at large zooming levels more easily.
- Preview-images can be panned by dragging it with the middle mouse button.
  Home-Key resets the position.
- Since some people can't grab the meaning of "C 0", it is renamed to "Chan: 0"
- Effect strips have slightly different colors to distinguish them better.

Additionally:
- fixed an off by one error in Matt's patch
- Scene-rendering saves CFRA to avoid jumping current-scene on scrub
  (might be academic fix, since most likely it only happens if you add
  the sequencer-scene to the timeline... But nevertheless it bugs you on
  testing the GUI ;-)
This commit is contained in:
2006-06-08 19:05:58 +00:00
parent f6854b4d8e
commit af3f454cd8
13 changed files with 688 additions and 362 deletions

View File

@@ -193,6 +193,14 @@ class ThemeSpace:
@ivar syntaxb: theme rgba var.
@ivar syntaxv: theme rgba var.
@ivar syntaxc: theme rgba var.
@ivar movie: theme rgba var.
@ivar image: theme rgba var.
@ivar scene: theme rgba var.
@ivar audio: theme rgba var.
@ivar effect: theme rgba var.
@ivar plugin: theme rgba var.
@ivar transition: theme rgba var.
@ivar meta: theme rgba var.
@type vertex_size: int
@ivar vertex_size: size of the vertices dots on screen in the range [1, 10].
@type facedot_size: int

View File

@@ -179,12 +179,20 @@ static PyObject *ThemeSpace_getAttr( BPy_ThemeSpace * self, char *name )
ELSEIF_TSP_RGBA( syntaxb )
ELSEIF_TSP_RGBA( syntaxv )
ELSEIF_TSP_RGBA( syntaxc )
ELSEIF_TSP_RGBA( movie )
ELSEIF_TSP_RGBA( image )
ELSEIF_TSP_RGBA( scene )
ELSEIF_TSP_RGBA( audio )
ELSEIF_TSP_RGBA( effect )
ELSEIF_TSP_RGBA( plugin )
ELSEIF_TSP_RGBA( transition )
ELSEIF_TSP_RGBA( meta )
else if( !strcmp( name, "vertex_size" ) )
attrib = Py_BuildValue( "i", tsp->vertex_size );
else if( !strcmp( name, "facedot_size" ) )
attrib = Py_BuildValue( "i", tsp->facedot_size );
else if( !strcmp( name, "__members__" ) )
attrib = Py_BuildValue("[sssssssssssssssssssssssssssssssssss]", "theme",
attrib = Py_BuildValue("[sssssssssssssssssssssssssssssssssssssssssss]", "theme",
"back", "text", "text_hi", "header",
"panel", "shade1", "shade2", "hilite",
"grid", "wire", "lamp", "select", "active",
@@ -194,6 +202,7 @@ static PyObject *ThemeSpace_getAttr( BPy_ThemeSpace * self, char *name )
"face_dot", "normal", "bone_solid", "bone_pose",
"strip", "strip_select",
"syntaxl", "syntaxn", "syntaxb", "syntaxv", "syntaxc",
"movie", "image", "scene", "audio", "effect", "plugin", "transition", "meta",
"vertex_size", "facedot_size" );
if( attrib != Py_None )
@@ -244,6 +253,14 @@ static int ThemeSpace_setAttr( BPy_ThemeSpace * self, char *name,
ELSEIF_TSP_RGBA( syntaxb )
ELSEIF_TSP_RGBA( syntaxv )
ELSEIF_TSP_RGBA( syntaxc )
ELSEIF_TSP_RGBA( movie )
ELSEIF_TSP_RGBA( image )
ELSEIF_TSP_RGBA( scene )
ELSEIF_TSP_RGBA( audio )
ELSEIF_TSP_RGBA( effect )
ELSEIF_TSP_RGBA( plugin )
ELSEIF_TSP_RGBA( transition )
ELSEIF_TSP_RGBA( meta )
else if( !strcmp( name, "vertex_size" ) ) {
int val;