From a8ac305bdd9beae4078bddd1655c5f82c78c37ba Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 30 Jan 2018 18:18:57 -0500 Subject: [PATCH] 2018-01-31 Fred Gleason * Converted rdairplay(1) to use RDApplication. --- ChangeLog | 2 + rdairplay/button_log.cpp | 17 +- rdairplay/edit_event.cpp | 12 +- rdairplay/globals.h | 15 +- rdairplay/list_log.cpp | 42 ++-- rdairplay/list_logs.cpp | 19 +- rdairplay/local_macros.cpp | 165 +++++++-------- rdairplay/log_play.cpp | 60 +++--- rdairplay/log_traffic.cpp | 11 +- rdairplay/loglinebox.cpp | 12 +- rdairplay/post_counter.cpp | 12 +- rdairplay/rdairplay.cpp | 383 ++++++++++++++++------------------- rdairplay/rdairplay_cs.ts | 6 +- rdairplay/rdairplay_de.ts | 6 +- rdairplay/rdairplay_es.ts | 6 +- rdairplay/rdairplay_fr.ts | 6 +- rdairplay/rdairplay_nb.ts | 6 +- rdairplay/rdairplay_nn.ts | 6 +- rdairplay/rdairplay_pt_BR.ts | 6 +- rdairplay/rlmhost.cpp | 9 +- rdairplay/stop_counter.cpp | 10 +- rdairplay/wall_clock.cpp | 11 +- 22 files changed, 410 insertions(+), 412 deletions(-) diff --git a/ChangeLog b/ChangeLog index 01719f9c..9a873e8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16599,3 +16599,5 @@ 2018-01-30 Fred Gleason * Added an 'RDApplication'class. * Converted rdlibrary(1) to use RDApplication. +2018-01-31 Fred Gleason + * Converted rdairplay(1) to use RDApplication. diff --git a/rdairplay/button_log.cpp b/rdairplay/button_log.cpp index 3f795800..5f2d1377 100644 --- a/rdairplay/button_log.cpp +++ b/rdairplay/button_log.cpp @@ -2,7 +2,7 @@ // // The button log widget for RDAirPlay // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -22,11 +22,12 @@ #include #include +#include #include -#include -#include -#include +#include "button_log.h" +#include "colors.h" +#include "globals.h" ButtonLog::ButtonLog(LogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, bool allow_pause,QWidget *parent) @@ -68,8 +69,8 @@ ButtonLog::ButtonLog(LogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, for(int i=0;isetMode(LogLineBox::Full); - log_line_box[i]->setAcceptDrops(rdstation_conf->enableDragdrop()); - log_line_box[i]->setAllowDrags(rdstation_conf->enableDragdrop()); + log_line_box[i]->setAcceptDrops(rda->station()->enableDragdrop()); + log_line_box[i]->setAllowDrags(rda->station()->enableDragdrop()); log_line_box[i]->setGeometry(10+log_line_box[i]->sizeHint().height(), (log_line_box[i]->sizeHint().height()+12)*i, log_line_box[i]->sizeHint().width(), @@ -91,8 +92,8 @@ ButtonLog::ButtonLog(LogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, for(int i=BUTTON_PLAY_BUTTONS;isetMode(LogLineBox::Half); - log_line_box[i]->setAcceptDrops(rdstation_conf->enableDragdrop()); - log_line_box[i]->setAllowDrags(rdstation_conf->enableDragdrop()); + log_line_box[i]->setAcceptDrops(rda->station()->enableDragdrop()); + log_line_box[i]->setAllowDrags(rda->station()->enableDragdrop()); log_line_box[i]->setGeometry(10+log_line_box[0]->sizeHint().height(), (log_line_box[0]->sizeHint().height()+12)*3+ (log_line_box[i]->sizeHint().height()+12)*(i-3), diff --git a/rdairplay/edit_event.cpp b/rdairplay/edit_event.cpp index d02c9182..f55b7d9b 100644 --- a/rdairplay/edit_event.cpp +++ b/rdairplay/edit_event.cpp @@ -2,7 +2,7 @@ // // Event Editor for RDAirPlay // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -23,10 +23,11 @@ #include #include +#include #include -#include -#include +#include "edit_event.h" +#include "globals.h" EditEvent::EditEvent(LogPlay *log,RDCae *cae,QWidget *parent) : QDialog(parent,"",true) @@ -132,9 +133,8 @@ EditEvent::EditEvent(LogPlay *log,RDCae *cae,QWidget *parent) // // Cue Editor // - edit_cue_edit= - new RDCueEdit(edit_cae,rdstation_conf->cueCard(), - rdstation_conf->cuePort(),this); + edit_cue_edit=new RDCueEdit(edit_cae,rda->station()->cueCard(), + rda->station()->cuePort(),this); // // Cart Notes diff --git a/rdairplay/globals.h b/rdairplay/globals.h index 5a77da84..c6127eb4 100644 --- a/rdairplay/globals.h +++ b/rdairplay/globals.h @@ -2,7 +2,7 @@ // // Global Variable Declarations for RDAirPlay // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -21,31 +21,18 @@ #ifndef GLOBALS_H #define GLOBALS_H -#include -#include -#include #include -#include -#include -#include #include #include -#include // // Global Resources // -extern RDStation *rdstation_conf; -extern RDSystem *rdsystem_conf; -extern RDAirPlayConf *rdairplay_conf; extern RDAudioPort *rdaudioport_conf; -extern RDUser *rduser; -extern RDRipc *rdripc; extern RDEventPlayer *rdevent_player; extern RDCartDialog *rdcart_dialog; extern void LogLine(RDConfig::LogPriority prio,const QString &line); extern QString logfile; -extern RDConfig *air_config; #endif // GLOBALS_H diff --git a/rdairplay/list_log.cpp b/rdairplay/list_log.cpp index dc918e5e..dc720d10 100644 --- a/rdairplay/list_log.cpp +++ b/rdairplay/list_log.cpp @@ -2,7 +2,7 @@ // // The full log list for RDAirPlay // -// (C) Copyright 2002-2006,2016-2017 Fred Gleason +// (C) Copyright 2002-2006,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -22,17 +22,19 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include + +#include "button_log.h" +#include "colors.h" +#include "globals.h" +#include "list_log.h" #include "../icons/play.xpm" #include "../icons/rml5.xpm" @@ -162,10 +164,10 @@ ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, list_log_list->setFont(list_font); int y=0; int h=sizeHint().height()-60; - if(rdairplay_conf->showCounters()) { + if(rda->airplayConf()->showCounters()) { h-=60; } - if(rdairplay_conf->hourSelectorEnabled()) { + if(rda->airplayConf()->hourSelectorEnabled()) { y+=80; h-=80; list_hour_selector->setGeometry(0,0,sizeHint().width(),80); @@ -233,7 +235,7 @@ ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, label->setFont(label_font); label->setAlignment(AlignCenter); label->setBackgroundColor(QColor(system_mid_color)); - if(!rdairplay_conf->showCounters()) { + if(!rda->airplayConf()->showCounters()) { label->hide(); } @@ -247,7 +249,7 @@ ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, list_stoptime_label->setFont(label_font); list_stoptime_label->setAlignment(AlignRight|AlignVCenter); list_stoptime_label->setBackgroundColor(QColor(system_mid_color)); - if(!rdairplay_conf->showCounters()) { + if(!rda->airplayConf()->showCounters()) { list_stoptime_edit->hide(); list_stoptime_label->hide(); } @@ -262,7 +264,7 @@ ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, list_endtime_label->setFont(label_font); list_endtime_label->setAlignment(AlignRight|AlignVCenter); list_endtime_label->setBackgroundColor(QColor(system_mid_color)); - if(!rdairplay_conf->showCounters()) { + if(!rda->airplayConf()->showCounters()) { list_endtime_edit->hide(); list_endtime_label->hide(); } @@ -289,7 +291,7 @@ ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, list_head_button->setText(tr("Audition\nHead")); list_head_button->setFocusPolicy(QWidget::NoFocus); connect(list_head_button,SIGNAL(clicked()),this,SLOT(headButtonData())); - if(!rdairplay_conf->showCounters()) { + if(!rda->airplayConf()->showCounters()) { list_head_button->hide(); } @@ -303,7 +305,7 @@ ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, list_tail_button->setText(tr("Audition\nTail")); list_tail_button->setFocusPolicy(QWidget::NoFocus); connect(list_tail_button,SIGNAL(clicked()),this,SLOT(tailButtonData())); - if(!rdairplay_conf->showCounters()) { + if(!rda->airplayConf()->showCounters()) { list_tail_button->hide(); } @@ -872,7 +874,7 @@ void ListLog::loadButtonData() break; case ListLogs::SaveAs: - if(!RDLog::create(name,svcname,rdripc->user(),&err_msg,air_config)) { + if(!RDLog::create(name,svcname,rda->ripc()->user(),&err_msg,rda->config())) { QMessageBox::warning(this,"RDAirPlay - "+tr("Error"),err_msg); return; } @@ -1085,7 +1087,7 @@ void ListLog::cartDroppedData(int line,RDLogLine *ll) void ListLog::paintEvent(QPaintEvent *e) { - if(!rdairplay_conf->showCounters()) { + if(!rda->airplayConf()->showCounters()) { return; } int x=336; diff --git a/rdairplay/list_logs.cpp b/rdairplay/list_logs.cpp index 0ab8ef1e..efadad66 100644 --- a/rdairplay/list_logs.cpp +++ b/rdairplay/list_logs.cpp @@ -2,7 +2,7 @@ // // Select a Rivendell Log // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -22,11 +22,12 @@ #include #include +#include #include #include -#include -#include +#include "globals.h" +#include "list_logs.h" ListLogs::ListLogs(LogPlay *log,QWidget *parent) : QDialog(parent,"",true) @@ -49,7 +50,7 @@ ListLogs::ListLogs(LogPlay *log,QWidget *parent) // Filter Widget // list_filter_widget= - new RDLogFilter(RDLogFilter::StationFilter,rduser,air_config,this); + new RDLogFilter(RDLogFilter::StationFilter,rda->user(),rda->config(),this); connect(list_filter_widget,SIGNAL(filterChanged(const QString &)), this,SLOT(filterChangedData(const QString &))); @@ -127,10 +128,10 @@ int ListLogs::exec(QString *logname,QString *svcname,RDLogLock **log_lock) list_logname=logname; list_svcname=svcname; list_log_lock=log_lock; - list_saveas_button->setEnabled(rduser->createLog()); + list_saveas_button->setEnabled(rda->user()->createLog()); QStringList services_list; QString sql=QString("select SERVICE_NAME from SERVICE_PERMS where ")+ - "STATION_NAME=\""+RDEscapeString(rdstation_conf->name())+"\""; + "STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\""; RDSqlQuery *q=new RDSqlQuery(sql); services_list.push_back(tr("ALL")); while(q->next()) { @@ -179,7 +180,7 @@ void ListLogs::saveButtonData() saveAsButtonData(); } else { - *list_log_lock=new RDLogLock(*list_logname,rduser,rdstation_conf,this); + *list_log_lock=new RDLogLock(*list_logname,rda->user(),rda->station(),this); if(!TryLock(*list_log_lock)) { delete *list_log_lock; *list_log_lock=NULL; @@ -202,8 +203,8 @@ void ListLogs::saveAsButtonData() QString logname; QString svcname=*list_svcname; RDAddLog *log; - log=new RDAddLog(&logname,&svcname,RDLogFilter::StationFilter,rduser, - rdstation_conf,tr("Rename Log"),this); + log=new RDAddLog(&logname,&svcname,RDLogFilter::StationFilter,rda->user(), + rda->station(),tr("Rename Log"),this); if(log->exec()<0) { delete log; return; diff --git a/rdairplay/local_macros.cpp b/rdairplay/local_macros.cpp index a9738e35..a5c9155e 100644 --- a/rdairplay/local_macros.cpp +++ b/rdairplay/local_macros.cpp @@ -2,7 +2,7 @@ // // Local RML Macros for the Rivendell's RDAirPlay // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -20,13 +20,14 @@ #include -#include -#include -#include +#include #include +#include +#include -#include -#include +#include "globals.h" +#include "button_log.h" +#include "rdairplay.h" void MainWidget::RunLocalMacros(RDMacro *rml) { @@ -66,7 +67,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -92,7 +93,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -100,14 +101,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if((rml->argQuantity()<1)||(rml->argQuantity()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<1)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -119,7 +120,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(!RDLog::exists(logname)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -161,7 +162,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -169,14 +170,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=2) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<1)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -184,7 +185,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(!RDLog::exists(logname)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -195,14 +196,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=2) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<1)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -210,14 +211,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(1).toInt()>=air_log[rml->arg(0).toInt()-1]->size())) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } air_log[rml->arg(0).toInt()-1]->makeNext(rml->arg(1).toInt()); if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -225,7 +226,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=1) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -233,14 +234,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(0).toInt()>BUTTON_TOTAL_BUTTONS)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); return; } } air_button_list->startButton(rml->arg(0).toInt()-1); if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -248,14 +249,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<5) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!GetPanel(rml->arg(0).toString(),&panel_type,&panel_number)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -265,7 +266,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(2).toInt()>AIR_PANEL_BUTTON_ROWS)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -280,7 +281,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) rml->arg(rml->argQuantity()-1).toString()); if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -288,14 +289,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=4) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!GetPanel(rml->arg(0).toString(),&panel_type,&panel_number)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -306,7 +307,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(3).toUInt()>999999)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -314,7 +315,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) rml->arg(1).toInt()-1,rml->arg(3).toUInt()); if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -322,14 +323,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=2) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<1)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -337,7 +338,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(1).toInt()>=air_log[rml->arg(0).toInt()-1]->size())) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -346,14 +347,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) RDLogLine::StartMacro)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -361,7 +362,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if((rml->argQuantity()!=1)&&(rml->argQuantity()!=2)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -370,7 +371,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if((mach<0)||(mach>RDAIRPLAY_LOG_QUANTITY)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -391,13 +392,13 @@ void MainWidget::RunLocalMacros(RDMacro *rml) default: if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); return; } } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -405,14 +406,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if((rml->argQuantity()<1)||(rml->argQuantity()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<1)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -420,7 +421,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if((rml->arg(1).toInt()<1)||(rml->arg(1).toInt()>2)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -428,7 +429,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if((rml->arg(2).toInt()<0)||(rml->arg(2).toInt()>1)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -456,7 +457,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -464,14 +465,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<3 || rml->argQuantity()>5) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!GetPanel(rml->arg(0).toString(),&panel_type,&panel_number)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -481,7 +482,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(2).toInt()>AIR_PANEL_BUTTON_ROWS)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -513,7 +514,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -521,14 +522,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<1 || rml->argQuantity()>3) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<0)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -556,7 +557,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -564,14 +565,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<3 || rml->argQuantity()>4) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<0)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -596,7 +597,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -604,14 +605,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<3 || rml->argQuantity()>6) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!GetPanel(rml->arg(0).toString(),&panel_type,&panel_number)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -621,7 +622,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(2).toInt()>AIR_PANEL_BUTTON_ROWS)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -665,7 +666,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -673,14 +674,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<3 || rml->argQuantity()>4) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!GetPanel(rml->arg(0).toString(),&panel_type,&panel_number)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -690,7 +691,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(2).toInt()>AIR_PANEL_BUTTON_ROWS)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -704,7 +705,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(ret); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -712,14 +713,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()<5 || rml->argQuantity()>6) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!GetPanel(rml->arg(0).toString(),&panel_type,&panel_number)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -729,7 +730,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(2).toInt()>AIR_PANEL_BUTTON_ROWS)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -744,7 +745,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -753,14 +754,14 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=1) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<0)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -777,7 +778,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -785,7 +786,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=2) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -793,7 +794,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(1).toUInt()>999999)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -811,7 +812,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -819,27 +820,27 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=1) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(0).toInt()<1)||(rml->arg(0).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(!air_log[rml->arg(0).toInt()-1]->refresh()) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -847,7 +848,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) if(rml->argQuantity()!=3) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -855,21 +856,21 @@ void MainWidget::RunLocalMacros(RDMacro *rml) (rml->arg(0).toString().lower()!="next")) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if((rml->arg(1).toInt()<1)||(rml->arg(1).toInt()>3)) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } if(rml->arg(2).toUInt()>999999) { if(rml->echoRequested()) { rml->acknowledge(false); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } return; } @@ -881,7 +882,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml) } if(rml->echoRequested()) { rml->acknowledge(true); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); } break; @@ -930,7 +931,7 @@ bool MainWidget::GetPanel(QString str,RDAirPlayConf::PanelType *type, if(sscanf(((const char *)str)+1,"%d",panel)!=1) { return false; } - if((*panel<=0)||(*panel>rdairplay_conf->panels(*type))) { + if((*panel<=0)||(*panel>rda->airplayConf()->panels(*type))) { return false; } (*panel)--; diff --git a/rdairplay/log_play.cpp b/rdairplay/log_play.cpp index 60bd96f7..252d98f5 100644 --- a/rdairplay/log_play.cpp +++ b/rdairplay/log_play.cpp @@ -2,7 +2,7 @@ // // Rivendell Log Playout Machine // -// (C) Copyright 2002-2009,2016 Fred Gleason +// (C) Copyright 2002-2009,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -21,13 +21,15 @@ #include #include -#include +#include +#include #include #include -#include -#include -#include -#include +#include + +#include "globals.h" +#include "log_play.h" +#include "log_traffic.h" LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, std::vector *rlm_hosts,QObject *parent) @@ -40,8 +42,8 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, play_id=id; play_rlm_hosts=rlm_hosts; play_onair_flag=false; - play_segue_length=rdairplay_conf->segueLength()+1; - play_trans_length=rdairplay_conf->transLength()+1; + play_segue_length=rda->airplayConf()->segueLength()+1; + play_trans_length=rda->airplayConf()->transLength()+1; play_duck_volume_port1=0; play_duck_volume_port2=0; play_start_next=false; @@ -58,7 +60,7 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, play_timescaling_available=false; play_rescan_pos=0; play_refreshable=false; - play_audition_preroll=rdairplay_conf->auditionPreroll(); + play_audition_preroll=rda->airplayConf()->auditionPreroll(); for(int i=0;istation(),rda->config(),parent); play_cae->connectHost(); for(int i=0;i<2;i++) { @@ -83,10 +85,10 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, } play_macro_running=false; play_refresh_pending=false; - play_nownext_string=rdairplay_conf->udpString(id); - play_nownext_address=rdairplay_conf->udpAddress(id); - play_nownext_port=rdairplay_conf->udpPort(id); - play_nownext_rml=rdairplay_conf->logRml(id); + play_nownext_string=rda->airplayConf()->udpString(id); + play_nownext_address=rda->airplayConf()->udpAddress(id); + play_nownext_port=rda->airplayConf()->udpPort(id); + play_nownext_rml=rda->airplayConf()->logRml(id); play_now_cartnum=0; play_next_cartnum=0; play_prevnow_cartnum=0; @@ -96,7 +98,7 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, // // Macro Cart Decks // - play_macro_deck=new RDMacroEvent(rdstation_conf->address(),rdripc,this); + play_macro_deck=new RDMacroEvent(rda->station()->address(),rda->ripc(),this); connect(play_macro_deck,SIGNAL(started()),this,SLOT(macroStartedData())); connect(play_macro_deck,SIGNAL(finished()),this,SLOT(macroFinishedData())); connect(play_macro_deck,SIGNAL(stopped()),this,SLOT(macroStoppedData())); @@ -110,18 +112,18 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, // // RIPC Signals // - connect(rdripc,SIGNAL(onairFlagChanged(bool)), + connect(rda->ripc(),SIGNAL(onairFlagChanged(bool)), this,SLOT(onairFlagChangedData(bool))); // // Audition Player // play_audition_line=-1; - if((rdstation_conf->cueCard()>=0)&& - (rdstation_conf->cuePort()>=0)) { + if((rda->station()->cueCard()>=0)&& + (rda->station()->cuePort()>=0)) { play_audition_player= - new RDSimplePlayer(play_cae,rdripc,rdstation_conf->cueCard(), - rdstation_conf->cuePort(),0,0); + new RDSimplePlayer(play_cae,rda->ripc(),rda->station()->cueCard(), + rda->station()->cuePort(),0,0); play_audition_player->playButton()->hide(); play_audition_player->stopButton()->hide(); connect(play_audition_player,SIGNAL(played()), @@ -212,7 +214,7 @@ void LogPlay::setLogName(QString name) if(logName()!=name) { RDLogEvent::setLogName(name); emit renamed(); - rdairplay_conf->setCurrentLog(play_id,name.left(name.length()-4)); + rda->airplayConf()->setCurrentLog(play_id,name.left(name.length()-4)); } } @@ -755,7 +757,7 @@ bool LogPlay::refresh() void LogPlay::save(int line) { - RDLogEvent::save(air_config,line); + RDLogEvent::save(rda->config(),line); if(play_log!=NULL) { delete play_log; } @@ -834,7 +836,7 @@ void LogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type, play_next_line=line; } logline->loadCart(cartnum,next_type,play_id,play_timescaling_available, - rdairplay_conf->defaultTransType()); + rda->airplayConf()->defaultTransType()); logline-> setTimescalingActive(play_timescaling_available&&logline->enforceLength()); UpdateStartTimes(line); @@ -1601,7 +1603,7 @@ void LogPlay::macroStartedData() logline->setStatus(RDLogLine::Playing); logline-> setStartTime(RDLogLine::Initial, - QTime::currentTime().addMSecs(rdstation_conf->timeOffset())); + QTime::currentTime().addMSecs(rda->station()->timeOffset())); UpdateStartTimes(line); emit played(line); UpdatePostPoint(); @@ -1803,7 +1805,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, switch(logline->type()) { case RDLogLine::Cart: if(!StartAudioEvent(line)) { - rdairplay_conf->setLogCurrentLine(play_id,nextLine()); + rda->airplayConf()->setLogCurrentLine(play_id,nextLine()); return false; } aport=GetNextChannel(mport,&card,&port); @@ -1832,7 +1834,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, LogLine(RDConfig::LogErr,QString(). sprintf("LogPlay::StartEvent(): no audio,CUT=%s", (const char *)logline->cutName())); - rdairplay_conf->setLogCurrentLine(play_id,nextLine()); + rda->airplayConf()->setLogCurrentLine(play_id,nextLine()); return false; } emit modified(line); @@ -1918,7 +1920,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, rml->setEchoRequested(false); rml->setArgQuantity(1); rml->setArg(0,logline->cartNumber()); - rdripc->sendRml(rml); + rda->ripc()->sendRml(rml); delete rml; emit played(line); logline->setStartTime(RDLogLine::Actual,QTime::currentTime()); @@ -2013,13 +2015,13 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, if((logline->state()==RDLogLine::Ok)|| (logline->state()==RDLogLine::NoCart)|| (logline->state()==RDLogLine::NoCut)) { - rdairplay_conf->setLogCurrentLine(play_id,nextLine()); + rda->airplayConf()->setLogCurrentLine(play_id,nextLine()); return true; } play_next_line++; } play_next_line=-1; - rdairplay_conf->setLogCurrentLine(play_id,nextLine()); + rda->airplayConf()->setLogCurrentLine(play_id,nextLine()); return true; } diff --git a/rdairplay/log_traffic.cpp b/rdairplay/log_traffic.cpp index 13539b0a..5fe0e2e0 100644 --- a/rdairplay/log_traffic.cpp +++ b/rdairplay/log_traffic.cpp @@ -2,7 +2,7 @@ // // Add an entry to the reconciliation table. // -// (C) Copyright 2002-2016 Fred Gleason +// (C) Copyright 2002-2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -18,15 +18,14 @@ // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -#include - +#include #include #include #include #include -#include -#include +#include "globals.h" +#include "log_traffic.h" void LogTraffic(const QString &svcname,const QString &logname, RDLogLine *logline,RDLogLine::PlaySource src, @@ -56,7 +55,7 @@ void LogTraffic(const QString &svcname,const QString &logname, "LOG_NAME=\""+RDEscapeString(logname.utf8())+"\","+ QString().sprintf("LOG_ID=%d,",logline->id())+ QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+ - "STATION_NAME=\""+RDEscapeString(rdstation_conf->name().utf8())+"\","+ + "STATION_NAME=\""+RDEscapeString(rda->station()->name().utf8())+"\","+ "EVENT_DATETIME="+eventDateTimeSQL+","+ QString().sprintf("EVENT_TYPE=%d,",action)+ QString().sprintf("EVENT_SOURCE=%d,",logline->source())+ diff --git a/rdairplay/loglinebox.cpp b/rdairplay/loglinebox.cpp index 1f7f3b36..12c9f205 100644 --- a/rdairplay/loglinebox.cpp +++ b/rdairplay/loglinebox.cpp @@ -2,7 +2,7 @@ // // On Air Playout Utility for Rivendell. // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -20,14 +20,14 @@ #include +#include #include #include -#include #include -#include -#include -#include +#include "colors.h" +#include "globals.h" +#include "loglinebox.h" #include "../icons/play.xpm" #include "../icons/rml5.xpm" @@ -882,7 +882,7 @@ void LogLineBox::SetColor(QColor color) void LogLineBox::UpdateCountdown() { - QTime current=QTime::currentTime().addMSecs(rdstation_conf->timeOffset()); + QTime current=QTime::currentTime().addMSecs(rda->station()->timeOffset()); if(currentsetText(RDGetTimeLength(current.msecsTo(line_end_time), diff --git a/rdairplay/post_counter.cpp b/rdairplay/post_counter.cpp index fb566176..7e83935b 100644 --- a/rdairplay/post_counter.cpp +++ b/rdairplay/post_counter.cpp @@ -2,7 +2,7 @@ // // The post counter widget for Rivendell // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -21,9 +21,11 @@ #include #include -#include -#include -#include +#include + +#include "colors.h" +#include "globals.h" +#include "post_counter.h" PostCounter::PostCounter(QWidget *parent) : QPushButton(parent) @@ -130,7 +132,7 @@ void PostCounter::UpdateDisplay() QString point; QString state; QTime current_time= - QTime::currentTime().addMSecs(rdstation_conf->timeOffset()); + QTime::currentTime().addMSecs(rda->station()->timeOffset()); int offset=post_offset; if(!post_running) { offset-=current_time.msecsTo(post_set_time); diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index 6db40609..dc4ce777 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -2,7 +2,7 @@ // // The On Air Playout Utility for Rivendell. // -// (C) Copyright 2002-2010,2016 Fred Gleason +// (C) Copyright 2002-2010,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -42,17 +42,14 @@ #include #include +#include #include +#include #include -#include -#include #include #include -#include -#include #include #include -#include #include #include #include @@ -60,26 +57,19 @@ #include #include #include -#include - -#include -#include - -#include +#include #include +#include "globals.h" +#include "rdairplay.h" +#include "wall_clock.h" + // // Global Resources // -RDStation *rdstation_conf; -RDSystem *rdsystem_conf; -RDAirPlayConf *rdairplay_conf; RDAudioPort *rdaudioport_conf; -RDUser *rduser; -RDRipc *rdripc; RDEventPlayer *rdevent_player; RDCartDialog *rdcart_dialog; -RDConfig *air_config; MainWidget *prog_ptr; RDHotKeyList *rdkeylist; RDHotkeys *rdhotkeys; @@ -112,10 +102,10 @@ MainWidget::MainWidget(QWidget *parent) QPixmap *mainmap=NULL; QPixmap *pm=NULL; QPainter *pd=NULL; + QString err_msg; + air_refresh_pixmap=NULL; air_panel=NULL; - bool skip_db_check=false; - unsigned schema=0; // // Ensure Single Instance @@ -150,7 +140,6 @@ MainWidget::MainWidget(QWidget *parent) RDAIRPLAY_USAGE); for(unsigned i=0;ikeys();i++) { if(cmd->key(i)=="--skip-db-check") { - skip_db_check=true; } } for(unsigned i=0;ivalue(j).at(k)==QChar(':')) { air_start_logname[i]= RDDateTimeDecode(cmd->value(j).left(k),air_startup_datetime, - rdstation_conf,air_config); + rda->station(),rda->config()); lineno=cmd->value(j).right(cmd->value(j).length()-(k+1)); if(lineno.right(1)=="+") { air_start_start[i]=true; @@ -222,35 +211,17 @@ MainWidget::MainWidget(QWidget *parent) air_action_mode=StartButton::Play; - // - // Load Local Configs - // - air_config=new RDConfig(RD_CONF_FILE); - air_config->load(); - air_config->setModuleName("RDAirPlay"); + rda=new RDApplication("RDAirPlay",this); + if(!rda->open(&err_msg)) { + QMessageBox::critical(this,"RDAirPlay - "+tr("Error"),err_msg); + exit(1); + } - logfile=air_config->airplayLogname(); + logfile=rda->config()->airplayLogname(); str=QString("RDAirPlay")+" v"+VERSION+" - "+tr("Host:"); - setCaption(QString().sprintf("%s %s",(const char *)str, - (const char *)air_config->stationName())); + setCaption(str+" "+rda->config()->stationName()); - // - // Open Database - // - QString err; - QSqlDatabase *db=RDInitDb(&schema,&err); - if(!db) { - QMessageBox::warning(this,tr("Database Error"), - //tr("Can't Connect","Unable to connect to mySQL Server!")); - err); - exit(0); - } - if((schema!=RD_VERSION_DATABASE)&&(!skip_db_check)) { - fprintf(stderr,"rdlogin: database version mismatch, should be %u, is %u\n", - RD_VERSION_DATABASE,schema); - exit(256); - } connect (RDDbStatus(),SIGNAL(logText(RDConfig::LogPriority,const QString &)), this,SLOT(logLine(RDConfig::LogPriority,const QString &))); @@ -264,19 +235,16 @@ MainWidget::MainWidget(QWidget *parent) // // Allocate Global Resources // - rdstation_conf=new RDStation(air_config->stationName()); - rdsystem_conf=new RDSystem(); - rdairplay_conf=new RDAirPlayConf(air_config->stationName(),"RDAIRPLAY"); - rdairplay_previous_exit_code=rdairplay_conf->exitCode(); - rdairplay_conf->setExitCode(RDAirPlayConf::ExitDirty); - air_clear_filter=rdairplay_conf->clearFilter(); - air_bar_action=rdairplay_conf->barAction(); - air_op_mode_style=rdairplay_conf->opModeStyle(); + rdairplay_previous_exit_code=rda->airplayConf()->exitCode(); + rda->airplayConf()->setExitCode(RDAirPlayConf::ExitDirty); + air_clear_filter=rda->airplayConf()->clearFilter(); + air_bar_action=rda->airplayConf()->barAction(); + air_op_mode_style=rda->airplayConf()->opModeStyle(); for(int i=0;ieditorPath(); - mainmap=new QPixmap(rdairplay_conf->skinPath()); + air_editor_cmd=rda->station()->editorPath(); + mainmap=new QPixmap(rda->airplayConf()->skinPath()); if(mainmap->isNull()||(mainmap->width()<1024)||(mainmap->height()<738)) { delete mainmap; mainmap=NULL; @@ -290,21 +258,21 @@ MainWidget::MainWidget(QWidget *parent) // for(unsigned i=0;istartGpiMatrix(chan); - air_start_gpi_lines[i]=rdairplay_conf->startGpiLine(chan)-1; - air_start_gpo_matrices[i]=rdairplay_conf->startGpoMatrix(chan); - air_start_gpo_lines[i]=rdairplay_conf->startGpoLine(chan)-1; - air_stop_gpi_matrices[i]=rdairplay_conf->stopGpiMatrix(chan); - air_stop_gpi_lines[i]=rdairplay_conf->stopGpiLine(chan)-1; - air_stop_gpo_matrices[i]=rdairplay_conf->stopGpoMatrix(chan); - air_stop_gpo_lines[i]=rdairplay_conf->stopGpoLine(chan)-1; - air_channel_gpio_types[i]=rdairplay_conf->gpioType(chan); + air_start_gpi_matrices[i]=rda->airplayConf()->startGpiMatrix(chan); + air_start_gpi_lines[i]=rda->airplayConf()->startGpiLine(chan)-1; + air_start_gpo_matrices[i]=rda->airplayConf()->startGpoMatrix(chan); + air_start_gpo_lines[i]=rda->airplayConf()->startGpoLine(chan)-1; + air_stop_gpi_matrices[i]=rda->airplayConf()->stopGpiMatrix(chan); + air_stop_gpi_lines[i]=rda->airplayConf()->stopGpiLine(chan)-1; + air_stop_gpo_matrices[i]=rda->airplayConf()->stopGpoMatrix(chan); + air_stop_gpo_lines[i]=rda->airplayConf()->stopGpoLine(chan)-1; + air_channel_gpio_types[i]=rda->airplayConf()->gpioType(chan); air_audio_channels[i]= - AudioChannel(rdairplay_conf->card(chan),rdairplay_conf->port(chan)); + AudioChannel(rda->airplayConf()->card(chan),rda->airplayConf()->port(chan)); - if((rdairplay_conf->card(chan)>=0)&&(rdairplay_conf->port(chan)>=0)) { + if((rda->airplayConf()->card(chan)>=0)&&(rda->airplayConf()->port(chan)>=0)) { int achan= - AudioChannel(rdairplay_conf->card(chan),rdairplay_conf->port(chan)); + AudioChannel(rda->airplayConf()->card(chan),rda->airplayConf()->port(chan)); if(air_channel_timers[0][achan]==NULL) { air_channel_timers[0][achan]=new QTimer(this); air_channel_timers[1][achan]=new QTimer(this); @@ -315,11 +283,11 @@ MainWidget::MainWidget(QWidget *parent) // // Fixup Main Log GPIO Channel Assignments // - if(((rdairplay_conf->card(RDAirPlayConf::MainLog1Channel)== - rdairplay_conf->card(RDAirPlayConf::MainLog2Channel))&& - (rdairplay_conf->port(RDAirPlayConf::MainLog1Channel)== - rdairplay_conf->port(RDAirPlayConf::MainLog2Channel)))|| - rdairplay_conf->card(RDAirPlayConf::MainLog2Channel)<0) { + if(((rda->airplayConf()->card(RDAirPlayConf::MainLog1Channel)== + rda->airplayConf()->card(RDAirPlayConf::MainLog2Channel))&& + (rda->airplayConf()->port(RDAirPlayConf::MainLog1Channel)== + rda->airplayConf()->port(RDAirPlayConf::MainLog2Channel)))|| + rda->airplayConf()->card(RDAirPlayConf::MainLog2Channel)<0) { air_start_gpi_matrices[RDAirPlayConf::MainLog2Channel]=-1; air_start_gpo_matrices[RDAirPlayConf::MainLog2Channel]=-1; air_stop_gpi_matrices[RDAirPlayConf::MainLog2Channel]= @@ -330,35 +298,33 @@ MainWidget::MainWidget(QWidget *parent) // // CAE Connection // - air_cae=new RDCae(rdstation_conf,air_config,parent); - air_cae->connectHost(); + rda->cae()->connectHost(); // // Set Audio Assignments // - air_segue_length=rdairplay_conf->segueLength()+1; - RDSetMixerPorts(air_config->stationName(),air_cae); + air_segue_length=rda->airplayConf()->segueLength()+1; + RDSetMixerPorts(rda->config()->stationName(),rda->cae()); // // RIPC Connection // - rdripc=new RDRipc(rdstation_conf,air_config,this); - connect(rdripc,SIGNAL(connected(bool)),this,SLOT(ripcConnected(bool))); - connect(rdripc,SIGNAL(userChanged()),this,SLOT(userData())); - connect(rdripc,SIGNAL(rmlReceived(RDMacro *)), + connect(rda->ripc(),SIGNAL(connected(bool)),this,SLOT(ripcConnected(bool))); + connect(rda->ripc(),SIGNAL(userChanged()),this,SLOT(userData())); + connect(rda->ripc(),SIGNAL(rmlReceived(RDMacro *)), this,SLOT(rmlReceivedData(RDMacro *))); - connect(rdripc,SIGNAL(gpiStateChanged(int,int,bool)), + connect(rda->ripc(),SIGNAL(gpiStateChanged(int,int,bool)), this,SLOT(gpiStateChangedData(int,int,bool))); // // Macro Player // - rdevent_player=new RDEventPlayer(rdripc,this); + rdevent_player=new RDEventPlayer(rda->ripc(),this); // // User // - rduser=NULL; + // rduser=NULL; // // UDP Transmission Socket @@ -372,12 +338,12 @@ MainWidget::MainWidget(QWidget *parent) connect(reload_mapper,SIGNAL(mapped(int)),this,SLOT(logReloadedData(int))); QSignalMapper *rename_mapper=new QSignalMapper(this); connect(rename_mapper,SIGNAL(mapped(int)),this,SLOT(logRenamedData(int))); - QString default_svcname=rdairplay_conf->defaultSvc(); + QString default_svcname=rda->airplayConf()->defaultSvc(); for(int i=0;isetDefaultServiceName(default_svcname); - air_log[i]->setNowCart(rdairplay_conf->logNowCart(i)); - air_log[i]->setNextCart(rdairplay_conf->logNextCart(i)); + air_log[i]->setNowCart(rda->airplayConf()->logNowCart(i)); + air_log[i]->setNextCart(rda->airplayConf()->logNextCart(i)); reload_mapper->setMapping(air_log[i],i); connect(air_log[i],SIGNAL(reloaded()),reload_mapper,SLOT(map())); rename_mapper->setMapping(air_log[i],i); @@ -395,15 +361,15 @@ MainWidget::MainWidget(QWidget *parent) // // Audio Channel Assignments // - air_cue_card=rdairplay_conf->card(RDAirPlayConf::CueChannel); - air_cue_port=rdairplay_conf->port(RDAirPlayConf::CueChannel); + air_cue_card=rda->airplayConf()->card(RDAirPlayConf::CueChannel); + air_cue_port=rda->airplayConf()->port(RDAirPlayConf::CueChannel); for(int i=0;i<3;i++) { - air_meter_card[i]=rdairplay_conf->card((RDAirPlayConf::Channel)i); - air_meter_port[i]=rdairplay_conf->port((RDAirPlayConf::Channel)i); - cards[i]=rdairplay_conf->card((RDAirPlayConf::Channel)i); - ports[i]=rdairplay_conf->port((RDAirPlayConf::Channel)i); - start_rmls[i]=rdairplay_conf->startRml((RDAirPlayConf::Channel)i); - stop_rmls[i]=rdairplay_conf->stopRml((RDAirPlayConf::Channel)i); + air_meter_card[i]=rda->airplayConf()->card((RDAirPlayConf::Channel)i); + air_meter_port[i]=rda->airplayConf()->port((RDAirPlayConf::Channel)i); + cards[i]=rda->airplayConf()->card((RDAirPlayConf::Channel)i); + ports[i]=rda->airplayConf()->port((RDAirPlayConf::Channel)i); + start_rmls[i]=rda->airplayConf()->startRml((RDAirPlayConf::Channel)i); + stop_rmls[i]=rda->airplayConf()->stopRml((RDAirPlayConf::Channel)i); } if(air_meter_card[1]<0) { // Fixup disabled main log port 2 playout air_meter_card[1]=air_meter_card[0]; @@ -414,18 +380,18 @@ MainWidget::MainWidget(QWidget *parent) air_log[0]->setChannels(cards,ports,start_rmls,stop_rmls); for(int i=0;i<2;i++) { - cards[i]=rdairplay_conf->card(RDAirPlayConf::AuxLog1Channel); - ports[i]=rdairplay_conf->port(RDAirPlayConf::AuxLog1Channel); - start_rmls[i]=rdairplay_conf->startRml(RDAirPlayConf::AuxLog1Channel); - stop_rmls[i]=rdairplay_conf->stopRml(RDAirPlayConf::AuxLog1Channel); + cards[i]=rda->airplayConf()->card(RDAirPlayConf::AuxLog1Channel); + ports[i]=rda->airplayConf()->port(RDAirPlayConf::AuxLog1Channel); + start_rmls[i]=rda->airplayConf()->startRml(RDAirPlayConf::AuxLog1Channel); + stop_rmls[i]=rda->airplayConf()->stopRml(RDAirPlayConf::AuxLog1Channel); } air_log[1]->setChannels(cards,ports,start_rmls,stop_rmls); for(int i=0;i<2;i++) { - cards[i]=rdairplay_conf->card(RDAirPlayConf::AuxLog2Channel); - ports[i]=rdairplay_conf->port(RDAirPlayConf::AuxLog2Channel); - start_rmls[i]=rdairplay_conf->startRml(RDAirPlayConf::AuxLog2Channel); - stop_rmls[i]=rdairplay_conf->stopRml(RDAirPlayConf::AuxLog2Channel); + cards[i]=rda->airplayConf()->card(RDAirPlayConf::AuxLog2Channel); + ports[i]=rda->airplayConf()->port(RDAirPlayConf::AuxLog2Channel); + start_rmls[i]=rda->airplayConf()->startRml(RDAirPlayConf::AuxLog2Channel); + stop_rmls[i]=rda->airplayConf()->stopRml(RDAirPlayConf::AuxLog2Channel); } air_log[2]->setChannels(cards,ports,start_rmls,stop_rmls); @@ -434,7 +400,7 @@ MainWidget::MainWidget(QWidget *parent) // rdcart_dialog= new RDCartDialog(&air_add_filter,&air_add_group,&air_add_schedcode, - air_cae,rdripc,rdstation_conf,rdsystem_conf,air_config,this); + rda->cae(),rda->ripc(),rda->station(),rda->system(),rda->config(),this); // // Wall Clock @@ -442,7 +408,7 @@ MainWidget::MainWidget(QWidget *parent) WallClock *clock=new WallClock(this); clock-> setGeometry(10,5,clock->sizeHint().width(),clock->sizeHint().height()); - clock->setCheckSyncEnabled(rdairplay_conf->checkTimesync()); + clock->setCheckSyncEnabled(rda->airplayConf()->checkTimesync()); connect(air_master_timer,SIGNAL(timeout()),clock,SLOT(tickClock())); clock->setFocusPolicy(QWidget::NoFocus); connect(clock,SIGNAL(timeModeChanged(RDAirPlayConf::TimeMode)), @@ -464,11 +430,11 @@ MainWidget::MainWidget(QWidget *parent) // // Pie Counter // - air_pie_counter=new PieCounter(rdairplay_conf->pieCountLength(),this); + air_pie_counter=new PieCounter(rda->airplayConf()->pieCountLength(),this); air_pie_counter->setGeometry(426,5,air_pie_counter->sizeHint().width(), air_pie_counter->sizeHint().height()); - air_pie_counter->setCountLength(rdairplay_conf->pieCountLength()); - air_pie_end=rdairplay_conf->pieEndPoint(); + air_pie_counter->setCountLength(rda->airplayConf()->pieCountLength()); + air_pie_end=rda->airplayConf()->pieEndPoint(); air_pie_counter->setOpMode(air_op_mode[0]); air_pie_counter->setFocusPolicy(QWidget::NoFocus); if(mainmap!=NULL) { @@ -482,7 +448,7 @@ MainWidget::MainWidget(QWidget *parent) } connect(air_master_timer,SIGNAL(timeout()), air_pie_counter,SLOT(tickCounter())); - connect(rdripc,SIGNAL(onairFlagChanged(bool)), + connect(rda->ripc(),SIGNAL(onairFlagChanged(bool)), air_pie_counter,SLOT(setOnairFlag(bool))); // @@ -493,7 +459,7 @@ MainWidget::MainWidget(QWidget *parent) air_stereo_meter->sizeHint().height()); air_stereo_meter->setMode(RDSegMeter::Peak); air_stereo_meter->setFocusPolicy(QWidget::NoFocus); - if(air_config->useStreamMeters()) { + if(rda->config()->useStreamMeters()) { air_stereo_meter->hide(); } @@ -628,18 +594,18 @@ MainWidget::MainWidget(QWidget *parent) // // Sound Panel Array // - if (rdairplay_conf->panels(RDAirPlayConf::StationPanel) || - rdairplay_conf->panels(RDAirPlayConf::UserPanel)){ + if (rda->airplayConf()->panels(RDAirPlayConf::StationPanel) || + rda->airplayConf()->panels(RDAirPlayConf::UserPanel)){ int card=-1; air_panel= new RDSoundPanel(AIR_PANEL_BUTTON_COLUMNS,AIR_PANEL_BUTTON_ROWS, - rdairplay_conf->panels(RDAirPlayConf::StationPanel), - rdairplay_conf->panels(RDAirPlayConf::UserPanel), - rdairplay_conf->flashPanel(), - rdairplay_conf->buttonLabelTemplate(),false, - rdevent_player,rdripc,air_cae,rdstation_conf, + rda->airplayConf()->panels(RDAirPlayConf::StationPanel), + rda->airplayConf()->panels(RDAirPlayConf::UserPanel), + rda->airplayConf()->flashPanel(), + rda->airplayConf()->buttonLabelTemplate(),false, + rdevent_player,rda->ripc(),rda->cae(),rda->station(), rdcart_dialog,this); - air_panel->setLogfile(air_config->airplayLogname()); + air_panel->setLogfile(rda->config()->airplayLogname()); air_panel->setGeometry(510,140,air_panel->sizeHint().width(), air_panel->sizeHint().height()); if(mainmap!=NULL) { @@ -651,58 +617,58 @@ MainWidget::MainWidget(QWidget *parent) delete pd; delete pm; } - air_panel->setPauseEnabled(rdairplay_conf->panelPauseEnabled()); - air_panel->setCard(0,rdairplay_conf->card(RDAirPlayConf::SoundPanel1Channel)); - air_panel->setPort(0,rdairplay_conf->port(RDAirPlayConf::SoundPanel1Channel)); + air_panel->setPauseEnabled(rda->airplayConf()->panelPauseEnabled()); + air_panel->setCard(0,rda->airplayConf()->card(RDAirPlayConf::SoundPanel1Channel)); + air_panel->setPort(0,rda->airplayConf()->port(RDAirPlayConf::SoundPanel1Channel)); air_panel->setFocusPolicy(QWidget::NoFocus); - if((card=rdairplay_conf->card(RDAirPlayConf::SoundPanel2Channel))<0) { + if((card=rda->airplayConf()->card(RDAirPlayConf::SoundPanel2Channel))<0) { air_panel->setCard(1,air_panel->card(RDAirPlayConf::MainLog1Channel)); air_panel->setPort(1,air_panel->port(RDAirPlayConf::MainLog1Channel)); } else { air_panel->setCard(1,card); - air_panel->setPort(1,rdairplay_conf->port(RDAirPlayConf::SoundPanel2Channel)); + air_panel->setPort(1,rda->airplayConf()->port(RDAirPlayConf::SoundPanel2Channel)); } - if((card=rdairplay_conf->card(RDAirPlayConf::SoundPanel3Channel))<0) { + if((card=rda->airplayConf()->card(RDAirPlayConf::SoundPanel3Channel))<0) { air_panel->setCard(2,air_panel->card(RDAirPlayConf::MainLog2Channel)); air_panel->setPort(2,air_panel->port(RDAirPlayConf::MainLog2Channel)); } else { air_panel->setCard(2,card); - air_panel->setPort(2,rdairplay_conf->port(RDAirPlayConf::SoundPanel3Channel)); + air_panel->setPort(2,rda->airplayConf()->port(RDAirPlayConf::SoundPanel3Channel)); } - if((card=rdairplay_conf->card(RDAirPlayConf::SoundPanel4Channel))<0) { + if((card=rda->airplayConf()->card(RDAirPlayConf::SoundPanel4Channel))<0) { air_panel->setCard(3,air_panel->card(RDAirPlayConf::SoundPanel1Channel)); air_panel->setPort(3,air_panel->port(RDAirPlayConf::SoundPanel1Channel)); } else { air_panel->setCard(3,card); - air_panel->setPort(3,rdairplay_conf->port(RDAirPlayConf::SoundPanel4Channel)); + air_panel->setPort(3,rda->airplayConf()->port(RDAirPlayConf::SoundPanel4Channel)); } - if((card=rdairplay_conf->card(RDAirPlayConf::SoundPanel5Channel))<0) { + if((card=rda->airplayConf()->card(RDAirPlayConf::SoundPanel5Channel))<0) { air_panel->setCard(4,air_panel->card(RDAirPlayConf::CueChannel)); air_panel->setPort(4,air_panel->port(RDAirPlayConf::CueChannel)); } else { air_panel->setCard(4,card); - air_panel->setPort(4,rdairplay_conf-> + air_panel->setPort(4,rda->airplayConf()-> port(RDAirPlayConf::SoundPanel5Channel)); } - air_panel->setRmls(0,rdairplay_conf-> + air_panel->setRmls(0,rda->airplayConf()-> startRml(RDAirPlayConf::SoundPanel1Channel), - rdairplay_conf->stopRml(RDAirPlayConf::SoundPanel1Channel)); - air_panel->setRmls(1,rdairplay_conf-> + rda->airplayConf()->stopRml(RDAirPlayConf::SoundPanel1Channel)); + air_panel->setRmls(1,rda->airplayConf()-> startRml(RDAirPlayConf::SoundPanel2Channel), - rdairplay_conf->stopRml(RDAirPlayConf::SoundPanel2Channel)); - air_panel->setRmls(2,rdairplay_conf-> + rda->airplayConf()->stopRml(RDAirPlayConf::SoundPanel2Channel)); + air_panel->setRmls(2,rda->airplayConf()-> startRml(RDAirPlayConf::SoundPanel3Channel), - rdairplay_conf->stopRml(RDAirPlayConf::SoundPanel3Channel)); - air_panel->setRmls(3,rdairplay_conf-> + rda->airplayConf()->stopRml(RDAirPlayConf::SoundPanel3Channel)); + air_panel->setRmls(3,rda->airplayConf()-> startRml(RDAirPlayConf::SoundPanel4Channel), - rdairplay_conf->stopRml(RDAirPlayConf::SoundPanel4Channel)); - air_panel->setRmls(4,rdairplay_conf-> + rda->airplayConf()->stopRml(RDAirPlayConf::SoundPanel4Channel)); + air_panel->setRmls(4,rda->airplayConf()-> startRml(RDAirPlayConf::SoundPanel5Channel), - rdairplay_conf->stopRml(RDAirPlayConf::SoundPanel5Channel)); + rda->airplayConf()->stopRml(RDAirPlayConf::SoundPanel5Channel)); int next_output=0; int channum[2]; bool assigned=false; @@ -741,8 +707,8 @@ MainWidget::MainWidget(QWidget *parent) } } - air_panel->setSvcName(rdairplay_conf->defaultSvc()); - connect(rdripc,SIGNAL(userChanged()),air_panel,SLOT(changeUser())); + air_panel->setSvcName(rda->airplayConf()->defaultSvc()); + connect(rda->ripc(),SIGNAL(userChanged()),air_panel,SLOT(changeUser())); connect(air_master_timer,SIGNAL(timeout()),air_panel,SLOT(tickClock())); connect(air_panel,SIGNAL(selectClicked(unsigned,int,int)), this,SLOT(selectClickedData(unsigned,int,int))); @@ -755,9 +721,9 @@ MainWidget::MainWidget(QWidget *parent) // // Full Log List // - air_pause_enabled=rdairplay_conf->pauseEnabled(); + air_pause_enabled=rda->airplayConf()->pauseEnabled(); for(int i=0;icae(),i,air_pause_enabled,this); air_log_list[i]->setGeometry(510,140,air_log_list[i]->sizeHint().width(), air_log_list[i]->sizeHint().height()); air_log_list[i]->hide(); @@ -782,11 +748,11 @@ MainWidget::MainWidget(QWidget *parent) } air_log_button[0]->setText(tr("Main Log\n[--]")); air_log_button[1]->setText(tr("Aux 1 Log\n[--]")); - if(!rdairplay_conf->showAuxButton(0)) { + if(!rda->airplayConf()->showAuxButton(0)) { air_log_button[1]->hide(); } air_log_button[2]->setText(tr("Aux 2 Log\n[--]")); - if(!rdairplay_conf->showAuxButton(1)) { + if(!rda->airplayConf()->showAuxButton(1)) { air_log_button[2]->hide(); } @@ -795,7 +761,7 @@ MainWidget::MainWidget(QWidget *parent) // air_empty_cart=new RDEmptyCart(this); air_empty_cart->setGeometry(520,sizeHint().height()-51,32,32); - if(!rdstation_conf->enableDragdrop()) { + if(!rda->station()->enableDragdrop()) { air_empty_cart->hide(); } @@ -809,8 +775,8 @@ MainWidget::MainWidget(QWidget *parent) air_panel_button->setPalette(active_color); air_panel_button->setFocusPolicy(QWidget::NoFocus); connect(air_panel_button,SIGNAL(clicked()),this,SLOT(panelButtonData())); - if (rdairplay_conf->panels(RDAirPlayConf::StationPanel) || - rdairplay_conf->panels(RDAirPlayConf::UserPanel)){ + if (rda->airplayConf()->panels(RDAirPlayConf::StationPanel) || + rda->airplayConf()->panels(RDAirPlayConf::UserPanel)){ } else { air_panel_button->hide(); @@ -822,7 +788,7 @@ MainWidget::MainWidget(QWidget *parent) // // Button Log // - air_button_list=new ButtonLog(air_log[0],air_cae,0,rdairplay_conf, + air_button_list=new ButtonLog(air_log[0],rda->cae(),0,rda->airplayConf(), air_pause_enabled,this); air_button_list->setGeometry(10,140,air_button_list->sizeHint().width(), air_button_list->sizeHint().height()); @@ -844,7 +810,7 @@ MainWidget::MainWidget(QWidget *parent) // Set Startup Mode // for(int i=0;ilogStartMode(i)) { + switch(rda->airplayConf()->logStartMode(i)) { case RDAirPlayConf::Manual: SetManualMode(i); break; @@ -859,10 +825,10 @@ MainWidget::MainWidget(QWidget *parent) case RDAirPlayConf::Previous: if(air_op_mode_style==RDAirPlayConf::Unified) { - SetMode(i,rdairplay_conf->opMode(0)); + SetMode(i,rda->airplayConf()->opMode(0)); } else { - SetMode(i,rdairplay_conf->opMode(i)); + SetMode(i,rda->airplayConf()->opMode(i)); } break; } @@ -880,7 +846,7 @@ MainWidget::MainWidget(QWidget *parent) sql=QString().sprintf("select PLUGIN_PATH,PLUGIN_ARG from NOWNEXT_PLUGINS \ where (STATION_NAME=\"%s\")&&(LOG_MACHINE=0)", (const char *) - RDEscapeString(air_config->stationName())); + RDEscapeString(rda->config()->stationName())); q=new RDSqlQuery(sql); while(q->next()) { air_plugin_hosts. @@ -900,7 +866,7 @@ MainWidget::MainWidget(QWidget *parent) // Create the HotKeyList object // rdkeylist=new RDHotKeyList(); - rdhotkeys=new RDHotkeys(air_config->stationName(),"rdairplay"); + rdhotkeys=new RDHotkeys(rda->config()->stationName(),"rdairplay"); AltKeyHit=false; CtrlKeyHit=false; @@ -912,12 +878,12 @@ MainWidget::MainWidget(QWidget *parent) // // Start the RIPC Connection // - rdripc->connectHost("localhost",RIPCD_TCP_PORT,air_config->password()); + rda->ripc()->connectHost("localhost",RIPCD_TCP_PORT,rda->config()->password()); // // (Perhaps) Lock Memory // - if(air_config->lockRdairplayMemory()) { + if(rda->config()->lockRdairplayMemory()) { if(mlockall(MCL_CURRENT|MCL_FUTURE)<0) { QMessageBox::warning(this,"RDAirPlay - "+tr("Memory Warning"), tr("Unable to lock all memory")+ @@ -956,26 +922,26 @@ void MainWidget::ripcConnected(bool state) // // Get Onair Flag State // - rdripc->sendOnairFlag(); + rda->ripc()->sendOnairFlag(); // // Load Initial Logs // for(unsigned i=0;istartMode(i)) { + switch(rda->airplayConf()->startMode(i)) { case RDAirPlayConf::StartEmpty: break; case RDAirPlayConf::StartPrevious: air_start_logname[i]= - RDDateTimeDecode(rdairplay_conf->currentLog(i), - air_startup_datetime,rdstation_conf,air_config); + RDDateTimeDecode(rda->airplayConf()->currentLog(i), + air_startup_datetime,rda->station(),rda->config()); if(!air_start_logname[i].isEmpty()) { if(rdairplay_previous_exit_code==RDAirPlayConf::ExitDirty) { - if((air_start_line[i]=rdairplay_conf->logCurrentLine(i))>=0) { - air_start_start[i]=rdairplay_conf->autoRestart(i)&& - rdairplay_conf->logRunning(i); + if((air_start_line[i]=rda->airplayConf()->logCurrentLine(i))>=0) { + air_start_start[i]=rda->airplayConf()->autoRestart(i)&& + rda->airplayConf()->logRunning(i); } } else { @@ -987,15 +953,15 @@ void MainWidget::ripcConnected(bool state) case RDAirPlayConf::StartSpecified: air_start_logname[i]= - RDDateTimeDecode(rdairplay_conf->logName(i), - air_startup_datetime,rdstation_conf,air_config); + RDDateTimeDecode(rda->airplayConf()->logName(i), + air_startup_datetime,rda->station(),rda->config()); if(!air_start_logname[i].isEmpty()) { if(rdairplay_previous_exit_code==RDAirPlayConf::ExitDirty) { - if(air_start_logname[i]==rdairplay_conf->currentLog(i)) { - if((air_start_line[i]=rdairplay_conf->logCurrentLine(i))>= + if(air_start_logname[i]==rda->airplayConf()->currentLog(i)) { + if((air_start_line[i]=rda->airplayConf()->logCurrentLine(i))>= 0) { - air_start_start[i]=rdairplay_conf->autoRestart(i)&& - rdairplay_conf->logRunning(i); + air_start_start[i]=rda->airplayConf()->autoRestart(i)&& + rda->airplayConf()->logRunning(i); } else { air_start_line[i]=0; @@ -1016,7 +982,7 @@ void MainWidget::ripcConnected(bool state) rml.setArgQuantity(2); rml.setArg(0,i+1); rml.setArg(1,air_start_logname[i]); - rdripc->sendRml(&rml); + rda->ripc()->sendRml(&rml); } else { fprintf(stderr,"rdairplay: log \"%s\" doesn't exist\n", @@ -1392,7 +1358,7 @@ void MainWidget::logReloadedData(int log) left(air_log[0]->logName().length()-4))); if(air_log[0]->logName().isEmpty()) { if(air_panel!=NULL) { - air_panel->setSvcName(rdairplay_conf->defaultSvc()); + air_panel->setSvcName(rda->airplayConf()->defaultSvc()); } } else { @@ -1443,13 +1409,13 @@ void MainWidget::logReloadedData(int log) rml.setArgQuantity(2); rml.setArg(0,log+1); rml.setArg(1,air_start_line[log]); - rdripc->sendRml(&rml); + rda->ripc()->sendRml(&rml); if(air_start_start[log]) { rml.setCommand(RDMacro::PN); // Start Next rml.setArgQuantity(1); rml.setArg(0,log+1); - rdripc->sendRml(&rml); + rda->ripc()->sendRml(&rml); } } else { @@ -1462,21 +1428,24 @@ void MainWidget::logReloadedData(int log) void MainWidget::userData() { + /* if(rduser!=NULL) { delete rduser; } - rduser=new RDUser(rdripc->user()); + rduser=new RDUser(rda->ripc()->user()); + */ + rda->user()->setName(rda->ripc()->user()); LogLine(RDConfig::LogInfo,QString(). - sprintf("user changed to '%s'",(const char *)rdripc->user())); + sprintf("user changed to '%s'",(const char *)rda->ripc()->user())); SetCaption(); // // Set Control Perms // - bool add_allowed=rduser->addtoLog(); - bool delete_allowed=rduser->removefromLog(); - bool arrange_allowed=rduser->arrangeLog(); - bool playout_allowed=rduser->playoutLog(); + bool add_allowed=rda->user()->addtoLog(); + bool delete_allowed=rda->user()->removefromLog(); + bool arrange_allowed=rda->user()->arrangeLog(); + bool playout_allowed=rda->user()->playoutLog(); air_add_button->setEnabled(add_allowed&&arrange_allowed&&playout_allowed); air_move_button->setEnabled(arrange_allowed&&playout_allowed); @@ -1612,14 +1581,14 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status) air_log[id]-> insert(air_log[id]->size(),air_add_cart,RDLogLine::Play); air_log[id]->logLine(air_log[id]->size()-1)-> - setTransType(rdairplay_conf->defaultTransType()); + setTransType(rda->airplayConf()->defaultTransType()); air_log_list[id]->refresh(air_log[id]->size()-1); } else { air_log[id]-> insert(line,air_add_cart,air_log[id]->nextTransType(line)); air_log[id]->logLine(line)-> - setTransType(rdairplay_conf->defaultTransType()); + setTransType(rda->airplayConf()->defaultTransType()); air_log_list[id]->refresh(line); } SetActionMode(StartButton::Stop); @@ -1700,18 +1669,18 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status) else { if(line<0) { air_log[id]->insert(air_log[id]->size(),air_add_cart, - rdairplay_conf->defaultTransType(), - rdairplay_conf->defaultTransType()); + rda->airplayConf()->defaultTransType(), + rda->airplayConf()->defaultTransType()); air_log[id]->logLine(air_log[id]->size()-1)-> - setTransType(rdairplay_conf->defaultTransType()); + setTransType(rda->airplayConf()->defaultTransType()); air_log_list[id]->refresh(air_log[id]->size()-1); } else { air_log[id]-> insert(line,air_add_cart,air_log[id]->nextTransType(line), - rdairplay_conf->defaultTransType()); + rda->airplayConf()->defaultTransType()); air_log[id]->logLine(line)-> - setTransType(rdairplay_conf->defaultTransType()); + setTransType(rda->airplayConf()->defaultTransType()); air_log_list[id]->refresh(line); } } @@ -1774,14 +1743,14 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll) air_log[id]-> insert(air_log[id]->size(),ll->cartNumber(),RDLogLine::Play); air_log[id]->logLine(air_log[id]->size()-1)-> - setTransType(rdairplay_conf->defaultTransType()); + setTransType(rda->airplayConf()->defaultTransType()); air_log_list[id]->refresh(air_log[id]->size()-1); } else { air_log[id]-> insert(line,ll->cartNumber(),air_log[id]->nextTransType(line)); air_log[id]->logLine(line)-> - setTransType(rdairplay_conf->defaultTransType()); + setTransType(rda->airplayConf()->defaultTransType()); air_log_list[id]->refresh(line); } } @@ -1798,7 +1767,7 @@ void MainWidget::meterData() for(int i=0;ioutputMeterUpdate(air_meter_card[i],air_meter_port[i],level); + rda->cae()->outputMeterUpdate(air_meter_card[i],air_meter_port[i],level); for(int j=0;j<2;j++) { ratio[j]+=pow(10.0,((double)level[j])/1000.0); } @@ -1919,13 +1888,13 @@ void MainWidget::transportChangedData() air_pie_counter->setTransType(air_log[0]->nextTrans(line)); if(logline->playDeck()==NULL) { air_pie_counter->setLogline(NULL); - air_pie_counter->start(rdstation_conf->timeOffset()); + air_pie_counter->start(rda->station()->timeOffset()); } else { air_pie_counter->setLogline(logline); air_pie_counter->start(((RDPlayDeck *)logline->playDeck())-> currentPosition()+ - rdstation_conf->timeOffset()); + rda->station()->timeOffset()); } } } @@ -2088,7 +2057,7 @@ void MainWidget::keyReleaseEvent(QKeyEvent *e) if (hotkeystrokes.length() > 0) { - hot_label=(*rdhotkeys).GetRowLabel(RDEscapeString(air_config->stationName()), + hot_label=(*rdhotkeys).GetRowLabel(RDEscapeString(rda->config()->stationName()), (const char *)"airplay",(const char *)hotkeystrokes); if (hot_label.length()>0) { @@ -2132,14 +2101,14 @@ void MainWidget::keyReleaseEvent(QKeyEvent *e) } if ((strcmp(hot_label,"Aux Log 1") == 0) && - (rdairplay_conf->showAuxButton(0) ) ) + (rda->airplayConf()->showAuxButton(0) ) ) { fullLogButtonData(1); return; } if ( (strcmp(hot_label,"Aux Log 2") == 0) && - (rdairplay_conf->showAuxButton(1) ) ) + (rda->airplayConf()->showAuxButton(1) ) ) { fullLogButtonData(2); return; @@ -2166,14 +2135,14 @@ void MainWidget::keyReleaseEvent(QKeyEvent *e) void MainWidget::closeEvent(QCloseEvent *e) { - if(!rdairplay_conf->exitPasswordValid("")) { + if(!rda->airplayConf()->exitPasswordValid("")) { QString passwd; RDGetPasswd *gw=new RDGetPasswd(&passwd,this); gw->exec(); - if(!rdairplay_conf->exitPasswordValid(passwd)) { + if(!rda->airplayConf()->exitPasswordValid(passwd)) { return; } - rdairplay_conf->setExitCode(RDAirPlayConf::ExitClean); + rda->airplayConf()->setExitCode(RDAirPlayConf::ExitClean); LogLine(RDConfig::LogInfo,"RDAirPlay exiting"); air_lock->unlock(); exit(0); @@ -2189,7 +2158,7 @@ void MainWidget::closeEvent(QCloseEvent *e) for(int i=0;isetExitCode(RDAirPlayConf::ExitClean); + rda->airplayConf()->setExitCode(RDAirPlayConf::ExitClean); LogLine(RDConfig::LogInfo,"RDAirPlay exiting"); air_lock->unlock(); exit(0); @@ -2229,8 +2198,8 @@ void MainWidget::SetCaption() log="-- "; } setCaption(QString("RDAirPlay")+" v"+VERSION+" - "+tr("Host")+": "+ - air_config->stationName()+" "+ - tr("User:")+" "+rdripc->user()+" "+ + rda->config()->stationName()+" "+ + tr("User:")+" "+rda->ripc()->user()+" "+ tr("Log:")+" "+log.left(log.length()-4)+" "+ tr("Service:")+" "+air_log[0]->serviceName()); } @@ -2279,7 +2248,7 @@ void MainWidget::SetManualMode(int mach) } air_mode_display->setOpMode(mach,RDAirPlayConf::Manual); air_op_mode[mach]=RDAirPlayConf::Manual; - rdairplay_conf->setOpMode(mach,RDAirPlayConf::Manual); + rda->airplayConf()->setOpMode(mach,RDAirPlayConf::Manual); air_log[mach]->setOpMode(RDAirPlayConf::Manual); air_log_list[mach]->setOpMode(RDAirPlayConf::Manual); if(mach==0) { @@ -2304,7 +2273,7 @@ void MainWidget::SetAutoMode(int mach) } air_mode_display->setOpMode(mach,RDAirPlayConf::Auto); air_op_mode[mach]=RDAirPlayConf::Auto; - rdairplay_conf->setOpMode(mach,RDAirPlayConf::Auto); + rda->airplayConf()->setOpMode(mach,RDAirPlayConf::Auto); air_log[mach]->setOpMode(RDAirPlayConf::Auto); air_log_list[mach]->setOpMode(RDAirPlayConf::Auto); if(mach==0) { @@ -2329,7 +2298,7 @@ void MainWidget::SetLiveAssistMode(int mach) } air_mode_display->setOpMode(mach,RDAirPlayConf::LiveAssist); air_op_mode[mach]=RDAirPlayConf::LiveAssist; - rdairplay_conf->setOpMode(mach,RDAirPlayConf::LiveAssist); + rda->airplayConf()->setOpMode(mach,RDAirPlayConf::LiveAssist); air_log[mach]->setOpMode(RDAirPlayConf::LiveAssist); air_log_list[mach]->setOpMode(RDAirPlayConf::LiveAssist); if(mach==0) { @@ -2383,7 +2352,7 @@ void MainWidget::SetActionMode(StartButton::Mode mode) if(svc_quan==0) { sql=QString().sprintf("select SERVICE_NAME from SERVICE_PERMS \ where STATION_NAME=\"%s\"", - (const char *)rdstation_conf->name()); + (const char *)rda->station()->name()); q=new RDSqlQuery(sql); while(q->next()) { services_list.append( q->value(0).toString() ); @@ -2409,7 +2378,7 @@ void MainWidget::SetActionMode(StartButton::Mode mode) air_panel->setActionMode(RDAirPlayConf::Normal); } if(rdcart_dialog->exec(&air_add_cart,RDCart::All,0,0, - rduser->name(),rduser->password())==0) { + rda->user()->name(),rda->user()->password())==0) { SetActionMode(StartButton::AddTo); } else { @@ -2558,7 +2527,7 @@ void LogLine(RDConfig::LogPriority prio,const QString &line) { FILE *file; - air_config->log("rdairplay",prio,line); + rda->config()->log("rdairplay",prio,line); if(logfile.isEmpty()) { return; diff --git a/rdairplay/rdairplay_cs.ts b/rdairplay/rdairplay_cs.ts index e17b9a00..329754bd 100644 --- a/rdairplay/rdairplay_cs.ts +++ b/rdairplay/rdairplay_cs.ts @@ -544,7 +544,7 @@ poslechu Database Error - Chyba databáze + Chyba databáze ADD @@ -636,6 +636,10 @@ OBNOVEN Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rdairplay_de.ts b/rdairplay/rdairplay_de.ts index 28158dfc..e6d7546f 100644 --- a/rdairplay/rdairplay_de.ts +++ b/rdairplay/rdairplay_de.ts @@ -544,7 +544,7 @@ vorhören Database Error - Datenbankfehler + Datenbankfehler ADD @@ -636,6 +636,10 @@ AKTUALISIERT Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rdairplay_es.ts b/rdairplay/rdairplay_es.ts index e256758e..a1e3f58a 100644 --- a/rdairplay/rdairplay_es.ts +++ b/rdairplay/rdairplay_es.ts @@ -552,7 +552,7 @@ Final Database Error - Error en la base de datos + Error en la base de datos ADD @@ -636,6 +636,10 @@ LISTA Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rdairplay_fr.ts b/rdairplay/rdairplay_fr.ts index 57f475eb..ddf62a0f 100644 --- a/rdairplay/rdairplay_fr.ts +++ b/rdairplay/rdairplay_fr.ts @@ -544,7 +544,7 @@ la Fin Database Error - Erreur de base de données + Erreur de base de données ADD @@ -636,6 +636,10 @@ DU LOG Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rdairplay_nb.ts b/rdairplay/rdairplay_nb.ts index 5c09cdc0..2a389798 100644 --- a/rdairplay/rdairplay_nb.ts +++ b/rdairplay/rdairplay_nb.ts @@ -554,7 +554,7 @@ Tail Database Error - Databasefeil + Databasefeil ADD @@ -646,6 +646,10 @@ LASTAR PÅ NYTT Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rdairplay_nn.ts b/rdairplay/rdairplay_nn.ts index 5c09cdc0..2a389798 100644 --- a/rdairplay/rdairplay_nn.ts +++ b/rdairplay/rdairplay_nn.ts @@ -554,7 +554,7 @@ Tail Database Error - Databasefeil + Databasefeil ADD @@ -646,6 +646,10 @@ LASTAR PÅ NYTT Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rdairplay_pt_BR.ts b/rdairplay/rdairplay_pt_BR.ts index 07f6a956..7f31fb7d 100644 --- a/rdairplay/rdairplay_pt_BR.ts +++ b/rdairplay/rdairplay_pt_BR.ts @@ -545,7 +545,7 @@ Log Database Error - Erro na Base de Dados + Erro na Base de Dados ADD @@ -642,6 +642,10 @@ LISTA Unable to lock all memory + + Error + + ModeDisplay diff --git a/rdairplay/rlmhost.cpp b/rdairplay/rlmhost.cpp index dc9b8fe2..45f83998 100644 --- a/rdairplay/rlmhost.cpp +++ b/rdairplay/rlmhost.cpp @@ -2,7 +2,7 @@ // // A container class for a Rivendell Loadable Module host. // -// (C) Copyright 2008,2016-2017 Fred Gleason +// (C) Copyright 2008,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -35,8 +36,8 @@ RLMHost::RLMHost(const QString &path,const QString &arg, QSocketDevice *udp_socket,QObject *parent) : QObject(parent) { - plugin_path=RDDateDecode(path,QDate::currentDate(),rdstation_conf,air_config); - plugin_arg=RDDateDecode(arg,QDate::currentDate(),rdstation_conf,air_config); + plugin_path=RDDateDecode(path,QDate::currentDate(),rda->station(),rda->config()); + plugin_arg=RDDateDecode(arg,QDate::currentDate(),rda->station(),rda->config()); plugin_udp_socket=udp_socket; plugin_handle=NULL; plugin_start_sym=NULL; @@ -86,7 +87,7 @@ void RLMHost::sendEvent(const QString &svcname,const QString &logname, struct rlm_pad *now=new struct rlm_pad; struct rlm_pad *next=new struct rlm_pad; memset(svc,0,sizeof(struct rlm_svc)); - RDSvc *service=new RDSvc(svcname,rdstation_conf,air_config); + RDSvc *service=new RDSvc(svcname,rda->station(),rda->config()); if(!svcname.isEmpty()) { sprintf(svc->svc_name,"%s",(const char *)svcname.left(255)); if(!service->programCode().isEmpty()) { diff --git a/rdairplay/stop_counter.cpp b/rdairplay/stop_counter.cpp index 33abdec4..8e3d2d5c 100644 --- a/rdairplay/stop_counter.cpp +++ b/rdairplay/stop_counter.cpp @@ -2,7 +2,7 @@ // // The stop counter widget for Rivendell // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2004,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -21,8 +21,10 @@ #include #include -#include -#include +#include + +#include "globals.h" +#include "stop_counter.h" StopCounter::StopCounter(QWidget *parent) : QPushButton(parent) @@ -131,7 +133,7 @@ void StopCounter::UpdateTime() QString text; QColor system_button_text_color = palette().active().buttonText(); int msecs=QTime::currentTime(). - addMSecs(rdstation_conf->timeOffset()).msecsTo(stop_time); + addMSecs(rda->station()->timeOffset()).msecsTo(stop_time); if ((old_stop_running != stop_running) || (msecs/1000 != old_msecs/1000)){ QPixmap pix(sizeHint().width(),sizeHint().height()); diff --git a/rdairplay/wall_clock.cpp b/rdairplay/wall_clock.cpp index 8adcd5d7..4ea3c659 100644 --- a/rdairplay/wall_clock.cpp +++ b/rdairplay/wall_clock.cpp @@ -2,7 +2,7 @@ // // A wall-clock widget with date. // -// (C) Copyright 2002-2003,2016 Fred Gleason +// (C) Copyright 2002-2003,2016-2018 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -28,16 +28,17 @@ #include #include +#include #include -#include -#include -#include +#include "colors.h" +#include "globals.h" +#include "wall_clock.h" WallClock::WallClock(QWidget *parent) :QPushButton(parent) { - time_offset=rdstation_conf->timeOffset(); + time_offset=rda->station()->timeOffset(); previous_time=QTime::currentTime().addMSecs(time_offset); time_mode=RDAirPlayConf::TwentyFourHour; previous_time_mode = RDAirPlayConf::TwentyFourHour;