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/core/Song.cpp...


From: Ben Levitt
Subject: [Traverso-commit] traverso resources/keymap.xml src/core/Song.cpp...
Date: Sat, 02 Jun 2007 23:02:35 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Ben Levitt <benjie>     07/06/02 23:02:33

Modified files:
        resources      : keymap.xml 
        src/core       : Song.cpp Song.h 
        src/traverso/songcanvas: SongView.cpp SongView.h 
        src/traverso/widgets: InfoWidgets.cpp InfoWidgets.h 

Log message:
        make the Follow Playhead button show the current follow state during 
playback.  During playback, toggling the follow button toggles the current 
state of follow.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.77&r2=1.78
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.cpp?cvsroot=traverso&r1=1.115&r2=1.116
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.h?cvsroot=traverso&r1=1.57&r2=1.58
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.cpp?cvsroot=traverso&r1=1.67&r2=1.68
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.h?cvsroot=traverso&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/InfoWidgets.cpp?cvsroot=traverso&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/InfoWidgets.h?cvsroot=traverso&r1=1.17&r2=1.18

Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -b -r1.77 -r1.78
--- resources/keymap.xml        2 Jun 2007 22:17:45 -0000       1.77
+++ resources/keymap.xml        2 Jun 2007 23:02:32 -0000       1.78
@@ -318,11 +318,6 @@
                                <Object objectname="TrackView" modes="All" 
sortorder="13"  slotsignature="insert_silence" instantanious="0" />
                        </Objects>
                </keyfact>
-               <keyfact type="FKEY2" key1="V" key2="C" >
-                       <Objects>
-                               <Object objectname="SongView" 
slotsignature="playhead_to_workcursor" modes="All" sortorder="12" 
submenu="Playhead" instantanious="0" />
-                       </Objects>
-               </keyfact>
                <keyfact type="FKEY2" key1="V" key2="B" >
                        <Objects>
                                <Object objectname="SongView" 
slotsignature="center_playhead" modes="All" sortorder="15" submenu="Playhead" 
instantanious="0" />

Index: src/core/Song.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.cpp,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -b -r1.115 -r1.116
--- src/core/Song.cpp   30 May 2007 16:13:58 -0000      1.115
+++ src/core/Song.cpp   2 Jun 2007 23:02:32 -0000       1.116
@@ -1162,5 +1162,10 @@
        emit recordingStateChanged();
 }
 
+void Song::set_temp_follow_state(bool state)
+{
+       emit tempFollowChanged(state);
+}
+
 // eof
 

Index: src/core/Song.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.h,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- src/core/Song.h     30 May 2007 13:57:36 -0000      1.57
+++ src/core/Song.h     2 Jun 2007 23:02:33 -0000       1.58
@@ -206,6 +206,8 @@
        
        float get_gain() const;
 
+       void set_temp_follow_state(bool state);
+
        Command* go();
        Command* go_and_record();
        Command* work_next_edge();
@@ -229,6 +231,7 @@
        void lastFramePositionChanged();
        void seekStart(uint position);
        void snapChanged();
+       void tempFollowChanged(bool state);
        void propertyChanged();
        void setCursorAtEdge();
        void masterGainChanged();

Index: src/traverso/songcanvas/SongView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.cpp,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -b -r1.67 -r1.68
--- src/traverso/songcanvas/SongView.cpp        31 May 2007 06:20:13 -0000      
1.67
+++ src/traverso/songcanvas/SongView.cpp        2 Jun 2007 23:02:33 -0000       
1.68
@@ -110,6 +110,7 @@
        }
        
        connect(m_song, SIGNAL(hzoomChanged()), this, 
SLOT(scale_factor_changed()));
+       connect(m_song, SIGNAL(tempFollowChanged(bool)), this, 
SLOT(set_follow_state(bool)));
        connect(m_song, SIGNAL(trackAdded(Track*)), this, 
SLOT(add_new_trackview(Track*)));
        connect(m_song, SIGNAL(trackRemoved(Track*)), this, 
SLOT(remove_trackview(Track*)));
        connect(m_song, SIGNAL(lastFramePositionChanged()), this, 
SLOT(update_scrollbars()));
@@ -344,16 +345,26 @@
 
 void SongView::stop_follow_play_head()
 {
-       m_actOnPlayHead = false;
-       m_playCursor->disable_follow();
+       m_song->set_temp_follow_state(false);
 }
 
 
 void SongView::follow_play_head()
 {
+       m_song->set_temp_follow_state(true);
+}
+
+
+void SongView::set_follow_state(bool state)
+{
+       if (state) {
        m_actOnPlayHead = true;
        m_playCursor->enable_follow();
        m_playCursor->setPos(m_song->get_transport_frame() / scalefactor, 0);
+       } else {
+               m_actOnPlayHead = false;
+               m_playCursor->disable_follow();
+       }
 }
 
 

Index: src/traverso/songcanvas/SongView.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- src/traverso/songcanvas/SongView.h  31 May 2007 06:20:13 -0000      1.30
+++ src/traverso/songcanvas/SongView.h  2 Jun 2007 23:02:33 -0000       1.31
@@ -124,6 +124,7 @@
        void update_scrollbars();
        void stop_follow_play_head();
        void follow_play_head();
+       void set_follow_state(bool state);
 
        Command* touch();
        Command* touch_play_cursor();

Index: src/traverso/widgets/InfoWidgets.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/InfoWidgets.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- src/traverso/widgets/InfoWidgets.cpp        25 May 2007 12:21:20 -0000      
1.36
+++ src/traverso/widgets/InfoWidgets.cpp        2 Jun 2007 23:02:33 -0000       
1.37
@@ -623,7 +623,9 @@
        if (m_song) {
                connect(m_song, SIGNAL(snapChanged()), this, 
SLOT(update_snap_state()));
                connect(m_song, SIGNAL(modeChanged()), this, 
SLOT(update_effects_state()));
+               connect(m_song, SIGNAL(tempFollowChanged(bool)), this, 
SLOT(update_temp_follow_state(bool)));
                connect(m_song, SIGNAL(recordingStateChanged()), this, 
SLOT(update_recording_state()));
+               connect(m_song, SIGNAL(transferStopped()), this, 
SLOT(update_follow_state()));
                update_snap_state();
                update_effects_state();
                update_recording_state();
@@ -666,10 +668,21 @@
        m_followAct->setChecked(config().get_property("PlayHead", "Follow", 
true).toBool());
 }
 
+void SongInfo::update_temp_follow_state(bool state)
+{
+       if (m_song->is_transporting()) {
+               m_followAct->setChecked(state);
+       }
+}
+
 void SongInfo::follow_state_changed(bool state)
 {
+       if (!m_song->is_transporting()) {
        config().set_property("PlayHead", "Follow", state);
        config().save();
+       } else {
+               m_song->set_temp_follow_state(state);
+       }
 }
 
 void SongInfo::effect_button_clicked()

Index: src/traverso/widgets/InfoWidgets.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/InfoWidgets.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- src/traverso/widgets/InfoWidgets.h  25 May 2007 10:52:28 -0000      1.17
+++ src/traverso/widgets/InfoWidgets.h  2 Jun 2007 23:02:33 -0000       1.18
@@ -189,6 +189,7 @@
        void update_snap_state();
        void snap_state_changed(bool state);
        void update_follow_state();
+       void update_temp_follow_state(bool state);
        void update_effects_state();
        void follow_state_changed(bool state);
        void effect_button_clicked();




reply via email to

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