mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-19 14:43:30 +02:00
2023-12-15 Fred Gleason <fredg@paravelsystems.com>
* Fixed a race in the log machine logic that could cause truncated play-outs with segue transitions. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
9756d444bf
commit
af8b711649
@ -24559,3 +24559,6 @@
|
||||
CAE command.
|
||||
2023-12-15 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Cleaned up warnings about unprocessed CAE commands in the syslog.
|
||||
2023-12-15 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Fixed a race in the log machine logic that could cause truncated
|
||||
play-outs with segue transitions.
|
||||
|
@ -287,6 +287,7 @@ void RDCae::play(unsigned serial,unsigned length,int speed,bool pitch)
|
||||
if(pitch) {
|
||||
pitch_state=1;
|
||||
}
|
||||
//printf(" play: %s\n",QTime::currentTime().toString("hh:mm:ss.zzz").toUtf8().constData());
|
||||
SendCommand(QString().sprintf("PY %u %u %d %d!",
|
||||
serial,length,speed,pitch_state));
|
||||
}
|
||||
|
@ -1520,7 +1520,7 @@ void RDLogPlay::graceTimerData()
|
||||
void RDLogPlay::playStateChangedData(int id,RDPlayDeck::State state)
|
||||
{
|
||||
#ifdef SHOW_SLOTS
|
||||
printf("playStateChangedData(%d,%d), log: %s\n",id,state,(const char *)logName());
|
||||
printf("playStateChangedData(%d,%d), log: %s\n",id,state,logName().toUtf8().constData());
|
||||
#endif
|
||||
switch(state) {
|
||||
case RDPlayDeck::Playing:
|
||||
|
@ -666,12 +666,14 @@ void RDPlayDeck::pointTimerData(int point)
|
||||
case RDPlayDeck::Segue:
|
||||
if(play_point_state[point]) {
|
||||
play_point_state[point]=false;
|
||||
//printf(" segueEnd: %s\n",QTime::currentTime().toString("hh:mm:ss.zzz").toUtf8().constData());
|
||||
emit segueEnd(play_id);
|
||||
}
|
||||
else {
|
||||
play_point_state[point]=true;
|
||||
play_point_timer[point]->
|
||||
start(play_point_value[point][1]-play_point_value[point][0]);
|
||||
//printf("segueStart: %s\n",QTime::currentTime().toString("hh:mm:ss.zzz").toUtf8().constData());
|
||||
emit segueStart(play_id);
|
||||
}
|
||||
break;
|
||||
@ -767,7 +769,8 @@ void RDPlayDeck::StartTimers(int offset)
|
||||
|
||||
for(int i=0;i<RDPlayDeck::SizeOf;i++) {
|
||||
play_point_state[i]=false;
|
||||
if(play_point_value[i][0]!=-1) {
|
||||
if((play_point_value[i][0]!=-1)&&
|
||||
(play_point_value[i][0]!=play_point_value[i][1])) {
|
||||
audio_point=(int)
|
||||
(RD_TIMESCALE_DIVISOR*(double)play_audio_point[0]/
|
||||
(double)play_timescale_speed);
|
||||
|
Loading…
x
Reference in New Issue
Block a user