diff --git a/ChangeLog b/ChangeLog index 75aa5461..3cc6b344 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24861,3 +24861,7 @@ entering a URL scheme of 'https'. 2024-08-25 Fred Gleason * Added a 'File Metadata' appendix to the Operations Guide. +2024-08-25 Fred Gleason + * Fixed a regression in rdairplay(1) that could cause events with Segue + transitions to clip off the end of the previous event if the previous + event did not have a segue marker set. diff --git a/lib/rdlogplay.cpp b/lib/rdlogplay.cpp index dd6540c0..01d4ea50 100644 --- a/lib/rdlogplay.cpp +++ b/lib/rdlogplay.cpp @@ -1954,6 +1954,14 @@ bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type, // running=runningEvents(lines); if(play_op_mode!=RDAirPlayConf::Manual) { + + // + // Remove degenerate segue transitions + // + if((trans_type==RDLogLine::Segue)&&(trans_length<=0)) { + trans_type=RDLogLine::Play; + } + switch(trans_type) { case RDLogLine::Play: for(int i=0;iid()!=-1)&&(play_next_line=0) { - if(logline->transType()==RDLogLine::Play) { - StartEvent(play_next_line,RDLogLine::Play,0,RDLogLine::StartPlay); - SetTransTimer(QTime(),prev_next_line==play_trans_line); - } - if(logline->transType()==RDLogLine::Segue) { - StartEvent(play_next_line,RDLogLine::Segue,0,RDLogLine::StartPlay); - SetTransTimer(QTime(),prev_next_line==play_trans_line); - } - } + StartEvent(play_next_line,RDLogLine::Play,0,RDLogLine::StartPlay); + SetTransTimer(QTime(),prev_next_line==play_trans_line); } } }