traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso resources/keymap.xml src/commands/Play...


From: Ben Levitt
Subject: [Traverso-commit] traverso resources/keymap.xml src/commands/Play...
Date: Wed, 30 May 2007 06:05:07 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Ben Levitt <benjie>     07/05/30 06:05:06

Modified files:
        resources      : keymap.xml 
        src/commands   : PlayHeadMove.cpp WorkCursorMove.cpp 
        src/core       : Song.cpp 
        src/traverso/songcanvas: Cursors.cpp Cursors.h CurveView.cpp 
                                 SongView.cpp TimeLineView.cpp 

Log message:
        only soft-select markers when close to them, dont auto-move playhead to 
workcursor (and hide playheda) when setting workcursor, show playhead on 
traverso startup, swap playhead and workcursor z-order so the thinner one is on 
top, decrease auto-scroll animation duration from 1300 to 800, fix race 
condition when dragging playhead that caused follow_playhead to be set to false 
sometimes, make SHIFT a modifier key, move playhead set/drag to < V > and [ V ] 
(fixes bug where Ctrl-Shift-Z to Redo would set the play cursor)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.71&r2=1.72
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/PlayHeadMove.cpp?cvsroot=traverso&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/WorkCursorMove.cpp?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.cpp?cvsroot=traverso&r1=1.111&r2=1.112
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/Cursors.cpp?cvsroot=traverso&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/Cursors.h?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/CurveView.cpp?cvsroot=traverso&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.cpp?cvsroot=traverso&r1=1.62&r2=1.63
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/TimeLineView.cpp?cvsroot=traverso&r1=1.37&r2=1.38

Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- resources/keymap.xml        26 May 2007 07:18:37 -0000      1.71
+++ resources/keymap.xml        30 May 2007 06:05:05 -0000      1.72
@@ -4,6 +4,7 @@
                        interface, which most users are used too, and the more 
powerfull contextual interface, 
                        where mouse and keyboard are used together." />
        <ModifierKeys>
+               <key key="SHIFT" />
                <key key="CTRL" />
                <key key="ALT" />
        </ModifierKeys>
@@ -69,7 +70,7 @@
                                <Object objectname="SongView" 
slotsignature="scroll_down" modes="All" sortorder="4" submenu="Scroll" 
instantanious="1" />
                        </Objects>
                </keyfact>
-               <keyfact type="FKEY" key1="SHIFT" >
+               <keyfact type="FKEY" key1="V" >
                        <Objects>
                                <Object objectname="SongView" 
slotsignature="touch_play_cursor" modes="All" sortorder="2" submenu="Playhead" 
instantanious="0" />
                        </Objects>
@@ -382,7 +383,7 @@
                                <Object objectname="SongView" mousehint="LRUD" 
slotsignature="shuttle" modes="All" sortorder="6" instantanious="0" />
                        </Objects>
                </keyfact>
-               <keyfact type="HKEY" key1="SHIFT" >
+               <keyfact type="HKEY" key1="V" >
                        <Objects>
                                <Object objectname="SongView" mousehint="LR" 
slotsignature="play_cursor_move" modes="All" sortorder="8" submenu="Playhead" 
instantanious="0" />
                        </Objects>

Index: src/commands/PlayHeadMove.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/PlayHeadMove.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- src/commands/PlayHeadMove.cpp       25 May 2007 06:38:45 -0000      1.9
+++ src/commands/PlayHeadMove.cpp       30 May 2007 06:05:06 -0000      1.10
@@ -60,7 +60,6 @@
 
 int PlayHeadMove::begin_hold()
 {
-       m_cursor->show();
        m_cursor->set_active(false);
        m_origXPos = m_newXPos = m_song->get_transport_frame() / 
m_sv->scalefactor;
        m_sv->start_shuttle(true, true);

Index: src/commands/WorkCursorMove.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/WorkCursorMove.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- src/commands/WorkCursorMove.cpp     8 May 2007 22:13:40 -0000       1.5
+++ src/commands/WorkCursorMove.cpp     30 May 2007 06:05:06 -0000      1.6
@@ -45,10 +45,6 @@
 
        m_song->get_work_snap()->set_snappable(true);
 
-       if (!m_song->is_transporting()) {
-               m_playCursor->setPos(x, 0);
-               m_song->set_transport_pos( (nframes_t) (x * m_sv->scalefactor));
-       }
        m_sv->start_shuttle(false);
        return -1;
 }

Index: src/core/Song.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.cpp,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -b -r1.111 -r1.112
--- src/core/Song.cpp   25 May 2007 23:37:24 -0000      1.111
+++ src/core/Song.cpp   30 May 2007 06:05:06 -0000      1.112
@@ -192,6 +192,9 @@
        set_first_visible_frame(e.attribute( "firstVisibleFrame", "0" 
).toUInt());
        set_work_at(e.attribute( "workingFrame", "0").toUInt());
        set_transport_pos(e.attribute( "transportFrame", "0").toUInt());
+
+       emit transportPosSet();
+
        set_snapping(e.attribute("snapping", "0").toInt());
        m_mode = e.attribute("mode", "0").toInt();
        

Index: src/traverso/songcanvas/Cursors.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/Cursors.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/traverso/songcanvas/Cursors.cpp 23 May 2007 00:40:16 -0000      1.20
+++ src/traverso/songcanvas/Cursors.cpp 30 May 2007 06:05:06 -0000      1.21
@@ -42,7 +42,7 @@
        connect(&(config()), SIGNAL(configChanged()), this, 
SLOT(check_config()));
        
        // TODO: Make duration scale with scalefactor? (nonlinerly?)
-       m_animation.setDuration(1300);
+       m_animation.setDuration(800);
        m_animation.setCurveShape(QTimeLine::SineCurve);
        
        connect(m_song, SIGNAL(transferStarted()), this, SLOT(play_start()));
@@ -53,7 +53,7 @@
        connect(&m_animation, SIGNAL(frameChanged(int)), this, 
SLOT(set_animation_value(int)));
        connect(&m_animation, SIGNAL(finished()), this, 
SLOT(animation_finished()));
        
-       setZValue(100);
+       setZValue(99);
 }
 
 PlayHead::~PlayHead( )
@@ -231,13 +231,6 @@
        m_follow = ! m_follow;
 }
 
-void PlayHead::work_moved()
-{
-       if (!m_song->is_transporting()) {
-               hide();
-       }
-}
-
 
 
 /**************************************************************/
@@ -250,7 +243,7 @@
        , m_song(song)
        , m_sv(sv)
 {
-       setZValue(99);
+       setZValue(100);
 }
 
 WorkCursor::~WorkCursor( )

Index: src/traverso/songcanvas/Cursors.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/Cursors.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- src/traverso/songcanvas/Cursors.h   23 Apr 2007 17:56:53 -0000      1.13
+++ src/traverso/songcanvas/Cursors.h   30 May 2007 06:05:06 -0000      1.14
@@ -72,7 +72,6 @@
         
 public slots:
         void update_position();
-        void work_moved();
         void enable_follow();  // enable/disable follow only do anything if 
following is
         void disable_follow(); // enabled in the config
 };

Index: src/traverso/songcanvas/CurveView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/CurveView.cpp,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- src/traverso/songcanvas/CurveView.cpp       24 May 2007 13:13:14 -0000      
1.50
+++ src/traverso/songcanvas/CurveView.cpp       30 May 2007 06:05:06 -0000      
1.51
@@ -35,6 +35,10 @@
 
 #include <Debugger.h>
                
+
+#define NODE_SOFT_SELECTION_DISTANCE 40
+
+
 class DragNode : public Command
 {
        Q_OBJECT
@@ -413,7 +417,7 @@
                }
        }
 
-       if ((pos - QPoint(4, 4) - QPoint((int)m_blinkingNode->x(), 
(int)m_blinkingNode->y())).manhattanLength() > 40) {
+       if ((pos - QPoint(4, 4) - QPoint((int)m_blinkingNode->x(), 
(int)m_blinkingNode->y())).manhattanLength() > NODE_SOFT_SELECTION_DISTANCE) {
                m_blinkingNode = 0;
        }
        

Index: src/traverso/songcanvas/SongView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.cpp,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -b -r1.62 -r1.63
--- src/traverso/songcanvas/SongView.cpp        25 May 2007 06:38:45 -0000      
1.62
+++ src/traverso/songcanvas/SongView.cpp        30 May 2007 06:05:06 -0000      
1.63
@@ -90,7 +90,6 @@
        m_playCursor = new PlayHead(this, m_song, m_clipsViewPort);
        m_workCursor = new WorkCursor(this, m_song);
        connect(m_song, SIGNAL(workingPosChanged()), m_workCursor, 
SLOT(update_position()));
-       connect(m_song, SIGNAL(workingPosChanged()), m_playCursor, 
SLOT(work_moved()));
        connect(m_song, SIGNAL(transportPosSet()), this, 
SLOT(follow_play_head()));
        connect(m_song, SIGNAL(workingPosChanged()), this, 
SLOT(stop_follow_play_head()));
 
@@ -351,6 +350,7 @@
 {
        m_actOnPlayHead = true;
        m_playCursor->enable_follow();
+       m_playCursor->setPos(m_song->get_transport_frame() / scalefactor, 0);
 }
 
 
@@ -366,10 +366,10 @@
                m_shuttletimer.start(40);
                m_dragShuttle = drag;
                m_shuttleYfactor = m_shuttleXfactor = 0;
+               stop_follow_play_head();
        } else {
                m_shuttletimer.stop();
        }
-       stop_follow_play_head();
 }
 
 void SongView::update_shuttle_factor()
@@ -481,11 +481,6 @@
        QPointF point = 
m_clipsViewPort->mapToScene(QPoint(cpointer().on_first_input_event_x(), 
cpointer().on_first_input_event_y()));
        m_song->set_work_at((nframes_t) (point.x() * scalefactor));
 
-       if (!m_song->is_transporting()) {
-               m_playCursor->setPos(point.x(), 0);
-               m_song->set_transport_pos( (nframes_t) (point.x() * 
scalefactor));
-       }
-
        return 0;
 }
 
@@ -494,7 +489,6 @@
        QPointF point = 
m_clipsViewPort->mapToScene(QPoint(cpointer().on_first_input_event_x(), 
cpointer().on_first_input_event_y()));
        m_playCursor->setPos(point.x(), 0);
        m_song->set_transport_pos( (nframes_t) (point.x() * scalefactor));
-       m_playCursor->show();
 
        return 0;
 }
@@ -581,7 +575,6 @@
 
        m_song->set_transport_pos( work );
        m_playCursor->setPos(work / scalefactor, 0);
-       m_playCursor->work_moved();
 
        return (Command*) 0;
 }

Index: src/traverso/songcanvas/TimeLineView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/TimeLineView.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- src/traverso/songcanvas/TimeLineView.cpp    18 May 2007 22:30:42 -0000      
1.37
+++ src/traverso/songcanvas/TimeLineView.cpp    30 May 2007 06:05:06 -0000      
1.38
@@ -49,7 +49,9 @@
 // in case we run with memory leak detection enabled!
 #include "Debugger.h"
 
-// TODO test if DragMarker class works as expected!!
+
+#define MARKER_SOFT_SELECTION_DISTANCE 50
+
 
 class DragMarker : public Command
 {
@@ -398,11 +400,16 @@
                }
        }
        
+       if (blinkMarkerDist > MARKER_SOFT_SELECTION_DISTANCE) {
+               m_blinkingMarker = 0;
+       }
 
        if (prevMarker && (prevMarker != m_blinkingMarker) ) {
                prevMarker->set_active(false);
+               if (m_blinkingMarker) {
                m_blinkingMarker->set_active(true);
        }
+       }
        
        if (!prevMarker && m_blinkingMarker) {
                m_blinkingMarker->set_active(true);
@@ -454,7 +461,7 @@
                return new DragMarker(m_blinkingMarker, m_sv->scalefactor, 
tr("Drag Marker"));
        }
        
-       return 0;
+       return ie().did_not_implement();
 }
 
 Command * TimeLineView::clear_markers()




reply via email to

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