traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src core/TimeLine.cpp core/TimeLine.h ...


From: Nicola Doebelin
Subject: [Traverso-commit] traverso/src core/TimeLine.cpp core/TimeLine.h ...
Date: Sun, 25 May 2008 14:55:27 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Nicola Doebelin <n_doebelin>    08/05/25 14:55:27

Modified files:
        src/core       : TimeLine.cpp TimeLine.h 
        src/traverso   : Interface.cpp 

Log message:
        * make sure markers are handled correctly when adding new ones.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/TimeLine.cpp?cvsroot=traverso&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/TimeLine.h?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.cpp?cvsroot=traverso&r1=1.147&r2=1.148

Patches:
Index: core/TimeLine.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/TimeLine.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- core/TimeLine.cpp   21 Feb 2008 20:00:48 -0000      1.17
+++ core/TimeLine.cpp   25 May 2008 14:55:26 -0000      1.18
@@ -162,6 +162,18 @@
        return false;
 }
 
+
+Marker* TimeLine::get_end_marker()
+{
+       foreach(Marker* marker, m_markers) {
+               if (marker->get_type() == Marker::ENDMARKER) {
+                       return marker;
+               }
+       }
+
+       return (Marker*)0;
+}
+
 void TimeLine::marker_position_changed()
 {
        qSort(m_markers.begin(), m_markers.end(), smallerMarker);

Index: core/TimeLine.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/TimeLine.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- core/TimeLine.h     21 Feb 2008 20:00:48 -0000      1.13
+++ core/TimeLine.h     25 May 2008 14:55:26 -0000      1.14
@@ -46,6 +46,7 @@
        Sheet *get_sheet() const {return m_sheet;}
        
        Marker* get_marker(qint64 id);
+       Marker* get_end_marker();
        bool get_end_location(TimeRef& location);
        bool get_start_location(TimeRef& location);
        bool has_end_marker();

Index: traverso/Interface.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.cpp,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -b -r1.147 -r1.148
--- traverso/Interface.cpp      25 May 2008 14:27:44 -0000      1.147
+++ traverso/Interface.cpp      25 May 2008 14:55:27 -0000      1.148
@@ -1178,7 +1178,10 @@
        }
 
        TimeLine* tl = currentSheetWidget->get_sheet()->get_timeline();
-       int n = 1;
+       int n = tl->get_markers().size() + 1;
+       if (tl->has_end_marker()) {
+               n -= 1;
+       }
 
        while(!files.isEmpty()) {
                QString file = files.takeFirst();
@@ -1198,8 +1201,13 @@
                ++n;
        }
 
+       if (tl->has_end_marker()) {
+               Marker* m = tl->get_end_marker();
+               m->set_when(position);
+       } else {
        Marker* m = new Marker(tl, position, Marker::ENDMARKER);
        Command::process_command(tl->add_marker(m, true));
+       }
 
        delete importClips;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]