traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src commands/MoveEdge.cpp commands/Mov...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src commands/MoveEdge.cpp commands/Mov...
Date: Fri, 31 Aug 2007 09:19:52 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/08/31 09:19:52

Modified files:
        src/commands   : MoveEdge.cpp MoveEdge.h 
        src/core       : AudioClip.cpp AudioClip.h SnapList.cpp 
                         SnapList.h 
        src/engine     : defines.h 
        src/traverso   : Traverso.cpp 
        src            : base.pri 

Log message:
        * Converted MoveEdge to use TimeRef, added needed operator functions to 
TimeRef to make that possible.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveEdge.cpp?cvsroot=traverso&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveEdge.h?cvsroot=traverso&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.cpp?cvsroot=traverso&r1=1.129&r2=1.130
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.h?cvsroot=traverso&r1=1.60&r2=1.61
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/SnapList.cpp?cvsroot=traverso&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/SnapList.h?cvsroot=traverso&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/defines.h?cvsroot=traverso&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Traverso.cpp?cvsroot=traverso&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/traverso/src/base.pri?cvsroot=traverso&r1=1.44&r2=1.45

Patches:
Index: commands/MoveEdge.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveEdge.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- commands/MoveEdge.cpp       4 Jun 2007 19:53:56 -0000       1.19
+++ commands/MoveEdge.cpp       31 Aug 2007 09:19:51 -0000      1.20
@@ -59,12 +59,12 @@
 {
        PENTER;
         if (m_edge == "set_left_edge") {
-                m_newPos = m_originalPos = m_clip->get_track_start_frame();
-               m_otherEdgePos = m_clip->get_track_end_frame();
+                m_newPos = m_originalPos = m_clip->get_track_start_location();
+               m_otherEdgePos = m_clip->get_track_end_location();
        }
         if (m_edge == "set_right_edge") {
-                m_newPos = m_originalPos = m_clip->get_track_end_frame();
-               m_otherEdgePos = m_clip->get_track_start_frame();
+                m_newPos = m_originalPos = m_clip->get_track_end_location();
+               m_otherEdgePos = m_clip->get_track_start_location();
        }
 
        m_clip->set_snappable(false);
@@ -91,31 +91,39 @@
 
 int MoveEdge::do_action()
 {
-        return QMetaObject::invokeMethod(m_clip, m_edge.data(), Q_ARG(long, 
m_newPos));
+       int r = QMetaObject::invokeMethod(m_clip, m_edge.data(), Q_ARG(TimeRef, 
m_newPos));
+       if (!r) {
+               PERROR("MoveEdge::do_action: invokeMethod failed!");
+       }
+       return r;
 }
 
 
 int MoveEdge::undo_action()
 {
-        return QMetaObject::invokeMethod(m_clip, m_edge.data(), Q_ARG(long, 
m_originalPos));
+       int r = QMetaObject::invokeMethod(m_clip, m_edge.data(), Q_ARG(TimeRef, 
m_originalPos));
+       if (!r) {
+               PERROR("MoveEdge::undo_action: invokeMethod failed!");
+       }
+       return r;
 }
 
 
 int MoveEdge::jog()
 {
-       m_newPos = cpointer().scene_x() * m_sv->scalefactor;
+       m_newPos = cpointer().scene_x() * m_sv->timeref_scalefactor;
 
        if (m_sv->get_song()->is_snap_on()) {
                SnapList* slist = m_sv->get_song()->get_snap_list();
                m_newPos = slist->get_snap_value(m_newPos);
        }
 
-       if (m_edge == "set_right_edge" && m_newPos < m_otherEdgePos + (2 * 
m_sv->scalefactor)) {
-               m_newPos = m_otherEdgePos + (2 * m_sv->scalefactor);
+       if (m_edge == "set_right_edge" && m_newPos < (m_otherEdgePos + (2 * 
m_sv->timeref_scalefactor)) ) {
+               m_newPos = m_otherEdgePos + (2 * m_sv->timeref_scalefactor);
        }
 
-       if (m_edge == "set_left_edge" && m_newPos > m_otherEdgePos - (2 * 
m_sv->scalefactor)) {
-               m_newPos = m_otherEdgePos - (2 * m_sv->scalefactor);
+       if (m_edge == "set_left_edge" && m_newPos > (m_otherEdgePos - (2 * 
m_sv->timeref_scalefactor)) ) {
+               m_newPos = m_otherEdgePos - (2 * m_sv->timeref_scalefactor);
        }
 
         return do_action();

Index: commands/MoveEdge.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveEdge.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- commands/MoveEdge.h 4 Jun 2007 19:53:56 -0000       1.8
+++ commands/MoveEdge.h 31 Aug 2007 09:19:51 -0000      1.9
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
  
-    $Id: MoveEdge.h,v 1.8 2007/06/04 19:53:56 benjie Exp $
+    $Id: MoveEdge.h,v 1.9 2007/08/31 09:19:51 r_sijrier Exp $
 */
 
 #ifndef MOVEEDGE_H
@@ -53,9 +53,9 @@
        AudioClipView*  m_cv;
        SongView*       m_sv;
         QByteArray     m_edge;
-        long           m_originalPos;
-        long           m_newPos;
-        long           m_otherEdgePos;
+        TimeRef                m_originalPos;
+       TimeRef         m_newPos;
+       TimeRef         m_otherEdgePos;
 };
 
 #endif

Index: core/AudioClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.cpp,v
retrieving revision 1.129
retrieving revision 1.130
diff -u -b -r1.129 -r1.130
--- core/AudioClip.cpp  29 Aug 2007 18:00:36 -0000      1.129
+++ core/AudioClip.cpp  31 Aug 2007 09:19:51 -0000      1.130
@@ -253,14 +253,12 @@
 
 }
 
-void AudioClip::set_left_edge(long frame)
+void AudioClip::set_left_edge(TimeRef newLeftLocation)
 {
-       if (frame < 0) {
-               frame = 0;
+       if (newLeftLocation < 0) {
+               newLeftLocation = TimeRef(0);
        }
        
-       TimeRef newLeftLocation(frame, get_rate());
-       
        if (newLeftLocation < m_trackStartLocation) {
 
                TimeRef availableTimeLeft = m_sourceStartLocation;
@@ -294,14 +292,12 @@
        emit positionChanged(this);
 }
 
-void AudioClip::set_right_edge(long frame)
+void AudioClip::set_right_edge(TimeRef newRightLocation)
 {
-       if (frame < 0) {
-               frame = 0;
+       if (newRightLocation < 0) {
+               newRightLocation = TimeRef(0);
        }
        
-       TimeRef newRightLocation(frame, get_rate());
-       
        if (newRightLocation > m_trackEndLocation) {
 
                TimeRef availableTimeRight = m_sourceLength - 
m_sourceEndLocation;

Index: core/AudioClip.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.h,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -b -r1.60 -r1.61
--- core/AudioClip.h    28 Aug 2007 19:51:51 -0000      1.60
+++ core/AudioClip.h    31 Aug 2007 09:19:51 -0000      1.61
@@ -190,8 +190,10 @@
 public slots:
        void finish_recording();
        void finish_write_source();
-       void set_left_edge(long frame);
-       void set_right_edge(long frame);
+       void set_left_edge(long frame) {TimeRef location(frame, get_rate()); 
set_left_edge(location);}
+       void set_right_edge(long frame) {TimeRef location(frame, get_rate()); 
set_right_edge(location);}
+       void set_left_edge(TimeRef newLeftLocation);
+       void set_right_edge(TimeRef newRightLocation);
        void track_audible_state_changed();
        void toggle_mute();
        void toggle_lock();

Index: core/SnapList.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/SnapList.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- core/SnapList.cpp   11 Aug 2007 22:54:57 -0000      1.16
+++ core/SnapList.cpp   31 Aug 2007 09:19:51 -0000      1.17
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: SnapList.cpp,v 1.16 2007/08/11 22:54:57 benjie Exp $
+$Id: SnapList.cpp,v 1.17 2007/08/31 09:19:51 r_sijrier Exp $
 */
 
 #include "SnapList.h"
@@ -326,5 +326,11 @@
        return newpos;
 }
 
-/* EOF */
-
+TimeRef SnapList::get_snap_value(TimeRef& location)
+{
+       if (location < 0) {
+               location = 0;
+       }
+       TimeRef snap(get_snap_value(location.to_frame(44100)), 44100);
+       return snap;
+}

Index: core/SnapList.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/SnapList.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- core/SnapList.h     6 Apr 2007 09:29:03 -0000       1.10
+++ core/SnapList.h     31 Aug 2007 09:19:51 -0000      1.11
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: SnapList.h,v 1.10 2007/04/06 09:29:03 r_sijrier Exp $
+$Id: SnapList.h,v 1.11 2007/08/31 09:19:51 r_sijrier Exp $
 */
 
 #ifndef SNAPLIST_H
@@ -41,6 +41,7 @@
        ~SnapList() {};
 
        int get_snap_value(nframes_t);
+       TimeRef get_snap_value(TimeRef& location);
        bool is_snap_value(nframes_t);
        int get_snap_diff(nframes_t);
        nframes_t next_snap_pos(nframes_t pos);

Index: engine/defines.h
===================================================================
RCS file: /sources/traverso/traverso/src/engine/defines.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- engine/defines.h    29 Aug 2007 18:00:36 -0000      1.17
+++ engine/defines.h    31 Aug 2007 09:19:51 -0000      1.18
@@ -3,6 +3,7 @@
 
 #include <inttypes.h>
 #include <QtGlobal>
+#include <QMetaType>
 #include "FastDelegate.h"
 
 // Implementation for atomic int get/set from glibc's atomic.h/c
@@ -85,32 +86,55 @@
                return TimeRef(left.m_position - right.m_position);
        }
        
+       friend TimeRef operator-(const TimeRef& left, qint64 right) {
+               TimeRef location(left.m_position - right);
+               return location;
+       }
+       
        friend TimeRef& operator-=(TimeRef& left, const TimeRef& right) {
                left.m_position -= right.m_position;
                return left;
        }
        
+       friend TimeRef& operator-=(TimeRef& left, qint64 right) {
+               left.m_position -= right;
+               return left;
+       }
+       
        friend TimeRef operator+(const TimeRef& left, const TimeRef& right) {
                return TimeRef(left.m_position + right.m_position);
        }
        
+       friend TimeRef operator+(const TimeRef& left, qint64 right) {
+               TimeRef location(left.m_position + right);
+               return location;
+       }
+       
        friend TimeRef& operator+=(TimeRef& left, const TimeRef& right) {
                left.m_position += right.m_position;
                return left;
        }
        
-       friend int operator/(const TimeRef& left, const qint64 right) {
-               return (int)(left.m_position / right);
+       friend qreal operator/(const TimeRef& left, const qint64 right) {
+               return (qreal)left.m_position / right;
        }
        
        friend int operator<(const TimeRef& left, const TimeRef& right) {
                return left.m_position < right.m_position;
        }
        
+       friend int operator<(const TimeRef& left, qint64 right) {
+               return left.m_position < right;
+       }
+       
        friend int operator>(const TimeRef& left, const TimeRef& right) {
                return left.m_position > right.m_position;
        }
        
+       friend int operator>(const TimeRef& left, qint64 right) {
+               return left.m_position > right;
+       }
+       
        friend int operator<=(const TimeRef& left, const TimeRef& right) {
                return left.m_position <= right.m_position;
        }
@@ -127,6 +151,7 @@
        qint64 m_position;
 };
 
+Q_DECLARE_METATYPE(TimeRef);
 
 typedef struct {
        int tranport;

Index: traverso/Traverso.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Traverso.cpp,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- traverso/Traverso.cpp       19 Jul 2007 12:28:42 -0000      1.46
+++ traverso/Traverso.cpp       31 Aug 2007 09:19:51 -0000      1.47
@@ -34,6 +34,7 @@
 #include <AudioDevice.h>
 #include <ContextPointer.h>
 #include <Information.h>
+#include "defines.h"
 
 // Always put me below _all_ includes, this is needed
 // in case we run with memory leak detection enabled!

Index: base.pri
===================================================================
RCS file: /sources/traverso/traverso/src/base.pri,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- base.pri    16 Aug 2007 13:06:30 -0000      1.44
+++ base.pri    31 Aug 2007 09:19:51 -0000      1.45
@@ -10,8 +10,8 @@
 # Choose debug or release build
 #
 
-#CONFIG += debug
-CONFIG += release
+CONFIG += debug
+#CONFIG += release
 
 #
 # Add support for Jack / ALSA audio driver. If you have a 
@@ -54,7 +54,7 @@
 # DEFINES += QT_430_SCROLLBAR_FIX
 
 
-DEFINES += STATIC_BUILD
+# DEFINES += STATIC_BUILD
 
 #
 # Use Memory Locking 
@@ -68,7 +68,7 @@
 
 
 !macx{
-#      DEFINES += PRECOMPILED_HEADER
+       DEFINES += PRECOMPILED_HEADER
 }
 
 # DEFINES += THREAD_CHECK




reply via email to

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