From 18ebc27f8be20d124f3436a1868eb8c345fad3f6 Mon Sep 17 00:00:00 2001 From: be_ Date: Mon, 5 Dec 2016 13:15:06 -0600 Subject: [PATCH 1/7] add support for effect & effect parameter short names --- src/effects/effectmanifest.h | 8 ++++++++ src/effects/effectmanifestparameter.h | 8 ++++++++ src/effects/effectparameter.cpp | 4 ++++ src/effects/effectparameter.h | 1 + src/effects/effectparameterslotbase.cpp | 7 +++++++ src/effects/effectparameterslotbase.h | 1 + src/widget/weffect.cpp | 6 +++++- src/widget/weffectparameterbase.cpp | 6 +++++- 8 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/effects/effectmanifest.h b/src/effects/effectmanifest.h index 056ad83d0a6..954d19264d9 100644 --- a/src/effects/effectmanifest.h +++ b/src/effects/effectmanifest.h @@ -45,6 +45,13 @@ class EffectManifest { m_name = name; } + virtual const QString& shortName() const { + return m_shortName; + } + virtual void setShortName(const QString& shortName) { + m_shortName = shortName; + } + virtual const QString& author() const { return m_author; } @@ -114,6 +121,7 @@ class EffectManifest { QString m_id; QString m_name; + QString m_shortName; QString m_author; QString m_version; QString m_description; diff --git a/src/effects/effectmanifestparameter.h b/src/effects/effectmanifestparameter.h index 5b50d595081..131e9081f63 100644 --- a/src/effects/effectmanifestparameter.h +++ b/src/effects/effectmanifestparameter.h @@ -74,6 +74,13 @@ class EffectManifestParameter { m_name = name; } + virtual const QString& shortName() const { + return m_shortName; + } + virtual void setShortName(const QString& shortName) { + m_shortName = shortName; + } + virtual const QString& description() const { return m_description; } @@ -179,6 +186,7 @@ class EffectManifestParameter { QString m_id; QString m_name; + QString m_shortName; QString m_description; ControlHint m_controlHint; diff --git a/src/effects/effectparameter.cpp b/src/effects/effectparameter.cpp index 7092fa9ef84..a017941045a 100644 --- a/src/effects/effectparameter.cpp +++ b/src/effects/effectparameter.cpp @@ -51,6 +51,10 @@ const QString EffectParameter::name() const { return m_parameter.name(); } +const QString EffectParameter::shortName() const { + return m_parameter.shortName(); +} + const QString EffectParameter::description() const { return m_parameter.description(); } diff --git a/src/effects/effectparameter.h b/src/effects/effectparameter.h index b037f78627b..781e520c7f5 100644 --- a/src/effects/effectparameter.h +++ b/src/effects/effectparameter.h @@ -32,6 +32,7 @@ class EffectParameter : public QObject { const EffectManifestParameter& manifest() const; const QString id() const; const QString name() const; + const QString shortName() const; const QString description() const; /////////////////////////////////////////////////////////////////////////// diff --git a/src/effects/effectparameterslotbase.cpp b/src/effects/effectparameterslotbase.cpp index cf8ed365d71..6a87a0efb06 100644 --- a/src/effects/effectparameterslotbase.cpp +++ b/src/effects/effectparameterslotbase.cpp @@ -30,6 +30,13 @@ QString EffectParameterSlotBase::name() const { return QString(); } +QString EffectParameterSlotBase::shortName() const { + if (m_pEffectParameter) { + return m_pEffectParameter->shortName(); + } + return QString(); +} + QString EffectParameterSlotBase::description() const { if (m_pEffectParameter) { return m_pEffectParameter->description(); diff --git a/src/effects/effectparameterslotbase.h b/src/effects/effectparameterslotbase.h index 4f14caf0823..db561ced18e 100644 --- a/src/effects/effectparameterslotbase.h +++ b/src/effects/effectparameterslotbase.h @@ -22,6 +22,7 @@ class EffectParameterSlotBase : public QObject { virtual ~EffectParameterSlotBase(); QString name() const; + QString shortName() const; QString description() const; const EffectManifestParameter getManifest(); diff --git a/src/widget/weffect.cpp b/src/widget/weffect.cpp index aa3581b1aae..329b0d5e29e 100644 --- a/src/widget/weffect.cpp +++ b/src/widget/weffect.cpp @@ -44,7 +44,11 @@ void WEffect::effectUpdated() { EffectPointer pEffect = m_pEffectSlot->getEffect(); if (pEffect) { const EffectManifest& manifest = pEffect->getManifest(); - name = manifest.name(); + if (! manifest.shortName().isEmpty()) { + name = manifest.shortName(); + } else { + name = manifest.name(); + } description = manifest.description(); } } else { diff --git a/src/widget/weffectparameterbase.cpp b/src/widget/weffectparameterbase.cpp index 135289cc168..02c851b855a 100644 --- a/src/widget/weffectparameterbase.cpp +++ b/src/widget/weffectparameterbase.cpp @@ -21,7 +21,11 @@ void WEffectParameterBase::setEffectParameterSlot( void WEffectParameterBase::parameterUpdated() { if (m_pEffectParameterSlot) { - setText(m_pEffectParameterSlot->name()); + if (! m_pEffectParameterSlot->shortName().isEmpty()) { + setText(m_pEffectParameterSlot->shortName()); + } else { + setText(m_pEffectParameterSlot->name()); + } setBaseTooltip(m_pEffectParameterSlot->description()); } else { setText(tr("None")); From 13c53983299da1886987b2c2f49d6e03eb88c107 Mon Sep 17 00:00:00 2001 From: be_ Date: Mon, 5 Dec 2016 13:16:38 -0600 Subject: [PATCH 2/7] add effect & effect parameter short names --- src/effects/native/autopaneffect.cpp | 1 + src/effects/native/bessel4lvmixeqeffect.cpp | 1 + src/effects/native/bessel8lvmixeqeffect.cpp | 1 + src/effects/native/bitcrushereffect.cpp | 1 + src/effects/native/filtereffect.cpp | 3 ++- src/effects/native/linkwitzriley8eqeffect.cpp | 1 + src/effects/native/moogladder4filtereffect.cpp | 2 ++ src/effects/native/reverbeffect.cpp | 1 + 8 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/effects/native/autopaneffect.cpp b/src/effects/native/autopaneffect.cpp index 4717b710774..4b889fe1383 100644 --- a/src/effects/native/autopaneffect.cpp +++ b/src/effects/native/autopaneffect.cpp @@ -69,6 +69,7 @@ EffectManifest AutoPanEffect::getManifest() { EffectManifestParameter* smoothing = manifest.addParameter(); smoothing->setId("smoothing"); smoothing->setName(QObject::tr("Smoothing")); + smoothing->setShortName(QObject::tr("Smooth")); smoothing->setDescription( QObject::tr("How fast the signal goes from a channel to an other")); smoothing->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); diff --git a/src/effects/native/bessel4lvmixeqeffect.cpp b/src/effects/native/bessel4lvmixeqeffect.cpp index 309ec04ff51..4553caaffe7 100644 --- a/src/effects/native/bessel4lvmixeqeffect.cpp +++ b/src/effects/native/bessel4lvmixeqeffect.cpp @@ -11,6 +11,7 @@ EffectManifest Bessel4LVMixEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Bessel4 LV-Mix EQ")); + manifest.setShortName(QObject::tr("Bessel4 EQ")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( diff --git a/src/effects/native/bessel8lvmixeqeffect.cpp b/src/effects/native/bessel8lvmixeqeffect.cpp index 234e4ee218b..2a94867f304 100644 --- a/src/effects/native/bessel8lvmixeqeffect.cpp +++ b/src/effects/native/bessel8lvmixeqeffect.cpp @@ -11,6 +11,7 @@ EffectManifest Bessel8LVMixEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Bessel8 LV-Mix EQ")); + manifest.setShortName(QObject::tr("Bessel8 EQ")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( diff --git a/src/effects/native/bitcrushereffect.cpp b/src/effects/native/bitcrushereffect.cpp index 966ade98f9f..bc0e8d785ad 100644 --- a/src/effects/native/bitcrushereffect.cpp +++ b/src/effects/native/bitcrushereffect.cpp @@ -38,6 +38,7 @@ EffectManifest BitCrusherEffect::getManifest() { EffectManifestParameter* frequency = manifest.addParameter(); frequency->setId("downsample"); frequency->setName(QObject::tr("Downsampling")); + frequency->setShortName(QObject::tr("Down")); frequency->setDescription(QObject::tr("Adjusts the sample rate, to which the signal is downsampled.")); frequency->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); frequency->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); diff --git a/src/effects/native/filtereffect.cpp b/src/effects/native/filtereffect.cpp index 4407ede1dbf..1890004c0c2 100644 --- a/src/effects/native/filtereffect.cpp +++ b/src/effects/native/filtereffect.cpp @@ -37,7 +37,8 @@ EffectManifest FilterEffect::getManifest() { EffectManifestParameter* q = manifest.addParameter(); q->setId("q"); - q->setName(QObject::tr("Q")); + q->setName(QObject::tr("Resonance")); + q->setShortName(QObject::tr("Q")); q->setDescription(QObject::tr("Resonance of the filters, default = Flat top")); q->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); q->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); diff --git a/src/effects/native/linkwitzriley8eqeffect.cpp b/src/effects/native/linkwitzriley8eqeffect.cpp index a086d799803..64c9a7b15b3 100644 --- a/src/effects/native/linkwitzriley8eqeffect.cpp +++ b/src/effects/native/linkwitzriley8eqeffect.cpp @@ -15,6 +15,7 @@ EffectManifest LinkwitzRiley8EQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("LinkwitzRiley8 EQ")); + manifest.setShortName(QObject::tr("LR8 EQ")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( diff --git a/src/effects/native/moogladder4filtereffect.cpp b/src/effects/native/moogladder4filtereffect.cpp index 80a82402f80..4c4953d6945 100644 --- a/src/effects/native/moogladder4filtereffect.cpp +++ b/src/effects/native/moogladder4filtereffect.cpp @@ -16,6 +16,7 @@ EffectManifest MoogLadder4FilterEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Moog Ladder 4 Filter")); + manifest.setShortName(QObject::tr("Moog Filter")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( @@ -39,6 +40,7 @@ EffectManifest MoogLadder4FilterEffect::getManifest() { EffectManifestParameter* q = manifest.addParameter(); q->setId("resonance"); q->setName(QObject::tr("Resonance")); + q->setShortName(QObject::tr("Res")); q->setDescription(QObject::tr("Resonance of the filters. 4 = self oscillating")); q->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); q->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); diff --git a/src/effects/native/reverbeffect.cpp b/src/effects/native/reverbeffect.cpp index c15c63f9366..8db166cb947 100644 --- a/src/effects/native/reverbeffect.cpp +++ b/src/effects/native/reverbeffect.cpp @@ -26,6 +26,7 @@ EffectManifest ReverbEffect::getManifest() { EffectManifestParameter* time = manifest.addParameter(); time->setId("bandwidth"); time->setName(QObject::tr("Bandwidth")); + time->setName(QObject::tr("Band")); time->setDescription(QObject::tr("Higher bandwidth values cause more " "bright (high-frequency) tones to be included")); time->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR); From 199ed800a1098c1373be4c9ca51db2b46be27463 Mon Sep 17 00:00:00 2001 From: be_ Date: Mon, 5 Dec 2016 20:59:23 -0600 Subject: [PATCH 3/7] include full effect & parameter names in tooltips for shortened names --- src/widget/weffect.cpp | 5 +++-- src/widget/weffectparameterbase.cpp | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/widget/weffect.cpp b/src/widget/weffect.cpp index 329b0d5e29e..5e70416203a 100644 --- a/src/widget/weffect.cpp +++ b/src/widget/weffect.cpp @@ -44,12 +44,13 @@ void WEffect::effectUpdated() { EffectPointer pEffect = m_pEffectSlot->getEffect(); if (pEffect) { const EffectManifest& manifest = pEffect->getManifest(); - if (! manifest.shortName().isEmpty()) { + if (!manifest.shortName().isEmpty()) { name = manifest.shortName(); + description = manifest.name() + ": " + manifest.description(); } else { name = manifest.name(); + description = manifest.description(); } - description = manifest.description(); } } else { name = tr("None"); diff --git a/src/widget/weffectparameterbase.cpp b/src/widget/weffectparameterbase.cpp index 02c851b855a..f6bfb4f36ab 100644 --- a/src/widget/weffectparameterbase.cpp +++ b/src/widget/weffectparameterbase.cpp @@ -21,12 +21,15 @@ void WEffectParameterBase::setEffectParameterSlot( void WEffectParameterBase::parameterUpdated() { if (m_pEffectParameterSlot) { - if (! m_pEffectParameterSlot->shortName().isEmpty()) { + if (!m_pEffectParameterSlot->shortName().isEmpty()) { setText(m_pEffectParameterSlot->shortName()); + setBaseTooltip(m_pEffectParameterSlot->name() + + QString(": ") + + m_pEffectParameterSlot->description()); } else { setText(m_pEffectParameterSlot->name()); + setBaseTooltip(m_pEffectParameterSlot->description()); } - setBaseTooltip(m_pEffectParameterSlot->description()); } else { setText(tr("None")); setBaseTooltip(tr("No effect loaded.")); From 35bf933b50e05d233493920b9f710798e71c95d9 Mon Sep 17 00:00:00 2001 From: be_ Date: Mon, 5 Dec 2016 20:59:43 -0600 Subject: [PATCH 4/7] change reverb "Bandwidth" short name to "BW" --- src/effects/native/reverbeffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/effects/native/reverbeffect.cpp b/src/effects/native/reverbeffect.cpp index 8db166cb947..2558279b7b0 100644 --- a/src/effects/native/reverbeffect.cpp +++ b/src/effects/native/reverbeffect.cpp @@ -26,7 +26,7 @@ EffectManifest ReverbEffect::getManifest() { EffectManifestParameter* time = manifest.addParameter(); time->setId("bandwidth"); time->setName(QObject::tr("Bandwidth")); - time->setName(QObject::tr("Band")); + time->setShortName(QObject::tr("BW")); time->setDescription(QObject::tr("Higher bandwidth values cause more " "bright (high-frequency) tones to be included")); time->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR); From a5a2fdcfb2709176744ab0b5b6e092b008218cdc Mon Sep 17 00:00:00 2001 From: be_ Date: Tue, 6 Dec 2016 23:40:12 -0600 Subject: [PATCH 5/7] make word separator with : translatable for different typographical conventions --- src/widget/weffect.cpp | 2 +- src/widget/weffectparameterbase.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widget/weffect.cpp b/src/widget/weffect.cpp index 5e70416203a..f7310e79aed 100644 --- a/src/widget/weffect.cpp +++ b/src/widget/weffect.cpp @@ -46,7 +46,7 @@ void WEffect::effectUpdated() { const EffectManifest& manifest = pEffect->getManifest(); if (!manifest.shortName().isEmpty()) { name = manifest.shortName(); - description = manifest.name() + ": " + manifest.description(); + description = manifest.name() + tr(": ") + manifest.description(); } else { name = manifest.name(); description = manifest.description(); diff --git a/src/widget/weffectparameterbase.cpp b/src/widget/weffectparameterbase.cpp index f6bfb4f36ab..1f7fbcd85ca 100644 --- a/src/widget/weffectparameterbase.cpp +++ b/src/widget/weffectparameterbase.cpp @@ -24,7 +24,7 @@ void WEffectParameterBase::parameterUpdated() { if (!m_pEffectParameterSlot->shortName().isEmpty()) { setText(m_pEffectParameterSlot->shortName()); setBaseTooltip(m_pEffectParameterSlot->name() - + QString(": ") + + + tr(": ") + m_pEffectParameterSlot->description()); } else { setText(m_pEffectParameterSlot->name()); From 4c315eba56c70a84414bb8214ce70385163b32e2 Mon Sep 17 00:00:00 2001 From: be_ Date: Wed, 7 Dec 2016 17:33:02 -0600 Subject: [PATCH 6/7] make effect tooltip more translator friendly --- src/widget/weffect.cpp | 4 +++- src/widget/weffectparameterbase.cpp | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/widget/weffect.cpp b/src/widget/weffect.cpp index f7310e79aed..8c93b4d4a0a 100644 --- a/src/widget/weffect.cpp +++ b/src/widget/weffect.cpp @@ -46,7 +46,9 @@ void WEffect::effectUpdated() { const EffectManifest& manifest = pEffect->getManifest(); if (!manifest.shortName().isEmpty()) { name = manifest.shortName(); - description = manifest.name() + tr(": ") + manifest.description(); + // %1 = effect name + // %2 = effect description + description = tr("%1: %2").arg(manifest.name(), manifest.description()); } else { name = manifest.name(); description = manifest.description(); diff --git a/src/widget/weffectparameterbase.cpp b/src/widget/weffectparameterbase.cpp index 1f7fbcd85ca..fe365e1d397 100644 --- a/src/widget/weffectparameterbase.cpp +++ b/src/widget/weffectparameterbase.cpp @@ -23,9 +23,11 @@ void WEffectParameterBase::parameterUpdated() { if (m_pEffectParameterSlot) { if (!m_pEffectParameterSlot->shortName().isEmpty()) { setText(m_pEffectParameterSlot->shortName()); - setBaseTooltip(m_pEffectParameterSlot->name() - + tr(": ") + - m_pEffectParameterSlot->description()); + // %1: effect name + // %2: effect description + setBaseTooltip(tr("%1: %2").arg( + m_pEffectParameterSlot->name(), + m_pEffectParameterSlot->description())); } else { setText(m_pEffectParameterSlot->name()); setBaseTooltip(m_pEffectParameterSlot->description()); From 2255a2d92f51547a75ff9c99ce548de3f3dbecff Mon Sep 17 00:00:00 2001 From: be_ Date: Thu, 8 Dec 2016 10:36:52 -0600 Subject: [PATCH 7/7] make comments translator-friendly --- src/widget/weffect.cpp | 3 +-- src/widget/weffectparameterbase.cpp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/widget/weffect.cpp b/src/widget/weffect.cpp index 8c93b4d4a0a..34e65ce7d04 100644 --- a/src/widget/weffect.cpp +++ b/src/widget/weffect.cpp @@ -46,8 +46,7 @@ void WEffect::effectUpdated() { const EffectManifest& manifest = pEffect->getManifest(); if (!manifest.shortName().isEmpty()) { name = manifest.shortName(); - // %1 = effect name - // %2 = effect description + //: %1 = effect name; %2 = effect description description = tr("%1: %2").arg(manifest.name(), manifest.description()); } else { name = manifest.name(); diff --git a/src/widget/weffectparameterbase.cpp b/src/widget/weffectparameterbase.cpp index fe365e1d397..dcc0a751f87 100644 --- a/src/widget/weffectparameterbase.cpp +++ b/src/widget/weffectparameterbase.cpp @@ -23,8 +23,7 @@ void WEffectParameterBase::parameterUpdated() { if (m_pEffectParameterSlot) { if (!m_pEffectParameterSlot->shortName().isEmpty()) { setText(m_pEffectParameterSlot->shortName()); - // %1: effect name - // %2: effect description + //: %1 = effect name; %2 = effect description setBaseTooltip(tr("%1: %2").arg( m_pEffectParameterSlot->name(), m_pEffectParameterSlot->description()));