- Images and Texts working
This commit is contained in:
parent
8da55d2b1a
commit
f67bfb43c8
8 changed files with 396 additions and 825 deletions
|
@ -88,11 +88,6 @@ libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
|
|||
qErrnoWarning("libremediaserver::constructor: Can not listen on unix local server");
|
||||
}
|
||||
connect(m_server_vid, SIGNAL(newConnection()),this, SLOT(newPeer()));
|
||||
// Start preview Timer
|
||||
// m_preview = new QTimer(this);
|
||||
// Q_CHECK_PTR(m_preview);
|
||||
// m_preview->start(500);
|
||||
// connect(m_preview, SIGNAL(timeout()) ,this, SLOT(previewMaster()));
|
||||
// Iniciamos olad
|
||||
m_ola = new QProcess(this);
|
||||
Q_CHECK_PTR(m_ola);
|
||||
|
@ -109,7 +104,7 @@ libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
|
|||
m_olaInterface = new olaInterface();
|
||||
Q_CHECK_PTR(m_olaInterface);
|
||||
connect(m_olaInterface->m_msex->m_timer, SIGNAL(timeout()), this, SLOT(sendFrame()));
|
||||
connect(m_olaInterface, SIGNAL(sendDmx(int,int,int)), this, SLOT(sendPacket(int,int,int)));
|
||||
connect(m_olaInterface, SIGNAL(sendDmx(int,int,int)), this, SLOT(receiveDMX(int,int,int)));
|
||||
connect(m_olaInterface, SIGNAL(newFile(QString)), this, SLOT(newFile(QString)));
|
||||
}
|
||||
|
||||
|
@ -159,7 +154,6 @@ void libreMediaServer::save_finish()
|
|||
{
|
||||
QFile file(CONF_FILE);
|
||||
save(&file);
|
||||
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
@ -177,6 +171,7 @@ void libreMediaServer::openFile()
|
|||
QFile file(fileNames.at(0));
|
||||
open(&file);
|
||||
}
|
||||
|
||||
// Save configuration File
|
||||
void libreMediaServer::saveFile()
|
||||
{
|
||||
|
@ -188,6 +183,7 @@ void libreMediaServer::saveFile()
|
|||
QFile file(fileNames.at(0));
|
||||
save(&file);
|
||||
}
|
||||
|
||||
// Change Media path
|
||||
void libreMediaServer::ChangeMediaPath()
|
||||
{
|
||||
|
@ -336,88 +332,6 @@ void libreMediaServer::on_winsizey_valueChanged()
|
|||
}
|
||||
}
|
||||
|
||||
// DMX address configuration
|
||||
|
||||
void libreMediaServer::on_layer1Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer1Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer2Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer2Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer3Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer3Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer4Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer4Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer5Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer5Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer6Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer6Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer7Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer7Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer8Check_stateChanged (int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void libreMediaServer::on_layer8Add_valueChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Change the Frame Rate
|
||||
void libreMediaServer::on_fpsRate_valueChanged()
|
||||
{
|
||||
|
@ -604,7 +518,7 @@ bool libreMediaServer::sendPacket(const char *buffer, int bufferLen)
|
|||
}
|
||||
|
||||
// Send DMX Channel to Pure Data
|
||||
void libreMediaServer::sendPacket(int layer, int channel, int value)
|
||||
void libreMediaServer::receiveDMX(int layer, int channel, int value)
|
||||
{
|
||||
QString buffer = tr("%1 %2 %3;").arg(layer).arg(channel).arg(value);
|
||||
if (!sendPacket(buffer.toAscii().constData(), buffer.size()))
|
||||
|
@ -720,5 +634,5 @@ void libreMediaServer::stdout() {
|
|||
}
|
||||
return;
|
||||
}
|
||||
qDebug() << "PD Video: " << out;
|
||||
qDebug() << "PD debug| " << out;
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ public slots:
|
|||
|
||||
void sendFrame();
|
||||
bool sendPacket(const char *buffer, int bufferLen);
|
||||
void sendPacket(int layer, int channel, int value);
|
||||
void receiveDMX(int layer, int channel, int value);
|
||||
bool newFile(QString file);
|
||||
|
||||
private slots:
|
||||
|
@ -108,22 +108,6 @@ private slots:
|
|||
void on_winpositiony_valueChanged();
|
||||
void on_winsizex_valueChanged();
|
||||
void on_winsizey_valueChanged();
|
||||
void on_layer1Add_valueChanged();
|
||||
void on_layer1Check_stateChanged (int state);
|
||||
void on_layer2Add_valueChanged();
|
||||
void on_layer2Check_stateChanged (int state);
|
||||
void on_layer3Add_valueChanged();
|
||||
void on_layer3Check_stateChanged (int state);
|
||||
void on_layer4Add_valueChanged();
|
||||
void on_layer4Check_stateChanged (int state);
|
||||
void on_layer5Add_valueChanged();
|
||||
void on_layer5Check_stateChanged (int state);
|
||||
void on_layer6Add_valueChanged();
|
||||
void on_layer6Check_stateChanged (int state);
|
||||
void on_layer7Add_valueChanged();
|
||||
void on_layer7Check_stateChanged (int state);
|
||||
void on_layer8Add_valueChanged();
|
||||
void on_layer8Check_stateChanged (int state);
|
||||
void on_fpsRate_valueChanged();
|
||||
void pdrestart();
|
||||
void stdout();
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>745</width>
|
||||
<height>636</height>
|
||||
<width>753</width>
|
||||
<height>457</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -58,37 +58,11 @@
|
|||
<attribute name="title">
|
||||
<string>Video</string>
|
||||
</attribute>
|
||||
<widget class="QSpinBox" name="layer5Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>330</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer6Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 6</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winsizex">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>290</y>
|
||||
<y>80</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
|
@ -104,7 +78,7 @@
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>320</y>
|
||||
<y>110</y>
|
||||
<width>101</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
|
@ -113,24 +87,11 @@
|
|||
<string>Window Size</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer6Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="window">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>260</y>
|
||||
<x>10</x>
|
||||
<y>200</y>
|
||||
<width>87</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
|
@ -139,76 +100,11 @@
|
|||
<string>Window</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer7Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer3Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer8Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>570</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 8</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer2Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer4Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>250</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 4</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="winposLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>370</y>
|
||||
<y>160</y>
|
||||
<width>121</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
|
@ -217,50 +113,11 @@
|
|||
<string>Window Position</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer1Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>70</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer1Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer8Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>570</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winpositiony">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>340</y>
|
||||
<y>130</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
|
@ -269,24 +126,11 @@
|
|||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer7Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 7</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winsizey">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>70</x>
|
||||
<y>290</y>
|
||||
<y>80</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
|
@ -295,37 +139,11 @@
|
|||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer5Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>330</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 5</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer3Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 3</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winpositionx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>340</y>
|
||||
<y>130</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
|
@ -334,32 +152,6 @@
|
|||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="layer4Add">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>250</x>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>512</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="layer2Check">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>70</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Layer 2</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="layer1Preview">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
|
@ -516,9 +308,9 @@
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>150</y>
|
||||
<width>320</width>
|
||||
<height>210</height>
|
||||
<y>80</y>
|
||||
<width>160</width>
|
||||
<height>105</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
|
@ -532,10 +324,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="previewLayer">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>480</x>
|
||||
<y>240</y>
|
||||
<x>310</x>
|
||||
<y>80</y>
|
||||
<width>131</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
|
@ -544,14 +339,17 @@
|
|||
<string>Preview Layers</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="previewMaster">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>480</x>
|
||||
<y>270</y>
|
||||
<x>310</x>
|
||||
<y>110</y>
|
||||
<width>141</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
|
@ -560,7 +358,7 @@
|
|||
<string>Preview Master</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="autoRepeat">
|
||||
<bool>false</bool>
|
||||
|
@ -569,8 +367,8 @@
|
|||
<widget class="QLCDNumber" name="fpsCounter">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>483</x>
|
||||
<y>322</y>
|
||||
<x>493</x>
|
||||
<y>92</y>
|
||||
<width>61</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
|
@ -582,8 +380,8 @@
|
|||
<widget class="QLabel" name="fpsLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>480</x>
|
||||
<y>370</y>
|
||||
<x>490</x>
|
||||
<y>140</y>
|
||||
<width>161</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
|
@ -595,8 +393,8 @@
|
|||
<widget class="QSpinBox" name="fpsRate">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>560</x>
|
||||
<y>320</y>
|
||||
<x>570</x>
|
||||
<y>90</y>
|
||||
<width>59</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
|
@ -615,43 +413,6 @@
|
|||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
<zorder>layer7Check</zorder>
|
||||
<zorder>layer5Check</zorder>
|
||||
<zorder>layer3Check</zorder>
|
||||
<zorder>layer2Check</zorder>
|
||||
<zorder>layer5Add</zorder>
|
||||
<zorder>layer6Check</zorder>
|
||||
<zorder>winsizex</zorder>
|
||||
<zorder>winsizeLabel</zorder>
|
||||
<zorder>layer6Add</zorder>
|
||||
<zorder>window</zorder>
|
||||
<zorder>layer7Add</zorder>
|
||||
<zorder>layer3Add</zorder>
|
||||
<zorder>layer8Check</zorder>
|
||||
<zorder>layer2Add</zorder>
|
||||
<zorder>layer4Check</zorder>
|
||||
<zorder>winposLabel</zorder>
|
||||
<zorder>layer1Check</zorder>
|
||||
<zorder>layer1Add</zorder>
|
||||
<zorder>layer8Add</zorder>
|
||||
<zorder>winpositiony</zorder>
|
||||
<zorder>winsizey</zorder>
|
||||
<zorder>winpositionx</zorder>
|
||||
<zorder>layer4Add</zorder>
|
||||
<zorder>layer1Preview</zorder>
|
||||
<zorder>layer2Preview</zorder>
|
||||
<zorder>layer3Preview</zorder>
|
||||
<zorder>layer4Preview</zorder>
|
||||
<zorder>layer5Preview</zorder>
|
||||
<zorder>layer6Preview</zorder>
|
||||
<zorder>layer7Preview</zorder>
|
||||
<zorder>layer8Preview</zorder>
|
||||
<zorder>masterPreview</zorder>
|
||||
<zorder>previewLayer</zorder>
|
||||
<zorder>previewMaster</zorder>
|
||||
<zorder>fpsCounter</zorder>
|
||||
<zorder>fpsLabel</zorder>
|
||||
<zorder>fpsRate</zorder>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="textEdit">
|
||||
|
@ -678,7 +439,7 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>745</width>
|
||||
<width>753</width>
|
||||
<height>29</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
|
|
@ -56,10 +56,8 @@ void olaInterface::readDataFromXML() {
|
|||
QMessageBox::critical(NULL,"Load XML File Problem",
|
||||
"Couldn't open dmx.xml to load settings for olaInterface",
|
||||
QMessageBox::Ok);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
QXmlStreamReader* xmlReader = new QXmlStreamReader(xmlFile);
|
||||
int counter = 0;
|
||||
//Parse the XML until we reach end of it
|
||||
|
@ -121,9 +119,9 @@ void olaInterface::dmx(int layer, int channel, int value)
|
|||
// This qDebug slows all the program. Uncomment only for debugging purpouse and comment again in normal use
|
||||
// qDebug() << tr("olaInterface|") << "newdmx layer" << layer << "channel" << channel << "value" << value;
|
||||
switch(channel){
|
||||
case DMX_FOLDER:// Folder
|
||||
case DMX_FILE:// File
|
||||
requestNewFile(layer, 1);
|
||||
case DMX_FOLDER:// Folder / Text File
|
||||
case DMX_FILE:// File / Font File
|
||||
requestNewFile(layer, (worker->m_dmx[layer][DMX_SOURCETYPE] / 25));
|
||||
break;
|
||||
case DMX_SOURCETYPE:// Source type
|
||||
if(value < 25)
|
||||
|
@ -131,12 +129,10 @@ void olaInterface::dmx(int layer, int channel, int value)
|
|||
requestNewFile(layer, 0);
|
||||
} else if (value > 24 && value < 50) { // Create a video source
|
||||
requestNewFile(layer, 1);
|
||||
} else if (value > 49 && value < 75){ // Create a Picture
|
||||
} else if (value > 49 && value < 75){ // Render a text
|
||||
requestNewFile(layer, 2);
|
||||
} else if (value > 74 && value < 100) { // Text
|
||||
} else if (value > 74 && value < 100) { // Live Cam
|
||||
requestNewFile(layer, 3);
|
||||
} else if (value > 99 && value < 125) { // Cam
|
||||
requestNewFile(layer, 4);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -149,30 +145,67 @@ void olaInterface::dmx(int layer, int channel, int value)
|
|||
void olaInterface::requestNewFile(int layer, int type){
|
||||
int cooki = layer + 201;
|
||||
QString newfile = tr("%1 %2 ").arg(cooki).arg(type);
|
||||
newfile.append("open ");
|
||||
// Select one mediafile from the media library
|
||||
int folder = worker->m_dmx[layer][DMX_FOLDER];
|
||||
int file = worker->m_dmx[layer][DMX_FILE];
|
||||
if (folder < m_media->size()) {
|
||||
if (file < m_media->at(folder).m_MediaInformation.size()) {
|
||||
newfile.append(m_media->at(folder).m_MediaInformation.at(file).MediaName);
|
||||
if (type == 1) {
|
||||
newfile.append("open ");
|
||||
// Select one mediafile from the media library
|
||||
if (folder < m_media->size()) {
|
||||
if (file < m_media->at(folder).m_MediaInformation.size()) {
|
||||
newfile.append(m_media->at(folder).m_MediaInformation.at(file).MediaName);
|
||||
newfile.append(";");
|
||||
emit newFile(newfile);
|
||||
} else {
|
||||
qDebug() << tr("olaInterface|") << "Requested file is greater than files in library";
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
qDebug() << tr("olaInterface|") << "Requested file is greater than files in library";
|
||||
qDebug() << tr("olaInterface|") << "Requested folder is greater than media libraries";
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
qDebug() << tr("olaInterface|") << "Requested folder is greater than media libraries";
|
||||
return;
|
||||
} else if (type == 2) {
|
||||
newfile.append("fuente font ");
|
||||
QDir dir;
|
||||
if (!dir.cd(m_pathmedia)) {
|
||||
qWarning() << "olaInterface::initMediaLibrary| Can not cd to the path: " << m_pathmedia;
|
||||
return;
|
||||
}
|
||||
if (!dir.cd("font")) {
|
||||
qWarning() << "olaInterface::initMediaLibrary| Can not cd to the media folder: " << m_pathmedia;
|
||||
return;
|
||||
}
|
||||
dir.setFilter(QDir::Files);
|
||||
QFileInfoList filelist = dir.entryInfoList();
|
||||
QFileInfo fileInfo = filelist.at(worker->m_dmx[layer][DMX_FILE]);
|
||||
newfile.append(fileInfo.absoluteFilePath().toAscii());
|
||||
newfile.append(";");
|
||||
emit newFile(newfile);
|
||||
newfile.clear();
|
||||
newfile = tr("%1 %2 ").arg(cooki).arg(type);
|
||||
newfile.append("text read ");
|
||||
dir.cdUp();
|
||||
if (!dir.cd("text")){
|
||||
qWarning() << "olaInterface::initMediaLibrary| Can not cd to text folder: " << m_pathmedia;
|
||||
}
|
||||
filelist = dir.entryInfoList();
|
||||
fileInfo = filelist.at(worker->m_dmx[layer][DMX_FOLDER]);
|
||||
newfile.append(fileInfo.absoluteFilePath().toAscii());
|
||||
newfile.append(";");
|
||||
emit newFile(newfile);
|
||||
} else if (type == 3) {
|
||||
|
||||
}
|
||||
newfile.append(";");
|
||||
emit newFile(newfile);
|
||||
}
|
||||
|
||||
// Initializes the media library and the media information from the path to media in m_pathmedia
|
||||
void olaInterface::initMediaLibrary() {
|
||||
QDir dir;
|
||||
if (!dir.cd(m_pathmedia)) {
|
||||
qWarning() << "olaInterface::initMediaLibrary| Can not cd to the path to media: " << m_pathmedia;
|
||||
qWarning() << "olaInterface::initMediaLibrary| Can not cd to the path: " << m_pathmedia;
|
||||
return;
|
||||
}
|
||||
if (!dir.cd("media")) {
|
||||
qWarning() << "olaInterface::initMediaLibrary| Can not cd to the media folder: " << m_pathmedia;
|
||||
return;
|
||||
}
|
||||
m_media = new QList<MediaLibrary>;
|
||||
|
@ -212,8 +245,10 @@ QList<MediaInformation> olaInterface::getMediaInformation(QDir dir)
|
|||
if (!dir.mkdir("thumbs"))
|
||||
{
|
||||
qWarning() << tr("olaInterface|") << "Can not create thumbs folder in " << dir.path();
|
||||
}
|
||||
} else {
|
||||
folder = true;
|
||||
dir.cd("thumbs");
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < filelist.size(); ++i) {
|
||||
fileInfo = filelist.at(i);
|
||||
|
@ -295,6 +330,7 @@ olaWorker::~olaWorker() {
|
|||
void olaWorker::olastart() {
|
||||
// set up ola connection
|
||||
m_client = new OlaCallbackClientWrapper;
|
||||
Q_CHECK_PTR(m_client);
|
||||
if (!m_client->Setup()) {qErrnoWarning("olaInterface::open: m_client.Setup:");}
|
||||
m_clientpointer = m_client->GetClient();
|
||||
m_clientpointer->SetDmxCallback(ola::NewCallback(this, &olaWorker::NewDmx));
|
||||
|
@ -379,30 +415,8 @@ void olaWorker::RegisterComplete(const string &error) {
|
|||
* - Change the DMX address of each layer
|
||||
* - Change the universe to bind in ola
|
||||
* - Write and read different xml configuration files for different setups
|
||||
* - Open the olad web setup page in localhost:9090 or patch directly from xml configuration file
|
||||
* - Start and stop the dmx reading
|
||||
|
||||
|
||||
void GLMixer::on_actionOLASetup_triggered(){
|
||||
QWebView *view = new QWebView();
|
||||
view->load(QUrl("http://localhost:9090/ola.html"));
|
||||
view->show();
|
||||
}
|
||||
|
||||
// Changing the path to the media folder tree
|
||||
void UserPreferencesDialog::on_ChangeMediaPath_clicked(){
|
||||
QFileDialog dialog(this);
|
||||
dialog.setFileMode(QFileDialog::Directory);
|
||||
QStringList fileNames;
|
||||
if (!dialog.exec())
|
||||
return;
|
||||
fileNames = dialog.selectedFiles();
|
||||
QString file = fileNames.at(0);
|
||||
MediaPath->setText(file);
|
||||
QString desc = tr("Media Path Changed to: %1").arg(file);
|
||||
qDebug() << desc;
|
||||
}
|
||||
|
||||
void savesetttingtoxml{
|
||||
// Habrá que salvar las settings en algún sitio
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue