From ea5b8fa1b13d2614f4f288bf6aa7ffb37728a3cc Mon Sep 17 00:00:00 2001 From: ronso0 Date: Fri, 7 Aug 2020 18:18:28 +0200 Subject: [PATCH 1/6] WOverView: get colors once in setup, add linebreaks, remove factor 1 --- src/widget/woverview.cpp | 96 +++++++++++++++++++++++++++++----------- src/widget/woverview.h | 6 ++- 2 files changed, 75 insertions(+), 27 deletions(-) diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index d9aac6b0a59..5454c91ada9 100644 --- a/src/widget/woverview.cpp +++ b/src/widget/woverview.cpp @@ -113,11 +113,16 @@ void WOverview::setup(const QDomNode& node, const SkinContext& context) { m_scaleFactor = context.getScaleFactor(); m_signalColors.setup(node, context); - m_qColorBackground = m_signalColors.getBgColor(); + m_backgroundColor = m_signalColors.getBgColor(); + m_axesColor = m_signalColors.getAxesColor(); + m_playPosColor = m_signalColors.getPlayPosColor(); + m_passthroughOverlayColor = m_signalColors.getPassthroughOverlayColor(); + m_playedOverlayColor = m_signalColors.getPlayedOverlayColor(); + m_lowColor = m_signalColors.getLowColor(); m_labelBackgroundColor = context.selectColor(node, "LabelBackgroundColor"); if (!m_labelBackgroundColor.isValid()) { - m_labelBackgroundColor = m_qColorBackground; + m_labelBackgroundColor = m_backgroundColor; m_labelBackgroundColor.setAlpha(255 / 2); // 0 == fully transparent } @@ -148,8 +153,6 @@ void WOverview::setup(const QDomNode& node, const SkinContext& context) { m_endOfTrackColor = WSkinColor::getCorrectColor(m_endOfTrackColor); } - m_passthroughOverlayColor = m_signalColors.getPlayedOverlayColor(); - // setup hotcues and cue and loop(s) m_marks.setup(m_group, node, context, m_signalColors); @@ -558,7 +561,7 @@ void WOverview::paintEvent(QPaintEvent* pEvent) { ScopedTimer t("WOverview::paintEvent"); QPainter painter(this); - painter.fillRect(rect(), m_qColorBackground); + painter.fillRect(rect(), m_backgroundColor); if (!m_backgroundPixmap.isNull()) { painter.drawPixmap(rect(), m_backgroundPixmap); @@ -605,7 +608,7 @@ void WOverview::drawEndOfTrackBackground(QPainter* pPainter) { void WOverview::drawAxis(QPainter* pPainter) { PainterScope painterScope(pPainter); - pPainter->setPen(QPen(m_signalColors.getAxesColor(), 1 * m_scaleFactor)); + pPainter->setPen(QPen(m_axesColor, m_scaleFactor)); if (m_orientation == Qt::Horizontal) { pPainter->drawLine(0, height() / 2, width(), height() / 2); } else { @@ -642,12 +645,11 @@ void WOverview::drawWaveformPixmap(QPainter* pPainter) { pPainter->drawImage(rect(), m_waveformImageScaled); // Overlay the played part of the overview-waveform with a skin defined color - QColor playedOverlayColor = m_signalColors.getPlayedOverlayColor(); - if (playedOverlayColor.alpha() > 0) { + if (m_playedOverlayColor.alpha() > 0) { if (m_orientation == Qt::Vertical) { - pPainter->fillRect(0, 0, m_waveformImageScaled.width(), m_iPlayPos, playedOverlayColor); + pPainter->fillRect(0, 0, m_waveformImageScaled.width(), m_iPlayPos, m_playedOverlayColor); } else { - pPainter->fillRect(0, 0, m_iPlayPos, m_waveformImageScaled.height(), playedOverlayColor); + pPainter->fillRect(0, 0, m_iPlayPos, m_waveformImageScaled.height(), m_playedOverlayColor); } } } @@ -659,7 +661,7 @@ void WOverview::drawWaveformPixmap(QPainter* pPainter) { } else { line.setLine(0.0, m_iPlayPos, width(), m_iPlayPos); } - pPainter->setPen(QPen(m_signalColors.getPlayPosColor(), 1 * m_scaleFactor)); + pPainter->setPen(QPen(m_playPosColor, m_scaleFactor)); pPainter->setOpacity(0.5); pPainter->drawLine(line); } @@ -679,7 +681,7 @@ void WOverview::drawAnalyzerProgress(QPainter* pPainter) { if ((m_analyzerProgress >= kAnalyzerProgressNone) && (m_analyzerProgress < kAnalyzerProgressDone)) { PainterScope painterScope(pPainter); - pPainter->setPen(QPen(m_signalColors.getAxesColor(), 3 * m_scaleFactor)); + pPainter->setPen(QPen(m_playPosColor, 3 * m_scaleFactor)); if (m_analyzerProgress > kAnalyzerProgressNone) { if (m_orientation == Qt::Horizontal) { @@ -870,7 +872,14 @@ void WOverview::drawMarks(QPainter* pPainter, const float offset, const float ga } } - pMark->m_label.prerender(textPoint, QPixmap(), text, markerFont, m_labelTextColor, m_labelBackgroundColor, width(), getDevicePixelRatioF(this)); + pMark->m_label.prerender(textPoint, + QPixmap(), + text, + markerFont, + m_labelTextColor, + m_labelBackgroundColor, + width(), + getDevicePixelRatioF(this)); } // Show cue position when hovered @@ -911,10 +920,26 @@ void WOverview::drawMarks(QPainter* pPainter, const float offset, const float ga cueTimeDistanceText = "-" + cueTimeDistanceText; } - m_cuePositionLabel.prerender(positionTextPoint, QPixmap(), cuePositionText, markerFont, m_labelTextColor, m_labelBackgroundColor, width(), getDevicePixelRatioF(this)); + m_cuePositionLabel.prerender(positionTextPoint, + QPixmap(), + cuePositionText, + markerFont, + m_labelTextColor, + m_labelBackgroundColor, + width(), + getDevicePixelRatioF(this)); + + QPointF timeDistancePoint(positionTextPoint.x(), + (fontMetrics.height() + height()) / 2); - QPointF timeDistancePoint(positionTextPoint.x(), (fontMetrics.height() + height()) / 2); - m_cueTimeDistanceLabel.prerender(timeDistancePoint, QPixmap(), cueTimeDistanceText, markerFont, m_labelTextColor, m_labelBackgroundColor, width(), getDevicePixelRatioF(this)); + m_cueTimeDistanceLabel.prerender(timeDistancePoint, + QPixmap(), + cueTimeDistanceText, + markerFont, + m_labelTextColor, + m_labelBackgroundColor, + width(), + getDevicePixelRatioF(this)); markHovered = true; } } @@ -931,12 +956,12 @@ void WOverview::drawPickupPosition(QPainter* pPainter) { pPainter->setTransform(QTransform(0, 1, 1, 0, 0, 0)); } - pPainter->setPen(QPen(QBrush(m_qColorBackground), 1 * m_scaleFactor)); + pPainter->setPen(QPen(QBrush(m_backgroundColor), m_scaleFactor)); pPainter->setOpacity(0.5); pPainter->drawLine(m_iPickupPos + 1, 0, m_iPickupPos + 1, breadth()); pPainter->drawLine(m_iPickupPos - 1, 0, m_iPickupPos - 1, breadth()); - pPainter->setPen(QPen(m_signalColors.getPlayPosColor(), 1 * m_scaleFactor)); + pPainter->setPen(QPen(m_playPosColor, m_scaleFactor)); pPainter->setOpacity(1.0); pPainter->drawLine(m_iPickupPos, 0, m_iPickupPos, breadth()); @@ -970,7 +995,7 @@ void WOverview::drawTimeRuler(QPainter* pPainter) { pPainter->setPen(shadowPen); pPainter->drawLine(line); - pPainter->setPen(QPen(m_signalColors.getPlayPosColor(), 1 * m_scaleFactor)); + pPainter->setPen(QPen(m_playPosColor, m_scaleFactor)); pPainter->drawLine(line); } @@ -998,7 +1023,14 @@ void WOverview::drawTimeRuler(QPainter* pPainter) { QString timeText = mixxx::Duration::formatTime(timePosition) + " -" + mixxx::Duration::formatTime(timePositionTillEnd); - m_timeRulerPositionLabel.prerender(textPoint, QPixmap(), timeText, markerFont, m_labelTextColor, m_labelBackgroundColor, width(), getDevicePixelRatioF(this)); + m_timeRulerPositionLabel.prerender(textPoint, + QPixmap(), + timeText, + markerFont, + m_labelTextColor, + m_labelBackgroundColor, + width(), + getDevicePixelRatioF(this)); m_timeRulerPositionLabel.draw(pPainter); QString timeDistanceText = mixxx::Duration::formatTime(fabs(timeDistance)); @@ -1007,7 +1039,14 @@ void WOverview::drawTimeRuler(QPainter* pPainter) { if (static_cast(timeDistance) < 0) { timeDistanceText = "-" + timeDistanceText; } - m_timeRulerDistanceLabel.prerender(textPointDistance, QPixmap(), timeDistanceText, markerFont, m_labelTextColor, m_labelBackgroundColor, width(), getDevicePixelRatioF(this)); + m_timeRulerDistanceLabel.prerender(textPointDistance, + QPixmap(), + timeDistanceText, + markerFont, + m_labelTextColor, + m_labelBackgroundColor, + width(), + getDevicePixelRatioF(this)); m_timeRulerDistanceLabel.draw(pPainter); } else { m_timeRulerPositionLabel.clear(); @@ -1072,7 +1111,14 @@ void WOverview::drawMarkLabels(QPainter* pPainter, const float offset, const flo QPointF durationBottomLeft(x, fontMetrics.height()); - markRange.m_durationLabel.prerender(durationBottomLeft, QPixmap(), duration, markerFont, m_labelTextColor, m_labelBackgroundColor, width(), getDevicePixelRatioF(this)); + markRange.m_durationLabel.prerender(durationBottomLeft, + QPixmap(), + duration, + markerFont, + m_labelTextColor, + m_labelBackgroundColor, + width(), + getDevicePixelRatioF(this)); if (!(markRange.m_durationLabel.intersects(m_cuePositionLabel) || markRange.m_durationLabel.intersects(m_cueTimeDistanceLabel) || markRange.m_durationLabel.intersects(m_timeRulerPositionLabel) || markRange.m_durationLabel.intersects(m_timeRulerDistanceLabel))) { markRange.m_durationLabel.draw(pPainter); @@ -1090,11 +1136,9 @@ void WOverview::drawPassthroughOverlay(QPainter* pPainter) { void WOverview::paintText(const QString& text, QPainter* pPainter) { PainterScope painterScope(pPainter); - QColor lowColor = m_signalColors.getLowColor(); - lowColor.setAlphaF(0.5); + m_lowColor.setAlphaF(0.5); QPen lowColorPen( - QBrush(lowColor), 1.25 * m_scaleFactor, - Qt::SolidLine, Qt::RoundCap); + QBrush(m_lowColor), 1.25 * m_scaleFactor, Qt::SolidLine, Qt::RoundCap); pPainter->setPen(lowColorPen); QFont font = pPainter->font(); QFontMetrics fm(font); diff --git a/src/widget/woverview.h b/src/widget/woverview.h index 92bbcefa01a..531ec358b47 100644 --- a/src/widget/woverview.h +++ b/src/widget/woverview.h @@ -165,12 +165,16 @@ class WOverview : public WWidget, public TrackDropTarget { QPixmap m_backgroundPixmap; QString m_backgroundPixmapPath; - QColor m_qColorBackground; + QColor m_backgroundColor; int m_iLabelFontSize; QColor m_labelTextColor; QColor m_labelBackgroundColor; + QColor m_axesColor; + QColor m_playPosColor; QColor m_endOfTrackColor; QColor m_passthroughOverlayColor; + QColor m_playedOverlayColor; + QColor m_lowColor; QLabel* m_pPassthroughLabel; // All WaveformMarks From 427f3f8dbf7370833ffd808fe542ff5febcdb072 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Fri, 7 Aug 2020 23:37:19 +0200 Subject: [PATCH 2/6] allow custom opacity for waveform mark ranges --- src/waveform/renderers/waveformmarkrange.cpp | 2 ++ src/waveform/renderers/waveformmarkrange.h | 2 ++ src/widget/woverview.cpp | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/waveform/renderers/waveformmarkrange.cpp b/src/waveform/renderers/waveformmarkrange.cpp index 3f2b0e33cb9..e06ae287810 100644 --- a/src/waveform/renderers/waveformmarkrange.cpp +++ b/src/waveform/renderers/waveformmarkrange.cpp @@ -14,6 +14,8 @@ WaveformMarkRange::WaveformMarkRange( const WaveformSignalColors& signalColors) : m_activeColor(context.selectString(node, "Color")), m_disabledColor(context.selectString(node, "DisabledColor")), + m_enabledOpacity(context.selectDouble(node, "Opacity", 0.5)), + m_disabledOpacity(context.selectDouble(node, "DisabledOpacity", 0.5)), m_durationTextColor(context.selectString(node, "DurationTextColor")) { if (!m_activeColor.isValid()) { //vRince kind of legacy fallback ... diff --git a/src/waveform/renderers/waveformmarkrange.h b/src/waveform/renderers/waveformmarkrange.h index c7e683b1c53..8e13fcc9817 100644 --- a/src/waveform/renderers/waveformmarkrange.h +++ b/src/waveform/renderers/waveformmarkrange.h @@ -60,6 +60,8 @@ class WaveformMarkRange { QColor m_activeColor; QColor m_disabledColor; + double m_enabledOpacity; + double m_disabledOpacity; QColor m_durationTextColor; QImage m_activeImage; diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index 5454c91ada9..c1a048fb1fe 100644 --- a/src/widget/woverview.cpp +++ b/src/widget/woverview.cpp @@ -740,11 +740,11 @@ void WOverview::drawRangeMarks(QPainter* pPainter, const float& offset, const fl PainterScope painterScope(pPainter); if (markRange.enabled()) { - pPainter->setOpacity(0.4); + pPainter->setOpacity(markRange.m_enabledOpacity); pPainter->setPen(markRange.m_activeColor); pPainter->setBrush(markRange.m_activeColor); } else { - pPainter->setOpacity(0.2); + pPainter->setOpacity(markRange.m_disabledOpacity); pPainter->setPen(markRange.m_disabledColor); pPainter->setBrush(markRange.m_disabledColor); } From ee4976aa43bb0db91957cb06ae28ab4c3df8a7ac Mon Sep 17 00:00:00 2001 From: ronso0 Date: Fri, 7 Aug 2020 23:38:44 +0200 Subject: [PATCH 3/6] WOverView: fix drawing contrasting mark outline Before, the mark border was drawn inconsistently, it was either a border on the left or on both sides. With bright contrast lines this made the marker look like a tiny mark range which was confusing. --- src/widget/woverview.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index c1a048fb1fe..8d1d4c29190 100644 --- a/src/widget/woverview.cpp +++ b/src/widget/woverview.cpp @@ -789,16 +789,18 @@ void WOverview::drawMarks(QPainter* pPainter, const float offset, const float ga static_cast(width())); pMark->m_linePosition = markPosition; - QPen shadowPen(QBrush(pMark->borderColor()), 2.5 * m_scaleFactor); - QLineF line; + QLineF bgLine; if (m_orientation == Qt::Horizontal) { line.setLine(markPosition, 0.0, markPosition, height()); + bgLine.setLine(markPosition - 1.0, 0.0, markPosition - 1.0, height()); } else { line.setLine(0.0, markPosition, width(), markPosition); + bgLine.setLine(0.0, markPosition - 1.0, width(), markPosition - 1.0); } - pPainter->setPen(shadowPen); - pPainter->drawLine(line); + + pPainter->setPen(pMark->borderColor()); + pPainter->drawLine(bgLine); pPainter->setPen(pMark->fillColor()); pPainter->drawLine(line); From b6fb3e0ce231eea13cdc01e6839bc22f2f979087 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Fri, 7 Aug 2020 23:40:46 +0200 Subject: [PATCH 4/6] WOverView: move drawing of playedOverlay & playPosition out of drawWaveformPixmap() --- src/widget/woverview.cpp | 24 +++++++++++++++++------- src/widget/woverview.h | 2 ++ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index 8d1d4c29190..70d5065d5f0 100644 --- a/src/widget/woverview.cpp +++ b/src/widget/woverview.cpp @@ -573,6 +573,8 @@ void WOverview::paintEvent(QPaintEvent* pEvent) { drawEndOfTrackBackground(&painter); drawAxis(&painter); drawWaveformPixmap(&painter); + drawPlayedOverlay(&painter); + drawPlayPosition(&painter); drawEndOfTrackFrame(&painter); drawAnalyzerProgress(&painter); @@ -643,16 +645,24 @@ void WOverview::drawWaveformPixmap(QPainter* pPainter) { } pPainter->drawImage(rect(), m_waveformImageScaled); + } +} - // Overlay the played part of the overview-waveform with a skin defined color - if (m_playedOverlayColor.alpha() > 0) { - if (m_orientation == Qt::Vertical) { - pPainter->fillRect(0, 0, m_waveformImageScaled.width(), m_iPlayPos, m_playedOverlayColor); - } else { - pPainter->fillRect(0, 0, m_iPlayPos, m_waveformImageScaled.height(), m_playedOverlayColor); - } +void WOverview::drawPlayedOverlay(QPainter* pPainter) { + // Overlay the played part of the overview-waveform with a skin defined color + if (!m_waveformSourceImage.isNull() && m_playedOverlayColor.alpha() > 0) { + if (m_orientation == Qt::Vertical) { + pPainter->fillRect(0, 0, m_waveformImageScaled.width(), m_iPlayPos, m_playedOverlayColor); + } else { + pPainter->fillRect(0, 0, m_iPlayPos, m_waveformImageScaled.height(), m_playedOverlayColor); } } +} + +void WOverview::drawPlayPosition(QPainter* pPainter) { + // When the position line is currently dragged with the left mouse button + // draw a thin line -without triangles or shadow- at the playposition. + // The new playposition is drawn by drawPickupPosition() if (m_bLeftClickDragging) { PainterScope painterScope(pPainter); QLineF line; diff --git a/src/widget/woverview.h b/src/widget/woverview.h index 531ec358b47..d15a80dd58c 100644 --- a/src/widget/woverview.h +++ b/src/widget/woverview.h @@ -110,6 +110,8 @@ class WOverview : public WWidget, public TrackDropTarget { void drawEndOfTrackBackground(QPainter* pPainter); void drawAxis(QPainter* pPainter); void drawWaveformPixmap(QPainter* pPainter); + void drawPlayedOverlay(QPainter* pPainter); + void drawPlayPosition(QPainter* pPainter); void drawEndOfTrackFrame(QPainter* pPainter); void drawAnalyzerProgress(QPainter* pPainter); void drawRangeMarks(QPainter* pPainter, const float& offset, const float& gain); From d0d7dfc7032ddd4f4601c6f1db0daf5fae4c9441 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Fri, 7 Aug 2020 23:41:02 +0200 Subject: [PATCH 5/6] WOverView: document drawing of play position and triangles --- src/widget/woverview.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index 70d5065d5f0..807433644cf 100644 --- a/src/widget/woverview.cpp +++ b/src/widget/woverview.cpp @@ -968,19 +968,23 @@ void WOverview::drawPickupPosition(QPainter* pPainter) { pPainter->setTransform(QTransform(0, 1, 1, 0, 0, 0)); } + // draw dark play position outlines pPainter->setPen(QPen(QBrush(m_backgroundColor), m_scaleFactor)); pPainter->setOpacity(0.5); pPainter->drawLine(m_iPickupPos + 1, 0, m_iPickupPos + 1, breadth()); pPainter->drawLine(m_iPickupPos - 1, 0, m_iPickupPos - 1, breadth()); + // draw colored play position line pPainter->setPen(QPen(m_playPosColor, m_scaleFactor)); pPainter->setOpacity(1.0); pPainter->drawLine(m_iPickupPos, 0, m_iPickupPos, breadth()); + // draw triangle at the top pPainter->drawLine(m_iPickupPos - 2, 0, m_iPickupPos, 2); pPainter->drawLine(m_iPickupPos, 2, m_iPickupPos + 2, 0); pPainter->drawLine(m_iPickupPos - 2, 0, m_iPickupPos + 2, 0); + // draw triangle at the bottom pPainter->drawLine(m_iPickupPos - 2, breadth() - 1, m_iPickupPos, breadth() - 3); pPainter->drawLine(m_iPickupPos, breadth() - 3, m_iPickupPos + 2, breadth() - 1); pPainter->drawLine(m_iPickupPos - 2, breadth() - 1, m_iPickupPos + 2, breadth() - 1); From ac99c6a1ec4616f67fa010674f02c22b72bed0e2 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 8 Aug 2020 00:05:37 +0200 Subject: [PATCH 6/6] skins: set waveform range opacities --- res/skins/Deere/deck_overview.xml | 47 ++++++++------ res/skins/Deere/deck_visual_row.xml | 43 +++++++------ res/skins/LateNight/decks/overview.xml | 21 +++--- res/skins/LateNight/waveform.xml | 21 +++--- res/skins/Shade/deck_overview.xml | 47 ++++++++------ res/skins/Shade/waveform.xml | 34 ++++++---- res/skins/Tango/deck_overview.xml | 47 ++++++++------ res/skins/Tango/waveform.xml | 88 ++++++++++++-------------- 8 files changed, 192 insertions(+), 156 deletions(-) diff --git a/res/skins/Deere/deck_overview.xml b/res/skins/Deere/deck_overview.xml index c32c5c53ed5..53765e5d4f3 100644 --- a/res/skins/Deere/deck_overview.xml +++ b/res/skins/Deere/deck_overview.xml @@ -29,67 +29,74 @@ #FFFFFF %1 + + cue_point + top|right + #FF001C + #FFFFFF + C + + loop_start_position loop_end_position loop_enabled #00FF00 + 0.7 #FFFFFF + 0.6 + intro_start_position intro_end_position - #0000FF [Skin],show_intro_outro_cues - #ffffff - after - - - outro_start_position - outro_end_position #0000FF - [Skin],show_intro_outro_cues + 0.6 #ffffff - before + after intro_start_position + [Skin],show_intro_outro_cues top|right #0000FF #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues top|left #0000FF #FFFFFF - [Skin],show_intro_outro_cues + + + outro_start_position + outro_end_position + [Skin],show_intro_outro_cues + #0000FF + 0.6 + #ffffff + before + outro_start_position + [Skin],show_intro_outro_cues top|right #0000FF #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues top|left #0000FF #FFFFFF - [Skin],show_intro_outro_cues - - - cue_point - top|right - #FF001C - #FFFFFF - C ,playposition diff --git a/res/skins/Deere/deck_visual_row.xml b/res/skins/Deere/deck_visual_row.xml index 82ffa49ade6..ee788fb7bff 100644 --- a/res/skins/Deere/deck_visual_row.xml +++ b/res/skins/Deere/deck_visual_row.xml @@ -38,12 +38,23 @@ #000000 %1 + + cue_point + image/marker_cue.png + CUE + bottom + #FF001C + #FFFFFF + + loop_start_position loop_end_position loop_enabled #00FF00 + 0.8 #FFFFFF + 0.5 loop_start_position @@ -61,63 +72,59 @@ #00FF00 #FFFFFF + intro_start_position intro_end_position - #0000FF [Skin],show_intro_outro_cues - - - outro_start_position - outro_end_position #0000FF - [Skin],show_intro_outro_cues + 0.1 intro_start_position + [Skin],show_intro_outro_cues |◢ bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues ◢| bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues + + + outro_start_position + outro_end_position + [Skin],show_intro_outro_cues + #0000FF + 0.1 + outro_start_position + [Skin],show_intro_outro_cues |◣ bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues ◣| bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues - - cue_point - image/marker_cue.png - CUE - bottom - #FF001C - #FFFFFF - diff --git a/res/skins/LateNight/decks/overview.xml b/res/skins/LateNight/decks/overview.xml index a863a986f0f..483073c9c80 100644 --- a/res/skins/LateNight/decks/overview.xml +++ b/res/skins/LateNight/decks/overview.xml @@ -40,17 +40,20 @@ loop_end_position loop_enabled + 0.7 #FFFFFF + 0.6 loop_start_position - - bottom|right + + top|left #FFFFFF loop_end_position + ,loop_enabled bottom|right @@ -60,51 +63,53 @@ intro_start_position intro_end_position - [Skin],show_intro_outro_cues + + 0.6 #ffffff after intro_start_position + [Skin],show_intro_outro_cues top|right #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues top|left #FFFFFF - [Skin],show_intro_outro_cues outro_start_position outro_end_position - [Skin],show_intro_outro_cues + + 0.6 #ffffff before outro_start_position + [Skin],show_intro_outro_cues top|right #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues top|left #FFFFFF - [Skin],show_intro_outro_cues diff --git a/res/skins/LateNight/waveform.xml b/res/skins/LateNight/waveform.xml index 5bbdce3ef51..7df64ebe61b 100644 --- a/res/skins/LateNight/waveform.xml +++ b/res/skins/LateNight/waveform.xml @@ -49,18 +49,19 @@ loop_end_position loop_enabled + 0.8 #FFFFFF + 0.5 loop_start_position - - bottom|right + + top|left #FFFFFF loop_end_position - bottom|right #FFFFFF @@ -69,51 +70,53 @@ intro_start_position intro_end_position - [Skin],show_intro_outro_cues + + 0.1 #ffffff after intro_start_position + [Skin],show_intro_outro_cues top|right #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues top|left #FFFFFF - [Skin],show_intro_outro_cues outro_start_position outro_end_position - [Skin],show_intro_outro_cues + + 0.1 #ffffff before outro_start_position + [Skin],show_intro_outro_cues top|right #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues top|left #FFFFFF - [Skin],show_intro_outro_cues diff --git a/res/skins/Shade/deck_overview.xml b/res/skins/Shade/deck_overview.xml index 4576573421f..583b80e5a24 100644 --- a/res/skins/Shade/deck_overview.xml +++ b/res/skins/Shade/deck_overview.xml @@ -19,67 +19,74 @@ #FFFFFF %1 + + cue_point + C + top|right + #FF001C + #FFFFFF + + loop_start_position loop_end_position loop_enabled #00FF00 + 0.7 #FFFFFF + 0.6 + intro_start_position intro_end_position - #0000FF [Skin],show_intro_outro_cues - #ffffff - after - - - outro_start_position - outro_end_position #0000FF - [Skin],show_intro_outro_cues + 0.6 #ffffff - before + after intro_start_position + [Skin],show_intro_outro_cues top|right #0000FF #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues top|left #0000FF #FFFFFF - [Skin],show_intro_outro_cues + + + outro_start_position + outro_end_position + [Skin],show_intro_outro_cues + #0000FF + 0.6 + #ffffff + before + outro_start_position + [Skin],show_intro_outro_cues top|right #0000FF #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues top|left #0000FF #FFFFFF - [Skin],show_intro_outro_cues - - - cue_point - C - top|right - #FF001C - #FFFFFF [Channel],playposition diff --git a/res/skins/Shade/waveform.xml b/res/skins/Shade/waveform.xml index aa883ec8b7e..ed974b6e874 100644 --- a/res/skins/Shade/waveform.xml +++ b/res/skins/Shade/waveform.xml @@ -20,12 +20,22 @@ #FFFFFF %1 + + cue_point + CUE + top + #FF001C + #FFFFFF + + loop_start_position loop_end_position loop_enabled #00FF00 + 0.8 #BCDBFB + 0.5 loop_start_position @@ -41,49 +51,53 @@ #00FF00 #FFFFFF + intro_start_position intro_end_position - #0000FF [Skin],show_intro_outro_cues + #0000FF + 0.1 outro_start_position outro_end_position - #0000FF [Skin],show_intro_outro_cues + #0000FF intro_start_position + [Skin],show_intro_outro_cues |◢ bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues + intro_end_position + [Skin],show_intro_outro_cues ◢| bottom #0000FF + 0.1 #FFFFFF - [Skin],show_intro_outro_cues outro_start_position + [Skin],show_intro_outro_cues |◣ bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues ◣| bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues - - cue_point - CUE - top - #FF001C - #FFFFFF - - diff --git a/res/skins/Tango/deck_overview.xml b/res/skins/Tango/deck_overview.xml index 901a18586da..470b3fc7589 100644 --- a/res/skins/Tango/deck_overview.xml +++ b/res/skins/Tango/deck_overview.xml @@ -34,12 +34,22 @@ Variables: #FFFFFF %1 + + cue_point + Q + vcenter|right + #FF0080 + #FFFFFF + + loop_start_position loop_end_position loop_enabled #00FF00 + 0.7 #FFFFFF + 0.6 loop_start_position @@ -57,60 +67,57 @@ Variables: top|right #FFFFFF + intro_start_position intro_end_position - #0000FF [Skin],show_intro_outro_cues - #ffffff - after - - - outro_start_position - outro_end_position #0000FF - [Skin],show_intro_outro_cues + 0.6 #ffffff - before + after intro_start_position + [Skin],show_intro_outro_cues top|right #0000FF #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues top|left #0000FF #FFFFFF - [Skin],show_intro_outro_cues + + + outro_start_position + outro_end_position + [Skin],show_intro_outro_cues + #0000FF + 0.6 + #ffffff + before + outro_start_position + [Skin],show_intro_outro_cues top|right #0000FF #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues top|left #0000FF #FFFFFF - [Skin],show_intro_outro_cues - - - cue_point - Q - vcenter|right - #FF0080 - #FFFFFF ,playposition diff --git a/res/skins/Tango/waveform.xml b/res/skins/Tango/waveform.xml index b98584d7471..1bcb065af24 100644 --- a/res/skins/Tango/waveform.xml +++ b/res/skins/Tango/waveform.xml @@ -37,77 +37,80 @@ Variables: #FFFFFF %1 + + cue_point + Q + top|right + #FF0080 + #FFFFFF + + + + loop_start_position + loop_end_position + loop_enabled + #00FF00 + #FFFFFF + + + loop_start_position + IN + top|left + #00FF00 + #FFFFFF + + + loop_end_position + OUT + top|right + #00FF00 + #FFFFFF + + intro_start_position intro_end_position - #0000FF [Skin],show_intro_outro_cues - - - outro_start_position - outro_end_position #0000FF - [Skin],show_intro_outro_cues intro_start_position + [Skin],show_intro_outro_cues |◢ bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues intro_end_position + [Skin],show_intro_outro_cues ◢| bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues + + + outro_start_position + outro_end_position + [Skin],show_intro_outro_cues + #0000FF + outro_start_position + [Skin],show_intro_outro_cues |◣ bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues outro_end_position + [Skin],show_intro_outro_cues ◣| bottom #0000FF #FFFFFF - [Skin],show_intro_outro_cues - - - cue_point - Q - top|right - #FF0080 - #FFFFFF - - - loop_start_position - loop_end_position - loop_enabled - #00FF00 - #FFFFFF - - - loop_start_position - IN - top|left - #00FF00 - #FFFFFF - - - loop_end_position - OUT - top|right - #00FF00 - #FFFFFF -