]> git.sesse.net Git - mlt/commitdiff
Add an offset start param to typewriter effect
authorj-b-m <jb@kdenlive.org>
Fri, 13 Nov 2009 20:50:39 +0000 (21:50 +0100)
committerj-b-m <jb@kdenlive.org>
Fri, 13 Nov 2009 20:50:39 +0000 (21:50 +0100)
src/modules/qimage/kdenlivetitle_wrapper.cpp

index bc7a62ae71467df2ce42b841dd8a3583e13f1d57..9792d471ae26805952e47cce26aec002d3f32cd3 100755 (executable)
@@ -402,8 +402,11 @@ void drawKdenliveTitle( producer_ktitle self, mlt_frame frame, int width, int he
                    titem = static_cast <QGraphicsTextItem*> ( items.at( i ) );
                    if (titem && !titem->data( 0 ).isNull()) {
                            QStringList params = titem->data( 0 ).toStringList();
-                           if (params.at( 0 ) == "typewriter") {
-                                   int interval = ( ( int ) position) / params.at( 2 ).toInt();
+                           if (params.at( 0 ) == "typewriter" ) {
+                                   // typewriter effect has 2 param values:
+                                   // the keystroke delay and a start offset, both in frames
+                                   QStringList values = params.at( 2 ).split( ";" );
+                                   int interval = qMax( 0, ( ( int ) position) / values.at( 0 ).toInt() - values.at( 1 ).toInt() );
                                    QTextDocument *td = new QTextDocument( params.at( 1 ).left( interval ) );
                                    td->setDefaultFont( titem->font() );
                                    td->setDefaultTextOption( titem->document()->defaultTextOption() );