traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src/commands CMakeLists.txt TrackPan.c...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/commands CMakeLists.txt TrackPan.c...
Date: Tue, 12 Feb 2008 10:52:40 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       08/02/12 10:52:40

Modified files:
        src/commands   : CMakeLists.txt TrackPan.cpp TrackPan.h 

Log message:
        * add support for pan_left and pan_right modifier actions

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/CMakeLists.txt?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/TrackPan.cpp?cvsroot=traverso&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/TrackPan.h?cvsroot=traverso&r1=1.8&r2=1.9

Patches:
Index: CMakeLists.txt
===================================================================
RCS file: /sources/traverso/traverso/src/commands/CMakeLists.txt,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- CMakeLists.txt      21 Jan 2008 16:22:11 -0000      1.7
+++ CMakeLists.txt      12 Feb 2008 10:52:39 -0000      1.8
@@ -35,9 +35,10 @@
 )
 
 SET(TRAVERSO_COMMANDS_MOC_CLASSES
+AudioClipExternalProcessing.h
 Gain.h
 MoveClip.h
-AudioClipExternalProcessing.h
+TrackPan.h
 Zoom.h
 )
 

Index: TrackPan.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/TrackPan.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- TrackPan.cpp        21 Jan 2008 16:22:12 -0000      1.12
+++ TrackPan.cpp        12 Feb 2008 10:52:39 -0000      1.13
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2005-2007 Remon Sijrier 
+    Copyright (C) 2005-2008 Remon Sijrier 
  
     This file is part of Traverso
  
@@ -19,27 +19,38 @@
  
 */
 
-#include <libtraversocore.h>
-
 #include "TrackPan.h"
-#include <ViewPort.h>
+
+#include "ViewPort.h"
+
+#include "ContextPointer.h"
+#include "Track.h"
+
                
 // Always put me below _all_ includes, this is needed
 // in case we run with memory leak detection enabled!
 #include "Debugger.h"
 
+/**
+ *     \class TrackPan
+       \brief Change (jog) the Panorama of a Track, or set to a pre-defined 
value
+       
+       \sa TraversoCommands
+ */
+
+
 TrackPan::TrackPan(Track* track, QVariantList args)
        : Command(track, "")
+       , d(new Data)
 {
         m_track = track;
-        m_sheet = track->get_sheet();
        
        QString des;
        
        if (args.size() > 0) {
-               newPan = args.at(0).toDouble();
+               m_newPan = args.at(0).toDouble();
                des = tr("Track Pan: %1").arg("Reset");
-               origPan = m_track->get_pan();
+               m_origPan = m_track->get_pan();
        } else {
                des = tr("Track Pan");
        }
@@ -50,14 +61,15 @@
 
 int TrackPan::prepare_actions()
 {
+       delete d;
         return 1;
 }
 
 
 int TrackPan::begin_hold()
 {
-        origX = cpointer().x();
-        origPan = newPan = m_track->get_pan();
+        d->origX = cpointer().x();
+        m_origPan = m_newPan = m_track->get_pan();
 
         return 1;
 }
@@ -65,21 +77,21 @@
 
 int TrackPan::finish_hold()
 {
-       QCursor::setPos(mousePos);
+       QCursor::setPos(d->mousePos);
        return 1;
 }
 
 
 int TrackPan::do_action()
 {
-        m_track->set_pan(newPan);
+        m_track->set_pan(m_newPan);
         return 1;
 }
 
 
 int TrackPan::undo_action()
 {
-        m_track->set_pan(origPan);
+        m_track->set_pan(m_origPan);
         return 1;
 }
 
@@ -94,23 +106,52 @@
        Q_UNUSED(useX);
        Q_UNUSED(useY);
        
-       mousePos = QCursor::pos();
+       d->mousePos = QCursor::pos();
        cpointer().get_viewport()->set_holdcursor(":/cursorHoldLr");
 }
 
 int TrackPan::jog()
 {
         float w = 600.0;
-        float ofx = (float) origX - cpointer().x();
+        float ofx = (float) d->origX - cpointer().x();
         float p = -2.0f *  (ofx) / w ;
-       newPan = p + newPan;
-        m_track->set_pan( newPan );
+       m_newPan = p + m_newPan;
+       
+       if (m_newPan < -1.0) 
+               m_newPan = -1.0;
+       if (m_newPan > 1.0) 
+               m_newPan = 1.0;
+       
+       m_track->set_pan(m_newPan);
+       
+       QCursor::setPos(d->mousePos);
        
-//     origX = cpointer().x();
-       QCursor::setPos(mousePos);
+       
cpointer().get_viewport()->set_holdcursor_text(QByteArray::number(m_newPan, 
'f', 2));
        
         return 1;
 }
 
-// eof
+void TrackPan::pan_left(bool autorepeat)
+{
+       Q_UNUSED(autorepeat);
+       
+       m_newPan -= 0.05;
+       if (m_newPan < -1.0) 
+               m_newPan = -1.0;
+       m_track->set_pan(m_newPan);
+       
+       
cpointer().get_viewport()->set_holdcursor_text(QByteArray::number(m_newPan, 
'f', 2));
+}
+
+void TrackPan::pan_right(bool autorepeat)
+{
+       Q_UNUSED(autorepeat);
+       
+       m_newPan += 0.05;
+       if (m_newPan > 1.0) 
+               m_newPan = 1.0;
+       m_track->set_pan(m_newPan);
+
+       
cpointer().get_viewport()->set_holdcursor_text(QByteArray::number(m_newPan, 
'f', 2));
+}
 

Index: TrackPan.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/TrackPan.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- TrackPan.h  21 Jan 2008 16:22:12 -0000      1.8
+++ TrackPan.h  12 Feb 2008 10:52:39 -0000      1.9
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2005-2006 Remon Sijrier 
+    Copyright (C) 2005-2008 Remon Sijrier 
  
     This file is part of Traverso
  
@@ -17,7 +17,6 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
  
-    $Id: TrackPan.h,v 1.8 2008/01/21 16:22:12 r_sijrier Exp $
 */
 
 #ifndef TRACKPAN_H
@@ -30,6 +29,10 @@
 
 class TrackPan : public Command
 {
+       Q_OBJECT
+       Q_CLASSINFO("pan_left", tr("To Left"));
+       Q_CLASSINFO("pan_right", tr("To Right"));
+
 public :
        TrackPan(Track* track, QVariantList args);
 
@@ -45,13 +48,20 @@
        void set_cursor_shape(int useX, int useY);
        
 private :
+       struct Data {
        QPoint  mousePos;
-       float origPan;
-        float newPan;
         int origX;
+       };
+       Data* d;
 
-        Sheet* m_sheet;
+       float m_origPan;
+       float m_newPan;
         Track* m_track;
+       
+public slots:
+       void pan_left(bool autorepeat);
+       void pan_right(bool autorepeat);
+
 };
 
 #endif




reply via email to

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