Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions res/skins/Deere/deck_overview_row.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<SignalColor><Variable name="DeckSignalColor"/></SignalColor>
<PlayPosColor>#00FF00</PlayPosColor>
<DefaultMark>
<Align>bottom</Align>
<Align>bottom|right</Align>
<Color>#00FF00</Color>
<TextColor>#FFFFFF</TextColor>
<Text> %1 </Text>
Expand All @@ -41,7 +41,7 @@
</MarkRange>
<Mark>
<Control>cue_point</Control>
<Align>top</Align>
<Align>top|right</Align>
<Color>#FF001C</Color>
<TextColor>#FFFFFF</TextColor>
<Text>C</Text>
Expand Down
4 changes: 2 additions & 2 deletions res/skins/LateNight/deck_row_5.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<PlayPosColor>#00FF00</PlayPosColor>
<EndOfTrackColor>#EA0000</EndOfTrackColor>
<DefaultMark>
<Align>bottom</Align>
<Align>bottom|right</Align>
<Color>#00FF00</Color>
<TextColor>#FFFFFF</TextColor>
<Text> %1 </Text>
Expand All @@ -37,7 +37,7 @@
<Mark>
<Control>cue_point</Control>
<Text>C</Text>
<Align>top</Align>
<Align>top|right</Align>
<Color>#FF001C</Color>
<TextColor>#FFFFFF</TextColor>
</Mark>
Expand Down
4 changes: 2 additions & 2 deletions res/skins/Shade/deck.xml
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@
<PlayPosColor>#00FF00</PlayPosColor>
<EndOfTrackColor>#EA0000</EndOfTrackColor>
<DefaultMark>
<Align>bottom</Align>
<Align>bottom|right</Align>
<Color>#FD0564</Color>
<TextColor>#FFFFFF</TextColor>
<Text> %1 </Text>
Expand All @@ -238,7 +238,7 @@
<Mark>
<Control>cue_point</Control>
<Text>C</Text>
<Align>top</Align>
<Align>top|right</Align>
<Color>#FF001C</Color>
<TextColor>#FFFFFF</TextColor>
</Mark>
Expand Down
4 changes: 4 additions & 0 deletions src/waveform/renderers/glslwaveformrenderersignal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,10 @@ void GLSLWaveformRendererSignal::draw(QPainter* painter, QPaintEvent* /*event*/)
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
glOrtho(firstVisualIndex, lastVisualIndex, -1.0, 1.0, -10.0, 10.0);

glMatrixMode(GL_MODELVIEW);
Expand Down
4 changes: 4 additions & 0 deletions src/waveform/renderers/glvsynctestrenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ void GLVSyncTestRenderer::draw(QPainter* painter, QPaintEvent* /*event*/) {
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}

//t8 = timer.restart(); // 2,611 ns

Expand Down
10 changes: 9 additions & 1 deletion src/waveform/renderers/glwaveformrendererfilteredsignal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ void GLWaveformRendererFilteredSignal::draw(QPainter* painter, QPaintEvent* /*ev
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
glOrtho(firstVisualIndex, lastVisualIndex, -255.0, 255.0, -10.0, 10.0);

glMatrixMode(GL_MODELVIEW);
Expand Down Expand Up @@ -136,7 +140,11 @@ void GLWaveformRendererFilteredSignal::draw(QPainter* painter, QPaintEvent* /*ev
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_alignment == Qt::AlignBottom)
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignRight)
glOrtho(firstVisualIndex, lastVisualIndex, 0.0, 255.0, -10.0, 10.0);
else
glOrtho(firstVisualIndex, lastVisualIndex, 255.0, 0.0, -10.0, 10.0);
Expand Down
10 changes: 9 additions & 1 deletion src/waveform/renderers/glwaveformrendererrgb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ void GLWaveformRendererRGB::draw(QPainter* painter, QPaintEvent* /*event*/) {
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
glOrtho(firstVisualIndex, lastVisualIndex, -255.0, 255.0, -10.0, 10.0);

glMatrixMode(GL_MODELVIEW);
Expand Down Expand Up @@ -139,7 +143,11 @@ void GLWaveformRendererRGB::draw(QPainter* painter, QPaintEvent* /*event*/) {
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_alignment == Qt::AlignBottom) {
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignRight) {
glOrtho(firstVisualIndex, lastVisualIndex, 0.0, 255.0, -10.0, 10.0);
} else {
glOrtho(firstVisualIndex, lastVisualIndex, 255.0, 0.0, -10.0, 10.0);
Expand Down
10 changes: 9 additions & 1 deletion src/waveform/renderers/glwaveformrenderersimplesignal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ void GLWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
glOrtho(firstVisualIndex, lastVisualIndex, -255.0, 255.0, -10.0, 10.0);

glMatrixMode(GL_MODELVIEW);
Expand Down Expand Up @@ -119,7 +123,11 @@ void GLWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (m_alignment == Qt::AlignBottom)
if (m_orientation == Qt::Vertical) {
glRotatef(90.0f, 0.0f, 0.0f, 1.0f);
glScalef(-1.0f, 1.0f, 1.0f);
}
if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignRight)
glOrtho(firstVisualIndex, lastVisualIndex, 0.0, 255.0, -10.0, 10.0);
else
glOrtho(firstVisualIndex, lastVisualIndex, 255.0, 0.0, -10.0, 10.0);
Expand Down
47 changes: 26 additions & 21 deletions src/waveform/renderers/qtwaveformrendererfilteredsignal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ void QtWaveformRendererFilteredSignal::onSetup(const QDomNode& /*node*/) {
}

void QtWaveformRendererFilteredSignal::onResize() {
m_polygon[0].resize(2*m_waveformRenderer->getWidth()+2);
m_polygon[1].resize(2*m_waveformRenderer->getWidth()+2);
m_polygon[2].resize(2*m_waveformRenderer->getWidth()+2);
m_polygon[0].resize(2 * m_waveformRenderer->getLength() + 2);
m_polygon[1].resize(2 * m_waveformRenderer->getLength() + 2);
m_polygon[2].resize(2 * m_waveformRenderer->getLength() + 2);
}

inline void setPoint(QPointF& point, qreal x, qreal y) {
Expand Down Expand Up @@ -123,9 +123,9 @@ int QtWaveformRendererFilteredSignal::buildPolygon() {
m_polygon[1].clear();
m_polygon[2].clear();

m_polygon[0].reserve(2 * m_waveformRenderer->getWidth() + 2);
m_polygon[1].reserve(2 * m_waveformRenderer->getWidth() + 2);
m_polygon[2].reserve(2 * m_waveformRenderer->getWidth() + 2);
m_polygon[0].reserve(2 * m_waveformRenderer->getLength() + 2);
m_polygon[1].reserve(2 * m_waveformRenderer->getLength() + 2);
m_polygon[2].reserve(2 * m_waveformRenderer->getLength() + 2);

QPointF point(0.0, 0.0);
m_polygon[0].append(point);
Expand All @@ -136,7 +136,7 @@ int QtWaveformRendererFilteredSignal::buildPolygon() {

// Represents the # of waveform data points per horizontal pixel.
const double gain = (lastVisualIndex - firstVisualIndex) /
(double)m_waveformRenderer->getWidth();
(double)m_waveformRenderer->getLength();

float lowGain(1.0), midGain(1.0), highGain(1.0);
getGains(NULL, &lowGain, &midGain, &highGain);
Expand All @@ -149,22 +149,22 @@ int QtWaveformRendererFilteredSignal::buildPolygon() {

for (int channel = 0; channel < channelSeparation; ++channel) {
int startPixel = 0;
int endPixel = m_waveformRenderer->getWidth() - 1;
int endPixel = m_waveformRenderer->getLength() - 1;
int delta = 1;
double direction = 1.0;

//Reverse display for merged bottom channel
if (m_alignment == Qt::AlignBottom)
// Reverse display for merged bottom/left channel
if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignLeft)
direction = -1.0;

if (channel == 1) {
startPixel = m_waveformRenderer->getWidth() - 1;
startPixel = m_waveformRenderer->getLength() - 1;
endPixel = 0;
delta = -1;
direction = -1.0;

// After preparing the first channel, insert the pivot point.
point = QPointF(m_waveformRenderer->getWidth(), 0.0);
point = QPointF(m_waveformRenderer->getLength(), 0.0);
m_polygon[0].append(point);
m_polygon[1].append(point);
m_polygon[2].append(point);
Expand All @@ -179,9 +179,9 @@ int QtWaveformRendererFilteredSignal::buildPolygon() {
// back since adding locking, but I'm leaving this so that we can
// get some info about it before crashing. (The crash usually
// corrupts a lot of the stack).
if (m_polygon[0].size() > 2 * m_waveformRenderer->getWidth() + 2) {
if (m_polygon[0].size() > 2 * m_waveformRenderer->getLength() + 2) {
qDebug() << "OUT OF CONTROL"
<< 2 * m_waveformRenderer->getWidth() + 2
<< 2 * m_waveformRenderer->getLength() + 2
<< dataSize
<< channel << m_polygon[0].size() << x;
}
Expand Down Expand Up @@ -261,7 +261,7 @@ int QtWaveformRendererFilteredSignal::buildPolygon() {

//If channel are not displayed separately we need to close the loop properly
if (channelSeparation == 1) {
point = QPointF(m_waveformRenderer->getWidth(), 0.0);
point = QPointF(m_waveformRenderer->getLength(), 0.0);
m_polygon[0].append(point);
m_polygon[1].append(point);
m_polygon[2].append(point);
Expand All @@ -280,26 +280,31 @@ void QtWaveformRendererFilteredSignal::draw(QPainter* painter, QPaintEvent* /*ev
painter->setRenderHint(QPainter::Antialiasing);
painter->resetTransform();

// Rotate if drawing vertical waveforms
if (m_waveformRenderer->getOrientation() == Qt::Vertical) {
painter->setTransform(QTransform(0, 1, -1, 0, m_waveformRenderer->getWidth(), 0));
}

//visual gain
float allGain(1.0);
getGains(&allGain, NULL, NULL, NULL);

double heightGain = allGain * (double)m_waveformRenderer->getHeight()/255.0;
if (m_alignment == Qt::AlignTop) {
double heightGain = allGain * (double)m_waveformRenderer->getBreadth() / 255.0;
if (m_alignment == Qt::AlignTop || m_alignment == Qt::AlignRight) {
painter->translate(0.0, 0.0);
painter->scale(1.0, heightGain);
} else if (m_alignment == Qt::AlignBottom) {
painter->translate(0.0, m_waveformRenderer->getHeight());
} else if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignLeft) {
painter->translate(0.0, m_waveformRenderer->getBreadth());
painter->scale(1.0, heightGain);
} else {
painter->translate(0.0, m_waveformRenderer->getHeight()/2.0);
painter->translate(0.0, m_waveformRenderer->getBreadth()/2.0);
painter->scale(1.0, 0.5*heightGain);
}

//draw reference line
if (m_alignment == Qt::AlignCenter) {
painter->setPen(m_pColors->getAxesColor());
painter->drawLine(0,0,m_waveformRenderer->getWidth(),0);
painter->drawLine(0, 0, m_waveformRenderer->getLength(), 0);
}

int numberOfPoints = buildPolygon();
Expand Down
41 changes: 23 additions & 18 deletions src/waveform/renderers/qtwaveformrenderersimplesignal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,38 +63,43 @@ void QtWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even
painter->setRenderHint(QPainter::Antialiasing);
painter->resetTransform();

// Rotate if drawing vertical waveforms
if (m_waveformRenderer->getOrientation() == Qt::Vertical) {
painter->setTransform(QTransform(0, 1, -1, 0, m_waveformRenderer->getWidth(), 0));
}

float allGain(1.0);
getGains(&allGain, NULL, NULL, NULL);

double heightGain = allGain * (double)m_waveformRenderer->getHeight()/255.0;
if (m_alignment == Qt::AlignTop) {
double heightGain = allGain * (double)m_waveformRenderer->getBreadth()/255.0;
if (m_alignment == Qt::AlignTop || m_alignment == Qt::AlignRight) {
painter->translate(0.0, 0.0);
painter->scale(1.0, heightGain);
} else if (m_alignment == Qt::AlignBottom) {
painter->translate(0.0, m_waveformRenderer->getHeight());
} else if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignLeft) {
painter->translate(0.0, m_waveformRenderer->getBreadth());
painter->scale(1.0, heightGain);
} else {
painter->translate(0.0, m_waveformRenderer->getHeight()/2.0);
painter->translate(0.0, m_waveformRenderer->getBreadth()/2.0);
painter->scale(1.0, 0.5*heightGain);
}

//draw reference line
if (m_alignment == Qt::AlignCenter) {
painter->setPen(m_pColors->getAxesColor());
painter->drawLine(0,0,m_waveformRenderer->getWidth(),0);
painter->drawLine(0,0,m_waveformRenderer->getLength(),0);
}

const double firstVisualIndex = m_waveformRenderer->getFirstDisplayedPosition() * dataSize;
const double lastVisualIndex = m_waveformRenderer->getLastDisplayedPosition() * dataSize;
m_polygon.clear();
m_polygon.reserve(2 * m_waveformRenderer->getWidth() + 2);
m_polygon.reserve(2 * m_waveformRenderer->getLength() + 2);
m_polygon.append(QPointF(0.0, 0.0));

const double offset = firstVisualIndex;

// Represents the # of waveform data points per horizontal pixel.
const double gain = (lastVisualIndex - firstVisualIndex) /
(double)m_waveformRenderer->getWidth();
(double)m_waveformRenderer->getLength();

//NOTE(vrince) Please help me find a better name for "channelSeparation"
//this variable stand for merged channel ... 1 = merged & 2 = separated
Expand All @@ -104,22 +109,22 @@ void QtWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even

for (int channel = 0; channel < channelSeparation; ++channel) {
int startPixel = 0;
int endPixel = m_waveformRenderer->getWidth() - 1;
int endPixel = m_waveformRenderer->getLength() - 1;
int delta = 1;
double direction = 1.0;

//Reverse display for merged bottom channel
if (m_alignment == Qt::AlignBottom)
// Reverse display for merged bottom/left channel
if (m_alignment == Qt::AlignBottom || m_alignment == Qt::AlignLeft)
direction = -1.0;

if (channel == 1) {
startPixel = m_waveformRenderer->getWidth() - 1;
startPixel = m_waveformRenderer->getLength() - 1;
endPixel = 0;
delta = -1;
direction = -1.0;

// After preparing the first channel, insert the pivot point.
m_polygon.append(QPointF(m_waveformRenderer->getWidth(), 0.0));
m_polygon.append(QPointF(m_waveformRenderer->getLength(), 0.0));
}

for (int x = startPixel;
Expand All @@ -131,9 +136,9 @@ void QtWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even
// back since adding locking, but I'm leaving this so that we can
// get some info about it before crashing. (The crash usually
// corrupts a lot of the stack).
if (m_polygon.size() > 2 * m_waveformRenderer->getWidth() + 2) {
if (m_polygon.size() > 2 * m_waveformRenderer->getLength() + 2) {
qDebug() << "OUT OF CONTROL"
<< 2 * m_waveformRenderer->getWidth() + 2
<< 2 * m_waveformRenderer->getLength() + 2
<< dataSize
<< channel << m_polygon.size() << x;
}
Expand Down Expand Up @@ -176,7 +181,7 @@ void QtWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even
int visualIndexStart = visualFrameStart * 2 + channel;
int visualIndexStop = visualFrameStop * 2 + channel;

// if (x == m_waveformRenderer->getWidth() / 2) {
// if (x == m_waveformRenderer->getLength() / 2) {
// qDebug() << "audioVisualRatio" << waveform->getAudioVisualRatio();
// qDebug() << "visualSampleRate" << waveform->getVisualSampleRate();
// qDebug() << "audioSamplesPerVisualPixel" << waveform->getAudioSamplesPerVisualSample();
Expand All @@ -202,7 +207,7 @@ void QtWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even

//If channel are not displayed separatly we nne to close the loop properly
if (channelSeparation == 1) {
m_polygon.append(QPointF(m_waveformRenderer->getWidth(), 0.0));
m_polygon.append(QPointF(m_waveformRenderer->getLength(), 0.0));
}

painter->setPen(m_borderPen);
Expand All @@ -214,5 +219,5 @@ void QtWaveformRendererSimpleSignal::draw(QPainter* painter, QPaintEvent* /*even
}

void QtWaveformRendererSimpleSignal::onResize() {
m_polygon.resize(2*m_waveformRenderer->getWidth()+2);
m_polygon.resize(2*m_waveformRenderer->getLength()+2);
}
Loading