From c4fcd6486e8e33cdd60943505c265ba00f2e136e Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Sat, 14 Apr 2018 20:51:03 -0400 Subject: [PATCH] 2018-04-14 Fred Gleason * Moved the 'LogPlay' class in rdairplay(1) to 'RDLogPlay' in the core library. * Moved the 'RLMHost' class in rdairplay(1) to 'RDRLMHost' in the core library. --- ChangeLog | 5 + lib/Makefile.am | 6 +- lib/lib.pro | 4 + rdairplay/log_play.cpp => lib/rdlogplay.cpp | 419 ++++++++++++++------ rdairplay/log_play.h => lib/rdlogplay.h | 23 +- rdairplay/rlmhost.cpp => lib/rdrlmhost.cpp | 70 ++-- rdairplay/rlmhost.h => lib/rdrlmhost.h | 16 +- rdairplay/Makefile.am | 6 - rdairplay/button_log.cpp | 2 +- rdairplay/button_log.h | 18 +- rdairplay/edit_event.cpp | 2 +- rdairplay/edit_event.h | 21 +- rdairplay/hourselector.cpp | 2 +- rdairplay/hourselector.h | 5 +- rdairplay/list_log.cpp | 2 +- rdairplay/list_log.h | 18 +- rdairplay/list_logs.cpp | 2 +- rdairplay/list_logs.h | 11 +- rdairplay/log_traffic.cpp | 91 ----- rdairplay/log_traffic.h | 32 -- rdairplay/nownext.cpp | 140 ------- rdairplay/rdairplay.cpp | 7 +- rdairplay/rdairplay.h | 48 +-- 23 files changed, 440 insertions(+), 510 deletions(-) rename rdairplay/log_play.cpp => lib/rdlogplay.cpp (83%) rename rdairplay/log_play.h => lib/rdlogplay.h (93%) rename rdairplay/rlmhost.cpp => lib/rdrlmhost.cpp (91%) rename rdairplay/rlmhost.h => lib/rdrlmhost.h (92%) delete mode 100644 rdairplay/log_traffic.cpp delete mode 100644 rdairplay/log_traffic.h delete mode 100644 rdairplay/nownext.cpp diff --git a/ChangeLog b/ChangeLog index 3b1b1e05..a8207622 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16778,3 +16778,8 @@ on adapters lacking DMA bus-mastering support. 2018-04-14 Fred Gleason * Cleaned up spurious HPI error messages being sent to the syslog. +2018-04-14 Fred Gleason + * Moved the 'LogPlay' class in rdairplay(1) to 'RDLogPlay' in + the core library. + * Moved the 'RLMHost' class in rdairplay(1) to 'RDRLMHost' in + the core library. diff --git a/lib/Makefile.am b/lib/Makefile.am index ba740822..8b004a07 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -172,6 +172,7 @@ dist_librd_la_SOURCES = dbversion.h\ rdlogedit_conf.cpp rdlogedit_conf.h\ rdlogfilter.cpp rdlogfilter.h\ rdloglock.cpp rdloglock.h\ + rdlogplay.cpp rdlogplay.h\ rdmacro.cpp rdmacro.h\ rdmacro_event.cpp rdmacro_event.h\ rdmarker_bar.cpp rdmarker_bar.h\ @@ -205,6 +206,7 @@ dist_librd_la_SOURCES = dbversion.h\ rdreport.cpp rdreport.h\ rdringbuffer.cpp rdringbuffer.h\ rdripc.cpp rdripc.h\ + rdrlmhost.cpp rdrlmhost.h\ rdschedcode.cpp rdschedcode.h\ rdschedcodes_dialog.cpp rdschedcodes_dialog.h\ rdsegmeter.cpp rdsegmeter.h\ @@ -308,6 +310,7 @@ nodist_librd_la_SOURCES = moc_rdadd_cart.cpp\ moc_rdlivewire.cpp\ moc_rdlogfilter.cpp\ moc_rdloglock.cpp\ + moc_rdlogplay.cpp\ moc_rdmacro_event.cpp\ moc_rdmarker_bar.cpp\ moc_rdmarker_edit.cpp\ @@ -319,7 +322,8 @@ nodist_librd_la_SOURCES = moc_rdadd_cart.cpp\ moc_rdplaymeter.cpp\ moc_rdpushbutton.cpp\ moc_rdripc.cpp\ - moc_rdschedcodes_dialog.cpp\ + moc_rdrlmhost.cpp\ + moc_rdschedcodes_dialog.cpp\ moc_rdsegmeter.cpp\ moc_rdsimpleplayer.cpp\ moc_rdrehash.cpp\ diff --git a/lib/lib.pro b/lib/lib.pro index 2b709f7a..789e2cc7 100644 --- a/lib/lib.pro +++ b/lib/lib.pro @@ -159,6 +159,7 @@ x11 { SOURCES += rdimport_audio.cpp SOURCES += rdkernelgpio.cpp SOURCES += rdlist_groups.cpp + SOURCES += rdlogplay.cpp SOURCES += rdmarker_button.cpp SOURCES += rdmarker_edit.cpp SOURCES += rdmatrix.cpp @@ -169,6 +170,7 @@ x11 { SOURCES += rdrecording.cpp SOURCES += rdrehash.cpp SOURCES += rdrenderer.cpp + SOURCES += rdrlmhost.cpp SOURCES += rdsimpleplayer.cpp SOURCES += rdsound_panel.cpp SOURCES += rdstatus.cpp @@ -301,6 +303,7 @@ x11 { HEADERS += rdimport_audio.h HEADERS += rdkernelgpio.h HEADERS += rdlist_groups.h + HEADERS += rdlogplay.h HEADERS += rdmarker_button.h HEADERS += rdmarker_edit.h HEADERS += rdmatrix.h @@ -312,6 +315,7 @@ x11 { HEADERS += rdrecording.h HEADERS += rdrehash.h HEADERS += rdrenderer.h + HEADERS += rdrlmhost.h HEADERS += rdsimpleplayer.h HEADERS += rdsound_panel.h HEADERS += rdstatus.h diff --git a/rdairplay/log_play.cpp b/lib/rdlogplay.cpp similarity index 83% rename from rdairplay/log_play.cpp rename to lib/rdlogplay.cpp index 41d5061b..7a98bd1d 100644 --- a/rdairplay/log_play.cpp +++ b/lib/rdlogplay.cpp @@ -1,4 +1,4 @@ -// log_play.cpp +// rdlogplay.cpp // // Rivendell Log Playout Machine // @@ -21,18 +21,20 @@ #include #include -#include -#include -#include -#include -#include +#include "rdapplication.h" +#include "rdconf.h" +#include "rddb.h" +#include "rddebug.h" +#include "rdescape_string.h" +#include "rdlog.h" +#include "rdlogplay.h" +#include "rdmixer.h" +#include "rdnownext.h" +#include "rdsvc.h" -#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) +RDLogPlay::RDLogPlay(int id,RDEventPlayer *player,QSocketDevice *nn_sock, + QString logname,std::vector *rlm_hosts, + QObject *parent) : QObject(parent),RDLogEvent(logname) { // @@ -40,6 +42,7 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, // play_log=NULL; play_id=id; + play_event_player=player; play_rlm_hosts=rlm_hosts; play_onair_flag=false; play_segue_length=rda->airplayConf()->segueLength()+1; @@ -149,7 +152,7 @@ LogPlay::LogPlay(int id,QSocketDevice *nn_sock,QString logname, } -QString LogPlay::serviceName() const +QString RDLogPlay::serviceName() const { if(play_svc_name.isEmpty()) { return play_defaultsvc_name; @@ -158,43 +161,43 @@ QString LogPlay::serviceName() const } -void LogPlay::setServiceName(const QString &svcname) +void RDLogPlay::setServiceName(const QString &svcname) { play_svc_name=svcname; } -QString LogPlay::defaultServiceName() const +QString RDLogPlay::defaultServiceName() const { return play_defaultsvc_name; } -void LogPlay::setDefaultServiceName(const QString &svcname) +void RDLogPlay::setDefaultServiceName(const QString &svcname) { play_defaultsvc_name=svcname; } -int LogPlay::card(int channum) const +int RDLogPlay::card(int channum) const { return play_card[channum]; } -int LogPlay::port(int channum) const +int RDLogPlay::port(int channum) const { return play_port[channum]; } -RDAirPlayConf::OpMode LogPlay::mode() const +RDAirPlayConf::OpMode RDLogPlay::mode() const { return play_op_mode; } -void LogPlay::setOpMode(RDAirPlayConf::OpMode mode) +void RDLogPlay::setOpMode(RDAirPlayConf::OpMode mode) { if(mode==play_op_mode) { return; @@ -204,7 +207,7 @@ void LogPlay::setOpMode(RDAirPlayConf::OpMode mode) } -void LogPlay::setLogName(QString name) +void RDLogPlay::setLogName(QString name) { if(logName()!=name) { RDLogEvent::setLogName(name); @@ -214,7 +217,7 @@ void LogPlay::setLogName(QString name) } -void LogPlay::setChannels(int cards[2],int ports[2], +void RDLogPlay::setChannels(int cards[2],int ports[2], const QString start_rml[2],const QString stop_rml[2]) { for(int i=0;i<2;i++) { @@ -227,25 +230,25 @@ void LogPlay::setChannels(int cards[2],int ports[2], } -void LogPlay::setSegueLength(int len) +void RDLogPlay::setSegueLength(int len) { play_segue_length=len; } -void LogPlay::setNowCart(unsigned cartnum) +void RDLogPlay::setNowCart(unsigned cartnum) { play_now_cartnum=cartnum; } -void LogPlay::setNextCart(unsigned cartnum) +void RDLogPlay::setNextCart(unsigned cartnum) { play_next_cartnum=cartnum; } -void LogPlay::auditionHead(int line) +void RDLogPlay::auditionHead(int line) { RDLogLine *logline=logLine(line); if((play_audition_player==NULL)||(logline==NULL)) { @@ -261,7 +264,7 @@ void LogPlay::auditionHead(int line) } -void LogPlay::auditionTail(int line) +void RDLogPlay::auditionTail(int line) { RDLogLine *logline=logLine(line); if((play_audition_player==NULL)||(logline==NULL)) { @@ -281,7 +284,7 @@ void LogPlay::auditionTail(int line) } -void LogPlay::auditionStop() +void RDLogPlay::auditionStop() { if(play_audition_player==NULL) { return; @@ -292,7 +295,7 @@ void LogPlay::auditionStop() } -bool LogPlay::play(int line,RDLogLine::StartSource src, +bool RDLogPlay::play(int line,RDLogLine::StartSource src, int mport,bool skip_meta) { QTime current_time=QTime::currentTime(); @@ -346,7 +349,7 @@ bool LogPlay::play(int line,RDLogLine::StartSource src, } -bool LogPlay::channelPlay(int mport) +bool RDLogPlay::channelPlay(int mport) { if(nextLine()<0) { return false; @@ -355,7 +358,7 @@ bool LogPlay::channelPlay(int mport) } -bool LogPlay::stop(bool all,int port,int fade) +bool RDLogPlay::stop(bool all,int port,int fade) { RDLogLine *logline; int lines[TRANSPORT_QUANTITY]; @@ -381,7 +384,7 @@ bool LogPlay::stop(bool all,int port,int fade) } -bool LogPlay::stop(int line,int fade) +bool RDLogPlay::stop(int line,int fade) { RDLogLine *logline; @@ -408,7 +411,7 @@ bool LogPlay::stop(int line,int fade) } -bool LogPlay::channelStop(int mport) +bool RDLogPlay::channelStop(int mport) { RDLogLine *logline; int lines[TRANSPORT_QUANTITY]; @@ -429,7 +432,7 @@ bool LogPlay::channelStop(int mport) } -bool LogPlay::pause(int line) +bool RDLogPlay::pause(int line) { RDLogLine *logline; @@ -453,7 +456,7 @@ bool LogPlay::pause(int line) } -void LogPlay::duckVolume(int level,int fade,int mport) +void RDLogPlay::duckVolume(int level,int fade,int mport) { RDLogLine *logline; int lines[TRANSPORT_QUANTITY]; @@ -477,7 +480,7 @@ void LogPlay::duckVolume(int level,int fade,int mport) -void LogPlay::makeNext(int line,bool refresh_status) +void RDLogPlay::makeNext(int line,bool refresh_status) { play_next_line=line; SendNowNext(); @@ -488,7 +491,7 @@ void LogPlay::makeNext(int line,bool refresh_status) } -void LogPlay::load() +void RDLogPlay::load() { int lines[TRANSPORT_QUANTITY]; int running=0; @@ -561,7 +564,7 @@ void LogPlay::load() } -void LogPlay::append(const QString &log_name) +void RDLogPlay::append(const QString &log_name) { int old_size=size(); @@ -586,7 +589,7 @@ void LogPlay::append(const QString &log_name) } -bool LogPlay::refresh() +bool RDLogPlay::refresh() { RDLogLine *s; RDLogLine *d; @@ -748,7 +751,7 @@ bool LogPlay::refresh() } -void LogPlay::save(int line) +void RDLogPlay::save(int line) { RDLogEvent::save(rda->config(),line); if(play_log!=NULL) { @@ -766,7 +769,7 @@ void LogPlay::save(int line) } -void LogPlay::clear() +void RDLogPlay::clear() { setLogName(""); int start_line=0; @@ -789,7 +792,7 @@ void LogPlay::clear() } -void LogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type, +void RDLogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type, RDLogLine::TransType type) { RDLogLine *logline; @@ -844,7 +847,7 @@ void LogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type, } -void LogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_transition) +void RDLogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_transition) { RDLogLine *logline; int lines[TRANSPORT_QUANTITY]; @@ -899,7 +902,7 @@ void LogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_trans } -void LogPlay::remove(int line,int num_lines,bool update,bool preserv_custom_transition) +void RDLogPlay::remove(int line,int num_lines,bool update,bool preserv_custom_transition) { RDPlayDeck *playdeck; RDLogLine *logline; @@ -962,7 +965,7 @@ void LogPlay::remove(int line,int num_lines,bool update,bool preserv_custom_tran } -void LogPlay::move(int from_line,int to_line) +void RDLogPlay::move(int from_line,int to_line) { int offset=0; int lines[TRANSPORT_QUANTITY]; @@ -1055,7 +1058,7 @@ void LogPlay::move(int from_line,int to_line) } -void LogPlay::copy(int from_line,int to_line,RDLogLine::TransType type) +void RDLogPlay::copy(int from_line,int to_line,RDLogLine::TransType type) { RDLogLine *logline; @@ -1066,7 +1069,7 @@ void LogPlay::copy(int from_line,int to_line,RDLogLine::TransType type) } -int LogPlay::topLine() +int RDLogPlay::topLine() { for(int i=0;istatus()==RDLogLine::Playing)|| @@ -1079,19 +1082,19 @@ int LogPlay::topLine() } -int LogPlay::currentLine() const +int RDLogPlay::currentLine() const { return play_line_counter; } -int LogPlay::nextLine() const +int RDLogPlay::nextLine() const { return play_next_line; } -int LogPlay::nextLine(int line) +int RDLogPlay::nextLine(int line) { int lines[TRANSPORT_QUANTITY]; @@ -1120,7 +1123,7 @@ int LogPlay::nextLine(int line) } -RDLogLine *LogPlay::nextEvent() +RDLogLine *RDLogPlay::nextEvent() { if(play_next_line<0) { return NULL; @@ -1129,7 +1132,7 @@ RDLogLine *LogPlay::nextEvent() } -RDLogLine::TransType LogPlay::nextTrans() +RDLogLine::TransType RDLogPlay::nextTrans() { RDLogLine *logline=nextEvent(); if(logline==NULL) { @@ -1139,7 +1142,7 @@ RDLogLine::TransType LogPlay::nextTrans() } -RDLogLine::TransType LogPlay::nextTrans(int line) +RDLogLine::TransType RDLogPlay::nextTrans(int line) { RDLogLine *logline; @@ -1155,7 +1158,7 @@ RDLogLine::TransType LogPlay::nextTrans(int line) } -void LogPlay::transportEvents(int line[]) +void RDLogPlay::transportEvents(int line[]) { int count=0; int start=topLine(); @@ -1197,7 +1200,7 @@ void LogPlay::transportEvents(int line[]) } -int LogPlay::runningEvents(int *lines, bool include_paused) +int RDLogPlay::runningEvents(int *lines, bool include_paused) { int count=0; int events[TRANSPORT_QUANTITY]; @@ -1270,7 +1273,7 @@ int LogPlay::runningEvents(int *lines, bool include_paused) } -void LogPlay::lineModified(int line) +void RDLogPlay::lineModified(int line) { RDLogLine *logline; RDLogLine *next_logline; @@ -1300,7 +1303,7 @@ void LogPlay::lineModified(int line) } -RDLogLine::Status LogPlay::status(int line) +RDLogLine::Status RDLogPlay::status(int line) { RDLogLine *logline; @@ -1311,7 +1314,7 @@ RDLogLine::Status LogPlay::status(int line) } -QTime LogPlay::startTime(int line) +QTime RDLogPlay::startTime(int line) { RDLogLine *logline; @@ -1335,13 +1338,13 @@ QTime LogPlay::startTime(int line) } -QTime LogPlay::nextStop() const +QTime RDLogPlay::nextStop() const { return play_next_stop; } -bool LogPlay::running(bool include_paused) +bool RDLogPlay::running(bool include_paused) { if(runningEvents(NULL,include_paused)==0) { return false; @@ -1350,13 +1353,13 @@ bool LogPlay::running(bool include_paused) } -void LogPlay::resync() +void RDLogPlay::resync() { SetTransTimer(); } -bool LogPlay::isRefreshable() const +bool RDLogPlay::isRefreshable() const { return (play_log->exists())&& (play_log->linkDatetime()==play_link_datetime)&& @@ -1364,7 +1367,7 @@ bool LogPlay::isRefreshable() const } -void LogPlay::transTimerData() +void RDLogPlay::transTimerData() { int lines[TRANSPORT_QUANTITY]; RDLogLine *logline=NULL; @@ -1391,7 +1394,7 @@ void LogPlay::transTimerData() } else { if(logline==NULL) { - LogLine(RDConfig::LogNotice," invalid logline"); + rda->config()->log("log engine",RDConfig::LogNotice," invalid logline"); SetTransTimer(); return; } @@ -1428,7 +1431,7 @@ void LogPlay::transTimerData() } -void LogPlay::graceTimerData() +void RDLogPlay::graceTimerData() { int lines[TRANSPORT_QUANTITY]; int line=play_grace_line; @@ -1459,7 +1462,7 @@ void LogPlay::graceTimerData() } -void LogPlay::playStateChangedData(int id,RDPlayDeck::State state) +void RDLogPlay::playStateChangedData(int id,RDPlayDeck::State state) { #ifdef SHOW_SLOTS printf("playStateChangedData(%d,%d), log: %s\n",id,state,(const char *)logName()); @@ -1488,13 +1491,13 @@ void LogPlay::playStateChangedData(int id,RDPlayDeck::State state) } -void LogPlay::onairFlagChangedData(bool state) +void RDLogPlay::onairFlagChangedData(bool state) { play_onair_flag=state; } -void LogPlay::segueStartData(int id) +void RDLogPlay::segueStartData(int id) { #ifdef SHOW_SLOTS printf("segueStartData(%d)\n",id); @@ -1524,7 +1527,7 @@ void LogPlay::segueStartData(int id) } -void LogPlay::segueEndData(int id) +void RDLogPlay::segueEndData(int id) { #ifdef SHOW_SLOTS printf("segueEndData(%d)\n",id); @@ -1549,7 +1552,7 @@ void LogPlay::segueEndData(int id) } -void LogPlay::talkStartData(int id) +void RDLogPlay::talkStartData(int id) { #ifdef SHOW_SLOTS printf("talkStartData(%d)\n",id); @@ -1557,7 +1560,7 @@ void LogPlay::talkStartData(int id) } -void LogPlay::talkEndData(int id) +void RDLogPlay::talkEndData(int id) { #ifdef SHOW_SLOTS printf("talkEndData(%d)\n",id); @@ -1565,7 +1568,7 @@ void LogPlay::talkEndData(int id) } -void LogPlay::positionData(int id,int pos) +void RDLogPlay::positionData(int id,int pos) { int line=GetLineById(id); @@ -1574,7 +1577,7 @@ void LogPlay::positionData(int id,int pos) return; } if(pos>logline->effectiveLength()) { - LogLine(RDConfig::LogWarning,QString().sprintf("*** position out of bounds on signal: Line: %d Cart: %d Pos: %d ***",line,logline->cartNumber(),logline->playPosition())); + rda->config()->log("log engine",RDConfig::LogWarning,QString().sprintf("*** position out of bounds on signal: Line: %d Cart: %d Pos: %d ***",line,logline->cartNumber(),logline->playPosition())); return; } logline->setPlayPosition(pos); @@ -1582,7 +1585,7 @@ void LogPlay::positionData(int id,int pos) } -void LogPlay::macroStartedData() +void RDLogPlay::macroStartedData() { #ifdef SHOW_SLOTS printf("macroStartedData()\n"); @@ -1604,7 +1607,7 @@ void LogPlay::macroStartedData() } -void LogPlay::macroFinishedData() +void RDLogPlay::macroFinishedData() { #ifdef SHOW_SLOTS printf("macroFinishedData()\n"); @@ -1629,7 +1632,7 @@ void LogPlay::macroFinishedData() } -void LogPlay::macroStoppedData() +void RDLogPlay::macroStoppedData() { #ifdef SHOW_SLOTS printf("macroStoppedData()\n"); @@ -1648,7 +1651,7 @@ void LogPlay::macroStoppedData() } -void LogPlay::timescalingSupportedData(int card,bool state) +void RDLogPlay::timescalingSupportedData(int card,bool state) { if(card>=0) { play_timescaling_supported[card]=state; @@ -1666,7 +1669,7 @@ void LogPlay::timescalingSupportedData(int card,bool state) } -void LogPlay::auditionStartedData() +void RDLogPlay::auditionStartedData() { if(play_audition_head_played) { emit auditionHeadPlayed(play_audition_line); @@ -1677,7 +1680,7 @@ void LogPlay::auditionStartedData() } -void LogPlay::auditionStoppedData() +void RDLogPlay::auditionStoppedData() { int line=play_audition_line; play_audition_line=-1; @@ -1685,7 +1688,7 @@ void LogPlay::auditionStoppedData() } -void LogPlay::notificationReceivedData(RDNotification *notify) +void RDLogPlay::notificationReceivedData(RDNotification *notify) { RDLogLine *ll=NULL; RDLogLine *next_ll=NULL; @@ -1747,7 +1750,7 @@ void LogPlay::notificationReceivedData(RDNotification *notify) } -bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, +bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type, int trans_length,RDLogLine::StartSource src,int mport,int duck_length) { int running; @@ -1871,8 +1874,8 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, logline->setStatus(RDLogLine::Playing); playStateChangedData(playdeck->id(),RDPlayDeck::Finished); logline->setStatus(RDLogLine::Finished); - LogLine(RDConfig::LogErr,QString(). - sprintf("LogPlay::StartEvent(): no audio,CUT=%s", + rda->config()->log("log engine",RDConfig::LogErr,QString(). + sprintf("RDLogPlay::StartEvent(): no audio,CUT=%s", (const char *)logline->cutName())); rda->airplayConf()->setLogCurrentLine(play_id,nextLine()); return false; @@ -1887,7 +1890,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, playdeck->stream(), playdeck->port()); if((int)logline->playPosition()>logline->effectiveLength()) { - LogLine(RDConfig::LogWarning,QString().sprintf("*** position out of bounds: Line: %d Cart: %d Pos: %d ***",line,logline->cartNumber(),logline->playPosition())); + rda->config()->log("log engine",RDConfig::LogWarning,QString().sprintf("*** position out of bounds: Line: %d Cart: %d Pos: %d ***",line,logline->cartNumber(),logline->playPosition())); logline->setPlayPosition(0); } playdeck->play(logline->playPosition(),-1,-1,duck_length); @@ -1902,7 +1905,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, } logline->setStatus(RDLogLine::Playing); if(!play_start_rml[aport].isEmpty()) { - rdevent_player-> + play_event_player-> exec(logline->resolveWildcards(play_start_rml[aport])); } /* @@ -1912,7 +1915,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, */ emit channelStarted(play_id,playdeck->channel(), playdeck->card(),playdeck->port()); - LogLine(RDConfig::LogInfo,QString().sprintf( + rda->config()->log("log engine",RDConfig::LogInfo,QString().sprintf( "started audio cart: Line: %d Cart: %u Cut: %u Pos: %d Card: %d Stream: %d Port: %d", line,logline->cartNumber(), playdeck->cut()->cutNumber(), @@ -1970,14 +1973,14 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, RDAirPlayConf::TrafficMacro,play_onair_flag); FinishEvent(line); emit transportChanged(); - LogLine(RDConfig::LogInfo,QString(). + rda->config()->log("log engine",RDConfig::LogInfo,QString(). sprintf("asynchronously executed macro cart: Line: %d Cart: %u", line,logline->cartNumber())); } else { play_macro_deck->load(logline->cartNumber()); play_macro_deck->setLine(line); - LogLine(RDConfig::LogInfo,QString(). + rda->config()->log("log engine",RDConfig::LogInfo,QString(). sprintf("started macro cart: Line: %d Cart: %u", line,logline->cartNumber())); play_macro_deck->exec(); @@ -2042,7 +2045,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, } play_macro_deck->setLine(line); play_macro_deck->exec(); - LogLine(RDConfig::LogInfo,QString(). + rda->config()->log("log engine",RDConfig::LogInfo,QString(). sprintf("chained to log: Line: %d Log: %s", line, (const char *)logline->markerLabel())); @@ -2066,7 +2069,7 @@ bool LogPlay::StartEvent(int line,RDLogLine::TransType trans_type, } -bool LogPlay::StartAudioEvent(int line) +bool RDLogPlay::StartAudioEvent(int line) { RDLogLine *logline; RDPlayDeck *playdeck=NULL; @@ -2110,7 +2113,7 @@ bool LogPlay::StartAudioEvent(int line) } -void LogPlay::CleanupEvent(int id) +void RDLogPlay::CleanupEvent(int id) { int line=GetLineById(id); bool top_changed=false; @@ -2121,12 +2124,12 @@ void LogPlay::CleanupEvent(int id) } playdeck=(RDPlayDeck *)logline->playDeck(); if(playdeck->cut()==NULL) { - LogLine(RDConfig::LogErr,QString(). + rda->config()->log("log engine",RDConfig::LogErr,QString(). sprintf("event failed: Line: %d Cart: %u",line, logline->cartNumber())); } else { - LogLine(RDConfig::LogInfo,QString(). + rda->config()->log("log engine",RDConfig::LogInfo,QString(). sprintf("finished event: Line: %d Cart: %u Cut: %u Card: %d Stream: %d Port: %d", line,logline->cartNumber(), playdeck->cut()->cutNumber(), @@ -2152,7 +2155,7 @@ void LogPlay::CleanupEvent(int id) } -void LogPlay::UpdateStartTimes(int line) +void RDLogPlay::UpdateStartTimes(int line) { QTime time; QTime new_time; @@ -2242,7 +2245,7 @@ void LogPlay::UpdateStartTimes(int line) } -void LogPlay::FinishEvent(int line) +void RDLogPlay::FinishEvent(int line) { int prev_next_line=play_next_line; if(GetNextPlayable(&play_next_line,false)) { @@ -2271,7 +2274,7 @@ void LogPlay::FinishEvent(int line) } -QTime LogPlay::GetStartTime(QTime sched_time, +QTime RDLogPlay::GetStartTime(QTime sched_time, RDLogLine::TransType trans_type, RDLogLine::TimeType time_type,QTime prev_time, int prev_total_length,int prev_segue_length, @@ -2334,7 +2337,7 @@ QTime LogPlay::GetStartTime(QTime sched_time, } -QTime LogPlay::GetNextStop(int line) +QTime RDLogPlay::GetNextStop(int line) { bool running=false; QTime time; @@ -2386,7 +2389,7 @@ QTime LogPlay::GetNextStop(int line) return time; } -void LogPlay::UpdatePostPoint() +void RDLogPlay::UpdatePostPoint() { int lines[TRANSPORT_QUANTITY] = {-1}; int count = runningEvents(lines,false); @@ -2398,7 +2401,7 @@ void LogPlay::UpdatePostPoint() UpdatePostPoint(lines[0]); } -void LogPlay::UpdatePostPoint(int line) +void RDLogPlay::UpdatePostPoint(int line) { int post_line=-1; QTime post_time; @@ -2424,7 +2427,7 @@ void LogPlay::UpdatePostPoint(int line) } -void LogPlay::AdvanceActiveEvent() +void RDLogPlay::AdvanceActiveEvent() { int line=-1; RDLogLine::TransType trans=RDLogLine::Play; @@ -2462,7 +2465,7 @@ void LogPlay::AdvanceActiveEvent() } -QString LogPlay::GetPortName(int card,int port) +QString RDLogPlay::GetPortName(int card,int port) { for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { @@ -2475,7 +2478,7 @@ QString LogPlay::GetPortName(int card,int port) } -void LogPlay::SetTransTimer(QTime current_time,bool stop) +void RDLogPlay::SetTransTimer(QTime current_time,bool stop) { int next_line=-1; QTime next_time=QTime(23,59,59); @@ -2511,7 +2514,7 @@ void LogPlay::SetTransTimer(QTime current_time,bool stop) } -int LogPlay::GetNextChannel(int mport,int *card,int *port) +int RDLogPlay::GetNextChannel(int mport,int *card,int *port) { int chan=next_channel; if(mport<0) { @@ -2534,13 +2537,13 @@ int LogPlay::GetNextChannel(int mport,int *card,int *port) } -int LogPlay::GetLineById(int id) +int RDLogPlay::GetLineById(int id) { return id; } -RDPlayDeck *LogPlay::GetPlayDeck() +RDPlayDeck *RDLogPlay::GetPlayDeck() { for(int i=0;icartNumber(), @@ -2641,7 +2644,7 @@ void LogPlay::LogPlayEvent(RDLogLine *logline) } -void LogPlay::RefreshEvents(int line,int line_quan,bool force_update) +void RDLogPlay::RefreshEvents(int line,int line_quan,bool force_update) { //QTime st=QTime::currentTime(); @@ -2685,7 +2688,7 @@ void LogPlay::RefreshEvents(int line,int line_quan,bool force_update) } -void LogPlay::Playing(int id) +void RDLogPlay::Playing(int id) { RDLogLine *logline; @@ -2702,7 +2705,7 @@ void LogPlay::Playing(int id) } -void LogPlay::Paused(int id) +void RDLogPlay::Paused(int id) { int line=GetLineById(id); RDLogLine *logline=logLine(line); @@ -2721,12 +2724,12 @@ void LogPlay::Paused(int id) } -void LogPlay::Stopping(int id) +void RDLogPlay::Stopping(int id) { } -void LogPlay::Stopped(int id) +void RDLogPlay::Stopped(int id) { int line=GetLineById(id); int lines[TRANSPORT_QUANTITY]; @@ -2745,7 +2748,7 @@ void LogPlay::Stopped(int id) } -void LogPlay::Finished(int id) +void RDLogPlay::Finished(int id) { int line=GetLineById(id); RDLogLine *logline; @@ -2776,7 +2779,7 @@ void LogPlay::Finished(int id) } -void LogPlay::ClearChannel(int deckid) +void RDLogPlay::ClearChannel(int deckid) { if(play_deck[deckid]->channel()<0) { return; @@ -2788,7 +2791,7 @@ void LogPlay::ClearChannel(int deckid) } if(play_deck[deckid]->channel()>=0) { - rdevent_player->exec(play_stop_rml[play_deck[deckid]->channel()]); + play_event_player->exec(play_stop_rml[play_deck[deckid]->channel()]); /* printf("Deck: %d channelStopped(%d,%d,%d,%d\n",deckid, play_id,play_deck[deckid]->channel(), @@ -2803,7 +2806,7 @@ void LogPlay::ClearChannel(int deckid) } -RDLogLine::TransType LogPlay::GetTransType(const QString &logname,int line) +RDLogLine::TransType RDLogPlay::GetTransType(const QString &logname,int line) { RDLogLine::TransType trans=RDLogLine::Stop; QString sql=QString("select TRANS_TYPE from `")+ @@ -2817,7 +2820,7 @@ RDLogLine::TransType LogPlay::GetTransType(const QString &logname,int line) } -bool LogPlay::ClearBlock(int start_line) +bool RDLogPlay::ClearBlock(int start_line) { RDLogLine::Status status; @@ -2831,3 +2834,183 @@ bool LogPlay::ClearBlock(int start_line) remove(start_line,size()-start_line); return false; } + + +void RDLogPlay::SendNowNext() +{ + QTime end_time; + QTime time; + int now_line=-1; + RDLogLine *logline[2]; + RDLogLine *ll; + RDLogLine *default_now_logline=NULL; + RDLogLine *default_next_logline=NULL; + + // + // Get NOW PLAYING Event + // + if(play_nownext_address.isNull()&&play_nownext_rml.isEmpty()&& + (play_rlm_hosts->size()==0)) { + return; + } + QString cmd=play_nownext_string; + int lines[TRANSPORT_QUANTITY]; + int running=runningEvents(lines,false); + for(int i=0;istartTime(RDLogLine::Actual). + addMSecs(logLine(lines[i])->effectiveLength()))>end_time) { + end_time=time; + now_line=lines[i]; + } + } + if((now_line>=0)&&(logLine(now_line)->nowNextEnabled())) { + logline[0]=logLine(now_line); + } + else { + if(play_now_cartnum==0) { + logline[0]=NULL; + } + else { + default_now_logline=new RDLogLine(play_now_cartnum); + logline[0]=default_now_logline; + } + } + + // + // Get NEXT Event + // + logline[1]=NULL; + for(int i=nextLine();istatus()==RDLogLine::Scheduled)&& + logLine(i)->nowNextEnabled()&&(!logLine(i)->asyncronous())) { + logline[1]=logLine(i); + i=size(); + } + } + } + if((logline[1]==NULL)&&(play_next_cartnum!=0)) { + default_next_logline=new RDLogLine(play_next_cartnum); + logline[1]=default_next_logline; + } + + // + // Process and Send It + // + unsigned nowcart=0; + unsigned nextcart=0; + if(logline[0]!=NULL) { + if(!logline[0]->asyncronous()) { + nowcart=logline[0]->cartNumber(); + } + } + if(logline[1]!=NULL) { + nextcart=logline[1]->cartNumber(); + } + if((nowcart==play_prevnow_cartnum)&&(nextcart==play_prevnext_cartnum)) { + return; + } + if(logline[0]==NULL) { + play_prevnow_cartnum=0; + } + else { + play_prevnow_cartnum=logline[0]->cartNumber(); + } + if(logline[1]==NULL) { + play_prevnext_cartnum=0; + } + else { + play_prevnext_cartnum=logline[1]->cartNumber(); + } + QString svcname=play_svc_name; + if(svcname.isEmpty()) { + svcname=play_defaultsvc_name; + } + for(unsigned i=0;isize();i++) { + play_rlm_hosts->at(i)-> + sendEvent(svcname,logName().left(logName().length()-4),play_id,logline, + play_onair_flag,play_op_mode); + } + RDResolveNowNext(&cmd,logline,0); + play_nownext_socket-> + writeBlock(cmd,cmd.length(),play_nownext_address,play_nownext_port); + + cmd=play_nownext_rml; + RDResolveNowNext(&cmd,logline,0); + play_event_player->exec(cmd); + + // + // Clean up + // + if(default_now_logline!=NULL) { + delete default_now_logline; + } + if(default_next_logline!=NULL) { + delete default_next_logline; + } +} + + +void RDLogPlay::LogTraffic(const QString &svcname,const QString &logname, + RDLogLine *logline,RDLogLine::PlaySource src, + RDAirPlayConf::TrafficAction action,bool onair_flag) + const +{ + QString sql; + RDSqlQuery *q; + QDateTime datetime=QDateTime(QDate::currentDate(),QTime::currentTime()); + int length=logline->startTime(RDLogLine::Actual).msecsTo(datetime.time()); + if(length<0) { // Event crossed midnight! + length+=86400000; + datetime.setDate(datetime.date().addDays(-1)); + } + + if((logline==NULL)||(svcname.isEmpty())) { + return; + } + + QString eventDateTimeSQL = "NULL"; + + if(datetime.isValid() && logline->startTime(RDLogLine::Actual).isValid()) + eventDateTimeSQL = RDCheckDateTime(QDateTime(datetime.date(), + logline->startTime(RDLogLine::Actual)), "yyyy-MM-dd hh:mm:ss"); + + sql=QString("insert into `")+RDSvc::svcTableName(svcname)+"` set "+ + QString().sprintf("LENGTH=%d,",length)+ + "LOG_NAME=\""+RDEscapeString(logname.utf8())+"\","+ + QString().sprintf("LOG_ID=%d,",logline->id())+ + QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+ + "STATION_NAME=\""+RDEscapeString(rda->station()->name().utf8())+"\","+ + "EVENT_DATETIME="+eventDateTimeSQL+","+ + QString().sprintf("EVENT_TYPE=%d,",action)+ + QString().sprintf("EVENT_SOURCE=%d,",logline->source())+ + "EXT_START_TIME="+RDCheckDateTime(logline->extStartTime(),"hh:mm:ss")+","+ + QString().sprintf("EXT_LENGTH=%d,",logline->extLength())+ + "EXT_DATA=\""+RDEscapeString(logline->extData())+"\","+ + "EXT_EVENT_ID=\""+RDEscapeString(logline->extEventId())+"\","+ + "EXT_ANNC_TYPE=\""+RDEscapeString(logline->extAnncType())+"\","+ + QString().sprintf("PLAY_SOURCE=%d,",src)+ + QString().sprintf("CUT_NUMBER=%d,",logline->cutNumber())+ + "EXT_CART_NAME=\""+RDEscapeString(logline->extCartName().utf8())+"\","+ + "TITLE=\""+RDEscapeString(logline->title().utf8())+"\","+ + "ARTIST=\""+RDEscapeString(logline->artist().utf8())+"\","+ + "SCHEDULED_TIME="+RDCheckDateTime(logline->startTime(RDLogLine::Logged), + "hh:mm:ss")+","+ + "ISRC=\""+RDEscapeString(logline->isrc().utf8())+"\","+ + "PUBLISHER=\""+RDEscapeString(logline->publisher().utf8())+"\","+ + "COMPOSER=\""+RDEscapeString(logline->composer().utf8())+"\","+ + QString().sprintf("USAGE_CODE=%d,",logline->usageCode())+ + QString().sprintf("START_SOURCE=%d,",logline->startSource())+ + "ONAIR_FLAG=\""+RDYesNo(onair_flag)+"\","+ + "ALBUM=\""+RDEscapeString(logline->album().utf8())+"\","+ + "LABEL=\""+RDEscapeString(logline->label().utf8())+"\","+ + "USER_DEFINED=\""+RDEscapeString(logline->userDefined().utf8())+"\","+ + "CONDUCTOR=\""+RDEscapeString(logline->conductor().utf8())+"\","+ + "SONG_ID=\""+RDEscapeString(logline->songId().utf8())+"\","+ + "DESCRIPTION=\""+RDEscapeString(logline->description().utf8())+"\","+ + "OUTCUE=\""+RDEscapeString(logline->outcue().utf8())+"\","+ + "ISCI=\""+RDEscapeString(logline->isci().utf8())+"\""; + + q=new RDSqlQuery(sql); + delete q; +} diff --git a/rdairplay/log_play.h b/lib/rdlogplay.h similarity index 93% rename from rdairplay/log_play.h rename to lib/rdlogplay.h index ef4301ab..2b1c23f5 100644 --- a/rdairplay/log_play.h +++ b/lib/rdlogplay.h @@ -1,4 +1,4 @@ -// log_play.h +// rdlogplay.h // // Rivendell Log Playout Machine // @@ -18,8 +18,8 @@ // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -#ifndef LOG_PLAY_H -#define LOG_PLAY_H +#ifndef RDLOGPLAY_H +#define RDLOGPLAY_H #include @@ -37,10 +37,9 @@ #include #include #include +#include #include -#include - // // Widget Settings // @@ -56,12 +55,12 @@ //#define SHOW_SLOTS //#define SHOW_METER_SLOTS -class LogPlay : public QObject,public RDLogEvent +class RDLogPlay : public QObject,public RDLogEvent { Q_OBJECT public: - LogPlay(int id,QSocketDevice *nn_sock,QString logname, - std::vector *rlm_hosts,QObject *parent=0); + RDLogPlay(int id,RDEventPlayer *player,QSocketDevice *nn_sock,QString logname, + std::vector *rlm_hosts,QObject *parent=0); QString serviceName() const; void setServiceName(const QString &svcname); QString defaultServiceName() const; @@ -194,6 +193,9 @@ class LogPlay : public QObject,public RDLogEvent RDLogLine::TransType GetTransType(const QString &logname,int line); bool ClearBlock(int start_line); void SendNowNext(); + void LogTraffic(const QString &svcname,const QString &logname, + RDLogLine *logline,RDLogLine::PlaySource src, + RDAirPlayConf::TrafficAction action,bool onair_flag) const; RDCae *play_cae; RDAirPlayConf::OpMode play_op_mode; int play_slot_id[LOGPLAY_MAX_PLAYS]; @@ -240,7 +242,7 @@ class LogPlay : public QObject,public RDLogEvent bool play_onair_flag; int play_duck_volume_port1; int play_duck_volume_port2; - std::vector *play_rlm_hosts; + std::vector *play_rlm_hosts; unsigned play_now_cartnum; unsigned play_next_cartnum; unsigned play_prevnow_cartnum; @@ -249,7 +251,8 @@ class LogPlay : public QObject,public RDLogEvent int play_audition_line; bool play_audition_head_played; int play_audition_preroll; + RDEventPlayer *play_event_player; }; -#endif +#endif // RDLOGPLAY_H diff --git a/rdairplay/rlmhost.cpp b/lib/rdrlmhost.cpp similarity index 91% rename from rdairplay/rlmhost.cpp rename to lib/rdrlmhost.cpp index 45f83998..a7ce46a1 100644 --- a/rdairplay/rlmhost.cpp +++ b/lib/rdrlmhost.cpp @@ -1,4 +1,4 @@ -// rlmhost.cpp +// rdrlmhost.cpp // // A container class for a Rivendell Loadable Module host. // @@ -21,18 +21,20 @@ #include #include -#include -#include -#include -#include -#include -#include +#include -#include "globals.h" -#include "rlmhost.h" +#include "rdapplication.h" +#include "rdconf.h" +#include "rddatedecode.h" +#include "rdnownext.h" +#include "rdprofile.h" +#include "rdrlmhost.h" +#include "rdsvc.h" + +//#include "globals.h" -RLMHost::RLMHost(const QString &path,const QString &arg, +RDRLMHost::RDRLMHost(const QString &path,const QString &arg, QSocketDevice *udp_socket,QObject *parent) : QObject(parent) { @@ -59,24 +61,24 @@ RLMHost::RLMHost(const QString &path,const QString &arg, } -RLMHost::~RLMHost() +RDRLMHost::~RDRLMHost() { } -QString RLMHost::pluginPath() const +QString RDRLMHost::pluginPath() const { return plugin_path; } -QString RLMHost::pluginArg() const +QString RDRLMHost::pluginArg() const { return plugin_arg; } -void RLMHost::sendEvent(const QString &svcname,const QString &logname, +void RDRLMHost::sendEvent(const QString &svcname,const QString &logname, int lognum,RDLogLine **loglines,bool onair, RDAirPlayConf::OpMode mode) { @@ -112,8 +114,8 @@ void RLMHost::sendEvent(const QString &svcname,const QString &logname, log->log_mach=lognum; log->log_onair=onair; log->log_mode=mode; - RLMHost::loadMetadata(loglines[0],now,now_dt); - RLMHost::loadMetadata(loglines[1],next); + RDRLMHost::loadMetadata(loglines[0],now,now_dt); + RDRLMHost::loadMetadata(loglines[1],next); plugin_pad_data_sent_sym(this,svc,log,now,next); delete next; delete now; @@ -123,7 +125,7 @@ void RLMHost::sendEvent(const QString &svcname,const QString &logname, } -bool RLMHost::load() +bool RDRLMHost::load() { QString basename=RDGetBasePart(plugin_path); basename=basename.left(basename.findRev(".")); @@ -146,7 +148,7 @@ bool RLMHost::load() } -void RLMHost::unload() +void RDRLMHost::unload() { if(plugin_free_sym!=NULL) { plugin_free_sym(this); @@ -154,7 +156,7 @@ void RLMHost::unload() } -void RLMHost::loadMetadata(const RDLogLine *logline,struct rlm_pad *pad, +void RDRLMHost::loadMetadata(const RDLogLine *logline,struct rlm_pad *pad, const QDateTime &start_datetime) { QDateTime now(QDate::currentDate(),QTime::currentTime()); @@ -284,7 +286,7 @@ void RLMHost::loadMetadata(const RDLogLine *logline,struct rlm_pad *pad, } -void RLMHost::saveMetadata(const struct rlm_pad *pad,RDLogLine *logline) +void RDRLMHost::saveMetadata(const struct rlm_pad *pad,RDLogLine *logline) { if(logline==NULL) { return; @@ -325,7 +327,7 @@ void RLMHost::saveMetadata(const struct rlm_pad *pad,RDLogLine *logline) } -void RLMHost::timerData(int timernum) +void RDRLMHost::timerData(int timernum) { if(plugin_timer_expired_sym!=NULL) { plugin_timer_expired_sym(this,timernum); @@ -333,7 +335,7 @@ void RLMHost::timerData(int timernum) } -void RLMHost::ttyReceiveReadyData(int fd) +void RDRLMHost::ttyReceiveReadyData(int fd) { char data[1024]; int n; @@ -358,7 +360,7 @@ void RLMHost::ttyReceiveReadyData(int fd) void RLMSendUdp(void *ptr,const char *ipaddr,uint16_t port, const char *data,int len) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; QHostAddress addr; addr.setAddress(ipaddr); if(!addr.isNull()) { @@ -370,7 +372,7 @@ void RLMSendUdp(void *ptr,const char *ipaddr,uint16_t port, int RLMOpenSerial(void *ptr,const char *port,int speed,int parity, int word_length) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; host->plugin_tty_devices.push_back(new RDTTYDevice); host->plugin_tty_devices.back()->setName(port); host->plugin_tty_devices.back()->setSpeed(speed); @@ -391,7 +393,7 @@ int RLMOpenSerial(void *ptr,const char *port,int speed,int parity, void RLMSendSerial(void *ptr,int handle,const char *data,int len) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; if((handle<0)||(handle>=(int)host->plugin_tty_devices.size())) { return; } @@ -401,7 +403,7 @@ void RLMSendSerial(void *ptr,int handle,const char *data,int len) void RLMCloseSerial(void *ptr,int handle) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; // // FIXME: We really ought to take out the trash here! @@ -414,7 +416,7 @@ void RLMCloseSerial(void *ptr,int handle) const char *RLMDateTime(void *ptr,int offset_msecs,const char *format) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; QDateTime datetime=QDateTime(QDate::currentDate(),QTime::currentTime(). addMSecs(offset_msecs)); strncpy(host->plugin_value_string,datetime.toString(format),1024); @@ -426,14 +428,14 @@ const char *RLMResolveNowNextEncoded(void *ptr,const struct rlm_pad *now, const struct rlm_pad *next, const char *format,int encoding) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; RDLogLine *loglines[2]; QString str=format; loglines[0]=new RDLogLine(); loglines[1]=new RDLogLine(); - RLMHost::saveMetadata(now,loglines[0]); - RLMHost::saveMetadata(next,loglines[1]); + RDRLMHost::saveMetadata(now,loglines[0]); + RDRLMHost::saveMetadata(next,loglines[1]); RDResolveNowNext(&str,loglines,encoding); strncpy(host->plugin_value_string,str,1024); delete loglines[1]; @@ -452,13 +454,13 @@ const char *RLMResolveNowNext(void *ptr,const struct rlm_pad *now, void RLMLog(void *ptr,int prio,const char *msg) { - LogLine((RDConfig::LogPriority)prio,msg); + rda->config()->log("log machine",(RDConfig::LogPriority)prio,msg); } void RLMStartTimer(void *ptr,int timernum,int msecs,int mode) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; if((timernum<0)||(timernum>=RLM_MAX_TIMERS)) { return; } @@ -471,7 +473,7 @@ void RLMStartTimer(void *ptr,int timernum,int msecs,int mode) void RLMStopTimer(void *ptr,int timernum) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; if((timernum<0)||(timernum>=RLM_MAX_TIMERS)) { return; } @@ -518,7 +520,7 @@ const char *RLMGetStringValue(void *ptr,const char *filename, const char *section,const char *label, const char *default_value) { - RLMHost *host=(RLMHost *)ptr; + RDRLMHost *host=(RDRLMHost *)ptr; RDProfile *p=new RDProfile(); p->setSource(filename); strncpy(host->plugin_value_string, diff --git a/rdairplay/rlmhost.h b/lib/rdrlmhost.h similarity index 92% rename from rdairplay/rlmhost.h rename to lib/rdrlmhost.h index 3a7e59f0..b9177dd4 100644 --- a/rdairplay/rlmhost.h +++ b/lib/rdrlmhost.h @@ -1,8 +1,8 @@ -// rlmhost.h +// rdrlmhost.h // // 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 @@ -18,8 +18,8 @@ // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -#ifndef RLMHOST_H -#define RLMHOST_H +#ifndef RDRLMHOST_H +#define RDRLMHOST_H #include @@ -35,13 +35,13 @@ #include "../rlm/rlm.h" -class RLMHost : public QObject +class RDRLMHost : public QObject { Q_OBJECT public: - RLMHost(const QString &path,const QString &arg,QSocketDevice *udp_socket, + RDRLMHost(const QString &path,const QString &arg,QSocketDevice *udp_socket, QObject *parent=0); - ~RLMHost(); + ~RDRLMHost(); QString pluginPath() const; QString pluginArg() const; void sendEvent(const QString &svcname,const QString &logname, @@ -102,4 +102,4 @@ class RLMHost : public QObject }; -#endif // RLMHOST_H +#endif // RDRLMHOST_H diff --git a/rdairplay/Makefile.am b/rdairplay/Makefile.am index 443f57f5..3dd75fa9 100644 --- a/rdairplay/Makefile.am +++ b/rdairplay/Makefile.am @@ -50,15 +50,11 @@ dist_rdairplay_SOURCES = button_log.cpp button_log.h\ list_log.cpp list_log.h\ list_logs.cpp list_logs.h\ local_macros.cpp colors.h\ - log_play.cpp log_play.h\ - log_traffic.cpp log_traffic.h\ loglinebox.cpp loglinebox.h\ mode_display.cpp mode_display.h\ - nownext.cpp\ pie_counter.cpp pie_counter.h\ post_counter.cpp post_counter.h\ rdairplay.cpp rdairplay.h\ - rlmhost.cpp rlmhost.h\ start_button.cpp start_button.h\ stop_counter.cpp stop_counter.h\ wall_clock.cpp wall_clock.h @@ -70,13 +66,11 @@ nodist_rdairplay_SOURCES = moc_button_log.cpp\ moc_lib_listview.cpp\ moc_list_log.cpp\ moc_list_logs.cpp\ - moc_log_play.cpp\ moc_loglinebox.cpp\ moc_mode_display.cpp\ moc_pie_counter.cpp\ moc_post_counter.cpp\ moc_rdairplay.cpp\ - moc_rlmhost.cpp\ moc_start_button.cpp\ moc_stop_counter.cpp\ moc_wall_clock.cpp diff --git a/rdairplay/button_log.cpp b/rdairplay/button_log.cpp index 5f2d1377..6bc02a9c 100644 --- a/rdairplay/button_log.cpp +++ b/rdairplay/button_log.cpp @@ -29,7 +29,7 @@ #include "colors.h" #include "globals.h" -ButtonLog::ButtonLog(LogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, +ButtonLog::ButtonLog(RDLogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, bool allow_pause,QWidget *parent) : QWidget(parent) { diff --git a/rdairplay/button_log.h b/rdairplay/button_log.h index 4ca445d6..5e2abff8 100644 --- a/rdairplay/button_log.h +++ b/rdairplay/button_log.h @@ -3,7 +3,7 @@ // // The button play 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 @@ -32,12 +32,12 @@ #include #include -#include -#include -#include -#include -#include -#include +#include + +#include "edit_event.h" +#include "list_log.h" +#include "loglinebox.h" +#include "start_button.h" // // Widget Settings @@ -50,7 +50,7 @@ class ButtonLog : public QWidget { Q_OBJECT public: - ButtonLog(LogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, + ButtonLog(RDLogPlay *log,RDCae *cae,int id,RDAirPlayConf *conf, bool allow_pause=false,QWidget *parent=0); QSize sizeHint() const; QSizePolicy sizePolicy() const; @@ -82,7 +82,7 @@ class ButtonLog : public QWidget private: void UpdateEvents(); void UpdateButtons(); - LogPlay *log_log; + RDLogPlay *log_log; int log_id; int *log_cart; RDAirPlayConf::OpMode log_op_mode; diff --git a/rdairplay/edit_event.cpp b/rdairplay/edit_event.cpp index f55b7d9b..7ecbb0df 100644 --- a/rdairplay/edit_event.cpp +++ b/rdairplay/edit_event.cpp @@ -29,7 +29,7 @@ #include "edit_event.h" #include "globals.h" -EditEvent::EditEvent(LogPlay *log,RDCae *cae,QWidget *parent) +EditEvent::EditEvent(RDLogPlay *log,RDCae *cae,QWidget *parent) : QDialog(parent,"",true) { edit_log=log; diff --git a/rdairplay/edit_event.h b/rdairplay/edit_event.h index 9314a6e3..5db68066 100644 --- a/rdairplay/edit_event.h +++ b/rdairplay/edit_event.h @@ -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 @@ -32,22 +32,21 @@ #include #include -#include -#include #include -#include -#include -#include -#include #include - -#include +#include +#include +#include +#include +#include +#include +#include class EditEvent : public QDialog { Q_OBJECT public: - EditEvent(LogPlay *log,RDCae *cae,QWidget *parent=0); + EditEvent(RDLogPlay *log,RDCae *cae,QWidget *parent=0); ~EditEvent(); QSize sizeHint() const; QSizePolicy sizePolicy() const; @@ -67,7 +66,7 @@ class EditEvent : public QDialog void closeEvent(QCloseEvent *e); private: - LogPlay *edit_log; + RDLogPlay *edit_log; RDLogLine *edit_logline; int edit_line; RDTimeEdit *edit_time_edit; diff --git a/rdairplay/hourselector.cpp b/rdairplay/hourselector.cpp index 70bb949b..69f234aa 100644 --- a/rdairplay/hourselector.cpp +++ b/rdairplay/hourselector.cpp @@ -2,7 +2,7 @@ // // Hour Selector widget for RDAirPlay // -// (C) Copyright 2012,2016 Fred Gleason +// (C) Copyright 2012,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 diff --git a/rdairplay/hourselector.h b/rdairplay/hourselector.h index c824985b..8e6b9380 100644 --- a/rdairplay/hourselector.h +++ b/rdairplay/hourselector.h @@ -2,7 +2,7 @@ // // Hour Selector widget for RDAirPlay // -// (C) Copyright 2012,2016 Fred Gleason +// (C) Copyright 2012,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,8 +28,7 @@ #include #include #include - -#include +#include class HourSelector : public QWidget { diff --git a/rdairplay/list_log.cpp b/rdairplay/list_log.cpp index 1366360d..62689e90 100644 --- a/rdairplay/list_log.cpp +++ b/rdairplay/list_log.cpp @@ -46,7 +46,7 @@ #include "../icons/music.xpm" -ListLog::ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause, +ListLog::ListLog(RDLogPlay *log,RDCae *cae,int id,bool allow_pause, QWidget *parent) : QWidget(parent) { diff --git a/rdairplay/list_log.h b/rdairplay/list_log.h index c095a21f..560366e4 100644 --- a/rdairplay/list_log.h +++ b/rdairplay/list_log.h @@ -2,7 +2,7 @@ // // The full log list widget for RDAirPlay. // -// (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 @@ -27,15 +27,15 @@ #include #include +#include #include #include -#include +#include -#include -#include -#include -#include -#include +#include "edit_event.h" +#include "hourselector.h" +#include "lib_listview.h" +#include "list_logs.h" #define END_MARKER_ID -2 @@ -43,7 +43,7 @@ class ListLog : public QWidget { Q_OBJECT public: - ListLog(LogPlay *log,RDCae *cae,int id,bool allow_pause=false, + ListLog(RDLogPlay *log,RDCae *cae,int id,bool allow_pause=false, QWidget *parent=0); QSize sizeHint() const; QSizePolicy sizePolicy() const; @@ -111,7 +111,7 @@ class ListLog : public QWidget int PredictedStartHour(RDListViewItem *item); HourSelector *list_hour_selector; LibListView *list_log_list; - LogPlay *list_log; + RDLogPlay *list_log; ListLogs *list_logs_dialog; RDAirPlayConf::ActionMode list_action_mode; ListLog::PlayButtonMode list_playbutton_mode; diff --git a/rdairplay/list_logs.cpp b/rdairplay/list_logs.cpp index e5f27f23..03358f74 100644 --- a/rdairplay/list_logs.cpp +++ b/rdairplay/list_logs.cpp @@ -29,7 +29,7 @@ #include "globals.h" #include "list_logs.h" -ListLogs::ListLogs(LogPlay *log,QWidget *parent) +ListLogs::ListLogs(RDLogPlay *log,QWidget *parent) : QDialog(parent,"",true) { // diff --git a/rdairplay/list_logs.h b/rdairplay/list_logs.h index d5bb3266..e16bacfd 100644 --- a/rdairplay/list_logs.h +++ b/rdairplay/list_logs.h @@ -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 @@ -28,8 +28,7 @@ #include #include - -#include +#include class ListLogs : public QDialog { @@ -37,7 +36,7 @@ class ListLogs : public QDialog public: enum Operation {Load=0,Cancel=1,Save=2,SaveAs=3,Unload=4}; - ListLogs(LogPlay *log,QWidget *parent=0); + ListLogs(RDLogPlay *log,QWidget *parent=0); QSize sizeHint() const; QSizePolicy sizePolicy() const; @@ -69,9 +68,9 @@ class ListLogs : public QDialog QPushButton *list_save_button; QPushButton *list_saveas_button; QPushButton *list_cancel_button; - LogPlay *list_log; + RDLogPlay *list_log; RDLogLock **list_log_lock; }; -#endif +#endif // LIST_LOGS_H diff --git a/rdairplay/log_traffic.cpp b/rdairplay/log_traffic.cpp deleted file mode 100644 index 5fe0e2e0..00000000 --- a/rdairplay/log_traffic.cpp +++ /dev/null @@ -1,91 +0,0 @@ -// log_traffic.cpp -// -// Add an entry to the reconciliation table. -// -// (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 -// published by the Free Software Foundation. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public -// License along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -// - -#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, - RDAirPlayConf::TrafficAction action,bool onair_flag) -{ - QString sql; - RDSqlQuery *q; - QDateTime datetime=QDateTime(QDate::currentDate(),QTime::currentTime()); - int length=logline->startTime(RDLogLine::Actual).msecsTo(datetime.time()); - if(length<0) { // Event crossed midnight! - length+=86400000; - datetime.setDate(datetime.date().addDays(-1)); - } - - if((logline==NULL)||(svcname.isEmpty())) { - return; - } - - QString eventDateTimeSQL = "NULL"; - - if(datetime.isValid() && logline->startTime(RDLogLine::Actual).isValid()) - eventDateTimeSQL = RDCheckDateTime(QDateTime(datetime.date(), - logline->startTime(RDLogLine::Actual)), "yyyy-MM-dd hh:mm:ss"); - - sql=QString("insert into `")+RDSvc::svcTableName(svcname)+"` set "+ - QString().sprintf("LENGTH=%d,",length)+ - "LOG_NAME=\""+RDEscapeString(logname.utf8())+"\","+ - QString().sprintf("LOG_ID=%d,",logline->id())+ - QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+ - "STATION_NAME=\""+RDEscapeString(rda->station()->name().utf8())+"\","+ - "EVENT_DATETIME="+eventDateTimeSQL+","+ - QString().sprintf("EVENT_TYPE=%d,",action)+ - QString().sprintf("EVENT_SOURCE=%d,",logline->source())+ - "EXT_START_TIME="+RDCheckDateTime(logline->extStartTime(),"hh:mm:ss")+","+ - QString().sprintf("EXT_LENGTH=%d,",logline->extLength())+ - "EXT_DATA=\""+RDEscapeString(logline->extData())+"\","+ - "EXT_EVENT_ID=\""+RDEscapeString(logline->extEventId())+"\","+ - "EXT_ANNC_TYPE=\""+RDEscapeString(logline->extAnncType())+"\","+ - QString().sprintf("PLAY_SOURCE=%d,",src)+ - QString().sprintf("CUT_NUMBER=%d,",logline->cutNumber())+ - "EXT_CART_NAME=\""+RDEscapeString(logline->extCartName().utf8())+"\","+ - "TITLE=\""+RDEscapeString(logline->title().utf8())+"\","+ - "ARTIST=\""+RDEscapeString(logline->artist().utf8())+"\","+ - "SCHEDULED_TIME="+RDCheckDateTime(logline->startTime(RDLogLine::Logged), - "hh:mm:ss")+","+ - "ISRC=\""+RDEscapeString(logline->isrc().utf8())+"\","+ - "PUBLISHER=\""+RDEscapeString(logline->publisher().utf8())+"\","+ - "COMPOSER=\""+RDEscapeString(logline->composer().utf8())+"\","+ - QString().sprintf("USAGE_CODE=%d,",logline->usageCode())+ - QString().sprintf("START_SOURCE=%d,",logline->startSource())+ - "ONAIR_FLAG=\""+RDYesNo(onair_flag)+"\","+ - "ALBUM=\""+RDEscapeString(logline->album().utf8())+"\","+ - "LABEL=\""+RDEscapeString(logline->label().utf8())+"\","+ - "USER_DEFINED=\""+RDEscapeString(logline->userDefined().utf8())+"\","+ - "CONDUCTOR=\""+RDEscapeString(logline->conductor().utf8())+"\","+ - "SONG_ID=\""+RDEscapeString(logline->songId().utf8())+"\","+ - "DESCRIPTION=\""+RDEscapeString(logline->description().utf8())+"\","+ - "OUTCUE=\""+RDEscapeString(logline->outcue().utf8())+"\","+ - "ISCI=\""+RDEscapeString(logline->isci().utf8())+"\""; - - q=new RDSqlQuery(sql); - delete q; -} diff --git a/rdairplay/log_traffic.h b/rdairplay/log_traffic.h deleted file mode 100644 index 6a0f2556..00000000 --- a/rdairplay/log_traffic.h +++ /dev/null @@ -1,32 +0,0 @@ -// log_traffic.h -// -// Add an entry to the reconciliation table. -// -// (C) Copyright 2002-2004,2016 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 -// published by the Free Software Foundation. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public -// License along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -// - -#ifndef LOG_TRAFFIC_H -#define LOG_TRAFFIC_H - -#include -#include - -void LogTraffic(const QString &svcname,const QString &logname, - RDLogLine *logline,RDLogLine::PlaySource src, - RDAirPlayConf::TrafficAction action,bool onair_flag); - - -#endif // LOG_TRAFFIC_H diff --git a/rdairplay/nownext.cpp b/rdairplay/nownext.cpp deleted file mode 100644 index c550090b..00000000 --- a/rdairplay/nownext.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// nownext.cpp -// -// Rivendell Now & Next Implementation -// -// (C) Copyright 2002-2008,2016 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 -// published by the Free Software Foundation. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public -// License along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -// - -#include -#include - -#include -#include -#include - -void LogPlay::SendNowNext() -{ - QTime end_time; - QTime time; - int now_line=-1; - RDLogLine *logline[2]; - RDLogLine *ll; - RDLogLine *default_now_logline=NULL; - RDLogLine *default_next_logline=NULL; - - // - // Get NOW PLAYING Event - // - if(play_nownext_address.isNull()&&play_nownext_rml.isEmpty()&& - (play_rlm_hosts->size()==0)) { - return; - } - QString cmd=play_nownext_string; - int lines[TRANSPORT_QUANTITY]; - int running=runningEvents(lines,false); - for(int i=0;istartTime(RDLogLine::Actual). - addMSecs(logLine(lines[i])->effectiveLength()))>end_time) { - end_time=time; - now_line=lines[i]; - } - } - if((now_line>=0)&&(logLine(now_line)->nowNextEnabled())) { - logline[0]=logLine(now_line); - } - else { - if(play_now_cartnum==0) { - logline[0]=NULL; - } - else { - default_now_logline=new RDLogLine(play_now_cartnum); - logline[0]=default_now_logline; - } - } - - // - // Get NEXT Event - // - logline[1]=NULL; - for(int i=nextLine();istatus()==RDLogLine::Scheduled)&& - logLine(i)->nowNextEnabled()&&(!logLine(i)->asyncronous())) { - logline[1]=logLine(i); - i=size(); - } - } - } - if((logline[1]==NULL)&&(play_next_cartnum!=0)) { - default_next_logline=new RDLogLine(play_next_cartnum); - logline[1]=default_next_logline; - } - - // - // Process and Send It - // - unsigned nowcart=0; - unsigned nextcart=0; - if(logline[0]!=NULL) { - if(!logline[0]->asyncronous()) { - nowcart=logline[0]->cartNumber(); - } - } - if(logline[1]!=NULL) { - nextcart=logline[1]->cartNumber(); - } - if((nowcart==play_prevnow_cartnum)&&(nextcart==play_prevnext_cartnum)) { - return; - } - if(logline[0]==NULL) { - play_prevnow_cartnum=0; - } - else { - play_prevnow_cartnum=logline[0]->cartNumber(); - } - if(logline[1]==NULL) { - play_prevnext_cartnum=0; - } - else { - play_prevnext_cartnum=logline[1]->cartNumber(); - } - QString svcname=play_svc_name; - if(svcname.isEmpty()) { - svcname=play_defaultsvc_name; - } - for(unsigned i=0;isize();i++) { - play_rlm_hosts->at(i)-> - sendEvent(svcname,logName().left(logName().length()-4),play_id,logline, - play_onair_flag,play_op_mode); - } - RDResolveNowNext(&cmd,logline,0); - play_nownext_socket-> - writeBlock(cmd,cmd.length(),play_nownext_address,play_nownext_port); - - cmd=play_nownext_rml; - RDResolveNowNext(&cmd,logline,0); - rdevent_player->exec(cmd); - - // - // Clean up - // - if(default_now_logline!=NULL) { - delete default_now_logline; - } - if(default_next_logline!=NULL) { - delete default_next_logline; - } -} diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index 446e8a0a..78462f9e 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -346,7 +346,8 @@ MainWidget::MainWidget(QWidget *parent) connect(rename_mapper,SIGNAL(mapped(int)),this,SLOT(logRenamedData(int))); QString default_svcname=rda->airplayConf()->defaultSvc(); for(int i=0;isetDefaultServiceName(default_svcname); air_log[i]->setNowCart(rda->airplayConf()->logNowCart(i)); air_log[i]->setNextCart(rda->airplayConf()->logNextCart(i)); @@ -854,8 +855,8 @@ MainWidget::MainWidget(QWidget *parent) q=new RDSqlQuery(sql); while(q->next()) { air_plugin_hosts. - push_back(new RLMHost(q->value(0).toString(),q->value(1).toString(), - air_nownext_socket,this)); + push_back(new RDRLMHost(q->value(0).toString(),q->value(1).toString(), + air_nownext_socket,this)); LogLine(RDConfig::LogInfo,QString(). sprintf("Loading RLM \"%s\"", (const char *)q->value(0).toString())); diff --git a/rdairplay/rdairplay.h b/rdairplay/rdairplay.h index ed76edd3..d5b7610b 100644 --- a/rdairplay/rdairplay.h +++ b/rdairplay/rdairplay.h @@ -37,32 +37,32 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include - -#include -#include -#include -#include -#include -#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 "list_log.h" +#include "loglinebox.h" +#include "mode_display.h" +#include "post_counter.h" +#include "pie_counter.h" +#include "stop_counter.h" +#include "start_button.h" // // Debug Settings @@ -145,7 +145,7 @@ class MainWidget : public QWidget bool AssertChannelLock(int dir,int achan); int AudioChannel(int card,int port) const; RDAirPlayConf::Channel PanelChannel(int mport) const; - LogPlay *air_log[RDAIRPLAY_LOG_QUANTITY]; + RDLogPlay *air_log[RDAIRPLAY_LOG_QUANTITY]; RDSoundPanel *air_panel; PostCounter *air_post_counter; PieCounter *air_pie_counter; @@ -199,7 +199,7 @@ class MainWidget : public QWidget QPixmap *air_refresh_pixmap; QString air_editor_cmd; QSocketDevice *air_nownext_socket; - std::vector air_plugin_hosts; + std::vector air_plugin_hosts; QSplashScreen *air_splash_screen; int keystrokecount; bool AltKeyHit ;