When converting from AAF->OTIO->AAF or directly from OTIO->AAF, MissingReferences are silently dropped. This causes problems when bringing the AAF into an Avid timeline. Our editors have reported warning messages and sometimes a loss of functionality when working with the resulting timeline. This can be reproduced simply using a snippet like this with an AAF that originated in an Avid:
`
import opentimelineio as otio
original_filename = "/tmp/original.aaf"
json_filename = "/tmp/original.json"
output_aaf = "/tmp/output.aaf"
output_json = "/tmp/output.json"
timeline = otio.adapters.read_from_file(original_filename)
timeline.to_json_file(json_filename)
otio.adapters.write_to_file(timeline, output_aaf)
timeline2 = otio.adapters.read_from_file(output_aaf)
timeline2.to_json_file(output_json)
`
MissingReference entries will be present in original.json but not in output.json.
Pull request is incoming for this issue with a fix that has been working so far at our facility.
When converting from AAF->OTIO->AAF or directly from OTIO->AAF, MissingReferences are silently dropped. This causes problems when bringing the AAF into an Avid timeline. Our editors have reported warning messages and sometimes a loss of functionality when working with the resulting timeline. This can be reproduced simply using a snippet like this with an AAF that originated in an Avid:
`
import opentimelineio as otio
original_filename = "/tmp/original.aaf"
json_filename = "/tmp/original.json"
output_aaf = "/tmp/output.aaf"
output_json = "/tmp/output.json"
timeline = otio.adapters.read_from_file(original_filename)
timeline.to_json_file(json_filename)
otio.adapters.write_to_file(timeline, output_aaf)
timeline2 = otio.adapters.read_from_file(output_aaf)
timeline2.to_json_file(output_json)
`
MissingReference entries will be present in original.json but not in output.json.
Pull request is incoming for this issue with a fix that has been working so far at our facility.