2018-05-17 Fred Gleason <fredg@paravelsystems.com>

* Added virtual log entries to the 'LOG_MODES' table.
	* Incremented the database version to 280.
	* Added a control for setting vLog start modes to the 'Log Mode
	Control' section of the 'Configure RDAirPlay' dialog in rdadmin(1).
This commit is contained in:
Fred Gleason 2018-05-17 17:28:16 +00:00
parent 4cd5d91b10
commit f26258760d
8 changed files with 113 additions and 14 deletions

View File

@ -16825,3 +16825,8 @@
* Added a 'Virtual Log Outputs' subsection to the
'Channel Assignments' section of the 'Configure RDAirPlay' dialog
in rdadmin(1).
2018-05-17 Fred Gleason <fredg@paravelsystems.com>
* Added virtual log entries to the 'LOG_MODES' table.
* Incremented the database version to 280.
* Added a control for setting vLog start modes to the 'Log Mode
Control' section of the 'Configure RDAirPlay' dialog in rdadmin(1).

View File

@ -24,7 +24,7 @@
/*
* Current Database Version
*/
#define RD_VERSION_DATABASE 279
#define RD_VERSION_DATABASE 280
#endif // DBVERSION_H

View File

@ -718,6 +718,13 @@ bool RDStation::create(const QString &name,QString *err_msg,
q=new RDSqlQuery(sql);
delete q;
}
for(int i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
sql=QString("insert into RDAIRPLAY_CHANNELS set ")+
"STATION_NAME=\""+RDEscapeString(name)+"\","+
QString().sprintf("INSTANCE=%u",i+RD_RDVAIRPLAY_LOG_BASE);
q=new RDSqlQuery(sql);
delete q;
}
for(unsigned i=0;i<RD_CUT_EVENT_ID_QUAN;i++) {
for(unsigned j=0;j<MAX_DECKS;j++) {
sql=QString("insert into DECK_EVENTS set ")+
@ -739,6 +746,13 @@ bool RDStation::create(const QString &name,QString *err_msg,
q=new RDSqlQuery(sql);
delete q;
}
for(int i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
sql=QString().sprintf("insert into LOG_MODES set ")+
"STATION_NAME=\""+RDEscapeString(name)+"\","+
QString().sprintf("MACHINE=%d",i+RD_RDVAIRPLAY_LOG_BASE);
q=new RDSqlQuery(sql);
delete q;
}
//
// Log Machine Parameters
@ -1744,8 +1758,8 @@ bool RDStation::create(const QString &name,QString *err_msg,
"UDP_PORT,"+ // 11
"UDP_STRING,"+ // 12
"LOG_RML "+ // 13
"from LOG_MACHINES where ";
"STATION_NAME=\""+RDEscapeString(exemplar)+"\"";
"from LOG_MACHINES where "+
"STATION_NAME=\""+RDEscapeString(exemplar)+"\"";
q=new RDSqlQuery(sql,false);
while(q->next()) {
sql=QString("insert into LOG_MACHINES set ")+

View File

@ -2426,6 +2426,14 @@ bool InitDb(QString name,QString pwd,QString station_name,RDConfig *config)
return false;
}
}
for(unsigned i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
sql=QString("insert into LOG_MODES set ")+
"STATION_NAME=\""+RDEscapeString(station_name)+"\","+
QString().sprintf("MACHINE=%u",i+RD_RDVAIRPLAY_LOG_BASE);
if(!RunQuery(sql)) {
return false;
}
}
for(unsigned i=0;i<RD_CUT_EVENT_ID_QUAN;i++) {
for(unsigned j=0;j<MAX_DECKS;j++) {
sql=QString("insert into DECK_EVENTS set ")+
@ -8224,6 +8232,20 @@ int UpdateDb(int ver,RDConfig *config)
delete q;
}
if(ver<280) {
sql=QString("select NAME from STATIONS");
q=new RDSqlQuery(sql,false);
while(q->next()) {
for(unsigned i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
sql=QString("insert into LOG_MODES set ")+
"STATION_NAME=\""+RDEscapeString(q->value(0).toString())+"\","+
QString().sprintf("MACHINE=%u",i+RD_RDVAIRPLAY_LOG_BASE);
q1=new RDSqlQuery(sql,false);
delete q1;
}
}
}
//

View File

@ -53,6 +53,7 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
air_exitpasswd_changed=false;
air_logmachine=0;
air_virtual_logmachine=0;
air_virtual_logstartmachine=0;
//
// Fix the Window Size
@ -842,6 +843,24 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
air_logstartmode_label[1]->setText(tr("Aux 1 Log Startup Mode:"));
air_logstartmode_label[2]->setText(tr("Aux 2 Log Startup Mode:"));
air_virtual_logstartsel_box=new QComboBox(this);
air_virtual_logstartsel_box->setGeometry(435,638,120,20);
connect(air_virtual_logstartsel_box,SIGNAL(activated(int)),
this,SLOT(virtualModeActivatedData(int)));
for(int i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
air_virtual_logstartsel_box->
insertItem(QString().sprintf("vLog %d",i+RD_RDVAIRPLAY_LOG_BASE+1));
}
label=new QLabel(":",this);
label->setGeometry(555,638,5,20);
label->setAlignment(Qt::AlignCenter|Qt::AlignVCenter);
air_virtual_logstartmode_box=new QComboBox(this);
air_virtual_logstartmode_box->setGeometry(565,638,110,20);
air_virtual_logstartmode_box->insertItem(tr("Previous"));
air_virtual_logstartmode_box->insertItem(tr("LiveAssist"));
air_virtual_logstartmode_box->insertItem(tr("Automatic"));
air_virtual_logstartmode_box->insertItem(tr("Manual"));
//
// Ok Button
//
@ -944,11 +963,13 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
air_conf->logName(i+RD_RDVAIRPLAY_LOG_BASE);
air_autorestarts[i+RD_RDVAIRPLAY_LOG_BASE]=
air_conf->autoRestart(i+RD_RDVAIRPLAY_LOG_BASE);
// air_logstartmode_boxs[i]->setCurrentItem(air_conf->logStartMode(i));
air_virtual_cards[i]=air_conf->virtualCard(i);
air_virtual_ports[i]=air_conf->virtualPort(i);
air_virtual_start_rmls[i]=air_conf->virtualStartRml(i);
air_virtual_stop_rmls[i]=air_conf->virtualStopRml(i);
air_virtual_cards[i]=air_conf->virtualCard(i+RD_RDVAIRPLAY_LOG_BASE);
air_virtual_ports[i]=air_conf->virtualPort(i+RD_RDVAIRPLAY_LOG_BASE);
air_virtual_start_rmls[i]=
air_conf->virtualStartRml(i+RD_RDVAIRPLAY_LOG_BASE);
air_virtual_stop_rmls[i]=air_conf->virtualStopRml(i+RD_RDVAIRPLAY_LOG_BASE);
air_virtual_opmodes[i]=air_conf->opMode(i+RD_RDVAIRPLAY_LOG_BASE);
air_virtual_logstartmode_box->setCurrentItem((int)air_virtual_opmodes[0]);
}
air_virtual_card_sel->setCard(air_virtual_cards[air_virtual_logmachine]);
air_virtual_card_sel->setPort(air_virtual_ports[air_virtual_logmachine]);
@ -975,7 +996,7 @@ EditRDAirPlay::~EditRDAirPlay()
QSize EditRDAirPlay::sizeHint() const
{
return QSize(1010,660);
return QSize(1010,680);
}
@ -1068,6 +1089,16 @@ void EditRDAirPlay::virtualLogActivatedData(int vlognum)
}
void EditRDAirPlay::virtualModeActivatedData(int vlognum)
{
air_virtual_opmodes[air_virtual_logstartmachine]=
(RDAirPlayConf::OpMode)air_virtual_logstartmode_box->currentItem();
air_virtual_logstartmachine=vlognum;
air_virtual_logstartmode_box->
setCurrentItem((int)air_virtual_opmodes[air_virtual_logstartmachine]);
}
void EditRDAirPlay::startModeChangedData(int mode)
{
air_startlog_edit->setEnabled((RDAirPlayConf::StartMode)mode==
@ -1229,10 +1260,14 @@ void EditRDAirPlay::okData()
air_startlogs[i+RD_RDVAIRPLAY_LOG_BASE]);
air_conf->setAutoRestart(i+RD_RDVAIRPLAY_LOG_BASE,
air_autorestarts[i+RD_RDVAIRPLAY_LOG_BASE]);
air_conf->setVirtualCard(i,air_virtual_cards[i]);
air_conf->setVirtualPort(i,air_virtual_ports[i]);
air_conf->setVirtualStartRml(i,air_virtual_start_rmls[i]);
air_conf->setVirtualStopRml(i,air_virtual_stop_rmls[i]);
air_conf->setVirtualCard(i+RD_RDVAIRPLAY_LOG_BASE,air_virtual_cards[i]);
air_conf->setVirtualPort(i+RD_RDVAIRPLAY_LOG_BASE,air_virtual_ports[i]);
air_conf->
setVirtualStartRml(i+RD_RDVAIRPLAY_LOG_BASE,air_virtual_start_rmls[i]);
air_conf->
setVirtualStopRml(i+RD_RDVAIRPLAY_LOG_BASE,air_virtual_stop_rmls[i]);
virtualModeActivatedData(air_virtual_logstartmachine);
air_conf->setOpMode(i+RD_RDVAIRPLAY_LOG_BASE,air_virtual_opmodes[i]);
}
air_conf->setSkinPath(air_skin_edit->text());
done(0);

View File

@ -57,6 +57,7 @@ class EditRDAirPlay : public QDialog
void exitPasswordChangedData(const QString &str);
void logActivatedData(int lognum);
void virtualLogActivatedData(int vlognum);
void virtualModeActivatedData(int vlognum);
void startModeChangedData(int mode);
void selectData();
void nownextData();
@ -145,6 +146,10 @@ class EditRDAirPlay : public QDialog
QComboBox *air_modecontrol_box;
QLabel *air_logstartmode_label[RDAIRPLAY_LOG_QUANTITY];
QComboBox *air_logstartmode_box[RDAIRPLAY_LOG_QUANTITY];
QComboBox *air_virtual_logstartsel_box;
QComboBox *air_virtual_logstartmode_box;
int air_virtual_logstartmachine;
RDAirPlayConf::OpMode air_virtual_opmodes[RD_RDVAIRPLAY_LOG_QUAN];
};

View File

@ -275,6 +275,10 @@ void MainObject::Revert(int schema) const
case 279:
Revert279();
break;
case 280:
Revert280();
break;
}
}
@ -1022,6 +1026,19 @@ void MainObject::Revert279() const
}
void MainObject::Revert280() const
{
QString sql;
RDSqlQuery *q;
sql=QString("delete from LOG_MODES where MACHINE>=100");
q=new RDSqlQuery(sql,false);
delete q;
SetVersion(279);
}
int MainObject::GetVersion() const
{
QString sql;
@ -1068,7 +1085,7 @@ int MainObject::MapSchema(const QString &ver)
version_map["2.17"]=268;
version_map["2.18"]=272;
version_map["2.19"]=275;
version_map["2.20"]=279;
version_map["2.20"]=280;
//
// Normalize String

View File

@ -75,6 +75,7 @@ class MainObject : public QObject
void Revert277() const;
void Revert278() const;
void Revert279() const;
void Revert280() const;
int GetVersion() const;
void SetVersion(int schema) const;
int MapSchema(const QString &ver);