[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: |
Ben Levitt |
Subject: |
[Traverso-commit] traverso/src commands/MoveClip.cpp commands/Mov... |
Date: |
Thu, 17 May 2007 06:55:43 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Ben Levitt <benjie> 07/05/17 06:55:43
Modified files:
src/commands : MoveClip.cpp MoveEdge.cpp
src/core : Song.cpp
src/traverso/songcanvas: AudioClipView.cpp FadeView.cpp
SongView.cpp SongView.h
Log message:
- fix fadeOut painting in wrong position when clip length < fade length
- fix clip painting glitch at start/end when a fade is < 1 px
- set/get song's transportPos on open/save (still need to make
playCursor show on open)
- fix follow_play_head bugs when scrolling, draging clips, edges, etc
(fix for more commands?)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.cpp?cvsroot=traverso&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveEdge.cpp?cvsroot=traverso&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.cpp?cvsroot=traverso&r1=1.98&r2=1.99
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.66&r2=1.67
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/FadeView.cpp?cvsroot=traverso&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.cpp?cvsroot=traverso&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.h?cvsroot=traverso&r1=1.23&r2=1.24
Patches:
Index: commands/MoveClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- commands/MoveClip.cpp 14 May 2007 14:44:31 -0000 1.39
+++ commands/MoveClip.cpp 17 May 2007 06:55:42 -0000 1.40
@@ -162,6 +162,7 @@
int MoveClip::begin_hold()
{
+ d->sv->stop_follow_play_head();
if (m_actionType == "copy") {
d->newclip =
resources_manager()->get_clip(d->view->get_clip()->get_id());
d->newclip->set_song(m_song);
Index: commands/MoveEdge.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveEdge.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- commands/MoveEdge.cpp 30 Apr 2007 10:09:11 -0000 1.17
+++ commands/MoveEdge.cpp 17 May 2007 06:55:42 -0000 1.18
@@ -66,6 +66,7 @@
}
m_clip->set_snappable(false);
+ m_sv->stop_follow_play_head();
return 1;
}
Index: core/Song.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.cpp,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -b -r1.98 -r1.99
--- core/Song.cpp 16 May 2007 00:05:31 -0000 1.98
+++ core/Song.cpp 17 May 2007 06:55:42 -0000 1.99
@@ -186,6 +186,7 @@
set_hzoom(e.attribute( "hzoom", "" ).toInt());
set_first_visible_frame(e.attribute( "firstVisibleFrame", "0"
).toUInt());
set_work_at(e.attribute( "workingFrame", "0").toUInt());
+ set_transport_pos(e.attribute( "transportFrame", "0").toUInt());
m_timeline->set_state(node.firstChildElement("TimeLine"));
@@ -219,6 +220,7 @@
properties.setAttribute("artists", artists);
properties.setAttribute("firstVisibleFrame", firstVisibleFrame);
properties.setAttribute("workingFrame", (uint)workingFrame);
+ properties.setAttribute("transportFrame", (uint)transportFrame);
properties.setAttribute("hzoom", m_hzoom);
properties.setAttribute("mastergain", m_gain);
songNode.appendChild(properties);
Index: traverso/songcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -b -r1.66 -r1.67
--- traverso/songcanvas/AudioClipView.cpp 15 May 2007 20:15:14 -0000
1.66
+++ traverso/songcanvas/AudioClipView.cpp 17 May 2007 06:55:43 -0000
1.67
@@ -315,7 +315,7 @@
fademix = view->get_vector(xstart, pixelcount,
curvemixdown);
}
- if (mixcurvedata && fademix) {
+ if (mixcurvedata && fademix && view->get_fade()->get_range() >
m_sv->scalefactor) {
for (int j=0; j<pixelcount; ++j) {
curvemixdown[j] *= fademixdown[j];
}
Index: traverso/songcanvas/FadeView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/FadeView.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- traverso/songcanvas/FadeView.cpp 17 Apr 2007 11:51:20 -0000 1.14
+++ traverso/songcanvas/FadeView.cpp 17 May 2007 06:55:43 -0000 1.15
@@ -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: FadeView.cpp,v 1.14 2007/04/17 11:51:20 r_sijrier Exp $
+$Id: FadeView.cpp,v 1.15 2007/05/17 06:55:43 benjie Exp $
*/
#include "FadeView.h"
@@ -90,10 +90,15 @@
QPolygonF polygon;
int xstart = (int)option->exposedRect.x();
+ int vector_start = xstart;
int height = (int)m_boundingRect.height();
float vector[pixelcount];
- m_guicurve->get_vector(xstart, xstart + pixelcount, vector, pixelcount);
+ if (m_fadeCurve->get_fade_type() == FadeCurve::FadeOut &&
m_guicurve->get_range() > m_parentViewItem->boundingRect().width()) {
+ vector_start += (int) m_guicurve->get_range() -
m_parentViewItem->boundingRect().width();
+ }
+
+ m_guicurve->get_vector(vector_start, vector_start + pixelcount, vector,
pixelcount);
for (int i=0; i<pixelcount; i++) {
polygon << QPointF(xstart + i, height - (vector[i] * height) );
@@ -201,7 +206,7 @@
}
m_boundingRect = QRectF( 0, 0,
- m_guicurve->get_range(),
+ (m_guicurve->get_range() <=
m_parentViewItem->boundingRect().width()) ? m_guicurve->get_range() :
m_parentViewItem->boundingRect().width(),
m_parentViewItem->get_height() );
if (m_fadeCurve->get_fade_type() == FadeCurve::FadeOut) {
Index: traverso/songcanvas/SongView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- traverso/songcanvas/SongView.cpp 16 May 2007 03:58:36 -0000 1.48
+++ traverso/songcanvas/SongView.cpp 17 May 2007 06:55:43 -0000 1.49
@@ -97,8 +97,8 @@
m_workCursor = new WorkCursor(this, m_song);
connect(m_song, SIGNAL(workingPosChanged()), m_workCursor,
SLOT(update_position()));
connect(m_song, SIGNAL(workingPosChanged()), m_playCursor,
SLOT(work_moved()));
- connect(m_song, SIGNAL(transportPosSet()), this,
SLOT(play_head_updated()));
- connect(m_song, SIGNAL(workingPosChanged()), this,
SLOT(work_cursor_updated()));
+ connect(m_song, SIGNAL(transportPosSet()), this,
SLOT(follow_play_head()));
+ connect(m_song, SIGNAL(workingPosChanged()), this,
SLOT(stop_follow_play_head()));
m_clipsViewPort->scene()->addItem(m_playCursor);
m_clipsViewPort->scene()->addItem(m_workCursor);
@@ -121,6 +121,7 @@
connect(m_song, SIGNAL(lastFramePositionChanged()), this,
SLOT(update_scrollbars()));
connect(m_song, SIGNAL(modeChanged()), this, SLOT(song_mode_changed()));
connect(m_hScrollBar, SIGNAL(valueChanged(int)),
this,SLOT(set_snap_range(int)));
+ connect(m_hScrollBar, SIGNAL(sliderMoved(int)),
this,SLOT(stop_follow_play_head()));
connect(&m_shuttletimer, SIGNAL(timeout() ), this, SLOT
(update_shuttle()) );
connect(m_hScrollBar, SIGNAL(valueChanged(int)), this,
SLOT(hscrollbar_value_changed(int)));
@@ -133,10 +134,11 @@
connect(m_clipsViewPort->verticalScrollBar(), SIGNAL(valueChanged(int)),
m_vScrollBar, SLOT(setValue(int)));
+ m_vScrollBar->setValue(0.0);
+
load_theme_data();
// FIXME Center too position on song close!!
- ensureVisible(0.0, 0.0, 0.0, 0.0);
center();
}
@@ -215,7 +217,8 @@
m_hScrollBar->setSingleStep(m_clipsViewPort->width() / 10);
m_hScrollBar->setPageStep(m_clipsViewPort->width());
- m_vScrollBar->setRange(0, m_sceneHeight);
+ m_vScrollBar->setRange(0, (m_sceneHeight < m_clipsViewPort->height()) ?
+ 0 : m_sceneHeight - m_clipsViewPort->height());
m_vScrollBar->setSingleStep(m_clipsViewPort->height() / 10);
m_vScrollBar->setPageStep(m_clipsViewPort->height());
@@ -330,14 +333,14 @@
}
-void SongView::work_cursor_updated()
+void SongView::stop_follow_play_head()
{
m_actOnPlayHead = false;
m_playCursor->disable_follow();
}
-void SongView::play_head_updated()
+void SongView::follow_play_head()
{
m_actOnPlayHead = true;
m_playCursor->enable_follow();
@@ -359,6 +362,7 @@
} else {
m_shuttletimer.stop();
}
+ stop_follow_play_head();
}
void SongView::update_shuttle_factor()
@@ -458,6 +462,7 @@
Command* SongView::goto_begin()
{
+ stop_follow_play_head();
m_song->set_work_at(0);
center();
return (Command*) 0;
@@ -466,6 +471,7 @@
Command* SongView::goto_end()
{
+ stop_follow_play_head();
m_song->set_work_at(m_song->get_last_frame());
center();
return (Command*) 0;
@@ -531,6 +537,7 @@
Command* SongView::scroll_right()
{
PENTER3;
+ stop_follow_play_head();
QScrollBar* scrollbar = m_clipsViewPort->horizontalScrollBar();
scrollbar->setValue(scrollbar->value() + 50);
return (Command*) 0;
@@ -540,6 +547,7 @@
Command* SongView::scroll_left()
{
PENTER3;
+ stop_follow_play_head();
QScrollBar* scrollbar = m_clipsViewPort->horizontalScrollBar();
scrollbar->setValue(scrollbar->value() - 50);
return (Command*) 0;
@@ -570,6 +578,7 @@
Command * SongView::add_marker()
{
+ stop_follow_play_head();
return m_tlvp->get_timeline_view()->add_marker();
}
Index: traverso/songcanvas/SongView.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- traverso/songcanvas/SongView.h 30 Apr 2007 10:09:11 -0000 1.23
+++ traverso/songcanvas/SongView.h 17 May 2007 06:55:43 -0000 1.24
@@ -114,6 +114,8 @@
public slots:
void set_snap_range(int);
void update_scrollbars();
+ void stop_follow_play_head();
+ void follow_play_head();
Command* touch();
Command* hzoom_out();
@@ -139,8 +141,6 @@
void add_new_trackview(Track*);
void remove_trackview(Track*);
void update_shuttle();
- void work_cursor_updated();
- void play_head_updated();
void song_mode_changed();
void hscrollbar_value_changed(int);
};