[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp |
Date: |
Mon, 24 Sep 2007 19:13:28 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/09/24 19:13:28
Modified files:
src/traverso/songcanvas: AudioClipView.cpp
Log message:
* actually, there isn't need for doublebuffering at all anymore in
respect to reading peak data :)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/AudioClipView.cpp?cvsroot=traverso&r1=1.92&r2=1.93
Patches:
Index: AudioClipView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/AudioClipView.cpp,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -b -r1.92 -r1.93
--- AudioClipView.cpp 24 Sep 2007 18:46:07 -0000 1.92
+++ AudioClipView.cpp 24 Sep 2007 19:13:28 -0000 1.93
@@ -254,8 +254,7 @@
int peakdatacount = microView ? pixelcount : pixelcount * 2;
int buffersize = microView ? sizeof(short) * peakdatacount :
sizeof(peak_data_t) * peakdatacount;
- float* buffers[channels];
- float pixeldata[channels][buffersize];
+ float* pixeldata[channels];
float curvemixdown[buffersize];
Peak* peak = m_clip->get_peak();
@@ -267,12 +266,10 @@
// Load peak data for all channels, if no peakdata is returned
// for a certain Peak object, schedule it for loading.
for (int chan=0; chan < channels; ++chan) {
-// memset(buffers[chan], 0, buffersize * sizeof(peak_data_t));
-
TimeRef clipstartoffset = m_clip->get_source_start_location();
int availpeaks = peak->calculate_peaks( chan,
- &buffers[chan],
+ &pixeldata[chan],
microView ?
m_song->get_hzoom() : m_song->get_hzoom() + 1,
(xstart *
m_sv->timeref_scalefactor) + clipstartoffset,
microView ?
peakdatacount : peakdatacount / 2);
@@ -324,11 +321,9 @@
// and store it in the first channels pixeldata.
if (!microView) {
for (int chan=0; chan < channels; chan++) {
- if (m_classicView) {
- memcpy(pixeldata[chan], buffers[chan],
pixelcount*2*sizeof(float));
- } else {
- for (int i = 0; i < (pixelcount*2); i+=2) {
- pixeldata[chan][i] = -
f_max(buffers[chan][i], - buffers[chan][i+1]);
+ if (!m_classicView) {
+ for (int i=0, j=0; i < (pixelcount*2); i+=2,
++j) {
+ pixeldata[chan][j] = -
f_max(pixeldata[chan][i], - pixeldata[chan][i+1]);
}
}
}
@@ -433,7 +428,7 @@
p->drawLine(xstart, 0, xstart + pixelcount, 0);
for (int x = xstart; x < (pixelcount+xstart); x++) {
- polygon.append( QPointF(x, scaleFactor *
buffers[chan][bufferPos++]) );
+ polygon.append( QPointF(x, scaleFactor *
pixeldata[chan][bufferPos++]) );
}
if
(themer()->get_property("AudioClip:wavemicroview:antialiased", 0).toInt()) {
@@ -496,7 +491,7 @@
for (int x = xstart; x < (pixelcount+xstart);
x+=2) {
polygontop.append( QPointF(x,
scaleFactor * pixeldata[chan][bufferpos]) );
- bufferpos += 2;
+ bufferpos++;
}
polygontop.append(QPointF(xstart + pixelcount,
0));
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp, Remon Sijrier, 2007/09/20
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp,
Remon Sijrier <=
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp, Remon Sijrier, 2007/09/24
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp, Remon Sijrier, 2007/09/25
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp, Remon Sijrier, 2007/09/28
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp, Remon Sijrier, 2007/09/28
- [Traverso-commit] traverso/src/traverso/songcanvas AudioClipView.cpp, Ben Levitt, 2007/09/30