diff --git a/ChangeLog b/ChangeLog index c4a4c6be..bbcba59a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24601,3 +24601,5 @@ 2024-02-18 Fred Gleason * Fixed a regression in rdairplay(1) that caused invalid PAD JSON to be emitted when processing a Chain event. +2024-02-18 Fred Gleason + * Added an 'eventType' field to the PAD JSON schema. diff --git a/lib/rdlogplay.cpp b/lib/rdlogplay.cpp index c2d8e00e..d3d0c708 100644 --- a/lib/rdlogplay.cpp +++ b/lib/rdlogplay.cpp @@ -3317,12 +3317,20 @@ QString RDLogPlay::GetPadJson(const QString &name,RDLogLine *ll, } ret+=RDJsonField("lineNumber",line,4+padding); ret+=RDJsonField("lineId",ll->id(),4+padding); - ret+=RDJsonField("cartNumber",ll->cartNumber(),4+padding); - ret+=RDJsonField("cartType",RDCart::typeText(ll->cartType()),4+padding); - if(ll->cartType()==RDCart::Audio) { - ret+=RDJsonField("cutNumber",ll->cutNumber(),4+padding); + ret+=RDJsonField("eventType",RDLogLine::typeText(ll->type()),4+padding); + if(ll->type()==RDLogLine::Cart) { + ret+=RDJsonField("cartNumber",ll->cartNumber(),4+padding); + ret+=RDJsonField("cartType",RDCart::typeText(ll->cartType()),4+padding); + if(ll->cartType()==RDCart::Audio) { + ret+=RDJsonField("cutNumber",ll->cutNumber(),4+padding); + } + else { + ret+=RDJsonNullField("cutNumber",4+padding); + } } else { + ret+=RDJsonNullField("cartNumber",4+padding); + ret+=RDJsonNullField("cartType",4+padding); ret+=RDJsonNullField("cutNumber",4+padding); } if(ll->useEventLength()) {