Ejemplo n.º 1
0
 def test_result(self):
     f = aaf.open(main_test_file, 'r')
     
     assert len(f.storage.master_mobs()) == 1
     mob = f.storage.lookup_mob(mob_id)
     assert mob.name == mob_name
     
     for i, slot in enumerate(mob.slots()):
         print(slot.name)
         assert slot.name == slot_names[i]
         
         seg = slot.segment
         print(seg)
         if slot.slotID == NumMobSlots:
             assert isinstance(seg, aaf.component.Sequence)
         else:
             assert isinstance(seg, aaf.component.SourceClip)
             
             src_mob =  seg.resolve_ref()
             for s in src_mob.slots():
                 tape_mob = s.segment.resolve_ref()
                 tape_description = tape_mob.essence_descriptor
                 print(tape_mob)
                 print(tape_description)
                 print("ManufacturerID =", tape_description['ManufacturerID'].value)
                 assert tape_description['ManufacturerID'].value == manufacturer
                 print("Model", tape_description['Model'].value)
                 assert tape_description['Model'].value == model
                 print("FormFactor", tape_description['FormFactor'].value)
Ejemplo n.º 2
0
    def test_result(self):
        f = aaf.open(main_test_file, 'r')

        assert len(f.storage.master_mobs()) == 1
        mob = f.storage.lookup_mob(mob_id)
        assert mob.name == mob_name

        for i, slot in enumerate(mob.slots()):
            print slot.name
            assert slot.name == slot_names[i]

            seg = slot.segment
            #print seg
            if slot.slotID == NumMobSlots:
                assert isinstance(seg, aaf.component.Sequence)
            else:
                assert isinstance(seg, aaf.component.SourceClip)

                src_mob = seg.resolve_ref()
                for s in src_mob.slots():
                    tape_mob = s.segment.resolve_ref()
                    tape_description = tape_mob.essence_descriptor
                    print tape_mob
                    print tape_description
                    print "ManufacturerID =", tape_description[
                        'ManufacturerID'].value
                    assert tape_description[
                        'ManufacturerID'].value == manufacturer
                    print "Model", tape_description['Model'].value
                    assert tape_description['Model'].value == model
                    print "FormFactor", tape_description['FormFactor'].value
Ejemplo n.º 3
0
    def test_file(self):
        f = aaf.open(main_test_file, "r")
        mob = f.storage.lookup_mob(mob_id)

        for slot in mob.slots():
            for i, p in enumerate(slot.segment.parameter["testParam"].points()):
                assert point_values[i] == float(p.value)
Ejemplo n.º 4
0
    def test_file(self):
        f = aaf.open(main_test_file, 'r')
        mob = f.storage.lookup_mob(mob_id)

        for slot in mob.slots():
            for i, p in enumerate(
                    slot.segment.parameter['testParam'].points()):
                assert point_values[i] == float(p.value)
Ejemplo n.º 5
0
    def test_basic(self):
        test_file = os.path.join(sandbox, "test_EdgeCode.aaf")
        f = aaf.open(test_file, 'w')

        mob = f.create.CompositionMob()

        f.storage.add_mob(mob)

        edge_code_header = 'BOB'

        # manually initialize
        edgecode =  aaf.component.EdgeCode(f, header=edge_code_header)

        edgecode['Length'].value = 10

        mob.append_new_timeline_slot("0/1", edgecode, 0, "edgecode", 0)

        #print(edgecode.header)
        assert edgecode.header == edge_code_header


        # test create interface
        edgecode2 = f.create.EdgeCode(100, header=edge_code_header)

        assert edgecode2.header == edge_code_header
        assert edgecode2['Length'].value == 100


        edgecode.header = u"BOB2"

        assert edgecode.header == "BOB2"


        f.save()
        f.close()


        f = aaf.open(test_file, 'r')

        mob = f.storage.composition_mobs()[0]

        edgecode =  mob.slots()[0].segment

        assert edgecode.header == "BOB2"
Ejemplo n.º 6
0
    def test_basic(self):
        
        test_file = os.path.join(sandbox, "test_TimelineMobSlot.aaf")
        
        f = aaf.open(test_file, 'w')
        
        timeline = f.create.TimelineMobSlot()
        
        timeline.mark_in = 1
        assert timeline.mark_in == 1
        timeline.mark_in = 2
        assert timeline.mark_in == 2
        
        timeline.mark_out = 100
        assert timeline.mark_out == 100
        timeline.mark_out = 10
        assert timeline.mark_out == 10

        # File won't save unless MobSlot has a segment
        seq = f.create.Sequence("picture")
        timeline.segment = seq
        
        mob = f.create.MasterMob()
        
        mob.append_slot(timeline)
        
        f.storage.add_mob(mob)
        
        
        f.save()
        f.close()
        
        f = aaf.open(test_file, 'r')
        
        mob = f.storage.master_mobs()[0]
        
        timeline = mob.slots()[0]
        
        print(timeline)
        
        assert timeline.mark_in == 2
        assert timeline.mark_out == 10
        
        f.close()
Ejemplo n.º 7
0
    def test_basic(self):

        test_file = os.path.join(sandbox, "test_TimelineMobSlot.aaf")

        f = aaf.open(test_file, 'w')

        timeline = f.create.TimelineMobSlot()

        timeline.mark_in = 1
        assert timeline.mark_in == 1
        timeline.mark_in = 2
        assert timeline.mark_in == 2

        timeline.mark_out = 100
        assert timeline.mark_out == 100
        timeline.mark_out = 10
        assert timeline.mark_out == 10

        # File won't save unless MobSlot has a segment
        seq = f.create.Sequence("picture")
        timeline.segment = seq

        mob = f.create.MasterMob()

        mob.append_slot(timeline)

        f.storage.add_mob(mob)

        f.save()
        f.close()

        f = aaf.open(test_file, 'r')

        mob = f.storage.master_mobs()[0]

        timeline = mob.slots()[0]

        print(timeline)

        assert timeline.mark_in == 2
        assert timeline.mark_out == 10

        f.close()
def _extract_start_timecode(mob):
    """Given a mob with a single timecode slot, return the timecode in that
    slot or None if no timecode slots could be found.
    """

    tc_list = [
        s.segment['Start'].value for s in mob.slots()
        if s.segment.media_kind == 'Timecode'
    ]

    if len(tc_list) == 1:
        return tc_list[0]
    elif len(tc_list) > 1:
        raise otio.exceptions.NotSupportedError(
            "Error: mob has more than one timecode slots, this is not"
            " currently supported by the AAF adapter. found: {} slots, "
            " mob name is: '{}'".format(len(tc_list), mob.name))
    else:
        # tc_list is empty
        return None
Ejemplo n.º 9
0
    def test_basic(self):
        test_file = os.path.join(sandbox, "test_EdgeCode.aaf")
        f = aaf.open(test_file, 'w')

        mob = f.create.CompositionMob()

        f.storage.add_mob(mob)

        edge_code_header = 'BOB'

        # manually initialize
        edgecode = aaf.component.EdgeCode(f, header=edge_code_header)

        edgecode['Length'].value = 10

        mob.append_new_timeline_slot("0/1", edgecode, 0, "edgecode", 0)

        #print(edgecode.header)
        assert edgecode.header == edge_code_header

        # test create interface
        edgecode2 = f.create.EdgeCode(100, header=edge_code_header)

        assert edgecode2.header == edge_code_header
        assert edgecode2['Length'].value == 100

        edgecode.header = u"BOB2"

        assert edgecode.header == "BOB2"

        f.save()
        f.close()

        f = aaf.open(test_file, 'r')

        mob = f.storage.composition_mobs()[0]

        edgecode = mob.slots()[0].segment

        assert edgecode.header == "BOB2"