2017-10-19 Fred Gleason <fredg@paravelsystems.com>

* Cleaned up build warnings under Linux.
This commit is contained in:
Fred Gleason 2017-10-19 13:19:58 -04:00
parent e34a916b70
commit 0bedb70eca
3 changed files with 386 additions and 367 deletions

View File

@ -16183,3 +16183,5 @@
2017-10-19 Fred Gleason <fredg@paravelsystems.com> 2017-10-19 Fred Gleason <fredg@paravelsystems.com>
* Added the report path to the 'Unable to open report file' message * Added the report path to the 'Unable to open report file' message
in RDLogManager->ManageReports. in RDLogManager->ManageReports.
2017-10-19 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up build warnings under Linux.

View File

@ -328,63 +328,66 @@ void ListReports::GenerateEventReport(QString *report)
// Source and Destination // Source and Destination
// //
switch((RDRecording::Type)q->value(0).toInt()) { switch((RDRecording::Type)q->value(0).toInt()) {
case RDRecording::Recording: case RDRecording::Recording:
sql=QString().sprintf("select SWITCH_STATION,SWITCH_MATRIX\ sql=QString().sprintf("select SWITCH_STATION,SWITCH_MATRIX\
from DECKS where \ from DECKS where \
(STATION_NAME=\"%s\")&&(CHANNEL=%d)", (STATION_NAME=\"%s\")&&(CHANNEL=%d)",
(const char *)q->value(13).toString(), (const char *)q->value(13).toString(),
q->value(14).toInt()); q->value(14).toInt());
q1=new RDSqlQuery(sql); q1=new RDSqlQuery(sql);
if(q1->first()) { if(q1->first()) {
*report+=QString().sprintf("%-20s ", *report+=QString().sprintf("%-20s ",
(const char *)GetSourceName(q1->value(0).toString(), (const char *)GetSourceName(q1->value(0).toString(),
q1->value(1).toInt(), q1->value(1).toInt(),
q->value(18).toInt()).left(20)); q->value(18).toInt()).left(20));
} }
else { else {
*report+=" "; *report+=" ";
} }
delete q1; delete q1;
*report+=QString().sprintf("Cut %10s ", *report+=QString().sprintf("Cut %10s ",
(const char *)q->value(15).toString().left(20)); (const char *)q->value(15).toString().left(20));
break; break;
case RDRecording::MacroEvent: case RDRecording::MacroEvent:
*report+=QString().sprintf("Cart %06u ", *report+=QString().sprintf("Cart %06u ",
q->value(17).toUInt()); q->value(17).toUInt());
*report+=" "; *report+=" ";
break; break;
case RDRecording::SwitchEvent: case RDRecording::SwitchEvent:
*report+=QString().sprintf("%-20s ", *report+=QString().sprintf("%-20s ",
(const char *)GetSourceName(q->value(13).toString(), (const char *)GetSourceName(q->value(13).toString(),
q->value(14).toInt(), q->value(14).toInt(),
q->value(18).toInt()).left(20)); q->value(18).toInt()).left(20));
*report+=QString().sprintf("%-20s ", *report+=QString().sprintf("%-20s ",
(const char *)GetDestinationName(q->value(13).toString(), (const char *)GetDestinationName(q->value(13).toString(),
q->value(14).toInt(), q->value(14).toInt(),
q->value(19).toInt()).left(20)); q->value(19).toInt()).left(20));
break; break;
case RDRecording::Playout: case RDRecording::Playout:
*report+=QString().sprintf("Cut %10s ", *report+=QString().sprintf("Cut %10s ",
(const char *)q->value(15).toString().left(20)); (const char *)q->value(15).toString().left(20));
*report+=" "; *report+=" ";
break; break;
case RDRecording::Download: case RDRecording::Download:
*report+=QString().sprintf("%-20s ", *report+=QString().sprintf("%-20s ",
(const char *)q->value(16).toString().left(20)); (const char *)q->value(16).toString().left(20));
*report+=QString().sprintf("Cut %10s ", *report+=QString().sprintf("Cut %10s ",
(const char *)q->value(15).toString().left(20)); (const char *)q->value(15).toString().left(20));
break; break;
case RDRecording::Upload: case RDRecording::Upload:
*report+=QString().sprintf("Cut %10s ", *report+=QString().sprintf("Cut %10s ",
(const char *)q->value(15).toString().left(20)); (const char *)q->value(15).toString().left(20));
*report+=QString().sprintf("%-20s ", *report+=QString().sprintf("%-20s ",
(const char *)q->value(16).toString().left(20)); (const char *)q->value(16).toString().left(20));
break; break;
case RDRecording::LastType:
break;
} }
// //

View File

@ -636,208 +636,211 @@ void MainObject::engineData(int id)
// Load Deck Parameters // Load Deck Parameters
// //
switch(catch_events[event].type()) { switch(catch_events[event].type()) {
case RDRecording::Recording: case RDRecording::Recording:
if(!RDCut::exists(catch_events[event].cutName())) { if(!RDCut::exists(catch_events[event].cutName())) {
WriteExitCode(event,RDRecording::NoCut); WriteExitCode(event,RDRecording::NoCut);
BroadcastCommand(QString(). BroadcastCommand(QString().
sprintf("RE %d %d %d!", sprintf("RE %d %d %d!",
catch_events[event].channel(), catch_events[event].channel(),
catch_record_deck_status[catch_events[event]. catch_record_deck_status[catch_events[event].
channel()-1], channel()-1],
catch_events[event].id())); catch_events[event].id()));
LogLine(RDConfig::LogWarning,QString(). LogLine(RDConfig::LogWarning,QString().
sprintf("record aborted: no such cut: %s, id: %d", sprintf("record aborted: no such cut: %s, id: %d",
(const char *)catch_events[event].cutName(), (const char *)catch_events[event].cutName(),
catch_events[event].id())); catch_events[event].id()));
return; return;
} }
catch_record_card[catch_events[event].channel()-1]=-1; catch_record_card[catch_events[event].channel()-1]=-1;
catch_record_stream[catch_events[event].channel()-1]=-1; catch_record_stream[catch_events[event].channel()-1]=-1;
sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,\ sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,\
SWITCH_STATION,SWITCH_MATRIX,SWITCH_OUTPUT,\ SWITCH_STATION,SWITCH_MATRIX,SWITCH_OUTPUT, \
SWITCH_DELAY from DECKS \ SWITCH_DELAY from DECKS \
where (STATION_NAME=\"%s\")&&(CHANNEL=%d)", where (STATION_NAME=\"%s\")&&(CHANNEL=%d)",
(const char *)catch_config->stationName(), (const char *)catch_config->stationName(),
catch_events[event].channel()); catch_events[event].channel());
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
catch_record_card[catch_events[event].channel()-1]= catch_record_card[catch_events[event].channel()-1]=
q->value(0).toInt(); q->value(0).toInt();
catch_record_stream[catch_events[event].channel()-1]= catch_record_stream[catch_events[event].channel()-1]=
q->value(1).toInt(); q->value(1).toInt();
if(q->value(2).toString()==QString("[none]")) { if(q->value(2).toString()==QString("[none]")) {
catch_swaddress[catch_events[event].channel()-1]=QHostAddress(); catch_swaddress[catch_events[event].channel()-1]=QHostAddress();
} }
else { else {
rdstation=new RDStation(q->value(2).toString()); rdstation=new RDStation(q->value(2).toString());
catch_swaddress[catch_events[event].channel()-1]= catch_swaddress[catch_events[event].channel()-1]=
rdstation->address(); rdstation->address();
delete rdstation; delete rdstation;
} }
catch_swmatrix[catch_events[event].channel()-1]=q->value(3).toInt(); catch_swmatrix[catch_events[event].channel()-1]=q->value(3).toInt();
catch_swoutput[catch_events[event].channel()-1]=q->value(4).toInt(); catch_swoutput[catch_events[event].channel()-1]=q->value(4).toInt();
catch_swdelay[catch_events[event].channel()-1]=q->value(5).toInt(); catch_swdelay[catch_events[event].channel()-1]=q->value(5).toInt();
} }
else { else {
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("id %d specified non-existent record deck, ignored", sprintf("id %d specified non-existent record deck, ignored",
catch_events[event].id())); catch_events[event].id()));
delete q; delete q;
return; return;
} }
delete q; delete q;
sql=QString("delete from CUT_EVENTS where ")+
"CUT_NAME=\""+catch_events[event].cutName()+"\"";
q=new RDSqlQuery(sql);
delete q;
sql=QString("delete from CUT_EVENTS where ")+ switch(catch_events[event].startType()) {
"CUT_NAME=\""+catch_events[event].cutName()+"\""; case RDRecording::HardStart:
q=new RDSqlQuery(sql); StartRecording(event);
delete q; break;
switch(catch_events[event].startType()) { case RDRecording::GpiStart:
case RDRecording::HardStart: catch_events[event].gpiStartTimer()->
StartRecording(event); start(catch_events[event].startLength()-
break; (QTime().msecsTo(current_time)-
QTime().msecsTo(catch_events[event].startTime())),true);
catch_record_deck_status[catch_events[event].channel()-1]=
RDDeck::Waiting;
catch_record_id[catch_events[event].channel()-1]=
catch_events[event].id();
catch_events[event].setStatus(RDDeck::Waiting);
WriteExitCode(event,RDRecording::Waiting);
BroadcastCommand(QString().sprintf("RE %d %d %d!",
catch_events[event].channel(),
catch_record_deck_status[catch_events[event].
channel()-1],
catch_events[event].id()));
LogLine(RDConfig::LogNotice,QString().
sprintf("gpi start window opens: event: %d, gpi: %d:%d",
id,catch_events[event].startMatrix(),
catch_events[event].startLine()));
break;
}
break;
case RDRecording::GpiStart: case RDRecording::Playout:
catch_events[event].gpiStartTimer()-> if(!RDCut::exists(catch_events[event].cutName())) {
start(catch_events[event].startLength()- WriteExitCode(event,RDRecording::NoCut);
(QTime().msecsTo(current_time)- BroadcastCommand(QString().
QTime().msecsTo(catch_events[event].startTime())),true); sprintf("RE %d %d %d!",
catch_record_deck_status[catch_events[event].channel()-1]= catch_events[event].channel(),
RDDeck::Waiting; catch_playout_deck_status[catch_events[event].
catch_record_id[catch_events[event].channel()-1]= channel()-129],
catch_events[event].id(); catch_events[event].id()));
catch_events[event].setStatus(RDDeck::Waiting); LogLine(RDConfig::LogNotice,QString().
WriteExitCode(event,RDRecording::Waiting); sprintf("playout aborted: no such cut: %s, id: %d",
BroadcastCommand(QString().sprintf("RE %d %d %d!", (const char *)catch_events[event].cutName(),
catch_events[event].channel(), catch_events[event].id()));
catch_record_deck_status[catch_events[event]. return;
channel()-1], }
catch_events[event].id())); catch_playout_card[catch_events[event].channel()-129]=-1;
LogLine(RDConfig::LogNotice,QString(). catch_playout_stream[catch_events[event].channel()-129]=-1;
sprintf("gpi start window opens: event: %d, gpi: %d:%d", sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,PORT_NUMBER \
id,catch_events[event].startMatrix(),
catch_events[event].startLine()));
break;
}
break;
case RDRecording::Playout:
if(!RDCut::exists(catch_events[event].cutName())) {
WriteExitCode(event,RDRecording::NoCut);
BroadcastCommand(QString().
sprintf("RE %d %d %d!",
catch_events[event].channel(),
catch_playout_deck_status[catch_events[event].
channel()-129],
catch_events[event].id()));
LogLine(RDConfig::LogNotice,QString().
sprintf("playout aborted: no such cut: %s, id: %d",
(const char *)catch_events[event].cutName(),
catch_events[event].id()));
return;
}
catch_playout_card[catch_events[event].channel()-129]=-1;
catch_playout_stream[catch_events[event].channel()-129]=-1;
sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,PORT_NUMBER \
from DECKS where (STATION_NAME=\"%s\")&&(CHANNEL=%d)", from DECKS where (STATION_NAME=\"%s\")&&(CHANNEL=%d)",
(const char *)catch_config->stationName(), (const char *)catch_config->stationName(),
catch_events[event].channel()); catch_events[event].channel());
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
catch_playout_id[catch_events[event].channel()-129]=id; catch_playout_id[catch_events[event].channel()-129]=id;
catch_playout_card[catch_events[event].channel()-129]= catch_playout_card[catch_events[event].channel()-129]=
q->value(0).toInt(); q->value(0).toInt();
catch_playout_stream[catch_events[event].channel()-129]= catch_playout_stream[catch_events[event].channel()-129]=
q->value(1).toInt(); q->value(1).toInt();
catch_playout_port[catch_events[event].channel()-129]= catch_playout_port[catch_events[event].channel()-129]=
q->value(2).toInt(); q->value(2).toInt();
} }
else { else {
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("id %d specified non-existent play deck, ignored", sprintf("id %d specified non-existent play deck, ignored",
catch_events[event].id())); catch_events[event].id()));
delete q; delete q;
return; return;
} }
delete q; delete q;
StartPlayout(event); StartPlayout(event);
break; break;
case RDRecording::MacroEvent: case RDRecording::MacroEvent:
if(!RDCart::exists(catch_events[event].macroCart())) { if(!RDCart::exists(catch_events[event].macroCart())) {
WriteExitCode(event,RDRecording::NoCut); WriteExitCode(event,RDRecording::NoCut);
BroadcastCommand(QString(). BroadcastCommand(QString().
sprintf("RE 0 0 %d!",catch_events[event].id())); sprintf("RE 0 0 %d!",catch_events[event].id()));
LogLine(RDConfig::LogDebug, LogLine(RDConfig::LogDebug,
QString().sprintf("macro aborted: no such cart: %u, id: %d", QString().sprintf("macro aborted: no such cart: %u, id: %d",
catch_events[event].macroCart(), catch_events[event].macroCart(),
catch_events[event].id())); catch_events[event].id()));
return; return;
} }
StartMacroEvent(event); StartMacroEvent(event);
break; break;
case RDRecording::SwitchEvent: case RDRecording::SwitchEvent:
StartSwitchEvent(event); StartSwitchEvent(event);
break; break;
case RDRecording::Download: case RDRecording::Download:
if(!RDCut::exists(catch_events[event].cutName())) { if(!RDCut::exists(catch_events[event].cutName())) {
WriteExitCode(event,RDRecording::NoCut); WriteExitCode(event,RDRecording::NoCut);
BroadcastCommand(QString(). BroadcastCommand(QString().
sprintf("RE 0 0 %d!",catch_events[event].id())); sprintf("RE 0 0 %d!",catch_events[event].id()));
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("download aborted: no such cut: %s, id: %d", sprintf("download aborted: no such cut: %s, id: %d",
(const char *)catch_events[event].cutName(), (const char *)catch_events[event].cutName(),
catch_events[event].id())); catch_events[event].id()));
return; return;
} }
// //
// Load Import Parameters // Load Import Parameters
// //
sql=QString().sprintf("select DEFAULT_FORMAT,DEFAULT_CHANNELS,\ sql=QString().sprintf("select DEFAULT_FORMAT,DEFAULT_CHANNELS,\
DEFAULT_SAMPRATE,DEFAULT_LAYER,DEFAULT_BITRATE,\ DEFAULT_SAMPRATE,DEFAULT_LAYER,DEFAULT_BITRATE, \
RIPPER_LEVEL\ RIPPER_LEVEL \
from RDLIBRARY where STATION=\"%s\"", from RDLIBRARY where STATION=\"%s\"",
(const char *)catch_config->stationName()); (const char *)catch_config->stationName());
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) if(q->first())
{ {
catch_default_format=q->value(0).toInt(); catch_default_format=q->value(0).toInt();
catch_default_channels=q->value(1).toInt(); catch_default_channels=q->value(1).toInt();
catch_default_samplerate=q->value(2).toInt(); catch_default_samplerate=q->value(2).toInt();
catch_default_layer=q->value(3).toInt(); catch_default_layer=q->value(3).toInt();
catch_default_bitrate=q->value(4).toInt(); catch_default_bitrate=q->value(4).toInt();
catch_ripper_level=q->value(5).toInt(); catch_ripper_level=q->value(5).toInt();
} }
else { else {
LogLine(RDConfig::LogWarning, LogLine(RDConfig::LogWarning,
"unable to load import audio configuration"); "unable to load import audio configuration");
delete q; delete q;
return; return;
} }
delete q; delete q;
catch_events[event]. catch_events[event].
setResolvedUrl(RDDateTimeDecode(catch_events[event].url(), setResolvedUrl(RDDateTimeDecode(catch_events[event].url(),
QDateTime(date.addDays(catch_events[event].eventdateOffset()), QDateTime(date.addDays(catch_events[event].eventdateOffset()),
current_time),catch_rdstation,RDConfiguration())); current_time),catch_rdstation,RDConfiguration()));
StartDownloadEvent(event); StartDownloadEvent(event);
break; break;
case RDRecording::Upload: case RDRecording::Upload:
if(!RDCut::exists(catch_events[event].cutName())) { if(!RDCut::exists(catch_events[event].cutName())) {
WriteExitCode(event,RDRecording::NoCut); WriteExitCode(event,RDRecording::NoCut);
BroadcastCommand(QString(). BroadcastCommand(QString().
sprintf("RE 0 0 %d!",catch_events[event].id())); sprintf("RE 0 0 %d!",catch_events[event].id()));
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("upload aborted: no such cut: %s, id: %d", sprintf("upload aborted: no such cut: %s, id: %d",
(const char *)catch_events[event].cutName(), (const char *)catch_events[event].cutName(),
catch_events[event].id())); catch_events[event].id()));
return; return;
} }
StartUploadEvent(event); StartUploadEvent(event);
break; break;
case RDRecording::LastType:
break;
} }
} }
@ -2187,42 +2190,45 @@ bool MainObject::AddEvent(int id)
catch_events.push_back(CatchEvent(catch_rdstation,RDConfiguration())); catch_events.push_back(CatchEvent(catch_rdstation,RDConfiguration()));
LoadEvent(q,&catch_events.back(),true); LoadEvent(q,&catch_events.back(),true);
switch((RDRecording::Type)q->value(2).toInt()) { switch((RDRecording::Type)q->value(2).toInt()) {
case RDRecording::Recording: case RDRecording::Recording:
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("loading event %d, Type: recording, Cut: %s", sprintf("loading event %d, Type: recording, Cut: %s",
id,(const char *)q->value(4).toString())); id,(const char *)q->value(4).toString()));
break; break;
case RDRecording::Playout: case RDRecording::Playout:
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("loading event %d, Type: playout, Cut: %s", sprintf("loading event %d, Type: playout, Cut: %s",
id,(const char *)q->value(4).toString())); id,(const char *)q->value(4).toString()));
break; break;
case RDRecording::MacroEvent: case RDRecording::MacroEvent:
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("loading event %d, Type: macro, Cart: %d", sprintf("loading event %d, Type: macro, Cart: %d",
id,q->value(23).toUInt())); id,q->value(23).toUInt()));
break; break;
case RDRecording::SwitchEvent: case RDRecording::SwitchEvent:
LogLine(RDConfig::LogNotice,QString().sprintf( LogLine(RDConfig::LogNotice,QString().sprintf(
"loading event %d, Type: switch, Matrix: %d, Source: %d Dest: %d", "loading event %d, Type: switch, Matrix: %d, Source: %d Dest: %d",
id,q->value(3).toInt(),q->value(24).toInt(), id,q->value(3).toInt(),q->value(24).toInt(),
q->value(25).toInt())); q->value(25).toInt()));
break; break;
case RDRecording::Download: case RDRecording::Download:
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("loading event %d, Type: download, Cut: %s", sprintf("loading event %d, Type: download, Cut: %s",
id,(const char *)q->value(4).toString())); id,(const char *)q->value(4).toString()));
break; break;
case RDRecording::Upload: case RDRecording::Upload:
LogLine(RDConfig::LogNotice,QString(). LogLine(RDConfig::LogNotice,QString().
sprintf("loading event %d, Type: upload, Cut: %s", sprintf("loading event %d, Type: upload, Cut: %s",
id,(const char *)q->value(4).toString())); id,(const char *)q->value(4).toString()));
break; break;
case RDRecording::LastType:
break;
} }
delete q; delete q;
return true; return true;
@ -2242,47 +2248,49 @@ void MainObject::RemoveEvent(int id)
return; return;
} }
switch(catch_events[event].type()) { switch(catch_events[event].type()) {
case RDRecording::Recording: case RDRecording::Recording:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("removed event %d, Type: recording, Cut: %s", sprintf("removed event %d, Type: recording, Cut: %s",
id,(const char *)catch_events[event].cutName())); id,(const char *)catch_events[event].cutName()));
break; break;
case RDRecording::Playout: case RDRecording::Playout:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("removed event %d, Type: playout, Cut: %s", sprintf("removed event %d, Type: playout, Cut: %s",
id, id,
(const char *)catch_events[event].cutName())); (const char *)catch_events[event].cutName()));
break; break;
case RDRecording::MacroEvent: case RDRecording::MacroEvent:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("removed event %d, Type: macro, Cart: %u", sprintf("removed event %d, Type: macro, Cart: %u",
id, id,
catch_events[event].macroCart())); catch_events[event].macroCart()));
break; break;
case RDRecording::SwitchEvent: case RDRecording::SwitchEvent:
LogLine(RDConfig::LogDebug,QString().sprintf( LogLine(RDConfig::LogDebug,QString().sprintf(
"removed event %d, Type: switch, Matrix: %d, Source: %d Dest: %d", "removed event %d, Type: switch, Matrix: %d, Source: %d Dest: %d",
id, id,
catch_events[event].channel(), catch_events[event].channel(),
catch_events[event].switchInput(), catch_events[event].switchInput(),
catch_events[event].switchOutput())); catch_events[event].switchOutput()));
break; break;
case RDRecording::Download: case RDRecording::Download:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("removed event %d, Type: download, Cut: %s", sprintf("removed event %d, Type: download, Cut: %s",
id,(const char *)catch_events[event].cutName())); id,(const char *)catch_events[event].cutName()));
break; break;
case RDRecording::Upload:
LogLine(RDConfig::LogDebug,QString().
sprintf("removed event %d, Type: upload, Cut: %s",
id,(const char *)catch_events[event].cutName()));
break;
case RDRecording::Upload:
LogLine(RDConfig::LogDebug,QString().
sprintf("removed event %d, Type: upload, Cut: %s",
id,(const char *)catch_events[event].cutName()));
break;
case RDRecording::LastType:
break;
} }
std::vector<CatchEvent>::iterator it=catch_events.begin()+event; std::vector<CatchEvent>::iterator it=catch_events.begin()+event;
catch_events.erase(it,it+1); catch_events.erase(it,it+1);
@ -2316,49 +2324,52 @@ void MainObject::PurgeEvent(int event)
delete q; delete q;
BroadcastCommand(QString().sprintf("PE %d!",catch_events[event].id())); BroadcastCommand(QString().sprintf("PE %d!",catch_events[event].id()));
switch(catch_events[event].type()) { switch(catch_events[event].type()) {
case RDRecording::Recording: case RDRecording::Recording:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("purged event %d, Type: recording, Cut: %s", sprintf("purged event %d, Type: recording, Cut: %s",
catch_events[event].id(), catch_events[event].id(),
(const char *)catch_events[event].cutName())); (const char *)catch_events[event].cutName()));
break; break;
case RDRecording::Playout: case RDRecording::Playout:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("purged event %d, Type: playout, Cut: %s", sprintf("purged event %d, Type: playout, Cut: %s",
catch_events[event].id(), catch_events[event].id(),
(const char *)catch_events[event].cutName())); (const char *)catch_events[event].cutName()));
break; break;
case RDRecording::MacroEvent: case RDRecording::MacroEvent:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("purged event %d, Type: macro, Cart: %u", sprintf("purged event %d, Type: macro, Cart: %u",
catch_events[event].id(), catch_events[event].id(),
catch_events[event].macroCart())); catch_events[event].macroCart()));
break; break;
case RDRecording::SwitchEvent: case RDRecording::SwitchEvent:
LogLine(RDConfig::LogDebug,QString().sprintf( LogLine(RDConfig::LogDebug,QString().sprintf(
"purged event %d, Type: switch, Matrix: %d, Source: %d Dest: %d", "purged event %d, Type: switch, Matrix: %d, Source: %d Dest: %d",
catch_events[event].id(), catch_events[event].id(),
catch_events[event].channel(), catch_events[event].channel(),
catch_events[event].switchInput(), catch_events[event].switchInput(),
catch_events[event].switchOutput())); catch_events[event].switchOutput()));
break; break;
case RDRecording::Download: case RDRecording::Download:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("purged event %d, Type: download, Cut: %s", sprintf("purged event %d, Type: download, Cut: %s",
catch_events[event].id(), catch_events[event].id(),
(const char *)catch_events[event].cutName())); (const char *)catch_events[event].cutName()));
break; break;
case RDRecording::Upload: case RDRecording::Upload:
LogLine(RDConfig::LogDebug,QString(). LogLine(RDConfig::LogDebug,QString().
sprintf("purged event %d, Type: upload, Cut: %s", sprintf("purged event %d, Type: upload, Cut: %s",
catch_events[event].id(), catch_events[event].id(),
(const char *)catch_events[event].cutName())); (const char *)catch_events[event].cutName()));
break; break;
case RDRecording::LastType:
break;
} }
catch_engine->removeEvent(catch_events[event].id()); catch_engine->removeEvent(catch_events[event].id());
std::vector<CatchEvent>::iterator it=catch_events.begin()+event; std::vector<CatchEvent>::iterator it=catch_events.begin()+event;
@ -2616,41 +2627,44 @@ void MainObject::ResolveErrorWildcards(CatchEvent *event,
rml->replace("%t",event->startTime().toString("hh:mm:ss")); rml->replace("%t",event->startTime().toString("hh:mm:ss"));
rml->replace("%y",RDRecording::typeString(event->type())); rml->replace("%y",RDRecording::typeString(event->type()));
switch(event->type()) { switch(event->type()) {
case RDRecording::Recording: case RDRecording::Recording:
rml->replace("%k",QString().sprintf("%d",event->channel())); rml->replace("%k",QString().sprintf("%d",event->channel()));
rml->replace("%n",event->cutName().left(6)); rml->replace("%n",event->cutName().left(6));
rml->replace("%u","n/a"); rml->replace("%u","n/a");
break; break;
case RDRecording::Playout: case RDRecording::Playout:
rml->replace("%k",QString().sprintf("%d",event->channel()-128)); rml->replace("%k",QString().sprintf("%d",event->channel()-128));
rml->replace("%n",event->cutName().left(6)); rml->replace("%n",event->cutName().left(6));
rml->replace("%u","n/a"); rml->replace("%u","n/a");
break; break;
case RDRecording::Upload: case RDRecording::Upload:
rml->replace("%k","n/a"); rml->replace("%k","n/a");
rml->replace("%n",event->cutName().left(6)); rml->replace("%n",event->cutName().left(6));
rml->replace("%u",event->resolvedUrl()); rml->replace("%u",event->resolvedUrl());
break; break;
case RDRecording::Download: case RDRecording::Download:
rml->replace("%k","n/a"); rml->replace("%k","n/a");
rml->replace("%n",event->cutName().left(6)); rml->replace("%n",event->cutName().left(6));
rml->replace("%u",event->resolvedUrl()); rml->replace("%u",event->resolvedUrl());
break; break;
case RDRecording::MacroEvent: case RDRecording::MacroEvent:
rml->replace("%k","n/a"); rml->replace("%k","n/a");
rml->replace("%n",QString().sprintf("%06u",event->macroCart())); rml->replace("%n",QString().sprintf("%06u",event->macroCart()));
rml->replace("%u","n/a"); rml->replace("%u","n/a");
break; break;
case RDRecording::SwitchEvent: case RDRecording::SwitchEvent:
rml->replace("%k","n/a"); rml->replace("%k","n/a");
rml->replace("%n",tr("n/a")); rml->replace("%n",tr("n/a"));
rml->replace("%u","n/a"); rml->replace("%u","n/a");
break; break;
case RDRecording::LastType:
break;
} }
} }