2021-09-06 12:54:28 -04:00
|
|
|
#include "sacnexplorer.h"
|
|
|
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
|
|
SacnExplorer::SacnExplorer(int argc, char *argv[])
|
|
|
|
: QApplication(argc, argv)
|
|
|
|
{
|
|
|
|
setOrganizationName("Company235");
|
|
|
|
setOrganizationDomain("company235.com");
|
|
|
|
setApplicationName(tr("sACN Explorer"));
|
|
|
|
|
2022-11-19 15:44:34 -05:00
|
|
|
// Persistant configuration
|
|
|
|
settings_ = new QSettings();
|
|
|
|
qDebug() << "Loaded application settings from" << settings_->fileName();
|
|
|
|
settings_->beginGroup("ACN");
|
|
|
|
auto cid = settings_->value("CID", QUuid::createUuid().toString()).toUuid();
|
|
|
|
auto uacn = settings_->value("UACN", applicationName()).toString();
|
|
|
|
settings_->endGroup();
|
|
|
|
settings_->beginGroup("sACN");
|
|
|
|
settings_->beginGroup("receiver");
|
|
|
|
auto discovery = settings_->value("discovery", true).toBool();
|
|
|
|
settings_->endGroup();
|
|
|
|
settings_->endGroup();
|
2021-09-06 12:54:28 -04:00
|
|
|
|
2022-11-19 15:44:34 -05:00
|
|
|
// sACN Node
|
|
|
|
qDebug() << "sACN node" << uacn << "starting with CID" << cid.toString();
|
|
|
|
node_ = new QSacnNode(this, cid, applicationName());
|
|
|
|
node_->assignUserName(uacn.toStdString());
|
|
|
|
if (discovery)
|
|
|
|
node_->discoveryStart();
|
2021-09-06 12:54:28 -04:00
|
|
|
|
2022-11-19 15:44:34 -05:00
|
|
|
// Multiverse Explorer
|
|
|
|
window_ = new MultiverseView(nullptr, node_);
|
|
|
|
window_->show();
|
2021-09-06 12:54:28 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SacnExplorer::~SacnExplorer()
|
|
|
|
{
|
|
|
|
saveSettings();
|
|
|
|
|
2022-11-19 15:44:34 -05:00
|
|
|
delete settings_;
|
|
|
|
delete window_;
|
2021-09-06 12:54:28 -04:00
|
|
|
delete node_;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief MultiverseView::saveSettings
|
|
|
|
*/
|
|
|
|
void SacnExplorer::saveSettings()
|
|
|
|
{
|
2022-11-19 15:44:34 -05:00
|
|
|
qDebug() << "Saving application settings to" << settings_->fileName();
|
|
|
|
settings_->beginGroup("ACN");
|
|
|
|
settings_->setValue("CID", node_->cid().string().c_str());
|
|
|
|
settings_->setValue("UACN", node_->name().c_str());
|
|
|
|
settings_->endGroup();
|
|
|
|
settings_->beginGroup("sACN");
|
|
|
|
settings_->beginGroup("receiver");
|
|
|
|
settings_->setValue("discovery", node_->isDiscovering());
|
|
|
|
settings_->endGroup();
|
|
|
|
settings_->endGroup();
|
2021-09-06 12:54:28 -04:00
|
|
|
}
|
|
|
|
|