traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src commands/MoveClip.cpp core/AudioCl...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src commands/MoveClip.cpp core/AudioCl...
Date: Tue, 12 Feb 2008 13:05:03 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       08/02/12 13:05:03

Modified files:
        src/commands   : MoveClip.cpp 
        src/core       : AudioClip.cpp AudioClip.h ViewPort.cpp 
        src/sheetcanvas: AudioClipView.cpp AudioClipView.h 

Log message:
        * honor sync during clip move again

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.cpp?cvsroot=traverso&r1=1.59&r2=1.60
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.cpp?cvsroot=traverso&r1=1.162&r2=1.163
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.h?cvsroot=traverso&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ViewPort.cpp?cvsroot=traverso&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/traverso/src/sheetcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/sheetcanvas/AudioClipView.h?cvsroot=traverso&r1=1.1&r2=1.2

Patches:
Index: commands/MoveClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.cpp,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- commands/MoveClip.cpp       12 Feb 2008 11:46:51 -0000      1.59
+++ commands/MoveClip.cpp       12 Feb 2008 13:05:02 -0000      1.60
@@ -115,7 +115,6 @@
        d->origXPos = cpointer().on_first_input_event_scene_x();
        d->origPos = QPointF(d->origXPos, 
cpointer().on_first_input_event_scene_y());
        d->sv->start_shuttle(true, true);
-       d->view->set_dragging(true);
        d->bypassjog = false;
        d->origTrackView = d->view->get_trackview();
 }
@@ -127,6 +126,8 @@
 
        init_data();
 
+       m_clip->set_as_moving(true);
+
        return 1;
 }
 
@@ -134,6 +135,8 @@
 int MoveClip::finish_hold()
 {
        m_clip->set_snappable(true);
+       m_clip->set_as_moving(false);
+       
        d->sv->start_shuttle(false);
 
        return 1;

Index: core/AudioClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.cpp,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -b -r1.162 -r1.163
--- core/AudioClip.cpp  30 Jan 2008 12:24:35 -0000      1.162
+++ core/AudioClip.cpp  12 Feb 2008 13:05:02 -0000      1.163
@@ -59,6 +59,10 @@
 // in case we run with memory leak detection enabled!
 #include "Debugger.h"
 
+/**
+ *     \class AudioClip
+       \brief Represents (part of) an audiofile.
+ */
 
 AudioClip::AudioClip(const QString& name)
        : ContextItem()
@@ -121,7 +125,7 @@
        m_readSource = 0;
        m_peak = 0;
        m_recordingStatus = NO_RECORDING;
-       m_isSelected = m_isReadSourceValid = false;
+       m_isSelected = m_isReadSourceValid = m_isMoving = false;
        m_isLocked = config().get_property("AudioClip", "LockByDefault", 
false).toBool();
        fadeIn = 0;
        fadeOut = 0;
@@ -247,7 +251,17 @@
                return;
        }
        
-       if ( m_track->is_muted() || m_track->is_muted_by_solo() || is_muted() ) 
{
+       bool syncDuringDrag = config().get_property("AudioClip", 
"SyncDuringDrag", false).toBool();
+       bool stopSyncDueMove;
+       if (m_isMoving && syncDuringDrag) {
+               stopSyncDueMove = false;
+       } else if (m_isMoving && !syncDuringDrag){
+               stopSyncDueMove = true;
+       } else {
+               stopSyncDueMove = false;
+       }
+               
+       if ( m_track->is_muted() || m_track->is_muted_by_solo() || is_muted() 
|| stopSyncDueMove) {
                m_readSource->set_active(false);
        } else {
                m_readSource->set_active(true);
@@ -347,6 +361,7 @@
 
 void AudioClip::set_track_start_location(const TimeRef& location)
 {
+       PENTER2;
        m_trackStartLocation = location;
        set_track_end_location(m_trackStartLocation + m_length);
        if (m_track) {
@@ -998,3 +1013,9 @@
        m_captureBus = audiodevice().get_capture_bus(m_captureBusName);
 }
 
+void AudioClip::set_as_moving(bool moving)
+{
+       m_isMoving = moving;
+       set_sources_active_state();
+}
+

Index: core/AudioClip.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.h,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- core/AudioClip.h    21 Jan 2008 16:22:13 -0000      1.73
+++ core/AudioClip.h    12 Feb 2008 13:05:02 -0000      1.74
@@ -78,6 +78,7 @@
        void set_sheet(Sheet* sheet);
 
        void set_selected(bool selected);
+       void set_as_moving(bool moving);
        int set_state( const QDomNode& node );
 
        AudioClip* create_copy();
@@ -112,6 +113,7 @@
        bool has_sheet() const;
        bool is_readsource_invalid() const {return !m_isReadSourceValid;}
        bool is_smaller_then(APILinkedListNode* node) {return 
((AudioClip*)node)->get_track_start_location() > get_track_start_location();}
+       bool is_moving() const {return m_isMoving;}
 
        int recording_state() const;
 
@@ -141,6 +143,7 @@
        bool                    m_isTake;
        bool                    m_isLocked;
        bool                    m_isReadSourceValid;
+       bool                    m_isMoving;
        RecordingStatus         m_recordingStatus;
        
        qint64                  m_readSourceId;

Index: core/ViewPort.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/ViewPort.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- core/ViewPort.cpp   12 Feb 2008 11:48:41 -0000      1.30
+++ core/ViewPort.cpp   12 Feb 2008 13:05:03 -0000      1.31
@@ -137,10 +137,6 @@
                        return true;
                }
        }
-       if (event->type() == QEvent::MouseButtonPress) {
-               printf("eating mouse press\n");
-               return true;
-       }
        return QGraphicsView::event(event);
 }
 

Index: sheetcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/sheetcanvas/AudioClipView.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- sheetcanvas/AudioClipView.cpp       30 Jan 2008 12:24:36 -0000      1.5
+++ sheetcanvas/AudioClipView.cpp       12 Feb 2008 13:05:03 -0000      1.6
@@ -60,7 +60,6 @@
        : ViewItem(parent, clip)
        , m_tv(parent)
        , m_clip(clip)
-       , m_dragging(false)
 {
        PENTERCONS;
        
@@ -151,7 +150,7 @@
                return;
        }
        
-       bool mousehover = (option->state & QStyle::State_MouseOver) || 
m_dragging;
+       bool mousehover = (option->state & QStyle::State_MouseOver) || 
m_clip->is_moving();
        
        if (m_drawbackground) {
                if (m_clip->recording_state() == AudioClip::RECORDING) {
@@ -220,8 +219,20 @@
                painter->drawPixmap(center - 8, m_height - 20, 
find_pixmap(":/lock"));
        }
 
-       if (m_dragging) {
+       if (m_clip->is_moving()) {
+               if (! m_posIndicator) {
+                       m_posIndicator = new PositionIndicator(this);
+                       m_posIndicator->set_position(2, 
get_childview_y_offset() + 1);
+               }
+               m_posIndicator->show();
                m_posIndicator->set_value(timeref_to_text(TimeRef(x() * 
m_sv->timeref_scalefactor), m_sv->timeref_scalefactor));
+       } else {
+               if (m_posIndicator && m_posIndicator->isVisible()) {
+                       m_posIndicator->hide();
+/*                     scene()->removeItem(m_posIndicator);
+                       delete m_posIndicator;
+                       m_posIndicator = 0;*/
+               }
        }
        
        painter->restore();
@@ -913,25 +924,6 @@
        m_oldRecordingPos = newPos;
 }
 
-void AudioClipView::set_dragging(bool dragging)
-{
-       if (dragging) {
-               if (! m_posIndicator) {
-                       m_posIndicator = new PositionIndicator(this);
-                       m_posIndicator->set_position(2, 
get_childview_y_offset() + 1);
-               }
-       } else {
-               if (m_posIndicator) {
-                       scene()->removeItem(m_posIndicator);
-                       delete m_posIndicator;
-                       m_posIndicator = 0;
-               }
-       }
-       
-       m_dragging = dragging;
-       update();
-}
-
 Command * AudioClipView::set_audio_file()
 {
        if (m_clip->is_readsource_invalid()) {

Index: sheetcanvas/AudioClipView.h
===================================================================
RCS file: /sources/traverso/traverso/src/sheetcanvas/AudioClipView.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- sheetcanvas/AudioClipView.h 21 Jan 2008 16:17:27 -0000      1.1
+++ sheetcanvas/AudioClipView.h 12 Feb 2008 13:05:03 -0000      1.2
@@ -71,7 +71,6 @@
        
        TrackView* get_trackview() const {return m_tv;}
        void set_trackview(TrackView* view);
-       void set_dragging(bool dragging);
        
        void load_theme_data();
        
@@ -105,7 +104,6 @@
        bool m_waitingForPeaks;
        bool m_mergedView;
        bool m_classicView;
-       bool m_dragging;
        bool m_paintWithOutline;
        int m_height;
        int m_infoAreaHeight;




reply via email to

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