Skip to content

Commit

Permalink
engine: allow pan/tilt-only palettes
Browse files Browse the repository at this point in the history
  • Loading branch information
mcallegari committed Oct 14, 2019
1 parent 6b64752 commit d1709d4
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 14 deletions.
36 changes: 29 additions & 7 deletions engine/src/qlcpalette.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,9 @@ QString QLCPalette::typeToString(QLCPalette::PaletteType type)
{
case Dimmer: return "Dimmer";
case Color: return "Color";
case Position: return "Position";
case Pan: return "Pan";
case Tilt: return "Tilt";
case PanTilt: return "PanTilt";
case Shutter: return "Shutter";
case Gobo: return "Gobo";
case Undefined: return "";
Expand All @@ -88,8 +90,12 @@ QLCPalette::PaletteType QLCPalette::stringToType(const QString &str)
return Dimmer;
else if (str == "Color")
return Color;
else if (str == "Position")
return Position;
else if (str == "Pan")
return Pan;
else if (str == "Tilt")
return Tilt;
else if (str == "PanTilt")
return PanTilt;
else if (str == "Shutter")
return Shutter;
else if (str == "Gobo")
Expand All @@ -107,7 +113,9 @@ QString QLCPalette::iconResource(bool svg) const
{
case Dimmer: return QString("%1:/intensity.%2").arg(prefix).arg(ext);
case Color: return QString("%1:/color.%2").arg(prefix).arg(ext);
case Position: return QString("%1:/position.%2").arg(prefix).arg(ext);
case Pan: return QString("%1:/pan.%2").arg(prefix).arg(ext);
case Tilt: return QString("%1:/tilt.%2").arg(prefix).arg(ext);
case PanTilt: return QString("%1:/position.%2").arg(prefix).arg(ext);
case Shutter: return QString("%1:/shutter.%2").arg(prefix).arg(ext);
case Gobo: return QString("%1:/gobo.%2").arg(prefix).arg(ext);
default: return "";
Expand Down Expand Up @@ -189,7 +197,17 @@ QList<SceneValue> QLCPalette::valuesFromFixtures(Doc *doc, QList<quint32> fixtur
}
}
break;
case Position:
case Pan:
{
list << fixture->positionToValues(QLCChannel::Pan, value().toInt());
}
break;
case Tilt:
{
list << fixture->positionToValues(QLCChannel::Tilt, value().toInt());
}
break;
case PanTilt:
{
if (m_values.count() == 2)
{
Expand Down Expand Up @@ -296,12 +314,14 @@ bool QLCPalette::loadXML(QXmlStreamReader &doc)
switch (m_type)
{
case Dimmer:
case Pan:
case Tilt:
setValue(strVal.toInt());
break;
case Color:
setValue(QColor(strVal));
break;
case Position:
case PanTilt:
{
QStringList posList = strVal.split(",");
if (posList.count() == 2)
Expand Down Expand Up @@ -330,6 +350,8 @@ bool QLCPalette::saveXML(QXmlStreamWriter *doc)
switch (m_type)
{
case Dimmer:
case Pan:
case Tilt:
doc->writeAttribute(KXMLQLCPaletteValue, value().toString());
break;
case Color:
Expand All @@ -338,7 +360,7 @@ bool QLCPalette::saveXML(QXmlStreamWriter *doc)
doc->writeAttribute(KXMLQLCPaletteValue, col.name());
}
break;
case Position:
case PanTilt:
doc->writeAttribute(KXMLQLCPaletteValue,
QString("%1,%2").arg(m_values.at(0).toInt()).arg(m_values.at(1).toInt()));
break;
Expand Down
8 changes: 5 additions & 3 deletions engine/src/qlcpalette.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,11 @@ class QLCPalette : public QObject
Undefined = 0,
Dimmer = 1 << 0,
Color = 1 << 1,
Position = 1 << 2,
Shutter = 1 << 3,
Gobo = 1 << 4
Pan = 1 << 2,
Tilt = 1 << 3,
PanTilt = 1 << 4,
Shutter = 1 << 5,
Gobo = 1 << 6
};
#if QT_VERSION >= 0x050500
Q_ENUM(PaletteType)
Expand Down
16 changes: 12 additions & 4 deletions qmlui/palettemanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ void PaletteManager::createPalette(int type, QString name, QVariant value1, QVar
QLCPalette *palette = new QLCPalette(QLCPalette::PaletteType(type));
palette->setName(name);

if (type == QLCPalette::Position)
if (type == QLCPalette::PanTilt)
palette->setValue(value1, value2);
else
palette->setValue(value1);
Expand Down Expand Up @@ -132,9 +132,17 @@ void PaletteManager::updatePaletteList()

switch (palette->type())
{
case QLCPalette::Dimmer: m_dimmerCount++; break;
case QLCPalette::Color: m_colorCount++; break;
case QLCPalette::Position: m_positionCount++; break;
case QLCPalette::Dimmer:
m_dimmerCount++;
break;
case QLCPalette::Color:
m_colorCount++;
break;
case QLCPalette::Pan:
case QLCPalette::Tilt:
case QLCPalette::PanTilt:
m_positionCount++;
break;
default: break;
}
}
Expand Down

0 comments on commit d1709d4

Please sign in to comment.