mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-19 22:48:01 +02:00
2022-11-01 Fred Gleason <fredg@paravelsystems.com>
* Added a 'Reload Decks' operation to 'RDCatchEvent'. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
47b6105b4b
commit
54d8bd4a10
@ -23602,3 +23602,5 @@
|
||||
2022-11-01 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Refactored rdcatchd(1) to eliminate the need for the 'Set Exit Code'
|
||||
catch command.
|
||||
2022-11-01 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added a 'Reload Decks' operation to 'RDCatchEvent'.
|
||||
|
@ -612,6 +612,49 @@
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="sect.rdcatch_reload_decks">
|
||||
<title>Reload Decks Operation</title>
|
||||
<para>
|
||||
Emitted by <command>rdadmin</command><manvolnum>1</manvolnum> to
|
||||
trigger a reload of the record and play-out deck parameters.
|
||||
</para>
|
||||
<table xml:id="table.rdcatch_reload_decks" frame="all" pgwide="0">
|
||||
<title>RDCatch Reload Decks Fields</title>
|
||||
<tgroup cols="3" align="left" colsep="1" rowsep="1">
|
||||
<colspec colname="Field" colwidth="10.0*"/>
|
||||
<colspec colname="Offset" colwidth="2.0*"/>
|
||||
<colspec colname="Value" colwidth="10.0*"/>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Field</entry>
|
||||
<entry>Offset</entry>
|
||||
<entry>Value</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Keyword</entry>
|
||||
<entry>0</entry>
|
||||
<entry>CATCH</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Originating Hostname</entry>
|
||||
<entry>1</entry>
|
||||
<entry>String, from STATIONS.NAME</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Operation</entry>
|
||||
<entry>2</entry>
|
||||
<entry>Integer. 7 [RDCatchEvent::ReloadDecksOp]</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Target Hostname</entry>
|
||||
<entry>3</entry>
|
||||
<entry>String, from STATIONS.NAME</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="sect.rdcatch_stop_deck">
|
||||
<title>Stop Deck Operation</title>
|
||||
<para>
|
||||
|
@ -292,6 +292,19 @@ bool RDCatchEvent::read(const QString &str)
|
||||
}
|
||||
break;
|
||||
|
||||
case RDCatchEvent::ReloadDecksOp:
|
||||
if(f0.size()!=4) {
|
||||
return false;
|
||||
}
|
||||
chan=f0.at(4).toInt(&ok);
|
||||
if(ok&&(chan<255)) {
|
||||
d_operation=op;
|
||||
d_host_name=f0.at(1);
|
||||
d_target_host_name=f0.at(3);
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
case RDCatchEvent::NullOp:
|
||||
case RDCatchEvent::LastOp:
|
||||
break;
|
||||
@ -349,6 +362,10 @@ QString RDCatchEvent::write() const
|
||||
ret+=" "+d_target_host_name;
|
||||
ret+=QString::asprintf(" %u",d_deck_channel);
|
||||
break;
|
||||
|
||||
case RDCatchEvent::ReloadDecksOp:
|
||||
ret+=" "+d_target_host_name;
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -387,21 +404,26 @@ QString RDCatchEvent::dump() const
|
||||
ret+=QString::asprintf("cut number: %d\n",d_cut_number);
|
||||
break;
|
||||
|
||||
case RDCatchEvent::ReloadDecksOp:
|
||||
ret+="operation: RDCatchEvent::ReloadDecksOp\n";
|
||||
ret+="target hostname: "+d_target_host_name+"\n";
|
||||
break;
|
||||
|
||||
case RDCatchEvent::StopDeckOp:
|
||||
ret+="operation: RDCatchEvent::DeckEventProcessedOp\n";
|
||||
ret+="operation: RDCatchEvent::StopDeckOp\n";
|
||||
ret+="target hostname: "+d_target_host_name+"\n";
|
||||
ret+=QString::asprintf("deck channel: %u\n",d_deck_channel);
|
||||
break;
|
||||
|
||||
case RDCatchEvent::SetInputMonitorOp:
|
||||
ret+="operation: RDCatchEvent::DeckEventProcessedOp\n";
|
||||
ret+="operation: RDCatchEvent::SetInputMonitorOp\n";
|
||||
ret+="target hostname: "+d_target_host_name+"\n";
|
||||
ret+=QString::asprintf("deck channel: %u\n",d_deck_channel);
|
||||
ret+=QString::asprintf("input monitor active: %u\n",d_input_monitor_active);
|
||||
break;
|
||||
|
||||
case RDCatchEvent::SetInputMonitorResponseOp:
|
||||
ret+="operation: RDCatchEvent::DeckEventProcessedOp\n";
|
||||
ret+="operation: RDCatchEvent::SetInputMonitorResponseOp\n";
|
||||
ret+=QString::asprintf("deck channel: %u\n",d_deck_channel);
|
||||
ret+=QString::asprintf("input monitor active: %u\n",d_input_monitor_active);
|
||||
break;
|
||||
|
@ -32,7 +32,7 @@ class RDCatchEvent
|
||||
enum Operation {NullOp=0,DeckEventProcessedOp=1,
|
||||
DeckStatusQueryOp=2,DeckStatusResponseOp=3,
|
||||
StopDeckOp=4,SetInputMonitorOp=5,SetInputMonitorResponseOp=6,
|
||||
LastOp=7};
|
||||
ReloadDecksOp=7,LastOp=8};
|
||||
RDCatchEvent(RDDeck::Status status);
|
||||
RDCatchEvent();
|
||||
Operation operation() const;
|
||||
|
@ -538,6 +538,11 @@ void EditDecks::closeData()
|
||||
WriteRecord(0);
|
||||
WriteRecord(edit_record_channel);
|
||||
WriteRecord(edit_play_channel);
|
||||
RDCatchEvent *evt=new RDCatchEvent();
|
||||
evt->setOperation(RDCatchEvent::ReloadDecksOp);
|
||||
evt->setTargetHostName(edit_station->name());
|
||||
rda->ripc()->sendCatchEvent(evt);
|
||||
delete evt;
|
||||
done(true);
|
||||
}
|
||||
|
||||
|
@ -519,6 +519,12 @@ void MainObject::catchEventReceivedData(RDCatchEvent *evt)
|
||||
}
|
||||
break;
|
||||
|
||||
case RDCatchEvent::ReloadDecksOp:
|
||||
if(evt->targetHostName()==rda->station()->name()) {
|
||||
LoadDeckList();
|
||||
}
|
||||
break;
|
||||
|
||||
case RDCatchEvent::DeckEventProcessedOp:
|
||||
case RDCatchEvent::DeckStatusResponseOp:
|
||||
case RDCatchEvent::SetInputMonitorResponseOp:
|
||||
|
Loading…
x
Reference in New Issue
Block a user