diff --git a/companion/releasenotes.txt b/companion/releasenotes.txt index 56f87df6f..36765d48b 100644 --- a/companion/releasenotes.txt +++ b/companion/releasenotes.txt @@ -10,6 +10,7 @@
  • Model Print and Model Compare improvements and fixes (#2734, #2737, #2576)
  • Negative telemetry offset value was reset when writing back to radio (#2738)
  • Telemetry sensor names were not displayed (#2807)
  • +
  • Mixes multiplex representation now the same as on the radio (#2808)
  • diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 787bca608..33f325243 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -121,14 +121,14 @@ bool MixesPanel::AddMixerLine(int dest) QString MixesPanel::getMixerText(int dest, bool * new_ch) { QString str; - if (new_ch) *new_ch = 0; + bool newChannel = false; if (dest < 0) { str = modelPrinter.printMixerName(-dest); //highlight channel if needed if (-dest == (int)highlightedSource) { str = "" + str + ""; } - if (new_ch) *new_ch = 1; + newChannel = true; } else { MixData & mix = model->mixData[dest]; @@ -136,7 +136,7 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) str = modelPrinter.printMixerName(mix.destCh); if ((dest == 0) || (model->mixData[dest-1].destCh != mix.destCh)) { - if (new_ch) *new_ch = 1; + newChannel = true; //highlight channel if needed if (mix.destCh == highlightedSource) { str = "" + str + ""; @@ -146,8 +146,9 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) str.fill(' '); } - str += modelPrinter.printMixerLine(mix, highlightedSource); + str += modelPrinter.printMixerLine(mix, !newChannel, highlightedSource); } + if (new_ch) *new_ch = newChannel; return str.replace(" ", " "); } diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index b9063113a..1cfbdf917 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -327,21 +327,25 @@ QString ModelPrinter::printMixerName(int curDest) return Qt::escape(str); } -QString ModelPrinter::printMixerLine(int idx, int highlightedSource) +QString ModelPrinter::printMixerLine(int idx, bool showMultiplex, int highlightedSource) { - return printMixerLine(model.mixData[idx], highlightedSource); + return printMixerLine(model.mixData[idx], highlightedSource, showMultiplex); } -QString ModelPrinter::printMixerLine(const MixData & mix, int highlightedSource) +QString ModelPrinter::printMixerLine(const MixData & mix, bool showMultiplex, int highlightedSource) { QString str = " "; - switch(mix.mltpx) { - case (1): str += "*"; break; - case (2): str += "R"; break; - default: str += " "; break; - }; - + if (showMultiplex) { + switch(mix.mltpx) { + case (1): str += "*="; break; + case (2): str += ":="; break; + default: str += "+="; break; + } + } + else { + str += "  "; + } // highlight source if needed QString source = Qt::escape(mix.srcRaw.toString(&model)); if ( (mix.srcRaw.type == SOURCE_TYPE_CH) && (mix.srcRaw.index+1 == (int)highlightedSource) ) { diff --git a/companion/src/modelprinter.h b/companion/src/modelprinter.h index 11a7b712c..b531509c7 100644 --- a/companion/src/modelprinter.h +++ b/companion/src/modelprinter.h @@ -50,8 +50,8 @@ class ModelPrinter: public QObject QString printInputLine(int idx); QString printInputLine(const ExpoData & ed); QString printMixerName(int curDest); - QString printMixerLine(int idx, int highlightedSource = 0); - QString printMixerLine(const MixData & md, int highlightedSource = 0); + QString printMixerLine(int idx, bool showMultiplex, int highlightedSource = 0); + QString printMixerLine(const MixData & md, bool showMultiplex, int highlightedSource = 0); QString printLogicalSwitchLine(int idx); QString printCustomFunctionLine(int idx); static QString printChannelName(int idx); diff --git a/companion/src/multimodelprinter.cpp b/companion/src/multimodelprinter.cpp index 4ff6b52dc..135a0cd4f 100644 --- a/companion/src/multimodelprinter.cpp +++ b/companion/src/multimodelprinter.cpp @@ -357,7 +357,7 @@ QString MultiModelPrinter::printMixers() for (int j=0; j 0) columns.append("
    "); - COMPARE((j < model->mixes(i).size()) ? modelPrinter->printMixerLine(*model->mixes(i)[j]) : " "); + COMPARE((j < model->mixes(i).size()) ? modelPrinter->printMixerLine(*model->mixes(i)[j], (j>0)) : " "); } columns.append(""); }