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