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/traverso/song...


From: Ben Levitt
Subject: [Traverso-commit] traverso resources/keymap.xml src/traverso/song...
Date: Thu, 27 Dec 2007 22:27:24 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Ben Levitt <benjie>     07/12/27 22:27:24

Modified files:
        resources      : keymap.xml 
        src/traverso/songcanvas: Cursors.cpp SongView.cpp SongView.h 
        src/commands   : commands.pro 
Added files:
        src/commands   : Scroll.cpp Scroll.h 

Log message:
        Add smooth scrolling on arrow-key-hold using the shuttle
        Switch Fade Mode to < P >
        Change the Auto-Scroll-Margin to 10%
        (remon had it at .15, I changed it to .05, now up to .10 ...)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.92&r2=1.93
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/Cursors.cpp?cvsroot=traverso&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.cpp?cvsroot=traverso&r1=1.94&r2=1.95
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.h?cvsroot=traverso&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/commands.pro?cvsroot=traverso&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Scroll.cpp?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Scroll.h?cvsroot=traverso&rev=1.1

Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -b -r1.92 -r1.93
--- resources/keymap.xml        27 Dec 2007 01:58:46 -0000      1.92
+++ resources/keymap.xml        27 Dec 2007 22:27:23 -0000      1.93
@@ -174,11 +174,15 @@
                                <Object objectname="TrackView" 
slotsignature="select_bus" modes="All" sortorder="8" />
                        </Objects>
                </keyfact>
+               <keyfact type="FKEY" key1="P" >
+                       <Objects>
+                               <Object objectname="FadeCurve" 
slotsignature="set_mode" modes="All" />
+                       </Objects>
+               </keyfact>
                <keyfact type="FKEY" key1="M" >
                        <Objects>
                                <Object objectname="CorrelationMeterView" 
slotsignature="set_mode" modes="All" />
                                <Object objectname="SpectralMeterView" 
slotsignature="set_mode" modes="All" />
-                               <Object objectname="FadeCurve" 
slotsignature="set_mode" modes="All" />
                                <Object objectname="TimeLineView" 
slotsignature="add_marker" modes="All" />
                                <Object objectname="SongView" 
slotsignature="add_marker" modes="All" sortorder="23" />
                                <Object objectname="TimeLineView" 
slotsignature="add_marker_at_playhead" modes="All" modifierkeys="CTRL" />
@@ -423,6 +427,26 @@
                                <Object objectname="AudioClipView" modes="All" 
sortorder="15" pluginname="TraversoCommands" commandname="SplitClip" />
                        </Objects>
                </keyfact>
+               <keyfact type="HKEY" key1="LARROW" >
+                       <Objects>
+                               <Object objectname="SongView" 
slotsignature="scroll_left_hold" modes="All" sortorder="1" submenu="Scroll" />
+                       </Objects>
+               </keyfact>
+               <keyfact type="HKEY" key1="RARROW" >
+                       <Objects>
+                               <Object objectname="SongView" 
slotsignature="scroll_right_hold" modes="All" sortorder="2" submenu="Scroll" />
+                       </Objects>
+               </keyfact>
+               <keyfact type="HKEY" key1="UARROW" >
+                       <Objects>
+                               <Object objectname="SongView" 
slotsignature="scroll_up_hold" modes="All" sortorder="4" submenu="Scroll" />
+                       </Objects>
+               </keyfact>
+               <keyfact type="HKEY" key1="DARROW" >
+                       <Objects>
+                               <Object objectname="SongView" 
slotsignature="scroll_down_hold" modes="All" sortorder="4" submenu="Scroll" />
+                       </Objects>
+               </keyfact>
                
                
                

Index: src/traverso/songcanvas/Cursors.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/Cursors.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- src/traverso/songcanvas/Cursors.cpp 27 Dec 2007 01:58:46 -0000      1.35
+++ src/traverso/songcanvas/Cursors.cpp 27 Dec 2007 22:27:23 -0000      1.36
@@ -34,7 +34,7 @@
 #include "Debugger.h"
 
 #define ANIME_DURATION         1000
-#define AUTO_SCROLL_MARGIN     0.05  // autoscroll when within 5% of the clip 
view port
+#define AUTO_SCROLL_MARGIN     0.10  // autoscroll when within 10% of the clip 
view port
 
 
 PlayHead::PlayHead(SongView* sv, Song* song, ClipsViewPort* vp)

Index: src/traverso/songcanvas/SongView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.cpp,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -b -r1.94 -r1.95
--- src/traverso/songcanvas/SongView.cpp        1 Dec 2007 23:49:46 -0000       
1.94
+++ src/traverso/songcanvas/SongView.cpp        27 Dec 2007 22:27:23 -0000      
1.95
@@ -36,6 +36,7 @@
 #include "AddRemove.h"
                
 #include <Zoom.h>
+#include <Scroll.h>
 #include <PlayHeadMove.h>
 #include <WorkCursorMove.h>
 
@@ -426,6 +427,13 @@
        }
 }
 
+void SongView::set_shuttle_factor_values(int x, int y)
+{
+       m_shuttleXfactor = x;
+       m_shuttleYfactor = y;
+}
+
+
 void SongView::update_shuttle_factor()
 {
        float vec[2];
@@ -602,14 +610,16 @@
 
 Command* SongView::scroll_up( )
 {
+       PENTER3;
        set_vscrollbar_value(m_clipsViewPort->verticalScrollBar()->value() - 
int(mean_track_height() * 0.75));
-       return 0;
+       return (Command*) 0;
 }
 
 Command* SongView::scroll_down( )
 {
+       PENTER3;
        set_vscrollbar_value(m_clipsViewPort->verticalScrollBar()->value() + 
int(mean_track_height() * 0.75));
-       return 0;
+       return (Command*) 0;
 }
 
 Command* SongView::scroll_right()
@@ -629,6 +639,31 @@
        return (Command*) 0;
 }
 
+Command* SongView::scroll_up_hold( )
+{
+       PENTER3;
+       return new Scroll(0, -20, this);
+}
+
+Command* SongView::scroll_down_hold( )
+{
+       PENTER3;
+       return new Scroll(0, 20, this);
+}
+
+Command* SongView::scroll_right_hold()
+{
+       PENTER3;
+       return new Scroll(20, 0, this);
+}
+
+
+Command* SongView::scroll_left_hold()
+{
+       PENTER3;
+       return new Scroll(-20, 0, this);
+}
+
 int SongView::hscrollbar_value() const
 {
        return m_clipsViewPort->horizontalScrollBar()->value();

Index: src/traverso/songcanvas/SongView.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- src/traverso/songcanvas/SongView.h  29 Nov 2007 10:04:52 -0000      1.38
+++ src/traverso/songcanvas/SongView.h  27 Dec 2007 22:27:23 -0000      1.39
@@ -52,6 +52,10 @@
        Q_CLASSINFO("scroll_left", tr("Left"))
        Q_CLASSINFO("scroll_up", tr("Up"))
        Q_CLASSINFO("scroll_down", tr("Down"))
+       Q_CLASSINFO("scroll_right_hold", tr("Right"))
+       Q_CLASSINFO("scroll_left_hold", tr("Left"))
+       Q_CLASSINFO("scroll_up_hold", tr("Up"))
+       Q_CLASSINFO("scroll_down_hold", tr("Down"))
        Q_CLASSINFO("shuttle", tr("Shuttle"))
        Q_CLASSINFO("goto_begin", tr("To start"))
        Q_CLASSINFO("goto_end", tr("To end"))
@@ -84,7 +88,7 @@
        void load_theme_data();
        void start_shuttle(bool start, bool drag=false);
        void update_shuttle_factor();
-       
+       void set_shuttle_factor_values(int x, int y);
        int hscrollbar_value() const;
        int vscrollbar_value() const;
 
@@ -143,6 +147,10 @@
         Command* scroll_left();
         Command* scroll_up();
         Command* scroll_down();
+        Command* scroll_right_hold();
+        Command* scroll_left_hold();
+        Command* scroll_up_hold();
+        Command* scroll_down_hold();
         Command* shuttle();
         Command* goto_begin();
         Command* goto_end();

Index: src/commands/commands.pro
===================================================================
RCS file: /sources/traverso/traverso/src/commands/commands.pro,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- src/commands/commands.pro   20 Oct 2007 17:38:16 -0000      1.23
+++ src/commands/commands.pro   27 Dec 2007 22:27:24 -0000      1.24
@@ -10,6 +10,7 @@
 SplitClip.cpp \
 TrackPan.cpp \
 Zoom.cpp \
+Scroll.cpp \
 AudioClipExternalProcessing.cpp \
 ArmTracks.cpp \
 PlayHeadMove.cpp \
@@ -29,6 +30,7 @@
 SplitClip.h \
 TrackPan.h \
 Zoom.h \
+Scroll.h \
 AudioClipExternalProcessing.h \
 ArmTracks.h \
 PlayHeadMove.h \

Index: src/commands/Scroll.cpp
===================================================================
RCS file: src/commands/Scroll.cpp
diff -N src/commands/Scroll.cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/commands/Scroll.cpp     27 Dec 2007 22:27:24 -0000      1.1
@@ -0,0 +1,75 @@
+/*
+    Copyright (C) 2007 Ben Levitt 
+ 
+    This file is part of Traverso
+ 
+    Traverso is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+ 
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+ 
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
+*/
+
+#include <libtraversocore.h>
+
+#include "Scroll.h"
+
+#include "SongView.h"
+#include <ClipsViewPort.h>
+
+// Always put me below _all_ includes, this is needed
+// in case we run with memory leak detection enabled!
+#include "Debugger.h"
+
+
+Scroll::Scroll(int x, int y, SongView* sv)
+       : Command("Scroll")
+{
+       m_dx = x;
+       m_dy = y;
+       m_sv = sv;
+}
+
+
+int Scroll::prepare_actions()
+{
+       return -1;
+}
+
+
+int Scroll::begin_hold()
+{
+       m_sv->start_shuttle(true);
+       m_sv->set_shuttle_factor_values(m_dx, m_dy);
+       
+       return 1;
+}
+
+
+int Scroll::finish_hold()
+{
+       m_sv->start_shuttle(false);
+
+       return 1;
+}
+
+int Scroll::do_action( )
+{
+       return -1;
+}
+
+int Scroll::undo_action( )
+{
+       return -1;
+}
+
+
+// eof

Index: src/commands/Scroll.h
===================================================================
RCS file: src/commands/Scroll.h
diff -N src/commands/Scroll.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/commands/Scroll.h       27 Dec 2007 22:27:24 -0000      1.1
@@ -0,0 +1,48 @@
+/*
+    Copyright (C) 2007 Ben Levitt 
+ 
+    This file is part of Traverso
+ 
+    Traverso is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+ 
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+ 
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
+*/
+
+#ifndef SCROLL_H
+#define SCROLL_H
+
+#include "Command.h"
+
+class SongView;
+class QPoint;
+
+class Scroll : public Command
+{
+public :
+        Scroll(int x, int y, SongView* sv);
+        ~Scroll() {};
+
+        int begin_hold();
+        int finish_hold();
+        int prepare_actions();
+       int do_action();
+       int undo_action();
+
+private :
+        SongView* m_sv;
+       int m_dx;
+       int m_dy;
+};
+
+#endif
+




reply via email to

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