[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/commands CMakeLists.txt TrackPan.c...,
Remon Sijrier <=