traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src commands/Import.cpp commands/Impor...


From: Ben Levitt
Subject: [Traverso-commit] traverso/src commands/Import.cpp commands/Impor...
Date: Mon, 04 Jun 2007 22:44:26 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Ben Levitt <benjie>     07/06/04 22:44:26

Modified files:
        src/commands   : Import.cpp Import.h 
        src/traverso/songcanvas: ClipsViewPort.cpp 

Log message:
        dragging from the fileWidget, another filemanager drops a clip at the 
mouse pointer, to match behavior of dragging from resource bin

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Import.cpp?cvsroot=traverso&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/Import.h?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/ClipsViewPort.cpp?cvsroot=traverso&r1=1.22&r2=1.23

Patches:
Index: commands/Import.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/Import.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- commands/Import.cpp 30 May 2007 13:14:45 -0000      1.24
+++ commands/Import.cpp 4 Jun 2007 22:44:25 -0000       1.25
@@ -38,6 +38,7 @@
        m_clip = 0;
        m_track = 0;
        m_silent = false;
+       m_hasPosition = false;
        m_initialLength = 0;
 }
 
@@ -48,6 +49,7 @@
        m_track = track;
        m_clip = 0;
        m_silent = silent;
+       m_hasPosition = false;
        m_initialLength = length;
        
        if (!m_silent) {
@@ -65,9 +67,22 @@
        m_clip = 0;
        m_fileName = fileName;
        m_silent = false;
+       m_hasPosition = false;
        m_initialLength = 0;
 }
 
+Import::Import(Track* track, const QString& fileName, nframes_t position)
+       : Command(track, tr("Import Audio File"))
+{
+       m_track = track;
+       m_clip = 0;
+       m_fileName = fileName;
+       m_silent = false;
+       m_initialLength = 0;
+       m_hasPosition = true;
+       m_position = position;
+}
+
 Import::~Import()
 {}
 
@@ -130,11 +145,13 @@
        m_clip->set_track(m_track);
        
        nframes_t startFrame = 0;
-       
+       if (!m_hasPosition) {
        if (AudioClip* lastClip = m_track->get_cliplist().get_last()) {
                startFrame = lastClip->get_track_end_frame() + 1;
        }
-
+       } else {
+               startFrame = m_position;
+       }
        m_clip->set_track_start_frame(startFrame);
        
        if (m_initialLength > 0) {
@@ -148,6 +165,13 @@
 }
 
 
+void Import::set_position(nframes_t position)
+{
+       m_hasPosition = true;
+       m_position = position;
+}
+
+
 int Import::do_action()
 {
        PENTER;

Index: commands/Import.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/Import.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- commands/Import.h   2 May 2007 05:58:20 -0000       1.5
+++ commands/Import.h   4 Jun 2007 22:44:25 -0000       1.6
@@ -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: Import.h,v 1.5 2007/05/02 05:58:20 benjie Exp $
+    $Id: Import.h,v 1.6 2007/06/04 22:44:25 benjie Exp $
 */
 
 #ifndef IMPORT_H
@@ -35,6 +35,7 @@
        Import(const QString& fileName);
         Import(Track* track, bool silent = false, nframes_t length = 0);
         Import(Track* track, const QString& fileName);
+        Import(Track* track, const QString& fileName, nframes_t position);
         ~Import();
 
         int prepare_actions();
@@ -44,6 +45,7 @@
        int create_readsource();
        void create_audioclip();
        void set_track(Track* track);
+       void set_position(nframes_t position);
 
 private :
         Track*                 m_track;
@@ -53,6 +55,8 @@
        QString         m_name;
        bool            m_silent;
        nframes_t       m_initialLength;
+       bool            m_hasPosition;
+       nframes_t       m_position;
 };
 
 #endif

Index: traverso/songcanvas/ClipsViewPort.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/ClipsViewPort.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- traverso/songcanvas/ClipsViewPort.cpp       4 Jun 2007 10:55:57 -0000       
1.22
+++ traverso/songcanvas/ClipsViewPort.cpp       4 Jun 2007 22:44:25 -0000       
1.23
@@ -174,6 +174,9 @@
        
        foreach(Import* import, m_imports) {
                import->set_track(importTrack);
+               if (m_imports.size() == 1) {
+                       import->set_position(startpos);
+               }
                group->add_command(import);
        }
 




reply via email to

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