mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-11-25 14:50:11 +01:00
2016-05-18 Fred Gleason <fredg@paravelsystems.com>
* Added support for the RDCatchd 'DE' command in 'rdcatchd/rdcatchd.cpp', 'rdcatchd/rdcatchd.h', 'rdcatchd/event_player.cpp', 'rdcatchd/event_player.h' and 'rdcatchd/local_macros.cpp'. * Added a deck event indicator to RDCatch's deck monitor in 'rdcatch/deckmon.cpp' and 'rdcatch/deckmon.h'.
This commit is contained in:
@@ -99,14 +99,12 @@ void EventPlayer::timeoutData()
|
||||
//
|
||||
// Dispatch current event
|
||||
//
|
||||
if(event_numbers[event_current_event]>=(int)event_deck_events.size()) {
|
||||
if(event_numbers[event_current_event]>(int)event_deck_events.size()) {
|
||||
syslog(LOG_ERR,"playout cut event referenced non-existent deck event");
|
||||
return;
|
||||
}
|
||||
unsigned cartnum=event_deck_events[event_numbers[event_current_event]-1];
|
||||
if(cartnum>0) {
|
||||
emit runCart(cartnum);
|
||||
}
|
||||
emit runCart(event_channel,event_numbers[event_current_event],
|
||||
event_deck_events[event_numbers[event_current_event]-1]);
|
||||
|
||||
//
|
||||
// Set up next event
|
||||
|
||||
@@ -39,7 +39,7 @@ class EventPlayer : public QObject
|
||||
void stop();
|
||||
|
||||
signals:
|
||||
void runCart(unsigned cartnum);
|
||||
void runCart(int chan,int number,unsigned cartnum);
|
||||
|
||||
private slots:
|
||||
void timeoutData();
|
||||
|
||||
@@ -64,6 +64,7 @@ void MainObject::RunLocalMacros(RDMacro *rml)
|
||||
msecsTo(QTime::currentTime()));
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
SendDeckEvent(decknum+1,eventnum);
|
||||
}
|
||||
}
|
||||
if(rml->echoRequested()) {
|
||||
|
||||
@@ -338,8 +338,8 @@ MainObject::MainObject(QObject *parent,const char *name)
|
||||
//
|
||||
for(unsigned i=0;i<MAX_DECKS;i++) {
|
||||
catch_playout_event_player[i]=new EventPlayer(catch_rdstation,i+129,this);
|
||||
connect(catch_playout_event_player[i],SIGNAL(runCart(unsigned)),
|
||||
this,SLOT(runCartData(unsigned)));
|
||||
connect(catch_playout_event_player[i],SIGNAL(runCart(int,int,unsigned)),
|
||||
this,SLOT(runCartData(int,int,unsigned)));
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1057,13 +1057,14 @@ void MainObject::playUnloadedData(int handle)
|
||||
}
|
||||
|
||||
|
||||
void MainObject::runCartData(unsigned cartnum)
|
||||
void MainObject::runCartData(int chan,int number,unsigned cartnum)
|
||||
{
|
||||
RDCart *cart=new RDCart(cartnum);
|
||||
if(cart->exists()&&(cart->type()==RDCart::Macro)) {
|
||||
ExecuteMacroCart(cart);
|
||||
}
|
||||
delete cart;
|
||||
SendDeckEvent(chan,number);
|
||||
}
|
||||
|
||||
|
||||
@@ -1567,6 +1568,12 @@ void MainObject::SendMeterLevel(int deck,short levels[2])
|
||||
}
|
||||
|
||||
|
||||
void MainObject::SendDeckEvent(int deck,int number)
|
||||
{
|
||||
BroadcastCommand(QString().sprintf("DE %d %d!",deck,number));
|
||||
}
|
||||
|
||||
|
||||
void MainObject::ParseCommand(int ch)
|
||||
{
|
||||
char buf[256];
|
||||
|
||||
@@ -108,7 +108,7 @@ class MainObject : public QObject
|
||||
void playingData(int handle);
|
||||
void playStoppedData(int handle);
|
||||
void playUnloadedData(int handle);
|
||||
void runCartData(unsigned cartnum);
|
||||
void runCartData(int chan,int number,unsigned cartnum);
|
||||
void meterData();
|
||||
void eventFinishedData(int id);
|
||||
void freeEventsData();
|
||||
@@ -149,6 +149,7 @@ class MainObject : public QObject
|
||||
bool ExecuteMacroCart(RDCart *cart,int id=-1,int event=-1);
|
||||
void SendFullStatus(int ch);
|
||||
void SendMeterLevel(int deck,short levels[2]);
|
||||
void SendDeckEvent(int deck,int number);
|
||||
void ParseCommand(int);
|
||||
void DispatchCommand(int);
|
||||
void KillSocket(int);
|
||||
|
||||
Reference in New Issue
Block a user