From 80a7ce095039c19d96fd29017d8a1b14f1b33b44 Mon Sep 17 00:00:00 2001 From: Joerg Date: Sun, 4 Aug 2024 20:00:36 +0200 Subject: [PATCH 01/11] Implemented non-floating legacy stem controls for LateNight --- CMakeLists.txt | 1 + .../buttons/btn__stem_controls_collapse.svg | 83 ++++++++ .../buttons/btn__stem_controls_expand.svg | 83 ++++++++ .../buttons/btn__stem_controls_collapse.svg | 83 ++++++++ .../buttons/btn__stem_controls_expand.svg | 83 ++++++++ res/skins/LateNight/stem_channel.xml | 188 ++++++++++++++++++ res/skins/LateNight/style_classic.qss | 10 + res/skins/LateNight/style_palemoon.qss | 9 + res/skins/LateNight/waveform.xml | 123 +++++++++++- res/skins/LateNight/waveforms_container.xml | 12 +- src/skin/legacy/legacyskinparser.cpp | 46 ++++- src/skin/legacy/legacyskinparser.h | 7 + src/widget/wstemlabel.cpp | 51 +++++ src/widget/wstemlabel.h | 29 +++ 14 files changed, 804 insertions(+), 4 deletions(-) create mode 100644 res/skins/LateNight/classic/buttons/btn__stem_controls_collapse.svg create mode 100644 res/skins/LateNight/classic/buttons/btn__stem_controls_expand.svg create mode 100644 res/skins/LateNight/palemoon/buttons/btn__stem_controls_collapse.svg create mode 100644 res/skins/LateNight/palemoon/buttons/btn__stem_controls_expand.svg create mode 100644 res/skins/LateNight/stem_channel.xml create mode 100644 src/widget/wstemlabel.cpp create mode 100644 src/widget/wstemlabel.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a69335b92c..a1453889945 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3466,6 +3466,7 @@ if (STEM) src/sources/soundsourcestem.cpp src/track/steminfoimporter.cpp src/track/steminfo.cpp + src/widget/wstemlabel.cpp ) if(QOPENGL) target_sources(mixxx-lib PRIVATE diff --git a/res/skins/LateNight/classic/buttons/btn__stem_controls_collapse.svg b/res/skins/LateNight/classic/buttons/btn__stem_controls_collapse.svg new file mode 100644 index 00000000000..f602b10c819 --- /dev/null +++ b/res/skins/LateNight/classic/buttons/btn__stem_controls_collapse.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/res/skins/LateNight/classic/buttons/btn__stem_controls_expand.svg b/res/skins/LateNight/classic/buttons/btn__stem_controls_expand.svg new file mode 100644 index 00000000000..049b7875b56 --- /dev/null +++ b/res/skins/LateNight/classic/buttons/btn__stem_controls_expand.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/res/skins/LateNight/palemoon/buttons/btn__stem_controls_collapse.svg b/res/skins/LateNight/palemoon/buttons/btn__stem_controls_collapse.svg new file mode 100644 index 00000000000..f602b10c819 --- /dev/null +++ b/res/skins/LateNight/palemoon/buttons/btn__stem_controls_collapse.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/res/skins/LateNight/palemoon/buttons/btn__stem_controls_expand.svg b/res/skins/LateNight/palemoon/buttons/btn__stem_controls_expand.svg new file mode 100644 index 00000000000..049b7875b56 --- /dev/null +++ b/res/skins/LateNight/palemoon/buttons/btn__stem_controls_expand.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/res/skins/LateNight/stem_channel.xml b/res/skins/LateNight/stem_channel.xml new file mode 100644 index 00000000000..b3beec9895d --- /dev/null +++ b/res/skins/LateNight/stem_channel.xml @@ -0,0 +1,188 @@ + + diff --git a/res/skins/LateNight/style_classic.qss b/res/skins/LateNight/style_classic.qss index 2172ef3585b..db532514ce6 100644 --- a/res/skins/LateNight/style_classic.qss +++ b/res/skins/LateNight/style_classic.qss @@ -1371,6 +1371,7 @@ WEffectSelector[highlight="1"] { /* } #BeatgridControls WPushButton, WPushButton#BeatgridControlsToggle, +#StemControls WPushButton, WPushButton#StemControlsToggle, #DeckRow_5_LoopCuesTransport WPushButton, WPushButton#PlayDeck, WPushButton#PreviewIndicator, @@ -1626,6 +1627,7 @@ WPushButton#FxExpand[displayValue="0"], WPushButton#FxExpandOverlay[displayValue="0"], WPushButton#SamplerExpand[displayValue="0"], #BeatgridControlsToggle, +#StemControlsToggle, #SamplerControlsMini WPushButton, #RecDot, /* transparent buttons, 0-4 (max button state we have currently) */ @@ -1940,6 +1942,14 @@ WPushButton#BpmLockToggle[value="1"] { #BeatgridControlsToggle[displayValue="1"] { image: url(skins:LateNight/classic/buttons/btn__beatgrid_controls_collapse.svg) no-repeat center center; } + +#StemControlsToggle[displayValue="0"] { + image: url(skins:LateNight/classic/buttons/btn__stem_controls_expand.svg) no-repeat center center; + } + #StemControlsToggle[displayValue="1"] { + image: url(skins:LateNight/classic/buttons/btn__stem_controls_collapse.svg) no-repeat center center; + } + #BpmLockToggle[value="1"] { image: url(skins:LateNight/classic/buttons/btn__bpm_locked.svg); } diff --git a/res/skins/LateNight/style_palemoon.qss b/res/skins/LateNight/style_palemoon.qss index 733b14f4b45..666cf1c84e7 100644 --- a/res/skins/LateNight/style_palemoon.qss +++ b/res/skins/LateNight/style_palemoon.qss @@ -1536,6 +1536,7 @@ WEffectSelector:!editable, } #BeatgridControls WPushButton, WPushButton#BeatgridControlsToggle, +#StemControls WPushButton, WPushButton#StemControlsToggle, #DeckRow_5_LoopCuesTransport WPushButton, #RateControls WPushButton, WPushButton#PlayDeck, @@ -1849,6 +1850,7 @@ QPushButton#pushButtonRepeatPlaylist:checked { /* Special flat/invisible buttons */ #BeatgridControlsToggle, +#StemControlsToggle, WPushButton#PlayDeck[displayValue="0"], WPushButton#PlayDeckMini[displayValue="0"], WPushButton#PlaySampler[displayValue="0"], @@ -2352,6 +2354,13 @@ WPushButton#PlayDeck[value="0"] { image: url(skins:LateNight/palemoon/buttons/btn__keylock_active_34.svg) no-repeat center center; } +#StemControlsToggle[displayValue="0"] { + image: url(skins:LateNight/palemoon/buttons/btn__stem_controls_expand.svg) no-repeat center center; + } + #StemControlsToggle[displayValue="1"] { + image: url(skins:LateNight/palemoon/buttons/btn__stem_controls_collapse.svg) no-repeat center center; + } + #BeatgridControlsToggle[displayValue="0"] { image: url(skins:LateNight/palemoon/buttons/btn__beatgrid_controls_expand.svg) no-repeat center center; } diff --git a/res/skins/LateNight/waveform.xml b/res/skins/LateNight/waveform.xml index 2af82f4188b..e1325158f03 100644 --- a/res/skins/LateNight/waveform.xml +++ b/res/skins/LateNight/waveform.xml @@ -5,12 +5,133 @@ BeatEditCover ,bpmlock + + [EqualizerRack1_] + + + [EqualizerRack1__Effect1] + + + regular + regular + + + + + + + + + Waveform horizontal me,me - + + StemControls + vertical + max,me + + + 0me,1me + + + + + horizontal + f,f + + + + 1f,0min + + + + + vertical + + + + horizontal + + + 1min,2me + + + + 1min,3f + + + + + + horizontal + + + 1min,2me + + + + 1min,3f + + + + + + horizontal + + + 1min,2me + + + + 1min,3f + + + + + + horizontal + + + 1min,2me + + + + 1min,3f + + + + + + + + + + + + + 1me,1me + + + + [Skin],show_stem_controls + visible + + + + + + WaveformBox horizontal me,me diff --git a/res/skins/LateNight/waveforms_container.xml b/res/skins/LateNight/waveforms_container.xml index 86800623a93..9d5e6ad5e25 100644 --- a/res/skins/LateNight/waveforms_container.xml +++ b/res/skins/LateNight/waveforms_container.xml @@ -5,7 +5,15 @@ me,min - + + + WaveformsContainer horizontal me,min @@ -16,7 +24,7 @@ 100me,40me - + horizontal me,me diff --git a/src/skin/legacy/legacyskinparser.cpp b/src/skin/legacy/legacyskinparser.cpp index 5a4dfe5b970..0eb15b5fe98 100644 --- a/src/skin/legacy/legacyskinparser.cpp +++ b/src/skin/legacy/legacyskinparser.cpp @@ -74,6 +74,9 @@ #include "widget/wsplitter.h" #include "widget/wstarrating.h" #include "widget/wstatuslight.h" +#ifdef __STEM__ +#include "widget/wstemlabel.h" +#endif #include "widget/wtime.h" #include "widget/wtrackproperty.h" #include "widget/wtrackwidgetgroup.h" @@ -559,7 +562,13 @@ QList LegacySkinParser::parseNode(const QDomElement& node) { result = wrapWidget(parseLabelWidget(node)); } else if (nodeName == "Label") { result = wrapWidget(parseLabelWidget(node)); - } else if (nodeName == "Knob") { + } +#ifdef __STEM__ + else if (nodeName == "StemLabel") { + result = wrapWidget(parseStemLabelWidget(node)); + } +#endif + else if (nodeName == "Knob") { result = wrapWidget(parseStandardWidget(node)); } else if (nodeName == "KnobComposed") { result = wrapWidget(parseStandardWidget(node)); @@ -967,6 +976,41 @@ void LegacySkinParser::setupLabelWidget(const QDomElement& element, WLabel* pLab pLabel->Init(); } +#ifdef __STEM__ +QWidget* LegacySkinParser::parseStemLabelWidget(const QDomElement& element) { + WStemLabel* pLabel = new WStemLabel(m_pParent); + setupStemLabelWidget(element, pLabel); + + QString group = lookupNodeGroup(element); + BaseTrackPlayer* pPlayer = m_pPlayerManager->getPlayer(group); + connect(pPlayer, + &BaseTrackPlayer::newTrackLoaded, + pLabel, + &WStemLabel::slotTrackLoaded); + + connect(pPlayer, + &BaseTrackPlayer::trackUnloaded, + pLabel, + &WStemLabel::slotTrackUnloaded); + + return pLabel; +} + +void LegacySkinParser::setupStemLabelWidget(const QDomElement& element, WStemLabel* pLabel) { + // NOTE(rryan): To support color schemes, the WWidget::setup() call must + // come first. This is because WLabel derivatives change the palette based + // on the node and setupWidget() will set the widget style. If the style is + // set before the palette is set then the custom palette will not take + // effect which breaks color scheme support. + pLabel->setup(element, *m_pContext); + commonWidgetSetup(element, pLabel); + pLabel->installEventFilter(m_pKeyboard); + pLabel->installEventFilter( + m_pControllerManager->getControllerLearningEventFilter()); + pLabel->Init(); +} +#endif + QWidget* LegacySkinParser::parseOverview(const QDomElement& node) { #ifdef MIXXX_USE_QML if (CmdlineArgs::Instance().isQml()) { diff --git a/src/skin/legacy/legacyskinparser.h b/src/skin/legacy/legacyskinparser.h index 11cb4639b71..1c5f733bf0f 100644 --- a/src/skin/legacy/legacyskinparser.h +++ b/src/skin/legacy/legacyskinparser.h @@ -22,6 +22,7 @@ class RecordingManager; class ControllerManager; class SkinContext; class WLabel; +class WStemLabel; class ControlObject; class LaunchImage; class WWidgetGroup; @@ -75,6 +76,12 @@ class LegacySkinParser : public QObject, public SkinParser { template QWidget* parseLabelWidget(const QDomElement& element); void setupLabelWidget(const QDomElement& element, WLabel* pLabel); + +#ifdef __STEM__ + QWidget* parseStemLabelWidget(const QDomElement& element); + void setupStemLabelWidget(const QDomElement& element, WStemLabel* pLabel); +#endif + QWidget* parseText(const QDomElement& node); QWidget* parseTrackProperty(const QDomElement& node); QWidget* parseStarRating(const QDomElement& node); diff --git a/src/widget/wstemlabel.cpp b/src/widget/wstemlabel.cpp new file mode 100644 index 00000000000..f9181c9af35 --- /dev/null +++ b/src/widget/wstemlabel.cpp @@ -0,0 +1,51 @@ +#include "wstemlabel.h" + +#include "moc_wstemlabel.cpp" + +WStemLabel::WStemLabel(QWidget* pParent) + : WLabel(pParent), + m_stemInfo(QString(), QColor()), + m_stemNo(0) { +} + +void WStemLabel::setup(const QDomNode& node, const SkinContext& context) { + m_stemNo = context.selectInt(node, "StemNum"); +} + +void WStemLabel::slotTrackUnloaded(TrackPointer track) { + Q_UNUSED(track); + m_stemInfo = StemInfo(); + updateLabel(); +} + +void WStemLabel::slotTrackLoaded(TrackPointer track) { + if (!track) { + return; + } + + auto stemInfo = track->getStemInfo(); + + if (stemInfo.isEmpty()) { + return; + } + + m_stemInfo = stemInfo[m_stemNo - 1]; + updateLabel(); +} + +void WStemLabel::updateLabel() { + QColor color = m_stemInfo.getColor(); + QString text = m_stemInfo.getLabel(); + setTextColor(color); + setLabelText(text); +} + +void WStemLabel::setTextColor(const QColor& color) { + QPalette palette = this->palette(); + palette.setColor(QPalette::WindowText, color); + this->setPalette(palette); +} + +void WStemLabel::setLabelText(const QString& text) { + this->setText(text); +} diff --git a/src/widget/wstemlabel.h b/src/widget/wstemlabel.h new file mode 100644 index 00000000000..52cb22707f6 --- /dev/null +++ b/src/widget/wstemlabel.h @@ -0,0 +1,29 @@ +#pragma once + +#include "control/controlproxy.h" +#include "skin/legacy/skincontext.h" +#include "track/track.h" +#include "widget/wlabel.h" + +class WStemLabel : public WLabel { + Q_OBJECT + public: + explicit WStemLabel(QWidget* pParent = nullptr); + + void setup(const QDomNode& node, const SkinContext& context) override; + + public slots: + void slotTrackLoaded(TrackPointer track); + void slotTrackUnloaded(TrackPointer track); + + private slots: + void updateLabel(); + + private: + void setTextColor(const QColor& color); + void setLabelText(const QString& text); + + StemInfo m_stemInfo; + QString m_group; + int m_stemNo; +}; From 3bf091c35d9654d3132743e13be13fa76ce150ac Mon Sep 17 00:00:00 2001 From: Joerg Date: Wed, 28 Aug 2024 22:50:23 +0200 Subject: [PATCH 02/11] Improved Stem-Mute button appearance --- .../classic/buttons/btn__stem_mute.svg | 67 +++++++++++++++++++ .../palemoon/buttons/btn__stem_mute.svg | 67 +++++++++++++++++++ res/skins/LateNight/stem_channel.xml | 2 +- res/skins/LateNight/style_classic.qss | 9 +++ res/skins/LateNight/style_palemoon.qss | 9 +++ 5 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 res/skins/LateNight/classic/buttons/btn__stem_mute.svg create mode 100644 res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg diff --git a/res/skins/LateNight/classic/buttons/btn__stem_mute.svg b/res/skins/LateNight/classic/buttons/btn__stem_mute.svg new file mode 100644 index 00000000000..3fabd5eebda --- /dev/null +++ b/res/skins/LateNight/classic/buttons/btn__stem_mute.svg @@ -0,0 +1,67 @@ + + + + + + + + + diff --git a/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg b/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg new file mode 100644 index 00000000000..663a1e9c1b8 --- /dev/null +++ b/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg @@ -0,0 +1,67 @@ + + + + + + + + + diff --git a/res/skins/LateNight/stem_channel.xml b/res/skins/LateNight/stem_channel.xml index b3beec9895d..11631ea6618 100644 --- a/res/skins/LateNight/stem_channel.xml +++ b/res/skins/LateNight/stem_channel.xml @@ -24,7 +24,7 @@ - QuickEffectButton + StemMuteButton 36,4 18f,18f 2 diff --git a/res/skins/LateNight/style_classic.qss b/res/skins/LateNight/style_classic.qss index db532514ce6..fa7987dded2 100644 --- a/res/skins/LateNight/style_classic.qss +++ b/res/skins/LateNight/style_classic.qss @@ -1421,6 +1421,7 @@ WPushButton#LibExpand, WPushButton#CueDeck[displayValue="0"], WPushButton#PlayIndicator[value="0"], WPushButton#LoopActivate[displayValue="0"], +WPushButton#StemMuteButton[displayValue="0"], #FxAssignButtons WPushButton[displayValue="0"], #VinylControls WPushButton[displayValue="0"], #KeyControls WPushButton[displayValue="0"], @@ -1484,6 +1485,10 @@ QPushButton#pushButtonRecording:checked { border-radius: 0px; } +/* Orange for Stem Ch Mute buttons */ +WPushButton#StemMuteButton{ + background-color: #db7700; +} /* Green for Fx buttons: QuickEffect + Fx 1/2 */ #FxUnit1 #FxToggleButton[displayValue="1"], #FxUnit2 #FxToggleButton[displayValue="1"], @@ -1817,6 +1822,10 @@ WPushButton#BpmLockToggle[value="1"] { image: url(skins:LateNight/classic/buttons/btn__pfl.svg) no-repeat center center; } +#StemMuteButton[displayValue="0"] { + image: url(skins:LateNight/classic/buttons/btn__stem_mute.svg) no-repeat center center; +} + #QuickEffectButton[displayValue="0"] { image: url(skins:LateNight/classic/buttons/btn__star.svg) no-repeat center center; } diff --git a/res/skins/LateNight/style_palemoon.qss b/res/skins/LateNight/style_palemoon.qss index 666cf1c84e7..3fecae941b9 100644 --- a/res/skins/LateNight/style_palemoon.qss +++ b/res/skins/LateNight/style_palemoon.qss @@ -1588,6 +1588,7 @@ WPushButton#CueDeck[displayValue="0"], WPushButton#LoopActivate[displayValue="0"], #KeyControls WPushButton[displayValue="0"], #EQKillButtonBox WPushButton[displayValue="0"], +WPushButton#StemMuteButton[displayValue="0"], WPushButton#QuickEffectButton[displayValue="0"], WPushButton#FxToggleButton[displayValue="0"], #MicAuxUnit WPushButton[displayValue="0"], @@ -1708,6 +1709,10 @@ QPushButton#pushButtonRecording:checked, background-color: #a80000; } +/* Orange for Stem Ch Mute buttons */ +WPushButton#StemMuteButton{ + background-color: #b24c12; +} /* Green for Fx toggles, QuickEffect + Fx12 */ #FxUnit1 #FxToggleButton[displayValue="1"], #FxUnit2 #FxToggleButton[displayValue="1"], @@ -2220,6 +2225,10 @@ WPushButton#PlayDeck[value="0"] { image: url(skins:LateNight/palemoon/buttons/btn__pfl_active.svg) no-repeat center center; } +#StemMuteButton[displayValue="0"] { + image: url(skins:LateNight/palemoon/buttons/btn__stem_mute.svg) no-repeat center center; +} + #QuickEffectButton[displayValue="0"] { image: url(skins:LateNight/palemoon/buttons/btn__star.svg) no-repeat center center; } From 3e9311fe3e9d83f5433ac8d17b7aa6c5e8885ffe Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 29 Aug 2024 20:46:15 +0200 Subject: [PATCH 03/11] Fixed missing stem label after skin reload --- src/skin/legacy/legacyskinparser.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/skin/legacy/legacyskinparser.cpp b/src/skin/legacy/legacyskinparser.cpp index 0eb15b5fe98..5655b004578 100644 --- a/src/skin/legacy/legacyskinparser.cpp +++ b/src/skin/legacy/legacyskinparser.cpp @@ -983,6 +983,13 @@ QWidget* LegacySkinParser::parseStemLabelWidget(const QDomElement& element) { QString group = lookupNodeGroup(element); BaseTrackPlayer* pPlayer = m_pPlayerManager->getPlayer(group); + if (!pPlayer) { + SKIN_WARNING(element, + *m_pContext, + QStringLiteral("No player found for group: %1").arg(group)); + return nullptr; + } + connect(pPlayer, &BaseTrackPlayer::newTrackLoaded, pLabel, @@ -993,6 +1000,13 @@ QWidget* LegacySkinParser::parseStemLabelWidget(const QDomElement& element) { pLabel, &WStemLabel::slotTrackUnloaded); + TrackPointer pTrack = pPlayer->getLoadedTrack(); + if (pTrack) { + // Set the trackpoinnter to the already loaded track, + // needed at skin change + pLabel->slotTrackLoaded(pTrack); + } + return pLabel; } From 16f9abb6242e49a1702a2a4daea29221f7f5fc90 Mon Sep 17 00:00:00 2001 From: Joerg Date: Thu, 29 Aug 2024 21:14:51 +0200 Subject: [PATCH 04/11] Replaced copy/paste prototype skin code with dedicated code. Fixed visual issues and defined tooltips. --- res/skins/LateNight/stem_channel.xml | 83 ++++----------------- res/skins/LateNight/style_classic.qss | 10 +++ res/skins/LateNight/style_palemoon.qss | 11 +++ res/skins/LateNight/waveform.xml | 46 +++++------- res/skins/LateNight/waveforms_container.xml | 19 +++-- src/skin/legacy/tooltips.cpp | 19 +++++ 6 files changed, 80 insertions(+), 108 deletions(-) diff --git a/res/skins/LateNight/stem_channel.xml b/res/skins/LateNight/stem_channel.xml index 11631ea6618..8b26cec060e 100644 --- a/res/skins/LateNight/stem_channel.xml +++ b/res/skins/LateNight/stem_channel.xml @@ -1,18 +1,16 @@ - diff --git a/res/skins/LateNight/style_classic.qss b/res/skins/LateNight/style_classic.qss index fa7987dded2..e62dfdfeab8 100644 --- a/res/skins/LateNight/style_classic.qss +++ b/res/skins/LateNight/style_classic.qss @@ -195,6 +195,16 @@ WSearchLineEdit, border: 1px solid red; } +#BeatgridControls, +#StemControls { + border-top: 1px solid #222; + border-left: 1px solid #222; + border-bottom: 1px solid #111; + border-right: 1px solid #111; + border-radius: 2px; + background-color: #171717; + } + #VuMainCover { background-color: rgba(21, 21, 21, 150); } diff --git a/res/skins/LateNight/style_palemoon.qss b/res/skins/LateNight/style_palemoon.qss index 3fecae941b9..fb52f0708d9 100644 --- a/res/skins/LateNight/style_palemoon.qss +++ b/res/skins/LateNight/style_palemoon.qss @@ -241,6 +241,17 @@ WSearchLineEdit { border-bottom: 1px solid #0c0c0c; } +#BeatgridControls, +#StemControls { + border-top: 1px solid #1c1c1c; + border-left: 1px solid #1c1c1c; + border-bottom: 1px solid #020202; + border-right: 1px solid #111; + border-radius: 1px; + background-color: #151517; + } + + #FxParametersFocusBg { border: 1px solid #257B82; background-color: rgba(0,0,1,50); diff --git a/res/skins/LateNight/waveform.xml b/res/skins/LateNight/waveform.xml index e1325158f03..131260ec97b 100644 --- a/res/skins/LateNight/waveform.xml +++ b/res/skins/LateNight/waveform.xml @@ -5,25 +5,16 @@ BeatEditCover ,bpmlock - - [EqualizerRack1_] - - - [EqualizerRack1__Effect1] - + regular + regular + + + + + + - regular - regular - - - - - - - - - - + Waveform horizontal me,me @@ -38,7 +29,7 @@ - + horizontal f,f @@ -48,11 +39,11 @@ - + vertical - + horizontal @@ -67,7 +58,7 @@ - + horizontal @@ -82,7 +73,7 @@ - + horizontal @@ -97,7 +88,7 @@ - + horizontal @@ -113,11 +104,11 @@ - + - + 1me,1me @@ -127,8 +118,7 @@ [Skin],show_stem_controls visible - - + diff --git a/res/skins/LateNight/waveforms_container.xml b/res/skins/LateNight/waveforms_container.xml index 9d5e6ad5e25..821b33696ff 100644 --- a/res/skins/LateNight/waveforms_container.xml +++ b/res/skins/LateNight/waveforms_container.xml @@ -4,22 +4,21 @@ horizontal me,min - - - WaveformsContainer horizontal me,min - + + + vertical 100me,40me diff --git a/src/skin/legacy/tooltips.cpp b/src/skin/legacy/tooltips.cpp index bc033a15ffc..0623c2a2df0 100644 --- a/src/skin/legacy/tooltips.cpp +++ b/src/skin/legacy/tooltips.cpp @@ -269,6 +269,9 @@ void Tooltips::addStandardTooltips() { add("show_beatgrid_controls") << tr("Show/hide the beatgrid controls section"); + add("show_stem_controls") + << tr("Show/hide the stem mixing controls section"); + add("show_library") << tr("Show Library") << tr("Show or hide the track library."); @@ -1150,6 +1153,22 @@ void Tooltips::addStandardTooltips() { << tr("Toggle the current effect.") << eqKillLatch; + // Stem Channel Controls + add("StemLabel") + << tr("Stem Label") + << tr("Name of the stem stored in the stem file") + << tr("Text is displayed in the stem color stored in the stem file") + << tr("this stem color is also used for the waveform of this stem"); + + add("StemMuteButton") + << tr("Stem Mute") + << tr("Toggle the stem mute/unmuted"); + + add("StemVolumeKnob") + << tr("Stem Volume Knob") + << tr("Adjusts the volume of the stem") + << resetWithRightAndDoubleClick; + // Equalizer Rack Controls add("EqualizerRack_effect_parameter") << tr("Equalizer Parameter") From 0c876922f5bba0ef2839d23421c56fc838a48d5b Mon Sep 17 00:00:00 2001 From: ronso0 Date: Tue, 10 Sep 2024 13:16:09 +0200 Subject: [PATCH 05/11] polish stem controls in waveforms --- .../classic/buttons/btn__stem_mute.svg | 73 +------ .../palemoon/buttons/btn__stem_mute.svg | 73 +------ res/skins/LateNight/stem_channel.xml | 202 +++++++++--------- res/skins/LateNight/style.qss | 15 +- res/skins/LateNight/style_palemoon.qss | 8 +- res/skins/LateNight/waveforms_container.xml | 18 +- 6 files changed, 138 insertions(+), 251 deletions(-) diff --git a/res/skins/LateNight/classic/buttons/btn__stem_mute.svg b/res/skins/LateNight/classic/buttons/btn__stem_mute.svg index 3fabd5eebda..a335dbbf4ba 100644 --- a/res/skins/LateNight/classic/buttons/btn__stem_mute.svg +++ b/res/skins/LateNight/classic/buttons/btn__stem_mute.svg @@ -1,67 +1,8 @@ - - - - - - - - + + + + + + + diff --git a/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg b/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg index 663a1e9c1b8..5a99e4d21fa 100644 --- a/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg +++ b/res/skins/LateNight/palemoon/buttons/btn__stem_mute.svg @@ -1,67 +1,8 @@ - - - - - - - - + + + + + + + diff --git a/res/skins/LateNight/stem_channel.xml b/res/skins/LateNight/stem_channel.xml index 8b26cec060e..3af404857aa 100644 --- a/res/skins/LateNight/stem_channel.xml +++ b/res/skins/LateNight/stem_channel.xml @@ -1,13 +1,11 @@