2018-08-28 Fred Gleason <fredg@paravelsystems.com>

* Added an optional third argument to the 'Add Next' ['PX'] RML
	to allow specication of the transition type.
This commit is contained in:
Fred Gleason 2018-08-28 12:57:36 -04:00
parent 319928a6cf
commit c3adee3c07
4 changed files with 22 additions and 8 deletions

View File

@ -17530,3 +17530,6 @@
2018-08-25 Patrick Linstruth <patrick@deltecent.com>
* Fixed a regression in rdservice(8) by removing quotation marks
from rdimport(1) '--add-scheduler-code' argument that broke dropboxes.
2018-08-28 Fred Gleason <fredg@paravelsystems.com>
* Added an optional third argument to the 'Add Next' ['PX'] RML
to allow specication of the transition type.

View File

@ -218,11 +218,13 @@
<para>
<userinput>PX
<replaceable>mach</replaceable>
<replaceable>cart</replaceable>!</userinput>
<replaceable>cart</replaceable>
[PLAY|SEGUE|STOP]!</userinput>
</para>
<para>
Insert cart <replaceable>cart</replaceable>> in the next to play
position on log machine <replaceable>mach</replaceable>.
Insert cart <replaceable>cart</replaceable> in the next to play
position on log machine <replaceable>mach</replaceable>. The
transition may also be optionally specified.
</para>
</sect2>

View File

@ -850,8 +850,7 @@ void RDLogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type,
if(nextLine()<0) {
play_next_line=line;
}
logline->loadCart(cartnum,next_type,play_id,play_timescaling_available,
rda->airplayConf()->defaultTransType());
logline->loadCart(cartnum,next_type,play_id,play_timescaling_available,type);
logline->
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
UpdateStartTimes(line);

View File

@ -42,6 +42,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml)
RDLogLine *logline=NULL;
QString label;
int mach=0;
RDLogLine::TransType trans=RDLogLine::Play;
if(rml->role()!=RDMacro::Cmd) {
return;
@ -783,7 +784,7 @@ void MainWidget::RunLocalMacros(RDMacro *rml)
break;
case RDMacro::PX: // Add Next
if(rml->argQuantity()!=2) {
if((rml->argQuantity()<2)||(rml->argQuantity()>3)) {
if(rml->echoRequested()) {
rml->acknowledge(false);
rda->ripc()->sendRml(rml);
@ -798,15 +799,24 @@ void MainWidget::RunLocalMacros(RDMacro *rml)
}
return;
}
trans=RDLogLine::Play;
if(rml->argQuantity()==3) {
if(rml->arg(2).toLower()=="segue") {
trans=RDLogLine::Segue;
}
if(rml->arg(2).toLower()=="stop") {
trans=RDLogLine::Stop;
}
}
if(air_log[rml->arg(0).toInt()-1]->nextLine()>=0) {
air_log[rml->arg(0).toInt()-1]->
insert(air_log[rml->arg(0).toInt()-1]->nextLine(),
rml->arg(1).toUInt(),RDLogLine::Play);
rml->arg(1).toUInt(),RDLogLine::NoTrans,trans);
}
else {
air_log[rml->arg(0).toInt()-1]->
insert(air_log[rml->arg(0).toInt()-1]->size(),
rml->arg(1).toUInt(),RDLogLine::Play);
rml->arg(1).toUInt(),RDLogLine::NoTrans,trans);
air_log[rml->arg(0).toInt()-1]->
makeNext(air_log[rml->arg(0).toInt()-1]->size()-1);
}