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/plug...


From: Remon Sijrier
Subject: [Traverso-commit] traverso resources/keymap.xml src/commands/plug...
Date: Thu, 05 Apr 2007 12:18:12 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/04/05 12:18:12

Modified files:
        resources      : keymap.xml 
        src/commands/plugins/TraversoCommands: TraversoCommands.cpp 
        src/traverso/songcanvas: TrackPanelView.cpp TrackPanelView.h 

Log message:
        Mouse left button support added for TrackPanel Gain/Pan 'sliders'

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/plugins/TraversoCommands/TraversoCommands.cpp?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/TrackPanelView.cpp?cvsroot=traverso&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/TrackPanelView.h?cvsroot=traverso&r1=1.7&r2=1.8

Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- resources/keymap.xml        4 Apr 2007 12:08:57 -0000       1.44
+++ resources/keymap.xml        5 Apr 2007 12:18:12 -0000       1.45
@@ -206,6 +206,8 @@
                                <Object objectname="SongView" 
slotsignature="scroll_up" modes="All" sortorder="1" submenu="Scroll" 
instantanious="1" />
                                <Object objectname="Gain" 
slotsignature="increase_gain" modes="All" instantanious="1" />
                                <Object objectname="MoveClip" 
slotsignature="prev_snap_pos" modes="All" sortorder="2" instantanious="1" />
+                               <Object objectname="TrackPanelPan" 
slotsignature="pan_right" modes="All" sortorder="1" instantanious="1" />
+                               <Object objectname="TrackPanelGain" 
slotsignature="gain_increment" modes="All" sortorder="1" instantanious="1" />
                        </Objects>
                </keyfact>
                <keyfact type="FKEY" key1="MouseScrollVerticalDown" >
@@ -214,6 +216,8 @@
                                <Object objectname="SongView" 
slotsignature="scroll_down" modes="All" sortorder="2" submenu="Scroll" 
instantanious="1" />
                                <Object objectname="Gain" 
slotsignature="decrease_gain" modes="All" instantanious="1" />
                                <Object objectname="MoveClip" 
slotsignature="next_snap_pos" modes="All" sortorder="1" instantanious="1" />
+                               <Object objectname="TrackPanelPan" 
slotsignature="pan_left" modes="All" sortorder="2" instantanious="1" />
+                               <Object objectname="TrackPanelGain" 
slotsignature="gain_decrement" modes="All" sortorder="2" instantanious="1" />
                        </Objects>
                </keyfact>
                <keyfact type="FKEY" key1="F" >
@@ -223,23 +227,6 @@
                </keyfact>
                
                
-               <keyfact type="D_FKEY" key1="MouseButtonLeft" >
-                       <Objects>
-                               <Object objectname="CurveView" 
slotsignature="add_node" modes="All" instantanious="0" />
-                       </Objects>
-               </keyfact>
-               <keyfact type="D_FKEY" key1="HOME" >
-                       <Objects>
-                               <Object objectname="AudioClipView" 
mousehint="LRUD" modes="All" sortorder="8" pluginname="TraversoCommands" 
commandname="MoveClip"  arguments="move_to_start" />
-                       </Objects>
-               </keyfact>
-               <keyfact type="D_FKEY" key1="END" >
-                       <Objects>
-                               <Object objectname="AudioClipView" 
mousehint="LRUD" modes="All" sortorder="8" pluginname="TraversoCommands" 
commandname="MoveClip"  arguments="move_to_end" />
-                       </Objects>
-               </keyfact>
-
-               
                
                <keyfact type="FKEY2" key1="A" key2="B" >
                        <Objects>
@@ -356,6 +343,8 @@
                                <Object objectname="CurveView" mousehint="LRUD" 
slotsignature="drag_node" modes="EditMode" sortorder="3" instantanious="1" />
                                <Object objectname="TimeLineView" 
mousehint="LR" slotsignature="drag_marker" modes="EditMode" sortorder="3" 
instantanious="1" />
                                <Object objectname="SongView" mousehint="LR" 
slotsignature="work_cursor_move" modes="All" sortorder="14" instantanious="0" />
+                               <Object objectname="TrackPanelGain" modes="All" 
sortorder="7" pluginname="TraversoCommands" commandname="Gain" />
+                               <Object objectname="TrackPanelPan" 
mousehint="LR"  modes="All" sortorder="8" pluginname="TraversoCommands" 
commandname="TrackPan" />
                        </Objects>
                </keyfact> 
                <keyfact type="HKEY" key1="D" >
@@ -457,6 +446,7 @@
                        <Objects>
                                <Object objectname="AudioClip" modes="All" 
sortorder="22" pluginname="TraversoCommands" commandname="ResetGain" 
arguments="1.0" />
                                <Object objectname="Track" modes="All" 
sortorder="30" pluginname="TraversoCommands" commandname="ResetGain" 
arguments="0.5" />
+                               <Object objectname="TrackPanelGain" modes="All" 
sortorder="30" pluginname="TraversoCommands" commandname="ResetGain" 
arguments="0.5" />
                        </Objects>
                </keyfact>
                <keyfact type="D_FKEY" key1="N" >
@@ -477,6 +467,24 @@
                                <Object objectname="TimeLineView" 
slotsignature="remove_marker" modes="All" instantanious="0" />
                        </Objects>
                </keyfact>
+               <keyfact type="D_FKEY" key1="MouseButtonLeft" >
+                       <Objects>
+                               <Object objectname="CurveView" 
slotsignature="add_node" modes="All" instantanious="0" />
+                               <Object objectname="TrackPanelGain" modes="All" 
sortorder="30" pluginname="TraversoCommands" commandname="ResetGain" 
arguments="0.5" />
+                       </Objects>
+               </keyfact>
+               <keyfact type="D_FKEY" key1="HOME" >
+                       <Objects>
+                               <Object objectname="AudioClipView" 
mousehint="LRUD" modes="All" sortorder="8" pluginname="TraversoCommands" 
commandname="MoveClip"  arguments="move_to_start" />
+                       </Objects>
+               </keyfact>
+               <keyfact type="D_FKEY" key1="END" >
+                       <Objects>
+                               <Object objectname="AudioClipView" 
mousehint="LRUD" modes="All" sortorder="8" pluginname="TraversoCommands" 
commandname="MoveClip"  arguments="move_to_end" />
+                       </Objects>
+               </keyfact>
+               
+               
        
                <keyfact type="D_FKEY2" key1="DEL" key2="T" >
                        <Objects>

Index: src/commands/plugins/TraversoCommands/TraversoCommands.cpp
===================================================================
RCS file: 
/sources/traverso/traverso/src/commands/plugins/TraversoCommands/TraversoCommands.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/commands/plugins/TraversoCommands/TraversoCommands.cpp  29 Mar 2007 
21:09:42 -0000      1.3
+++ src/commands/plugins/TraversoCommands/TraversoCommands.cpp  5 Apr 2007 
12:18:12 -0000       1.4
@@ -55,23 +55,31 @@
        switch (m_dict.value(command)) {
                case GainCommand:
                {
-                       ContextItem* item = qobject_cast<ContextItem*>(obj);
-                       if (!item) {
+                       Track* track = qobject_cast<Track*>(obj);
+                       if (!track) {
+                               TrackPanelGain* tpg = 
qobject_cast<TrackPanelGain*>(obj);
+                               if (! tpg ) {
                                PERROR("TraversoCommands: Supplied QObject was 
not aContextItem, "
                                        "GainCommand only works with 
ContextItem objects!!");
                                return 0;
                        }
-                       return new Gain(item, arguments);
+                               track = (Track*)(tpg->get_context());
+                       }
+                       return new Gain(track, arguments);
                }
                
                case TrackPanCommand:
                {
                        Track* track = qobject_cast<Track*>(obj);
                        if (! track) {
+                               TrackPanelPan* tpp = 
qobject_cast<TrackPanelPan*>(obj);
+                               if (! tpp ) {
                                PERROR("TraversoCommands: Supplied QObject was 
not a Track! "
                                        "TrackPanCommand needs a Track as 
argument");
                                return 0;
                        }
+                               track = (Track*)(tpp->get_context());
+                       }
                        return new TrackPan(track);
                }
                

Index: src/traverso/songcanvas/TrackPanelView.cpp
===================================================================
RCS file: 
/sources/traverso/traverso/src/traverso/songcanvas/TrackPanelView.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- src/traverso/songcanvas/TrackPanelView.cpp  29 Mar 2007 11:12:06 -0000      
1.16
+++ src/traverso/songcanvas/TrackPanelView.cpp  5 Apr 2007 12:18:12 -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: TrackPanelView.cpp,v 1.16 2007/03/29 11:12:06 r_sijrier Exp $
+$Id: TrackPanelView.cpp,v 1.17 2007/04/05 12:18:12 r_sijrier Exp $
 */
 
 #include <QGraphicsScene>
@@ -30,6 +30,8 @@
 #include "TrackPanelView.h"
 #include <Utils.h>
 #include <Mixer.h>
+#include <Gain.h>
+#include <TrackPan.h>
                
 #include <Debugger.h>
 
@@ -237,15 +239,15 @@
 
 TrackPanelGain::TrackPanelGain(TrackPanelView* parent, Track * track)
        : ViewItem(parent, track)
+       , m_track(track)
 {
-       m_track = track;
+       setAcceptsHoverEvents(true);
 }
 
 void TrackPanelGain::paint( QPainter * painter, const QStyleOptionGraphicsItem 
* option, QWidget * widget )
 {
-       Q_UNUSED(option);
        Q_UNUSED(widget);
-       const int GAIN_H = 8;
+       const int height = 9;
 
        int sliderWidth = (int)m_boundingRect.width() - 75;
        float gain = m_track->get_gain();
@@ -264,35 +266,59 @@
        }
 
        int cr = (gain >= 1 ? 30 + (int)(100 * gain) : (int)(50 * gain));
-       int cb = ( gain < 1 ? 100 + (int)(50 * gain) : abs((int)(10 * gain)) );
+       int cb = ( gain < 1 ? 150 + (int)(50 * gain) : abs((int)(10 * gain)) );
        
        painter->setPen(themer()->get_color("TrackPanel:text"));
        painter->setFont(themer()->get_font("TrackPanel:gain"));
-       painter->drawText(0, GAIN_H + 1, "GAIN");
-       painter->drawRect(30, 0, sliderWidth, GAIN_H);
-       painter->fillRect(30, 0, sliderdbx, GAIN_H, QColor(cr,0,cb));
-       painter->drawText(sliderWidth + 35, GAIN_H, sgain);
+       painter->drawText(0, height + 1, "GAIN");
+       painter->drawRect(30, 0, sliderWidth, height);
+       
+       bool mousehover = (option->state & QStyle::State_MouseOver);
+       QColor color(cr,0,cb);
+       if (mousehover) {
+               color = color.light(140);
+       }
+       painter->fillRect(31, 1, sliderdbx, height-1, color);
+       painter->drawText(sliderWidth + 35, height, sgain);
 }
 
 void TrackPanelGain::set_width(int width)
 {
-       m_boundingRect = QRectF(0, 0, width, 8);
+       m_boundingRect = QRectF(0, 0, width, 9);
 }
 
+Command* TrackPanelGain::gain_increment()
+{
+       m_track->set_gain(m_track->get_gain() + 0.05);
+       return 0;
+}
 
+Command* TrackPanelGain::gain_decrement()
+{
+       m_track->set_gain(m_track->get_gain() - 0.05);
+       return 0;
+}
 
 
 TrackPanelPan::TrackPanelPan(TrackPanelView* parent, Track * track)
        : ViewItem(parent, track)
+       , m_track(track)
 {
-       m_track = track;
+       setAcceptsHoverEvents(true);
 }
 
 void TrackPanelPan::paint( QPainter * painter, const QStyleOptionGraphicsItem 
* option, QWidget * widget )
 {
-       Q_UNUSED(option);
        Q_UNUSED(widget);
-       const int PAN_H = 8;
+       
+       bool mousehover = (option->state & QStyle::State_MouseOver);
+       
+       QColor color = themer()->get_color("TrackPanel:slider:background");
+       if (mousehover) {
+               color = color.light(110);
+       }
+       
+       const int PAN_H = 9;
 
        int sliderWidth = (int)m_boundingRect.width() - 75;
        float v;
@@ -306,21 +332,34 @@
        v = m_track->get_pan();
        span = QByteArray::number(v,'f',1);
        s = ( v > 0 ? QString("+") + span :  span );
-       painter->fillRect(30, 0, sliderWidth, PAN_H, 
themer()->get_color("TrackPanel:slider:background"));
+       painter->fillRect(30, 0, sliderWidth, PAN_H, color);
        painter->drawRect(30, 0, sliderWidth, PAN_H);
-       int pm= 30 + sliderWidth/2;
+       int pm= 31 + sliderWidth/2;
        int z = abs((int)(v*(sliderWidth/2)));
        int c = abs((int)(255*v));
-       if (v>=0)
-               painter->fillRect(pm, 0, z, PAN_H, QColor(c,0,0));
-       else
-               painter->fillRect(pm-z, 0, z, PAN_H, QColor(c,0,0));
+       if (v>=0) {
+               painter->fillRect(pm, 1, z, PAN_H-1, QColor(c,0,0));
+       } else {
+               painter->fillRect(pm-z, 1, z, PAN_H-1, QColor(c,0,0));
+       }
        painter->drawText(30 + sliderWidth + 10, PAN_H + 1, s);
 }
 
 void TrackPanelPan::set_width(int width)
 {
-       m_boundingRect = QRectF(0, 0, width, 8);
+       m_boundingRect = QRectF(0, 0, width, 9);
+}
+
+Command* TrackPanelPan::pan_left()
+{
+       m_track->set_pan(m_track->get_pan() - 0.05);
+       return 0;
+}
+
+Command* TrackPanelPan::pan_right()
+{
+       m_track->set_pan(m_track->get_pan() + 0.05);
+       return 0;
 }
 
 
@@ -332,7 +371,6 @@
        , m_isOn(false)
 {
        m_track = parent->get_track();
-//     m_boundingRect = QRectF(-7, 0, 35, 14); 
        setAcceptsHoverEvents(true);
 }
 

Index: src/traverso/songcanvas/TrackPanelView.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/TrackPanelView.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/traverso/songcanvas/TrackPanelView.h    29 Mar 2007 11:12:06 -0000      
1.7
+++ src/traverso/songcanvas/TrackPanelView.h    5 Apr 2007 12:18:12 -0000       
1.8
@@ -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: TrackPanelView.h,v 1.7 2007/03/29 11:12:06 r_sijrier Exp $
+$Id: TrackPanelView.h,v 1.8 2007/04/05 12:18:12 r_sijrier Exp $
 */
 
 #ifndef TRACK_PANEL_VIEW_H
@@ -43,6 +43,11 @@
        QRectF boundingRect() const {return m_boundingRect;}
        void set_width(int width);
 
+public slots:
+       Command* gain_increment();
+       Command* gain_decrement();
+
+       
 private:
        QRectF  m_boundingRect;
        Track* m_track;
@@ -61,6 +66,10 @@
        QRectF boundingRect() const {return m_boundingRect;}
        void set_width(int width);
 
+public slots:
+       Command* pan_left();
+       Command* pan_right();
+
 private:
        QRectF  m_boundingRect;
        Track* m_track;




reply via email to

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