[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src core/Peak.cpp core/WriteSource.cpp...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src core/Peak.cpp core/WriteSource.cpp... |
Date: |
Thu, 18 Oct 2007 17:37:12 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/10/18 17:37:12
Modified files:
src/core : Peak.cpp WriteSource.cpp
src/traverso/songcanvas: AudioClipView.cpp
Log message:
* (hopefully) an audioclip contour drawing 'fix'
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Peak.cpp?cvsroot=traverso&r1=1.68&r2=1.69
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/WriteSource.cpp?cvsroot=traverso&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.108&r2=1.109
Patches:
Index: core/Peak.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Peak.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- core/Peak.cpp 17 Oct 2007 10:20:42 -0000 1.68
+++ core/Peak.cpp 18 Oct 2007 17:37:12 -0000 1.69
@@ -288,11 +288,11 @@
nframes_t startPos = startlocation.to_frame(44100);
int offset = (startPos / zoomStep[zoomLevel]) * 2;
+ int truncate = 0;
// Check if this zoom level has as many data as requested.
if ( (pixelcount + offset) >
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR]) {
- // YES we know that sometimes we ommit the very last
'pixel' to avoid painting artifacts...
-// PERROR("pixelcount exceeds available data size!
(pixelcount is: %d, available is %d", pixelcount,
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] -
offset);
+ truncate = pixelcount -
(data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] -
offset);
// pixelcount =
data->headerdata.peakDataSizeForLevel[zoomLevel - SAVING_ZOOM_FACTOR] - offset;
}
@@ -309,6 +309,10 @@
return NO_PEAKDATA_FOUND;
}
+ for (int i=(pixelcount-truncate); i<(pixelcount); ++i) {
+ data->peakdataDecodeBuffer->destination[0][i] = 0;
+ }
+
*buffer = data->peakdataDecodeBuffer->destination[0];
return read;
Index: core/WriteSource.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/WriteSource.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- core/WriteSource.cpp 12 Oct 2007 19:38:51 -0000 1.39
+++ core/WriteSource.cpp 18 Oct 2007 17:37:12 -0000 1.40
@@ -358,9 +358,6 @@
m_diskio->unregister_write_source(this);
}
-
- printf("WriteSource :: thread id is: %ld\n", QThread::currentThreadId
());
- PWARN("WriteSource :: emiting exportFinished");
emit exportFinished();
return 1;
Index: traverso/songcanvas/AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- traverso/songcanvas/AudioClipView.cpp 17 Oct 2007 12:15:42 -0000
1.108
+++ traverso/songcanvas/AudioClipView.cpp 18 Oct 2007 17:37:12 -0000
1.109
@@ -129,7 +129,7 @@
painter->save();
QRectF clipRect = m_boundingRect.adjusted(-1, -1, 1, 1);
- painter->setClipRect(clipRect);
+ painter->setClipRect(m_boundingRect);
if (m_clip->is_readsource_invalid()) {
painter->fillRect(xstart, 0, pixelcount, m_height,
themer()->get_color("AudioClip:invalidreadsource"));
@@ -198,13 +198,14 @@
// Draw the contour
if (m_height < m_mimimumheightforinfoarea) {
painter->setPen(themer()->get_color("AudioClip:contour"));
- painter->drawRect(xstart, 0, pixelcount, m_height - 1);
+ QRectF rect(0.5, 0, m_boundingRect.width() - 1, m_height - 0.5);
+ painter->drawRect(rect);
} else {
draw_clipinfo_area(painter, xstart, pixelcount);
painter->setPen(themer()->get_color("AudioClip:contour"));
- QRectF rectinfo(xstart, 0, pixelcount, m_infoAreaHeight - 1);
+ QRectF rectinfo(0.5, 0, m_boundingRect.width() - 1,
m_infoAreaHeight - 0.5);
painter->drawRect(rectinfo);
- QRectF rect(xstart, 0, pixelcount, m_height - 1);
+ QRectF rect(0.5, 0, m_boundingRect.width() - 1, m_height - 0.5);
painter->drawRect(rect);
}
@@ -291,6 +292,8 @@
if (availpeaks == Peak::PERMANENT_FAILURE || availpeaks ==
Peak::NO_PEAKDATA_FOUND) {
return;
}
+
+// pixelcount = std::min(pixelcount, availpeaks);
}
@@ -480,8 +483,7 @@
m_polygonbottom.clear();
m_polygonbottom.reserve(pixelcount);
- int range = pixelcount;
- for (int x = 0; x < range; x+=2) {
+ for (int x = 0; x < pixelcount; x+=2) {
m_polygontop.append( QPointF(x,
scaleFactor * pixeldata[chan][bufferpos++]) );
m_polygonbottom.append( QPointF(x,
-scaleFactor * pixeldata[chan][bufferpos++]) );
}
@@ -746,7 +748,7 @@
prepareGeometryChange();
// printf("AudioClipView::calculate_bounding_rect()\n");
set_height(m_tv->get_height());
- m_boundingRect = QRectF(0, 0, (m_clip->get_length() /
m_sv->timeref_scalefactor), m_height);
+ m_boundingRect = QRectF(0, 0, (m_clip->get_length() /
m_sv->timeref_scalefactor) + 0.5, m_height);
update_start_pos();
ViewItem::calculate_bounding_rect();
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src core/Peak.cpp core/WriteSource.cpp...,
Remon Sijrier <=