[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src commands/MoveClip.cpp commands/Mov...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src commands/MoveClip.cpp commands/Mov... |
Date: |
Thu, 05 Apr 2007 17:53:48 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/04/05 17:53:48
Modified files:
src/commands : MoveClip.cpp MoveClip.h
src/core : Song.cpp Song.h Track.cpp Track.h
Log message:
* Added convenience function Song::move_clip()
* fixed scrollbar weirdness when moving/copying a clip
* MoveClip updated, though the un/redo functions could still be a
little better coded...
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.cpp?cvsroot=traverso&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.h?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.cpp?cvsroot=traverso&r1=1.77&r2=1.78
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.h?cvsroot=traverso&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Track.cpp?cvsroot=traverso&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Track.h?cvsroot=traverso&r1=1.26&r2=1.27
Patches:
Index: commands/MoveClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- commands/MoveClip.cpp 2 Apr 2007 21:05:43 -0000 1.27
+++ commands/MoveClip.cpp 5 Apr 2007 17:53:48 -0000 1.28
@@ -84,7 +84,7 @@
d->view = cv;
d->sv = d->view->get_songview();
- d->song = d->sv->get_song();
+ m_song = d->sv->get_song();
m_targetTrack = 0;
if (m_actionType == "move_to_start" ||
@@ -162,7 +162,8 @@
{
if (m_actionType == "copy") {
d->newclip =
resources_manager()->get_clip(d->view->get_clip()->get_id());
- d->newclip->set_song(d->song);
+ d->newclip->set_song(m_song);
+ d->newclip->set_track(d->view->get_clip()->get_track());
d->newclip->set_track_start_frame(d->view->get_clip()->get_track_start_frame()
+ d->xoffset);
printf("Orig Clip has id %lld\n",
d->view->get_clip()->get_id());
@@ -218,11 +219,8 @@
if (!m_targetTrack) {
Command::process_command(m_originTrack->remove_clip(m_clip,
false));
- m_targetTrack = (Track*) 0;
} else {
- Command::process_command(m_originTrack->remove_clip(m_clip,
false));
- m_clip->set_track_start_frame(m_originalTrackFirstFrame +
m_posDiff);
- Command::process_command(m_targetTrack->add_clip(m_clip,
false));
+ m_song->move_clip(m_originTrack, m_targetTrack, m_clip,
m_originalTrackFirstFrame + m_posDiff);
}
if (m_actionType == "copy") {
@@ -282,8 +280,7 @@
// printf("newPos x, y is %f, %f\n", newPos.x(), newPos.y());
- if (m_actionType != "anchored_left_edge_move" && m_actionType !=
"anchored_right_edge_move")
- {
+ if (m_actionType != "anchored_left_edge_move" && m_actionType !=
"anchored_right_edge_move") {
TrackView* trackView =
d->sv->get_trackview_under(cpointer().scene_pos());
if (!trackView) {
// printf("no trackview returned\n");
@@ -314,9 +311,9 @@
int snapEndDiff = 0;
int snapDiff = 0;
- if (d->song->is_snap_on()) {
+ if (m_song->is_snap_on()) {
- SnapList* slist = d->song->get_snap_list();
+ SnapList* slist = m_song->get_snap_list();
// check if there is anything to snap
bool start_snapped = false;
Index: commands/MoveClip.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- commands/MoveClip.h 29 Mar 2007 21:09:42 -0000 1.13
+++ commands/MoveClip.h 5 Apr 2007 17:53:48 -0000 1.14
@@ -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: MoveClip.h,v 1.13 2007/03/29 21:09:42 benjie Exp $
+ $Id: MoveClip.h,v 1.14 2007/04/05 17:53:48 r_sijrier Exp $
*/
#ifndef MOVECLIPACTION_H
@@ -52,6 +52,7 @@
int jog();
private :
+ Song* m_song;
AudioClip* m_clip;
nframes_t m_originalTrackFirstFrame;
nframes_t m_posDiff;
@@ -65,7 +66,6 @@
int hScrollbarValue;
int xoffset;
AudioClip* newclip;
- Song* song;
SongView* sv;
AudioClipView* view;
QPoint origPos;
Index: core/Song.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.cpp,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -b -r1.77 -r1.78
--- core/Song.cpp 4 Apr 2007 10:09:22 -0000 1.77
+++ core/Song.cpp 5 Apr 2007 17:53:48 -0000 1.78
@@ -903,5 +903,18 @@
return 0;
}
+void Song::move_clip(Track * from, Track * too, AudioClip * clip, nframes_t
pos)
+{
+ if (from == too) {
+ clip->set_track_start_frame(pos);
+ return;
+ }
+
+ Command::process_command(from->remove_clip(clip, false, true));
+ Command::process_command(too->add_clip(clip, false, true));
+
+ clip->set_track_start_frame(pos);
+}
+
// eof
Index: core/Song.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- core/Song.h 5 Apr 2007 13:15:39 -0000 1.41
+++ core/Song.h 5 Apr 2007 17:53:48 -0000 1.42
@@ -107,6 +107,7 @@
void solo_track(Track* track);
void create(int tracksToCreate);
+ void move_clip(Track* from, Track* too, AudioClip* clip, nframes_t pos);
Command* add_track(Track* track, bool historable=true);
Command* remove_track(Track* track, bool historable=true);
Index: core/Track.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Track.cpp,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- core/Track.cpp 4 Apr 2007 12:08:57 -0000 1.47
+++ core/Track.cpp 5 Apr 2007 17:53:48 -0000 1.48
@@ -209,10 +209,12 @@
}
-Command* Track::remove_clip(AudioClip* clip, bool historable)
+Command* Track::remove_clip(AudioClip* clip, bool historable, bool ismove)
{
PENTER;
+ if (! ismove) {
m_song->get_audioclip_manager()->remove_clip(clip);
+ }
return new AddRemove(this, clip, historable, m_song,
"private_remove_clip(AudioClip*)",
"audioClipRemoved(AudioClip*)",
"private_add_clip(AudioClip*)", "audioClipAdded(AudioClip*)",
@@ -220,11 +222,13 @@
}
-Command* Track::add_clip(AudioClip* clip, bool historable)
+Command* Track::add_clip(AudioClip* clip, bool historable, bool ismove)
{
PENTER;
clip->set_track(this);
+ if (! ismove) {
m_song->get_audioclip_manager()->add_clip(clip);
+ }
return new AddRemove(this, clip, historable, m_song,
"private_add_clip(AudioClip*)", "audioClipAdded(AudioClip*)",
"private_remove_clip(AudioClip*)",
"audioClipRemoved(AudioClip*)",
Index: core/Track.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Track.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- core/Track.h 3 Apr 2007 14:18:54 -0000 1.26
+++ core/Track.h 5 Apr 2007 17:53:48 -0000 1.27
@@ -54,10 +54,10 @@
static const int INITIAL_HEIGHT = 100;
- Command* add_clip(AudioClip* clip, bool historable=true);
+ Command* add_clip(AudioClip* clip, bool historable=true, bool
ismove=false);
Command* add_plugin(Plugin* plugin);
- Command* remove_clip(AudioClip* clip, bool historable=true);
+ Command* remove_clip(AudioClip* clip, bool historable=true, bool
ismove=false);
Command* remove_plugin(Plugin* plugin);
Command* init_recording();
- [Traverso-commit] traverso/src commands/MoveClip.cpp commands/Mov...,
Remon Sijrier <=