10 Commits

27 changed files with 882 additions and 215 deletions

631
PanoPainter.xcodeproj/project.pbxproj Normal file → Executable file
View File

@@ -173,12 +173,200 @@
AD83A0DA232A793A005B0871 /* node_input_box.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD83A0D7232A7905005B0871 /* node_input_box.cpp */; };
AD83A0DD232AD251005B0871 /* node_dialog_export_ppbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD83A0DC232AD251005B0871 /* node_dialog_export_ppbr.cpp */; };
AD83A0DE232AD26F005B0871 /* node_dialog_export_ppbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD83A0DC232AD251005B0871 /* node_dialog_export_ppbr.cpp */; };
AD9CF9D723C2418B001880BF /* atom_tfhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98223C24183001880BF /* atom_tfhd.cpp */; };
AD9CF9D823C2418B001880BF /* atom_tfhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98223C24183001880BF /* atom_tfhd.cpp */; };
AD9CF9D923C2418B001880BF /* atom_root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98323C24183001880BF /* atom_root.cpp */; };
AD9CF9DA23C2418B001880BF /* atom_root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98323C24183001880BF /* atom_root.cpp */; };
AD9CF9DB23C2418B001880BF /* atom_sdtp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98423C24183001880BF /* atom_sdtp.cpp */; };
AD9CF9DC23C2418B001880BF /* atom_sdtp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98423C24183001880BF /* atom_sdtp.cpp */; };
AD9CF9DD23C2418B001880BF /* mp4file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98523C24183001880BF /* mp4file.cpp */; };
AD9CF9DE23C2418B001880BF /* mp4file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98523C24183001880BF /* mp4file.cpp */; };
AD9CF9DF23C2418B001880BF /* qosqualifiers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98623C24183001880BF /* qosqualifiers.cpp */; };
AD9CF9E023C2418B001880BF /* qosqualifiers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98623C24183001880BF /* qosqualifiers.cpp */; };
AD9CF9E123C2418B001880BF /* atom_colr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98723C24183001880BF /* atom_colr.cpp */; };
AD9CF9E223C2418B001880BF /* atom_colr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98723C24183001880BF /* atom_colr.cpp */; };
AD9CF9E323C2418B001880BF /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98823C24183001880BF /* log.cpp */; };
AD9CF9E423C2418B001880BF /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98823C24183001880BF /* log.cpp */; };
AD9CF9E523C2418B001880BF /* mp4atom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98923C24183001880BF /* mp4atom.cpp */; };
AD9CF9E623C2418B001880BF /* mp4atom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98923C24183001880BF /* mp4atom.cpp */; };
AD9CF9E723C2418B001880BF /* atom_mdhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98A23C24183001880BF /* atom_mdhd.cpp */; };
AD9CF9E823C2418B001880BF /* atom_mdhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98A23C24183001880BF /* atom_mdhd.cpp */; };
AD9CF9E923C2418B001880BF /* atom_damr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98B23C24184001880BF /* atom_damr.cpp */; };
AD9CF9EA23C2418B001880BF /* atom_damr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98B23C24184001880BF /* atom_damr.cpp */; };
AD9CF9EB23C2418B001880BF /* atom_url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98C23C24184001880BF /* atom_url.cpp */; };
AD9CF9EC23C2418B001880BF /* atom_url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98C23C24184001880BF /* atom_url.cpp */; };
AD9CF9ED23C2418B001880BF /* atom_standard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98D23C24184001880BF /* atom_standard.cpp */; };
AD9CF9EE23C2418B001880BF /* atom_standard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98D23C24184001880BF /* atom_standard.cpp */; };
AD9CF9EF23C2418B001880BF /* atom_tx3g.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98E23C24184001880BF /* atom_tx3g.cpp */; };
AD9CF9F023C2418B001880BF /* atom_tx3g.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98E23C24184001880BF /* atom_tx3g.cpp */; };
AD9CF9F123C2418B001880BF /* atom_ohdr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98F23C24184001880BF /* atom_ohdr.cpp */; };
AD9CF9F223C2418B001880BF /* atom_ohdr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF98F23C24184001880BF /* atom_ohdr.cpp */; };
AD9CF9F323C2418B001880BF /* atom_mp4v.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99023C24184001880BF /* atom_mp4v.cpp */; };
AD9CF9F423C2418B001880BF /* atom_mp4v.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99023C24184001880BF /* atom_mp4v.cpp */; };
AD9CF9F523C2418B001880BF /* atom_uuid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99123C24184001880BF /* atom_uuid.cpp */; };
AD9CF9F623C2418B001880BF /* atom_uuid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99123C24184001880BF /* atom_uuid.cpp */; };
AD9CF9F723C2418B001880BF /* atom_video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99223C24184001880BF /* atom_video.cpp */; };
AD9CF9F823C2418B001880BF /* atom_video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99223C24184001880BF /* atom_video.cpp */; };
AD9CF9F923C2418B001880BF /* mp4track.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99323C24184001880BF /* mp4track.cpp */; };
AD9CF9FA23C2418B001880BF /* mp4track.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99323C24184001880BF /* mp4track.cpp */; };
AD9CF9FB23C2418B001880BF /* mp4util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99423C24184001880BF /* mp4util.cpp */; };
AD9CF9FC23C2418B001880BF /* mp4util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99423C24184001880BF /* mp4util.cpp */; };
AD9CF9FD23C2418B001880BF /* atom_rtp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99523C24185001880BF /* atom_rtp.cpp */; };
AD9CF9FE23C2418B001880BF /* atom_rtp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99523C24185001880BF /* atom_rtp.cpp */; };
AD9CF9FF23C2418B001880BF /* atom_hnti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99623C24185001880BF /* atom_hnti.cpp */; };
AD9CFA0023C2418B001880BF /* atom_hnti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99623C24185001880BF /* atom_hnti.cpp */; };
AD9CFA0123C2418B001880BF /* atom_amr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99723C24185001880BF /* atom_amr.cpp */; };
AD9CFA0223C2418B001880BF /* atom_amr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99723C24185001880BF /* atom_amr.cpp */; };
AD9CFA0323C2418B001880BF /* atom_sdp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99823C24185001880BF /* atom_sdp.cpp */; };
AD9CFA0423C2418B001880BF /* atom_sdp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99823C24185001880BF /* atom_sdp.cpp */; };
AD9CFA0523C2418B001880BF /* atom_stsd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99923C24185001880BF /* atom_stsd.cpp */; };
AD9CFA0623C2418B001880BF /* atom_stsd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99923C24185001880BF /* atom_stsd.cpp */; };
AD9CFA0723C2418B001880BF /* atom_avcC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99A23C24185001880BF /* atom_avcC.cpp */; };
AD9CFA0823C2418B001880BF /* atom_avcC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99A23C24185001880BF /* atom_avcC.cpp */; };
AD9CFA0923C2418B001880BF /* atom_sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99B23C24185001880BF /* atom_sound.cpp */; };
AD9CFA0A23C2418B001880BF /* atom_sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99B23C24185001880BF /* atom_sound.cpp */; };
AD9CFA0B23C2418B001880BF /* atom_mdat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99C23C24185001880BF /* atom_mdat.cpp */; };
AD9CFA0C23C2418B001880BF /* atom_mdat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99C23C24185001880BF /* atom_mdat.cpp */; };
AD9CFA0D23C2418B001880BF /* generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99D23C24185001880BF /* generic.cpp */; };
AD9CFA0E23C2418B001880BF /* generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99D23C24185001880BF /* generic.cpp */; };
AD9CFA0F23C2418B001880BF /* atom_treftype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99E23C24185001880BF /* atom_treftype.cpp */; };
AD9CFA1023C2418B001880BF /* atom_treftype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99E23C24185001880BF /* atom_treftype.cpp */; };
AD9CFA1123C2418B001880BF /* atom_enca.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99F23C24186001880BF /* atom_enca.cpp */; };
AD9CFA1223C2418B001880BF /* atom_enca.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF99F23C24186001880BF /* atom_enca.cpp */; };
AD9CFA1323C2418B001880BF /* mp4container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A023C24186001880BF /* mp4container.cpp */; };
AD9CFA1423C2418B001880BF /* mp4container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A023C24186001880BF /* mp4container.cpp */; };
AD9CFA1523C2418B001880BF /* mp4info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A123C24186001880BF /* mp4info.cpp */; };
AD9CFA1623C2418B001880BF /* mp4info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A123C24186001880BF /* mp4info.cpp */; };
AD9CFA1723C2418B001880BF /* atom_nmhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A223C24186001880BF /* atom_nmhd.cpp */; };
AD9CFA1823C2418B001880BF /* atom_nmhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A223C24186001880BF /* atom_nmhd.cpp */; };
AD9CFA1923C2418B001880BF /* mp4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A323C24186001880BF /* mp4.cpp */; };
AD9CFA1A23C2418B001880BF /* mp4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A323C24186001880BF /* mp4.cpp */; };
AD9CFA1B23C2418B001880BF /* atom_smi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A423C24186001880BF /* atom_smi.cpp */; };
AD9CFA1C23C2418B001880BF /* atom_smi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A423C24186001880BF /* atom_smi.cpp */; };
AD9CFA1D23C2418B001880BF /* atom_stbl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A523C24186001880BF /* atom_stbl.cpp */; };
AD9CFA1E23C2418B001880BF /* atom_stbl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A523C24186001880BF /* atom_stbl.cpp */; };
AD9CFA1F23C2418B001880BF /* rtphint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A623C24186001880BF /* rtphint.cpp */; };
AD9CFA2023C2418B001880BF /* rtphint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A623C24186001880BF /* rtphint.cpp */; };
AD9CFA2123C2418B001880BF /* Tags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A723C24186001880BF /* Tags.cpp */; };
AD9CFA2223C2418B001880BF /* Tags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A723C24186001880BF /* Tags.cpp */; };
AD9CFA2323C2418B001880BF /* exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A823C24187001880BF /* exception.cpp */; };
AD9CFA2423C2418B001880BF /* exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A823C24187001880BF /* exception.cpp */; };
AD9CFA2523C2418B001880BF /* atom_elst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A923C24187001880BF /* atom_elst.cpp */; };
AD9CFA2623C2418B001880BF /* atom_elst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9A923C24187001880BF /* atom_elst.cpp */; };
AD9CFA2723C2418B001880BF /* atom_avc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AA23C24187001880BF /* atom_avc1.cpp */; };
AD9CFA2823C2418B001880BF /* atom_avc1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AA23C24187001880BF /* atom_avc1.cpp */; };
AD9CFA2923C2418B001880BF /* isma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AB23C24187001880BF /* isma.cpp */; };
AD9CFA2A23C2418B001880BF /* isma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AB23C24187001880BF /* isma.cpp */; };
AD9CFA2B23C2418B001880BF /* atom_dref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AC23C24187001880BF /* atom_dref.cpp */; };
AD9CFA2C23C2418B001880BF /* atom_dref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AC23C24187001880BF /* atom_dref.cpp */; };
AD9CFA2D23C2418B001880BF /* atom_s263.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AD23C24187001880BF /* atom_s263.cpp */; };
AD9CFA2E23C2418B001880BF /* atom_s263.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AD23C24187001880BF /* atom_s263.cpp */; };
AD9CFA2F23C2418B001880BF /* ColorParameterBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AE23C24187001880BF /* ColorParameterBox.cpp */; };
AD9CFA3023C2418B001880BF /* ColorParameterBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AE23C24187001880BF /* ColorParameterBox.cpp */; };
AD9CFA3123C2418B001880BF /* 3gp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AF23C24187001880BF /* 3gp.cpp */; };
AD9CFA3223C2418B001880BF /* 3gp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9AF23C24187001880BF /* 3gp.cpp */; };
AD9CFA3323C2418B001880BF /* atom_stdp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B023C24187001880BF /* atom_stdp.cpp */; };
AD9CFA3423C2418B001880BF /* atom_stdp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B023C24187001880BF /* atom_stdp.cpp */; };
AD9CFA3523C2418B001880BF /* atom_ftyp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B123C24187001880BF /* atom_ftyp.cpp */; };
AD9CFA3623C2418B001880BF /* atom_ftyp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B123C24187001880BF /* atom_ftyp.cpp */; };
AD9CFA3723C2418B001880BF /* atom_stz2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B223C24188001880BF /* atom_stz2.cpp */; };
AD9CFA3823C2418B001880BF /* atom_stz2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B223C24188001880BF /* atom_stz2.cpp */; };
AD9CFA3923C2418B001880BF /* atom_hdlr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B323C24188001880BF /* atom_hdlr.cpp */; };
AD9CFA3A23C2418B001880BF /* atom_hdlr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B323C24188001880BF /* atom_hdlr.cpp */; };
AD9CFA3B23C2418B001880BF /* atom_d263.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B423C24188001880BF /* atom_d263.cpp */; };
AD9CFA3C23C2418B001880BF /* atom_d263.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B423C24188001880BF /* atom_d263.cpp */; };
AD9CFA3D23C2418B001880BF /* atom_vmhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B523C24188001880BF /* atom_vmhd.cpp */; };
AD9CFA3E23C2418B001880BF /* atom_vmhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B523C24188001880BF /* atom_vmhd.cpp */; };
AD9CFA3F23C2418B001880BF /* descriptors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B623C24188001880BF /* descriptors.cpp */; };
AD9CFA4023C2418B001880BF /* descriptors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B623C24188001880BF /* descriptors.cpp */; };
AD9CFA4123C2418B001880BF /* mp4descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B723C24188001880BF /* mp4descriptor.cpp */; };
AD9CFA4223C2418B001880BF /* mp4descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B723C24188001880BF /* mp4descriptor.cpp */; };
AD9CFA4323C2418B001880BF /* atom_free.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B823C24188001880BF /* atom_free.cpp */; };
AD9CFA4423C2418B001880BF /* atom_free.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B823C24188001880BF /* atom_free.cpp */; };
AD9CFA4523C2418B001880BF /* atom_ftab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B923C24188001880BF /* atom_ftab.cpp */; };
AD9CFA4623C2418B001880BF /* atom_ftab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9B923C24188001880BF /* atom_ftab.cpp */; };
AD9CFA4723C2418B001880BF /* atom_udta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BA23C24188001880BF /* atom_udta.cpp */; };
AD9CFA4823C2418B001880BF /* atom_udta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BA23C24188001880BF /* atom_udta.cpp */; };
AD9CFA4923C2418B001880BF /* atom_urn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BB23C24188001880BF /* atom_urn.cpp */; };
AD9CFA4A23C2418B001880BF /* atom_urn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BB23C24188001880BF /* atom_urn.cpp */; };
AD9CFA4B23C2418B001880BF /* atom_chpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BC23C24189001880BF /* atom_chpl.cpp */; };
AD9CFA4C23C2418B001880BF /* atom_chpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BC23C24189001880BF /* atom_chpl.cpp */; };
AD9CFA4D23C2418B001880BF /* atom_gmin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BD23C24189001880BF /* atom_gmin.cpp */; };
AD9CFA4E23C2418B001880BF /* atom_gmin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BD23C24189001880BF /* atom_gmin.cpp */; };
AD9CFA4F23C2418B001880BF /* atom_hinf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BE23C24189001880BF /* atom_hinf.cpp */; };
AD9CFA5023C2418B001880BF /* atom_hinf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BE23C24189001880BF /* atom_hinf.cpp */; };
AD9CFA5123C2418B001880BF /* atom_meta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BF23C24189001880BF /* atom_meta.cpp */; };
AD9CFA5223C2418B001880BF /* atom_meta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9BF23C24189001880BF /* atom_meta.cpp */; };
AD9CFA5323C2418B001880BF /* atom_mp4s.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C023C24189001880BF /* atom_mp4s.cpp */; };
AD9CFA5423C2418B001880BF /* atom_mp4s.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C023C24189001880BF /* atom_mp4s.cpp */; };
AD9CFA5523C2418B001880BF /* atom_stsc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C123C24189001880BF /* atom_stsc.cpp */; };
AD9CFA5623C2418B001880BF /* atom_stsc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C123C24189001880BF /* atom_stsc.cpp */; };
AD9CFA5723C2418C001880BF /* PictureAspectRatioBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C223C24189001880BF /* PictureAspectRatioBox.cpp */; };
AD9CFA5823C2418C001880BF /* PictureAspectRatioBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C223C24189001880BF /* PictureAspectRatioBox.cpp */; };
AD9CFA5923C2418C001880BF /* atom_tkhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C323C24189001880BF /* atom_tkhd.cpp */; };
AD9CFA5A23C2418C001880BF /* atom_tkhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C323C24189001880BF /* atom_tkhd.cpp */; };
AD9CFA5B23C2418C001880BF /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C423C24189001880BF /* text.cpp */; };
AD9CFA5C23C2418C001880BF /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C423C24189001880BF /* text.cpp */; };
AD9CFA5D23C2418C001880BF /* atom_href.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C523C24189001880BF /* atom_href.cpp */; };
AD9CFA5E23C2418C001880BF /* atom_href.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C523C24189001880BF /* atom_href.cpp */; };
AD9CFA5F23C2418C001880BF /* atom_ac3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C623C2418A001880BF /* atom_ac3.cpp */; };
AD9CFA6023C2418C001880BF /* atom_ac3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C623C2418A001880BF /* atom_ac3.cpp */; };
AD9CFA6123C2418C001880BF /* atom_pasp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C723C2418A001880BF /* atom_pasp.cpp */; };
AD9CFA6223C2418C001880BF /* atom_pasp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C723C2418A001880BF /* atom_pasp.cpp */; };
AD9CFA6323C2418C001880BF /* cmeta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C823C2418A001880BF /* cmeta.cpp */; };
AD9CFA6423C2418C001880BF /* cmeta.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C823C2418A001880BF /* cmeta.cpp */; };
AD9CFA6523C2418C001880BF /* typebmff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C923C2418A001880BF /* typebmff.cpp */; };
AD9CFA6623C2418C001880BF /* typebmff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9C923C2418A001880BF /* typebmff.cpp */; };
AD9CFA6723C2418C001880BF /* CoverArtBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CA23C2418A001880BF /* CoverArtBox.cpp */; };
AD9CFA6823C2418C001880BF /* CoverArtBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CA23C2418A001880BF /* CoverArtBox.cpp */; };
AD9CFA6923C2418C001880BF /* atom_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CB23C2418A001880BF /* atom_text.cpp */; };
AD9CFA6A23C2418C001880BF /* atom_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CB23C2418A001880BF /* atom_text.cpp */; };
AD9CFA6B23C2418C001880BF /* atom_dac3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CC23C2418A001880BF /* atom_dac3.cpp */; };
AD9CFA6C23C2418C001880BF /* atom_dac3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CC23C2418A001880BF /* atom_dac3.cpp */; };
AD9CFA6D23C2418C001880BF /* atom_mvhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CD23C2418A001880BF /* atom_mvhd.cpp */; };
AD9CFA6E23C2418C001880BF /* atom_mvhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CD23C2418A001880BF /* atom_mvhd.cpp */; };
AD9CFA6F23C2418C001880BF /* atom_trun.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CE23C2418A001880BF /* atom_trun.cpp */; };
AD9CFA7023C2418C001880BF /* atom_trun.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CE23C2418A001880BF /* atom_trun.cpp */; };
AD9CFA7123C2418C001880BF /* mp4property.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CF23C2418A001880BF /* mp4property.cpp */; };
AD9CFA7223C2418C001880BF /* mp4property.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9CF23C2418A001880BF /* mp4property.cpp */; };
AD9CFA7323C2418C001880BF /* ocidescriptors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D023C2418B001880BF /* ocidescriptors.cpp */; };
AD9CFA7423C2418C001880BF /* ocidescriptors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D023C2418B001880BF /* ocidescriptors.cpp */; };
AD9CFA7523C2418C001880BF /* odcommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D123C2418B001880BF /* odcommands.cpp */; };
AD9CFA7623C2418C001880BF /* odcommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D123C2418B001880BF /* odcommands.cpp */; };
AD9CFA7723C2418C001880BF /* atom_stsz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D223C2418B001880BF /* atom_stsz.cpp */; };
AD9CFA7823C2418C001880BF /* atom_stsz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D223C2418B001880BF /* atom_stsz.cpp */; };
AD9CFA7923C2418C001880BF /* coding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D323C2418B001880BF /* coding.cpp */; };
AD9CFA7A23C2418C001880BF /* coding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D323C2418B001880BF /* coding.cpp */; };
AD9CFA7B23C2418C001880BF /* mp4file_io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D423C2418B001880BF /* mp4file_io.cpp */; };
AD9CFA7C23C2418C001880BF /* mp4file_io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D423C2418B001880BF /* mp4file_io.cpp */; };
AD9CFA7D23C2418C001880BF /* atom_encv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D523C2418B001880BF /* atom_encv.cpp */; };
AD9CFA7E23C2418C001880BF /* atom_encv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D523C2418B001880BF /* atom_encv.cpp */; };
AD9CFA7F23C2418C001880BF /* type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D623C2418B001880BF /* type.cpp */; };
AD9CFA8023C2418C001880BF /* type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CF9D623C2418B001880BF /* type.cpp */; };
AD9CFA8B23C241C3001880BF /* random_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8123C241C2001880BF /* random_posix.cpp */; };
AD9CFA8C23C241C3001880BF /* random_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8123C241C2001880BF /* random_posix.cpp */; };
AD9CFA8D23C241C3001880BF /* error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8223C241C2001880BF /* error.cpp */; };
AD9CFA8E23C241C3001880BF /* error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8223C241C2001880BF /* error.cpp */; };
AD9CFA8F23C241C3001880BF /* process_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8323C241C2001880BF /* process_posix.cpp */; };
AD9CFA9023C241C3001880BF /* process_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8323C241C2001880BF /* process_posix.cpp */; };
AD9CFA9123C241C3001880BF /* File_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8423C241C2001880BF /* File_posix.cpp */; };
AD9CFA9223C241C3001880BF /* File_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8423C241C2001880BF /* File_posix.cpp */; };
AD9CFA9323C241C3001880BF /* time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8523C241C2001880BF /* time.cpp */; };
AD9CFA9423C241C3001880BF /* time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8523C241C2001880BF /* time.cpp */; };
AD9CFA9523C241C3001880BF /* FileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8623C241C2001880BF /* FileSystem.cpp */; };
AD9CFA9623C241C3001880BF /* FileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8623C241C2001880BF /* FileSystem.cpp */; };
AD9CFA9723C241C3001880BF /* time_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8723C241C2001880BF /* time_posix.cpp */; };
AD9CFA9823C241C3001880BF /* time_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8723C241C2001880BF /* time_posix.cpp */; };
AD9CFA9923C241C3001880BF /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8823C241C2001880BF /* File.cpp */; };
AD9CFA9A23C241C3001880BF /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8823C241C2001880BF /* File.cpp */; };
AD9CFA9B23C241C3001880BF /* option.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8923C241C3001880BF /* option.cpp */; };
AD9CFA9C23C241C3001880BF /* option.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8923C241C3001880BF /* option.cpp */; };
AD9CFA9D23C241C3001880BF /* FileSystem_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8A23C241C3001880BF /* FileSystem_posix.cpp */; };
AD9CFA9E23C241C3001880BF /* FileSystem_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD9CFA8A23C241C3001880BF /* FileSystem_posix.cpp */; };
ADA2A57822BE8D8E00C6B6C9 /* node_tool_bucket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADA2A57622BE8D8E00C6B6C9 /* node_tool_bucket.cpp */; };
ADA2A57922BE8D8E00C6B6C9 /* node_tool_bucket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADA2A57622BE8D8E00C6B6C9 /* node_tool_bucket.cpp */; };
ADA3ABF6222C8C370083B825 /* node_panel_quick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADA3ABF4222C8C350083B825 /* node_panel_quick.cpp */; };
ADA3ABF7222C8C370083B825 /* node_panel_quick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADA3ABF4222C8C350083B825 /* node_panel_quick.cpp */; };
ADA6C9F9236AFC5800116746 /* libmp4v2.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADA6C9F8236AFC5700116746 /* libmp4v2.2.dylib */; };
ADA6C9FA236AFC6F00116746 /* libmp4v2.2.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = ADA6C9F8236AFC5700116746 /* libmp4v2.2.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
ADA6C9FC236AFCA700116746 /* libopenh264-2.0.0-osx64.5.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADA6C9FB236AFCA700116746 /* libopenh264-2.0.0-osx64.5.dylib */; };
ADA6C9FD236AFCC200116746 /* libopenh264-2.0.0-osx64.5.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = ADA6C9FB236AFCA700116746 /* libopenh264-2.0.0-osx64.5.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
ADA6C9FF236B06A100116746 /* libyuv-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADA6C9FE236B06A100116746 /* libyuv-ios.a */; };
@@ -190,8 +378,6 @@
ADAECC952367922B00709FCC /* experiments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADAECC922367922B00709FCC /* experiments.cpp */; };
ADAECC962367922B00709FCC /* experiments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADAECC922367922B00709FCC /* experiments.cpp */; };
ADAECCA92367DE0900709FCC /* libopenh264-2.0.0-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADAECCA82367DE0900709FCC /* libopenh264-2.0.0-ios.a */; };
ADAECCB42367E61500709FCC /* libmp4v2-armv7.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADAECCB22367E61500709FCC /* libmp4v2-armv7.a */; };
ADAECCB52367E61500709FCC /* libmp4v2-arm64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADAECCB32367E61500709FCC /* libmp4v2-arm64.a */; };
ADBC8C4E1FAE7D360094B339 /* node_dialog_browse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8C471FAE7CC20094B339 /* node_dialog_browse.cpp */; };
ADBC8C4F1FAE7D370094B339 /* node_dialog_browse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8C471FAE7CC20094B339 /* node_dialog_browse.cpp */; };
ADBC8C551FAFD0520094B339 /* app_cloud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8C511FAFD0360094B339 /* app_cloud.cpp */; };
@@ -327,7 +513,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
ADA6C9FA236AFC6F00116746 /* libmp4v2.2.dylib in Embed Libraries */,
ADA6C9FD236AFCC200116746 /* libopenh264-2.0.0-osx64.5.dylib in Embed Libraries */,
);
name = "Embed Libraries";
@@ -521,11 +706,105 @@
AD95AEC31E41EDEC002DD03A /* font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = font.cpp; sourceTree = "<group>"; };
AD95AEC41E41EDEC002DD03A /* font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = font.h; sourceTree = "<group>"; };
AD95AEC51E41EDEC002DD03A /* pch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pch.cpp; sourceTree = "<group>"; };
AD9CF98223C24183001880BF /* atom_tfhd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_tfhd.cpp; path = libs/mp4v2/src/atom_tfhd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98323C24183001880BF /* atom_root.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_root.cpp; path = libs/mp4v2/src/atom_root.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98423C24183001880BF /* atom_sdtp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_sdtp.cpp; path = libs/mp4v2/src/atom_sdtp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98523C24183001880BF /* mp4file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4file.cpp; path = libs/mp4v2/src/mp4file.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98623C24183001880BF /* qosqualifiers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = qosqualifiers.cpp; path = libs/mp4v2/src/qosqualifiers.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98723C24183001880BF /* atom_colr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_colr.cpp; path = libs/mp4v2/src/atom_colr.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98823C24183001880BF /* log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = log.cpp; path = libs/mp4v2/src/log.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98923C24183001880BF /* mp4atom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4atom.cpp; path = libs/mp4v2/src/mp4atom.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98A23C24183001880BF /* atom_mdhd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_mdhd.cpp; path = libs/mp4v2/src/atom_mdhd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98B23C24184001880BF /* atom_damr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_damr.cpp; path = libs/mp4v2/src/atom_damr.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98C23C24184001880BF /* atom_url.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_url.cpp; path = libs/mp4v2/src/atom_url.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98D23C24184001880BF /* atom_standard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_standard.cpp; path = libs/mp4v2/src/atom_standard.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98E23C24184001880BF /* atom_tx3g.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_tx3g.cpp; path = libs/mp4v2/src/atom_tx3g.cpp; sourceTree = SOURCE_ROOT; };
AD9CF98F23C24184001880BF /* atom_ohdr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_ohdr.cpp; path = libs/mp4v2/src/atom_ohdr.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99023C24184001880BF /* atom_mp4v.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_mp4v.cpp; path = libs/mp4v2/src/atom_mp4v.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99123C24184001880BF /* atom_uuid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_uuid.cpp; path = libs/mp4v2/src/atom_uuid.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99223C24184001880BF /* atom_video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_video.cpp; path = libs/mp4v2/src/atom_video.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99323C24184001880BF /* mp4track.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4track.cpp; path = libs/mp4v2/src/mp4track.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99423C24184001880BF /* mp4util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4util.cpp; path = libs/mp4v2/src/mp4util.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99523C24185001880BF /* atom_rtp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_rtp.cpp; path = libs/mp4v2/src/atom_rtp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99623C24185001880BF /* atom_hnti.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_hnti.cpp; path = libs/mp4v2/src/atom_hnti.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99723C24185001880BF /* atom_amr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_amr.cpp; path = libs/mp4v2/src/atom_amr.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99823C24185001880BF /* atom_sdp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_sdp.cpp; path = libs/mp4v2/src/atom_sdp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99923C24185001880BF /* atom_stsd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_stsd.cpp; path = libs/mp4v2/src/atom_stsd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99A23C24185001880BF /* atom_avcC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_avcC.cpp; path = libs/mp4v2/src/atom_avcC.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99B23C24185001880BF /* atom_sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_sound.cpp; path = libs/mp4v2/src/atom_sound.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99C23C24185001880BF /* atom_mdat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_mdat.cpp; path = libs/mp4v2/src/atom_mdat.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99D23C24185001880BF /* generic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = generic.cpp; path = libs/mp4v2/src/itmf/generic.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99E23C24185001880BF /* atom_treftype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_treftype.cpp; path = libs/mp4v2/src/atom_treftype.cpp; sourceTree = SOURCE_ROOT; };
AD9CF99F23C24186001880BF /* atom_enca.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_enca.cpp; path = libs/mp4v2/src/atom_enca.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A023C24186001880BF /* mp4container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4container.cpp; path = libs/mp4v2/src/mp4container.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A123C24186001880BF /* mp4info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4info.cpp; path = libs/mp4v2/src/mp4info.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A223C24186001880BF /* atom_nmhd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_nmhd.cpp; path = libs/mp4v2/src/atom_nmhd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A323C24186001880BF /* mp4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4.cpp; path = libs/mp4v2/src/mp4.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A423C24186001880BF /* atom_smi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_smi.cpp; path = libs/mp4v2/src/atom_smi.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A523C24186001880BF /* atom_stbl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_stbl.cpp; path = libs/mp4v2/src/atom_stbl.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A623C24186001880BF /* rtphint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rtphint.cpp; path = libs/mp4v2/src/rtphint.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A723C24186001880BF /* Tags.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tags.cpp; path = libs/mp4v2/src/itmf/Tags.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A823C24187001880BF /* exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception.cpp; path = libs/mp4v2/src/exception.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9A923C24187001880BF /* atom_elst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_elst.cpp; path = libs/mp4v2/src/atom_elst.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9AA23C24187001880BF /* atom_avc1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_avc1.cpp; path = libs/mp4v2/src/atom_avc1.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9AB23C24187001880BF /* isma.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = isma.cpp; path = libs/mp4v2/src/isma.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9AC23C24187001880BF /* atom_dref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_dref.cpp; path = libs/mp4v2/src/atom_dref.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9AD23C24187001880BF /* atom_s263.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_s263.cpp; path = libs/mp4v2/src/atom_s263.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9AE23C24187001880BF /* ColorParameterBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ColorParameterBox.cpp; path = libs/mp4v2/src/qtff/ColorParameterBox.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9AF23C24187001880BF /* 3gp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = 3gp.cpp; path = libs/mp4v2/src/3gp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B023C24187001880BF /* atom_stdp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_stdp.cpp; path = libs/mp4v2/src/atom_stdp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B123C24187001880BF /* atom_ftyp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_ftyp.cpp; path = libs/mp4v2/src/atom_ftyp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B223C24188001880BF /* atom_stz2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_stz2.cpp; path = libs/mp4v2/src/atom_stz2.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B323C24188001880BF /* atom_hdlr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_hdlr.cpp; path = libs/mp4v2/src/atom_hdlr.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B423C24188001880BF /* atom_d263.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_d263.cpp; path = libs/mp4v2/src/atom_d263.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B523C24188001880BF /* atom_vmhd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_vmhd.cpp; path = libs/mp4v2/src/atom_vmhd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B623C24188001880BF /* descriptors.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = descriptors.cpp; path = libs/mp4v2/src/descriptors.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B723C24188001880BF /* mp4descriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4descriptor.cpp; path = libs/mp4v2/src/mp4descriptor.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B823C24188001880BF /* atom_free.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_free.cpp; path = libs/mp4v2/src/atom_free.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9B923C24188001880BF /* atom_ftab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_ftab.cpp; path = libs/mp4v2/src/atom_ftab.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9BA23C24188001880BF /* atom_udta.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_udta.cpp; path = libs/mp4v2/src/atom_udta.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9BB23C24188001880BF /* atom_urn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_urn.cpp; path = libs/mp4v2/src/atom_urn.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9BC23C24189001880BF /* atom_chpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_chpl.cpp; path = libs/mp4v2/src/atom_chpl.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9BD23C24189001880BF /* atom_gmin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_gmin.cpp; path = libs/mp4v2/src/atom_gmin.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9BE23C24189001880BF /* atom_hinf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_hinf.cpp; path = libs/mp4v2/src/atom_hinf.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9BF23C24189001880BF /* atom_meta.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_meta.cpp; path = libs/mp4v2/src/atom_meta.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C023C24189001880BF /* atom_mp4s.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_mp4s.cpp; path = libs/mp4v2/src/atom_mp4s.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C123C24189001880BF /* atom_stsc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_stsc.cpp; path = libs/mp4v2/src/atom_stsc.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C223C24189001880BF /* PictureAspectRatioBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PictureAspectRatioBox.cpp; path = libs/mp4v2/src/qtff/PictureAspectRatioBox.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C323C24189001880BF /* atom_tkhd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_tkhd.cpp; path = libs/mp4v2/src/atom_tkhd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C423C24189001880BF /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = text.cpp; path = libs/mp4v2/src/text.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C523C24189001880BF /* atom_href.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_href.cpp; path = libs/mp4v2/src/atom_href.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C623C2418A001880BF /* atom_ac3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_ac3.cpp; path = libs/mp4v2/src/atom_ac3.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C723C2418A001880BF /* atom_pasp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_pasp.cpp; path = libs/mp4v2/src/atom_pasp.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C823C2418A001880BF /* cmeta.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cmeta.cpp; path = libs/mp4v2/src/cmeta.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9C923C2418A001880BF /* typebmff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = typebmff.cpp; path = libs/mp4v2/src/bmff/typebmff.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9CA23C2418A001880BF /* CoverArtBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CoverArtBox.cpp; path = libs/mp4v2/src/itmf/CoverArtBox.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9CB23C2418A001880BF /* atom_text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_text.cpp; path = libs/mp4v2/src/atom_text.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9CC23C2418A001880BF /* atom_dac3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_dac3.cpp; path = libs/mp4v2/src/atom_dac3.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9CD23C2418A001880BF /* atom_mvhd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_mvhd.cpp; path = libs/mp4v2/src/atom_mvhd.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9CE23C2418A001880BF /* atom_trun.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_trun.cpp; path = libs/mp4v2/src/atom_trun.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9CF23C2418A001880BF /* mp4property.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4property.cpp; path = libs/mp4v2/src/mp4property.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D023C2418B001880BF /* ocidescriptors.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ocidescriptors.cpp; path = libs/mp4v2/src/ocidescriptors.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D123C2418B001880BF /* odcommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = odcommands.cpp; path = libs/mp4v2/src/odcommands.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D223C2418B001880BF /* atom_stsz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_stsz.cpp; path = libs/mp4v2/src/atom_stsz.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D323C2418B001880BF /* coding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = coding.cpp; path = libs/mp4v2/src/qtff/coding.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D423C2418B001880BF /* mp4file_io.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mp4file_io.cpp; path = libs/mp4v2/src/mp4file_io.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D523C2418B001880BF /* atom_encv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = atom_encv.cpp; path = libs/mp4v2/src/atom_encv.cpp; sourceTree = SOURCE_ROOT; };
AD9CF9D623C2418B001880BF /* type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = type.cpp; path = libs/mp4v2/src/itmf/type.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8123C241C2001880BF /* random_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = random_posix.cpp; path = libs/mp4v2/libplatform/number/random_posix.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8223C241C2001880BF /* error.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = error.cpp; path = libs/mp4v2/libplatform/sys/error.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8323C241C2001880BF /* process_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = process_posix.cpp; path = libs/mp4v2/libplatform/process/process_posix.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8423C241C2001880BF /* File_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = File_posix.cpp; path = libs/mp4v2/libplatform/io/File_posix.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8523C241C2001880BF /* time.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = time.cpp; path = libs/mp4v2/libplatform/time/time.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8623C241C2001880BF /* FileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileSystem.cpp; path = libs/mp4v2/libplatform/io/FileSystem.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8723C241C2001880BF /* time_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = time_posix.cpp; path = libs/mp4v2/libplatform/time/time_posix.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8823C241C2001880BF /* File.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = File.cpp; path = libs/mp4v2/libplatform/io/File.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8923C241C3001880BF /* option.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = option.cpp; path = libs/mp4v2/libplatform/prog/option.cpp; sourceTree = SOURCE_ROOT; };
AD9CFA8A23C241C3001880BF /* FileSystem_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileSystem_posix.cpp; path = libs/mp4v2/libplatform/io/FileSystem_posix.cpp; sourceTree = SOURCE_ROOT; };
ADA2A57622BE8D8E00C6B6C9 /* node_tool_bucket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = node_tool_bucket.cpp; sourceTree = "<group>"; };
ADA2A57722BE8D8E00C6B6C9 /* node_tool_bucket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_tool_bucket.h; sourceTree = "<group>"; };
ADA3ABF4222C8C350083B825 /* node_panel_quick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = node_panel_quick.cpp; sourceTree = "<group>"; };
ADA3ABF5222C8C370083B825 /* node_panel_quick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_panel_quick.h; sourceTree = "<group>"; };
ADA6C9F8236AFC5700116746 /* libmp4v2.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libmp4v2.2.dylib; path = libs/mp4v2/lib/osx/libmp4v2.2.dylib; sourceTree = "<group>"; };
ADA6C9FB236AFCA700116746 /* libopenh264-2.0.0-osx64.5.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libopenh264-2.0.0-osx64.5.dylib"; path = "libs/openh264/lib/libopenh264-2.0.0-osx64.5.dylib"; sourceTree = "<group>"; };
ADA6C9FE236B06A100116746 /* libyuv-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libyuv-ios.a"; path = "libs/libyuv/lib/ios/libyuv-ios.a"; sourceTree = "<group>"; };
ADA6CA00236B06AE00116746 /* libyuv.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libyuv.a; path = libs/libyuv/lib/osx/libyuv.a; sourceTree = "<group>"; };
@@ -535,8 +814,6 @@
ADAECC912367922B00709FCC /* event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = event.cpp; path = libs/yoga/yoga/event/event.cpp; sourceTree = SOURCE_ROOT; };
ADAECC922367922B00709FCC /* experiments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = experiments.cpp; path = libs/yoga/yoga/internal/experiments.cpp; sourceTree = SOURCE_ROOT; };
ADAECCA82367DE0900709FCC /* libopenh264-2.0.0-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopenh264-2.0.0-ios.a"; path = "libs/openh264/lib/libopenh264-2.0.0-ios.a"; sourceTree = "<group>"; };
ADAECCB22367E61500709FCC /* libmp4v2-armv7.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmp4v2-armv7.a"; path = "libs/mp4v2/lib/ios/libmp4v2-armv7.a"; sourceTree = "<group>"; };
ADAECCB32367E61500709FCC /* libmp4v2-arm64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmp4v2-arm64.a"; path = "libs/mp4v2/lib/ios/libmp4v2-arm64.a"; sourceTree = "<group>"; };
ADB1C3D81EA3A156009A65BD /* event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = event.cpp; sourceTree = "<group>"; };
ADB1C3D91EA3A156009A65BD /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event.h; sourceTree = "<group>"; };
ADB1C3DB1EA531B0009A65BD /* keymap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keymap.h; sourceTree = "<group>"; };
@@ -638,7 +915,6 @@
AD30D82F1F783E0100B6A112 /* libcurl.4.tbd in Frameworks */,
AD0E5CB11ECC726C00C35669 /* OpenGL.framework in Frameworks */,
AD46901E22FF4328003DA1A6 /* AppCenterAnalytics.framework in Frameworks */,
ADA6C9F9236AFC5800116746 /* libmp4v2.2.dylib in Frameworks */,
AD0E5CB01ECC726400C35669 /* Cocoa.framework in Frameworks */,
AD0E5CAF1ECC726000C35669 /* CoreFoundation.framework in Frameworks */,
ADF396DD216F749200024722 /* AppKit.framework in Frameworks */,
@@ -675,12 +951,10 @@
AD46901922FF431A003DA1A6 /* AppCenterAnalytics.framework in Frameworks */,
ADC8F783216678270084ECAD /* MobileCoreServices.framework in Frameworks */,
ADC8F784216678270084ECAD /* SystemConfiguration.framework in Frameworks */,
ADAECCB52367E61500709FCC /* libmp4v2-arm64.a in Frameworks */,
ADE0863321239D0700945972 /* Accelerate.framework in Frameworks */,
ADE0863121239CDA00945972 /* MediaPlayer.framework in Frameworks */,
ADE0862F21239C9200945972 /* AudioToolbox.framework in Frameworks */,
AD3087C82061D1CD009F9260 /* CoreGraphics.framework in Frameworks */,
ADAECCB42367E61500709FCC /* libmp4v2-armv7.a in Frameworks */,
AD3087C62061D1B4009F9260 /* CoreVideo.framework in Frameworks */,
AD3087C2205F016F009F9260 /* AVFoundation.framework in Frameworks */,
AD46901722FF4319003DA1A6 /* AppCenter.framework in Frameworks */,
@@ -713,8 +987,6 @@
isa = PBXGroup;
children = (
ADA6C9FE236B06A100116746 /* libyuv-ios.a */,
ADAECCB32367E61500709FCC /* libmp4v2-arm64.a */,
ADAECCB22367E61500709FCC /* libmp4v2-armv7.a */,
ADAECCA82367DE0900709FCC /* libopenh264-2.0.0-ios.a */,
AD46901422FF4319003DA1A6 /* AppCenter.framework */,
AD46901622FF4319003DA1A6 /* AppCenterAnalytics.framework */,
@@ -737,7 +1009,6 @@
isa = PBXGroup;
children = (
ADA6CA00236B06AE00116746 /* libyuv.a */,
ADA6C9F8236AFC5700116746 /* libmp4v2.2.dylib */,
ADA6C9FB236AFCA700116746 /* libopenh264-2.0.0-osx64.5.dylib */,
AD46901C22FF4328003DA1A6 /* AppCenter.framework */,
AD46901B22FF4327003DA1A6 /* AppCenterAnalytics.framework */,
@@ -1009,6 +1280,7 @@
AD58E0731E3421CB006ACC15 /* libs */ = {
isa = PBXGroup;
children = (
AD9CF76A23C22746001880BF /* mp4v2 */,
AD7FB05B223E8978005913AB /* yoga */,
AD439B5F2210F421006EAE8E /* format.cc */,
ADC6B6C6216E0DB600DED870 /* sqlite3 */,
@@ -1095,6 +1367,109 @@
path = yoga;
sourceTree = "<group>";
};
AD9CF76A23C22746001880BF /* mp4v2 */ = {
isa = PBXGroup;
children = (
AD9CFA8223C241C2001880BF /* error.cpp */,
AD9CFA8423C241C2001880BF /* File_posix.cpp */,
AD9CFA8823C241C2001880BF /* File.cpp */,
AD9CFA8A23C241C3001880BF /* FileSystem_posix.cpp */,
AD9CFA8623C241C2001880BF /* FileSystem.cpp */,
AD9CFA8923C241C3001880BF /* option.cpp */,
AD9CFA8323C241C2001880BF /* process_posix.cpp */,
AD9CFA8123C241C2001880BF /* random_posix.cpp */,
AD9CFA8723C241C2001880BF /* time_posix.cpp */,
AD9CFA8523C241C2001880BF /* time.cpp */,
AD9CF9AF23C24187001880BF /* 3gp.cpp */,
AD9CF9C623C2418A001880BF /* atom_ac3.cpp */,
AD9CF99723C24185001880BF /* atom_amr.cpp */,
AD9CF9AA23C24187001880BF /* atom_avc1.cpp */,
AD9CF99A23C24185001880BF /* atom_avcC.cpp */,
AD9CF9BC23C24189001880BF /* atom_chpl.cpp */,
AD9CF98723C24183001880BF /* atom_colr.cpp */,
AD9CF9B423C24188001880BF /* atom_d263.cpp */,
AD9CF9CC23C2418A001880BF /* atom_dac3.cpp */,
AD9CF98B23C24184001880BF /* atom_damr.cpp */,
AD9CF9AC23C24187001880BF /* atom_dref.cpp */,
AD9CF9A923C24187001880BF /* atom_elst.cpp */,
AD9CF99F23C24186001880BF /* atom_enca.cpp */,
AD9CF9D523C2418B001880BF /* atom_encv.cpp */,
AD9CF9B823C24188001880BF /* atom_free.cpp */,
AD9CF9B923C24188001880BF /* atom_ftab.cpp */,
AD9CF9B123C24187001880BF /* atom_ftyp.cpp */,
AD9CF9BD23C24189001880BF /* atom_gmin.cpp */,
AD9CF9B323C24188001880BF /* atom_hdlr.cpp */,
AD9CF9BE23C24189001880BF /* atom_hinf.cpp */,
AD9CF99623C24185001880BF /* atom_hnti.cpp */,
AD9CF9C523C24189001880BF /* atom_href.cpp */,
AD9CF99C23C24185001880BF /* atom_mdat.cpp */,
AD9CF98A23C24183001880BF /* atom_mdhd.cpp */,
AD9CF9BF23C24189001880BF /* atom_meta.cpp */,
AD9CF9C023C24189001880BF /* atom_mp4s.cpp */,
AD9CF99023C24184001880BF /* atom_mp4v.cpp */,
AD9CF9CD23C2418A001880BF /* atom_mvhd.cpp */,
AD9CF9A223C24186001880BF /* atom_nmhd.cpp */,
AD9CF98F23C24184001880BF /* atom_ohdr.cpp */,
AD9CF9C723C2418A001880BF /* atom_pasp.cpp */,
AD9CF98323C24183001880BF /* atom_root.cpp */,
AD9CF99523C24185001880BF /* atom_rtp.cpp */,
AD9CF9AD23C24187001880BF /* atom_s263.cpp */,
AD9CF99823C24185001880BF /* atom_sdp.cpp */,
AD9CF98423C24183001880BF /* atom_sdtp.cpp */,
AD9CF9A423C24186001880BF /* atom_smi.cpp */,
AD9CF99B23C24185001880BF /* atom_sound.cpp */,
AD9CF98D23C24184001880BF /* atom_standard.cpp */,
AD9CF9A523C24186001880BF /* atom_stbl.cpp */,
AD9CF9B023C24187001880BF /* atom_stdp.cpp */,
AD9CF9C123C24189001880BF /* atom_stsc.cpp */,
AD9CF99923C24185001880BF /* atom_stsd.cpp */,
AD9CF9D223C2418B001880BF /* atom_stsz.cpp */,
AD9CF9B223C24188001880BF /* atom_stz2.cpp */,
AD9CF9CB23C2418A001880BF /* atom_text.cpp */,
AD9CF98223C24183001880BF /* atom_tfhd.cpp */,
AD9CF9C323C24189001880BF /* atom_tkhd.cpp */,
AD9CF99E23C24185001880BF /* atom_treftype.cpp */,
AD9CF9CE23C2418A001880BF /* atom_trun.cpp */,
AD9CF98E23C24184001880BF /* atom_tx3g.cpp */,
AD9CF9BA23C24188001880BF /* atom_udta.cpp */,
AD9CF98C23C24184001880BF /* atom_url.cpp */,
AD9CF9BB23C24188001880BF /* atom_urn.cpp */,
AD9CF99123C24184001880BF /* atom_uuid.cpp */,
AD9CF99223C24184001880BF /* atom_video.cpp */,
AD9CF9B523C24188001880BF /* atom_vmhd.cpp */,
AD9CF9C823C2418A001880BF /* cmeta.cpp */,
AD9CF9D323C2418B001880BF /* coding.cpp */,
AD9CF9AE23C24187001880BF /* ColorParameterBox.cpp */,
AD9CF9CA23C2418A001880BF /* CoverArtBox.cpp */,
AD9CF9B623C24188001880BF /* descriptors.cpp */,
AD9CF9A823C24187001880BF /* exception.cpp */,
AD9CF99D23C24185001880BF /* generic.cpp */,
AD9CF9AB23C24187001880BF /* isma.cpp */,
AD9CF98823C24183001880BF /* log.cpp */,
AD9CF9A323C24186001880BF /* mp4.cpp */,
AD9CF98923C24183001880BF /* mp4atom.cpp */,
AD9CF9A023C24186001880BF /* mp4container.cpp */,
AD9CF9B723C24188001880BF /* mp4descriptor.cpp */,
AD9CF9D423C2418B001880BF /* mp4file_io.cpp */,
AD9CF98523C24183001880BF /* mp4file.cpp */,
AD9CF9A123C24186001880BF /* mp4info.cpp */,
AD9CF9CF23C2418A001880BF /* mp4property.cpp */,
AD9CF99323C24184001880BF /* mp4track.cpp */,
AD9CF99423C24184001880BF /* mp4util.cpp */,
AD9CF9D023C2418B001880BF /* ocidescriptors.cpp */,
AD9CF9D123C2418B001880BF /* odcommands.cpp */,
AD9CF9C223C24189001880BF /* PictureAspectRatioBox.cpp */,
AD9CF98623C24183001880BF /* qosqualifiers.cpp */,
AD9CF9A623C24186001880BF /* rtphint.cpp */,
AD9CF9A723C24186001880BF /* Tags.cpp */,
AD9CF9C423C24189001880BF /* text.cpp */,
AD9CF9D623C2418B001880BF /* type.cpp */,
AD9CF9C923C2418A001880BF /* typebmff.cpp */,
);
name = mp4v2;
path = ../dev/mp4v2/mp4v2;
sourceTree = "<group>";
};
ADC6B6C6216E0DB600DED870 /* sqlite3 */ = {
isa = PBXGroup;
children = (
@@ -1530,35 +1905,77 @@
buildActionMask = 2147483647;
files = (
ADE4911F1F86E65E00FB8E92 /* sweep.cc in Sources */,
AD9CFA5E23C2418C001880BF /* atom_href.cpp in Sources */,
AD0E5CB91ECC72AD00C35669 /* node_border.cpp in Sources */,
ADF6C5832231EB5E0097BFD9 /* binary_stream.cpp in Sources */,
AD9CFA9623C241C3001880BF /* FileSystem.cpp in Sources */,
AD9CFA7423C2418C001880BF /* ocidescriptors.cpp in Sources */,
AD7FB07E223E8A42005913AB /* YGNodePrint.cpp in Sources */,
AD0E5CC81ECC72AD00C35669 /* node_popup_menu.cpp in Sources */,
AD7FB08A223E8A43005913AB /* Utils.cpp in Sources */,
AD9CFA5423C2418B001880BF /* atom_mp4s.cpp in Sources */,
AD0E5CB71ECC72AD00C35669 /* layout.cpp in Sources */,
AD9CFA0823C2418B001880BF /* atom_avcC.cpp in Sources */,
AD9CFA2623C2418B001880BF /* atom_elst.cpp in Sources */,
AD9CFA4E23C2418B001880BF /* atom_gmin.cpp in Sources */,
ADEBA9062069A4F40085AE16 /* objc_utils.cpp in Sources */,
AD7FB09022470C75005913AB /* node_panel_floating.cpp in Sources */,
AD9CFA9823C241C3001880BF /* time_posix.cpp in Sources */,
AD9CFA0023C2418B001880BF /* atom_hnti.cpp in Sources */,
AD9CFA5C23C2418C001880BF /* text.cpp in Sources */,
AD0E5CB41ECC72AD00C35669 /* tinyxml2.cpp in Sources */,
ADA3ABF7222C8C370083B825 /* node_panel_quick.cpp in Sources */,
AD9CFA4023C2418B001880BF /* descriptors.cpp in Sources */,
AD9CFA7223C2418C001880BF /* mp4property.cpp in Sources */,
AD9CFA2023C2418B001880BF /* rtphint.cpp in Sources */,
AD9CFA3023C2418B001880BF /* ColorParameterBox.cpp in Sources */,
AD9CFA2C23C2418B001880BF /* atom_dref.cpp in Sources */,
AD0E5CD81ECC72AD00C35669 /* canvas_modes.cpp in Sources */,
AD9CF9EA23C2418B001880BF /* atom_damr.cpp in Sources */,
AD9CF9D823C2418B001880BF /* atom_tfhd.cpp in Sources */,
AD9CFA4C23C2418B001880BF /* atom_chpl.cpp in Sources */,
AD7FB088223E8A43005913AB /* YGEnums.cpp in Sources */,
AD9CFA3C23C2418B001880BF /* atom_d263.cpp in Sources */,
AD9CFA1623C2418B001880BF /* mp4info.cpp in Sources */,
AD9CFA1A23C2418B001880BF /* mp4.cpp in Sources */,
AD0E5CA31ECC6F2B00C35669 /* main.cpp in Sources */,
ADE86C14239472A1006A52C5 /* node_shorcuts.cpp in Sources */,
AD9CF9F423C2418B001880BF /* atom_mp4v.cpp in Sources */,
AD9CFA1C23C2418B001880BF /* atom_smi.cpp in Sources */,
AD9CFA1223C2418B001880BF /* atom_enca.cpp in Sources */,
AD0E5CB21ECC72AD00C35669 /* jpge.cpp in Sources */,
AD9CF9E223C2418B001880BF /* atom_colr.cpp in Sources */,
AD9CFA3223C2418B001880BF /* 3gp.cpp in Sources */,
ADDC18C622B43004008D7F60 /* canvas_layer.cpp in Sources */,
AD9CFA1E23C2418B001880BF /* atom_stbl.cpp in Sources */,
ADC6F4681F3E66FB004177FA /* app_dialogs.cpp in Sources */,
ADE22BE7211904AB00D5F44B /* node_panel_grid.cpp in Sources */,
AD9CF9FA23C2418B001880BF /* mp4track.cpp in Sources */,
AD0E5CD21ECC72AD00C35669 /* app_events.cpp in Sources */,
ADDC18C822B43004008D7F60 /* canvas_actions.cpp in Sources */,
AD9CF9DE23C2418B001880BF /* mp4file.cpp in Sources */,
AD9CFA0E23C2418B001880BF /* generic.cpp in Sources */,
AD0E5CD11ECC72AD00C35669 /* app.cpp in Sources */,
AD0E5CC21ECC72AD00C35669 /* node_image.cpp in Sources */,
AD43268221599A5B006DE7F6 /* node_usermanual.cpp in Sources */,
AD9CF9E823C2418B001880BF /* atom_mdhd.cpp in Sources */,
ADBC8C4F1FAE7D370094B339 /* node_dialog_browse.cpp in Sources */,
AD9CFA6E23C2418C001880BF /* atom_mvhd.cpp in Sources */,
AD9CFA0223C2418B001880BF /* atom_amr.cpp in Sources */,
AD9CFA6823C2418C001880BF /* CoverArtBox.cpp in Sources */,
AD9CFA9023C241C3001880BF /* process_posix.cpp in Sources */,
AD7FB09322470DE5005913AB /* app_vr.cpp in Sources */,
ADD6AFD71F94DEB000E92461 /* node_progress_bar.cpp in Sources */,
AD0E5CDB1ECC72AD00C35669 /* font.cpp in Sources */,
AD9CFA3A23C2418B001880BF /* atom_hdlr.cpp in Sources */,
AD9CF9FC23C2418B001880BF /* mp4util.cpp in Sources */,
AD9CFA7623C2418C001880BF /* odcommands.cpp in Sources */,
ADBC8C561FAFD0530094B339 /* app_cloud.cpp in Sources */,
AD9CFA4A23C2418B001880BF /* atom_urn.cpp in Sources */,
AD9CFA7E23C2418C001880BF /* atom_encv.cpp in Sources */,
AD9CFA7A23C2418C001880BF /* coding.cpp in Sources */,
ADAECC942367922B00709FCC /* event.cpp in Sources */,
AD9CFA6623C2418C001880BF /* typebmff.cpp in Sources */,
AD7FB084223E8A43005913AB /* YGConfig.cpp in Sources */,
ADEF1F1A235BB2F30043D5C4 /* node_panel_animation.cpp in Sources */,
ADAECC962367922B00709FCC /* experiments.cpp in Sources */,
@@ -1567,67 +1984,120 @@
AD0E5CCB1ECC72AD00C35669 /* node_scroll.cpp in Sources */,
AD0E5CBF1ECC72AD00C35669 /* node_dialog_open.cpp in Sources */,
AD83A0DE232AD26F005B0871 /* node_dialog_export_ppbr.cpp in Sources */,
AD9CFA4223C2418B001880BF /* mp4descriptor.cpp in Sources */,
AD9CF9F223C2418B001880BF /* atom_ohdr.cpp in Sources */,
AD9CFA1823C2418B001880BF /* atom_nmhd.cpp in Sources */,
ADE4911B1F86E65E00FB8E92 /* advancing_front.cc in Sources */,
AD9CFA3E23C2418B001880BF /* atom_vmhd.cpp in Sources */,
AD0E5CE31ECC72AD00C35669 /* util.cpp in Sources */,
AD9CFA0C23C2418B001880BF /* atom_mdat.cpp in Sources */,
AD0E5CD51ECC72AD00C35669 /* asset.cpp in Sources */,
AD0E5CCA1ECC72AD00C35669 /* node_slider.cpp in Sources */,
AD0E5CCE1ECC72AD00C35669 /* node_text.cpp in Sources */,
AD9CF9DA23C2418B001880BF /* atom_root.cpp in Sources */,
AD0E5CDC1ECC72AD00C35669 /* image.cpp in Sources */,
AD2286C2214E9A0F0074567E /* version.cpp in Sources */,
AD60AC18215799D000A380E9 /* node_changelog.cpp in Sources */,
AD0E5CE01ECC72AD00C35669 /* shader.cpp in Sources */,
ADC0EB3F1FBDC748004079BB /* node_colorwheel.cpp in Sources */,
AD9CFA9E23C241C3001880BF /* FileSystem_posix.cpp in Sources */,
AD9CFA2E23C2418B001880BF /* atom_s263.cpp in Sources */,
AD9CFA2223C2418B001880BF /* Tags.cpp in Sources */,
AD7FB082223E8A43005913AB /* YGNode.cpp in Sources */,
AD7FB08C223E8A43005913AB /* YGValue.cpp in Sources */,
AD9CF9E423C2418B001880BF /* log.cpp in Sources */,
AD9CFA4823C2418B001880BF /* atom_udta.cpp in Sources */,
AD0E5CDD1ECC72AD00C35669 /* log.cpp in Sources */,
AD9CFA6423C2418C001880BF /* cmeta.cpp in Sources */,
AD9CFA5A23C2418C001880BF /* atom_tkhd.cpp in Sources */,
AD0E5CD61ECC72AD00C35669 /* bezier.cpp in Sources */,
ADE4911D1F86E65E00FB8E92 /* shapes.cc in Sources */,
AD9CFA9423C241C3001880BF /* time.cpp in Sources */,
AD9CFA5823C2418C001880BF /* PictureAspectRatioBox.cpp in Sources */,
AD9CFA8C23C241C3001880BF /* random_posix.cpp in Sources */,
AD9CFA5023C2418B001880BF /* atom_hinf.cpp in Sources */,
ADC0EB441FC36E88004079BB /* node_dialog_picker.cpp in Sources */,
AD0E5CC51ECC72AD00C35669 /* node_panel_color.cpp in Sources */,
AD9CFA4623C2418B001880BF /* atom_ftab.cpp in Sources */,
AD0E5CD71ECC72AD00C35669 /* brush.cpp in Sources */,
AD439B612210F56F006EAE8E /* format.cc in Sources */,
AD9CFA8E23C241C3001880BF /* error.cpp in Sources */,
AD7403101FB9D0D4004ACFCC /* node_combobox.cpp in Sources */,
AD0E5CBE1ECC72AD00C35669 /* node_color_quad.cpp in Sources */,
AD9CFA9C23C241C3001880BF /* option.cpp in Sources */,
AD0E5CE11ECC72AD00C35669 /* shape.cpp in Sources */,
AD7FB07A223E8A42005913AB /* Yoga.cpp in Sources */,
AD0E5CDF1ECC72AD00C35669 /* rtt.cpp in Sources */,
AD9CFA7023C2418C001880BF /* atom_trun.cpp in Sources */,
AD02F0C41EDC457C00B2E692 /* sequencer.cpp in Sources */,
AD0E5CCD1ECC72AD00C35669 /* node_text_input.cpp in Sources */,
AD0E5CE21ECC72AD00C35669 /* texture.cpp in Sources */,
AD9CFA7C23C2418C001880BF /* mp4file_io.cpp in Sources */,
ADF6C5852231EB5E0097BFD9 /* serializer.cpp in Sources */,
AD0E5CCC1ECC72AD00C35669 /* node_stroke_preview.cpp in Sources */,
AD0E5CDE1ECC72AD00C35669 /* pch.cpp in Sources */,
AD9CFA9223C241C3001880BF /* File_posix.cpp in Sources */,
AD0E5CCF1ECC72AD00C35669 /* node_viewport.cpp in Sources */,
AD0E5CB31ECC72AD00C35669 /* jpgd.cpp in Sources */,
ADA2A57922BE8D8E00C6B6C9 /* node_tool_bucket.cpp in Sources */,
AD9CFA0423C2418B001880BF /* atom_sdp.cpp in Sources */,
AD9CF9DC23C2418B001880BF /* atom_sdtp.cpp in Sources */,
AD0E5CD31ECC72AD00C35669 /* app_layout.cpp in Sources */,
AD0E5CC71ECC72AD00C35669 /* node_panel_stroke.cpp in Sources */,
ADE86C0E2390ABCF006A52C5 /* node_metadata.cpp in Sources */,
AD9CF9F823C2418B001880BF /* atom_video.cpp in Sources */,
AD0E5CC61ECC72AD00C35669 /* node_panel_layer.cpp in Sources */,
AD0E5CBA1ECC72AD00C35669 /* node_button_custom.cpp in Sources */,
AD9CFA6023C2418C001880BF /* atom_ac3.cpp in Sources */,
AD7FB078223E8A42005913AB /* YGStyle.cpp in Sources */,
AD9CFA5623C2418B001880BF /* atom_stsc.cpp in Sources */,
AD9CFA3823C2418B001880BF /* atom_stz2.cpp in Sources */,
AD439B652210F61B006EAE8E /* abr.cpp in Sources */,
AD0E5CC31ECC72AD00C35669 /* node_message_box.cpp in Sources */,
ADC6F4631F3AFF2D004177FA /* node_dialog_layer_rename.cpp in Sources */,
AD9CFA9A23C241C3001880BF /* File.cpp in Sources */,
AD9CFA6223C2418C001880BF /* atom_pasp.cpp in Sources */,
AD9CFA8023C2418C001880BF /* type.cpp in Sources */,
AD9CFA0A23C2418B001880BF /* atom_sound.cpp in Sources */,
AD9CF9E023C2418B001880BF /* qosqualifiers.cpp in Sources */,
AD0E5CC41ECC72AD00C35669 /* node_panel_brush.cpp in Sources */,
AD9CF9F023C2418B001880BF /* atom_tx3g.cpp in Sources */,
AD9CFA0623C2418B001880BF /* atom_stsd.cpp in Sources */,
ADE4911C1F86E65E00FB8E92 /* cdt.cc in Sources */,
AD0E5CBC1ECC72AD00C35669 /* node_canvas.cpp in Sources */,
AD0E5CD01ECC72AD00C35669 /* action.cpp in Sources */,
AD0E5CC01ECC72AD00C35669 /* node_icon.cpp in Sources */,
AD9CFA2A23C2418B001880BF /* isma.cpp in Sources */,
AD9CFA4423C2418B001880BF /* atom_free.cpp in Sources */,
AD0E5CC11ECC72AD00C35669 /* node_image_texture.cpp in Sources */,
ADA6CA04236BAF1B00116746 /* mp4enc.cpp in Sources */,
AD9CFA2823C2418B001880BF /* atom_avc1.cpp in Sources */,
AD9CF9EC23C2418B001880BF /* atom_url.cpp in Sources */,
ADF4F7762263920400422C7C /* settings.cpp in Sources */,
AD9CFA7823C2418C001880BF /* atom_stsz.cpp in Sources */,
AD9CF9EE23C2418B001880BF /* atom_standard.cpp in Sources */,
AD83A0DA232A793A005B0871 /* node_input_box.cpp in Sources */,
AD9CF9E623C2418B001880BF /* mp4atom.cpp in Sources */,
AD0E5CBD1ECC72AD00C35669 /* node_checkbox.cpp in Sources */,
ADBC8C581FAFD05A0094B339 /* node_dialog_cloud.cpp in Sources */,
AD7FB086223E8A43005913AB /* YGLayout.cpp in Sources */,
AD0E5CC91ECC72AD00C35669 /* node_settings.cpp in Sources */,
AD9CF9F623C2418B001880BF /* atom_uuid.cpp in Sources */,
AD9CFA1423C2418B001880BF /* mp4container.cpp in Sources */,
AD9CFA2423C2418B001880BF /* exception.cpp in Sources */,
AD9CFA3623C2418B001880BF /* atom_ftyp.cpp in Sources */,
AD9CFA3423C2418B001880BF /* atom_stdp.cpp in Sources */,
AD9CFA5223C2418B001880BF /* atom_meta.cpp in Sources */,
AD9CF9FE23C2418B001880BF /* atom_rtp.cpp in Sources */,
AD0E5CBB1ECC72AD00C35669 /* node_button.cpp in Sources */,
AD9CFA6A23C2418C001880BF /* atom_text.cpp in Sources */,
AD4CEF152156B2DA0097F4BD /* node_about.cpp in Sources */,
AD0E5CD41ECC72AD00C35669 /* app_shaders.cpp in Sources */,
AD9CFA6C23C2418C001880BF /* atom_dac3.cpp in Sources */,
AD0E5CD91ECC72AD00C35669 /* canvas.cpp in Sources */,
ADE4911E1F86E65E00FB8E92 /* sweep_context.cc in Sources */,
AD7FB07C223E8A42005913AB /* log.cpp in Sources */,
AD9CFA1023C2418B001880BF /* atom_treftype.cpp in Sources */,
ADE86C102390ABCF006A52C5 /* node_remote_page.cpp in Sources */,
AD0E5CB81ECC72AD00C35669 /* node.cpp in Sources */,
);
@@ -1653,36 +2123,65 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
AD9CFA0323C2418B001880BF /* atom_sdp.cpp in Sources */,
AD83A0D9232A7906005B0871 /* node_input_box.cpp in Sources */,
AD7FB07B223E8A42005913AB /* log.cpp in Sources */,
AD9CFA6F23C2418C001880BF /* atom_trun.cpp in Sources */,
AD9CFA8D23C241C3001880BF /* error.cpp in Sources */,
AD9CFA3523C2418B001880BF /* atom_ftyp.cpp in Sources */,
AD9CFA4123C2418B001880BF /* mp4descriptor.cpp in Sources */,
AD9CFA0D23C2418B001880BF /* generic.cpp in Sources */,
AD74030F1FB9D0D3004ACFCC /* node_combobox.cpp in Sources */,
ADBC8C571FAFD05A0094B339 /* node_dialog_cloud.cpp in Sources */,
ADD7D2951EBF9E1C00D5A897 /* bezier.cpp in Sources */,
AD1063A21EC7AE92002A525F /* node_panel_brush.cpp in Sources */,
ADEBA9092069A50E0085AE16 /* objc_utils.cpp in Sources */,
AD9CFA4523C2418B001880BF /* atom_ftab.cpp in Sources */,
AD0E11A51ECA61B900CDA6BB /* jpgd.cpp in Sources */,
ADE491181F86E65D00FB8E92 /* shapes.cc in Sources */,
AD9CFA7F23C2418C001880BF /* type.cpp in Sources */,
AD9CF9FB23C2418B001880BF /* mp4util.cpp in Sources */,
AD9CFA0923C2418B001880BF /* atom_sound.cpp in Sources */,
AD9CFA0723C2418B001880BF /* atom_avcC.cpp in Sources */,
ADD7D29E1EBF9E1C00D5A897 /* shape.cpp in Sources */,
ADD7D2901EBF9E1C00D5A897 /* canvas_modes.cpp in Sources */,
AD7FB079223E8A42005913AB /* Yoga.cpp in Sources */,
AD9CF9FF23C2418B001880BF /* atom_hnti.cpp in Sources */,
AD7FB083223E8A43005913AB /* YGConfig.cpp in Sources */,
ADE86C13239472A1006A52C5 /* node_shorcuts.cpp in Sources */,
AD9CFA9723C241C3001880BF /* time_posix.cpp in Sources */,
ADC6F4621F3AFF2C004177FA /* node_dialog_layer_rename.cpp in Sources */,
AD10639A1EC7AE92002A525F /* node_canvas.cpp in Sources */,
AD9CF9F523C2418B001880BF /* atom_uuid.cpp in Sources */,
ADD7D2A31EBFA06F00D5A897 /* tinyxml2.cpp in Sources */,
AD9CFA7323C2418C001880BF /* ocidescriptors.cpp in Sources */,
AD9CFA7123C2418C001880BF /* mp4property.cpp in Sources */,
AD9CFA1B23C2418B001880BF /* atom_smi.cpp in Sources */,
AD9CFA2723C2418B001880BF /* atom_avc1.cpp in Sources */,
AD10639B1EC7AE92002A525F /* node_checkbox.cpp in Sources */,
AD9CFA5723C2418C001880BF /* PictureAspectRatioBox.cpp in Sources */,
AD9CFA3923C2418B001880BF /* atom_hdlr.cpp in Sources */,
AD9CFA9323C241C3001880BF /* time.cpp in Sources */,
AD7FB08B223E8A43005913AB /* YGValue.cpp in Sources */,
ADAECC952367922B00709FCC /* experiments.cpp in Sources */,
AD9CF9DD23C2418B001880BF /* mp4file.cpp in Sources */,
AD60AC17215799D000A380E9 /* node_changelog.cpp in Sources */,
AD1063A61EC7AE92002A525F /* node_popup_menu.cpp in Sources */,
ADD7D29C1EBF9E1C00D5A897 /* shader.cpp in Sources */,
AD7FB089223E8A43005913AB /* Utils.cpp in Sources */,
ADD7D2921EBF9E1C00D5A897 /* action.cpp in Sources */,
AD9CFA2F23C2418B001880BF /* ColorParameterBox.cpp in Sources */,
AD9CFA0523C2418B001880BF /* atom_stsd.cpp in Sources */,
AD9CFA7923C2418C001880BF /* coding.cpp in Sources */,
ADF4F7752263920400422C7C /* settings.cpp in Sources */,
ADD7D29A1EBF9E1C00D5A897 /* pch.cpp in Sources */,
AD9CFA5923C2418C001880BF /* atom_tkhd.cpp in Sources */,
AD7FB077223E8A42005913AB /* YGStyle.cpp in Sources */,
AD10639E1EC7AE92002A525F /* node_icon.cpp in Sources */,
AD9CF9DB23C2418B001880BF /* atom_sdtp.cpp in Sources */,
AD9CF9FD23C2418B001880BF /* atom_rtp.cpp in Sources */,
AD7FB085223E8A43005913AB /* YGLayout.cpp in Sources */,
AD9CFA5523C2418B001880BF /* atom_stsc.cpp in Sources */,
AD1063A71EC7AE92002A525F /* node_settings.cpp in Sources */,
AD0E119E1ECA215600CDA6BB /* app_shaders.cpp in Sources */,
ADE491171F86E65D00FB8E92 /* cdt.cc in Sources */,
@@ -1693,68 +2192,134 @@
AD7FB07D223E8A42005913AB /* YGNodePrint.cpp in Sources */,
AD2286C3214E9A2B0074567E /* version.cpp in Sources */,
ADC0EB3E1FBDC748004079BB /* node_colorwheel.cpp in Sources */,
AD9CFA9923C241C3001880BF /* File.cpp in Sources */,
AD9CFA0B23C2418B001880BF /* atom_mdat.cpp in Sources */,
AD9CFA3D23C2418B001880BF /* atom_vmhd.cpp in Sources */,
AD7FB087223E8A43005913AB /* YGEnums.cpp in Sources */,
AD9CF9E723C2418B001880BF /* atom_mdhd.cpp in Sources */,
ADD6AFD81F94DEB000E92461 /* node_progress_bar.cpp in Sources */,
AD83A0DD232AD251005B0871 /* node_dialog_export_ppbr.cpp in Sources */,
AD9CFA1F23C2418B001880BF /* rtphint.cpp in Sources */,
AD0E119B1ECA215600CDA6BB /* node_scroll.cpp in Sources */,
ADDC18C522B43004008D7F60 /* canvas_layer.cpp in Sources */,
ADA3ABF6222C8C370083B825 /* node_panel_quick.cpp in Sources */,
AD439B642210F5EA006EAE8E /* abr.cpp in Sources */,
AD9CFA6D23C2418C001880BF /* atom_mvhd.cpp in Sources */,
ADD7D2941EBF9E1C00D5A897 /* asset.cpp in Sources */,
AD9CFA2D23C2418B001880BF /* atom_s263.cpp in Sources */,
AD9CFA4D23C2418B001880BF /* atom_gmin.cpp in Sources */,
ADE491191F86E65D00FB8E92 /* sweep_context.cc in Sources */,
ADD7D29B1EBF9E1C00D5A897 /* layout.cpp in Sources */,
AD9CFA1123C2418B001880BF /* atom_enca.cpp in Sources */,
AD0E119D1ECA215600CDA6BB /* app_layout.cpp in Sources */,
AD9CFA6723C2418C001880BF /* CoverArtBox.cpp in Sources */,
AD1063991EC7AE92002A525F /* node_button.cpp in Sources */,
AD9CFA5F23C2418C001880BF /* atom_ac3.cpp in Sources */,
ADD7D2931EBF9E1C00D5A897 /* log.cpp in Sources */,
ADE22BE6211904AB00D5F44B /* node_panel_grid.cpp in Sources */,
ADA2A57822BE8D8E00C6B6C9 /* node_tool_bucket.cpp in Sources */,
AD9CFA7523C2418C001880BF /* odcommands.cpp in Sources */,
AD9CFA5323C2418B001880BF /* atom_mp4s.cpp in Sources */,
ADD7D2971EBF9E1C00D5A897 /* canvas.cpp in Sources */,
AD1063AC1EC7AE92002A525F /* node_viewport.cpp in Sources */,
AD7FB08F22470C75005913AB /* node_panel_floating.cpp in Sources */,
AD9CF9F723C2418B001880BF /* atom_video.cpp in Sources */,
ADD7D2991EBF9E1C00D5A897 /* font.cpp in Sources */,
AD9CFA7D23C2418C001880BF /* atom_encv.cpp in Sources */,
AD9CFA2B23C2418B001880BF /* atom_dref.cpp in Sources */,
AD0E11A41ECA61B900CDA6BB /* jpge.cpp in Sources */,
AD9CF9DF23C2418B001880BF /* qosqualifiers.cpp in Sources */,
AD10639C1EC7AE92002A525F /* node_color_quad.cpp in Sources */,
AD9CFA1723C2418B001880BF /* atom_nmhd.cpp in Sources */,
AD1063961EC7AE92002A525F /* node.cpp in Sources */,
AD9CFA6323C2418C001880BF /* cmeta.cpp in Sources */,
AD7FB09222470DE5005913AB /* app_vr.cpp in Sources */,
AD7FB081223E8A43005913AB /* YGNode.cpp in Sources */,
ADE491161F86E65D00FB8E92 /* advancing_front.cc in Sources */,
AD9CFA3723C2418B001880BF /* atom_stz2.cpp in Sources */,
AD9CFA2123C2418B001880BF /* Tags.cpp in Sources */,
AD9CFA4923C2418B001880BF /* atom_urn.cpp in Sources */,
AD9CFA1923C2418B001880BF /* mp4.cpp in Sources */,
AD9CFA3F23C2418B001880BF /* descriptors.cpp in Sources */,
AD9CFA4F23C2418B001880BF /* atom_hinf.cpp in Sources */,
AD9CF9E323C2418B001880BF /* log.cpp in Sources */,
AD10639D1EC7AE92002A525F /* node_dialog_open.cpp in Sources */,
AD1063A91EC7AE92002A525F /* node_stroke_preview.cpp in Sources */,
AD9CF9EF23C2418B001880BF /* atom_tx3g.cpp in Sources */,
AD9CFA8B23C241C3001880BF /* random_posix.cpp in Sources */,
AD9CF9D923C2418B001880BF /* atom_root.cpp in Sources */,
AD9CFA5D23C2418C001880BF /* atom_href.cpp in Sources */,
ADD7D2981EBF9E1C00D5A897 /* rtt.cpp in Sources */,
AD9CF9E923C2418B001880BF /* atom_damr.cpp in Sources */,
AD9CFA7B23C2418C001880BF /* mp4file_io.cpp in Sources */,
AD9CF9F923C2418B001880BF /* mp4track.cpp in Sources */,
AD1063A01EC7AE92002A525F /* node_image.cpp in Sources */,
AD10639F1EC7AE92002A525F /* node_image_texture.cpp in Sources */,
AD9CFA8F23C241C3001880BF /* process_posix.cpp in Sources */,
AD9CFA4323C2418B001880BF /* atom_free.cpp in Sources */,
AD9CFA3123C2418B001880BF /* 3gp.cpp in Sources */,
ADEF1F19235BB2E90043D5C4 /* node_panel_animation.cpp in Sources */,
ADE86C0F2390ABCF006A52C5 /* node_remote_page.cpp in Sources */,
ADD7D2721EBF9AE300D5A897 /* AppDelegate.m in Sources */,
AD9CF9ED23C2418B001880BF /* atom_standard.cpp in Sources */,
AD1063981EC7AE92002A525F /* node_button_custom.cpp in Sources */,
AD9CFA7723C2418C001880BF /* atom_stsz.cpp in Sources */,
AD9CFA3B23C2418B001880BF /* atom_d263.cpp in Sources */,
AD9CFA5123C2418B001880BF /* atom_meta.cpp in Sources */,
AD9CFA0123C2418B001880BF /* atom_amr.cpp in Sources */,
AD9CFA2923C2418B001880BF /* isma.cpp in Sources */,
ADBC8C4E1FAE7D360094B339 /* node_dialog_browse.cpp in Sources */,
AD1063971EC7AE92002A525F /* node_border.cpp in Sources */,
AD1063A81EC7AE92002A525F /* node_slider.cpp in Sources */,
AD9CFA9123C241C3001880BF /* File_posix.cpp in Sources */,
AD43268121599A5B006DE7F6 /* node_usermanual.cpp in Sources */,
AD9CFA6123C2418C001880BF /* atom_pasp.cpp in Sources */,
ADD7D2A21EBF9E1C00D5A897 /* util.cpp in Sources */,
ADDC18C722B43004008D7F60 /* canvas_actions.cpp in Sources */,
ADD7D2791EBF9AE300D5A897 /* GameViewController.m in Sources */,
AD9CFA4723C2418B001880BF /* atom_udta.cpp in Sources */,
AD9CFA3323C2418B001880BF /* atom_stdp.cpp in Sources */,
AD4CEF142156B2C60097F4BD /* node_about.cpp in Sources */,
AD9CFA9B23C241C3001880BF /* option.cpp in Sources */,
AD9CFA1323C2418B001880BF /* mp4container.cpp in Sources */,
AD439B602210F423006EAE8E /* format.cc in Sources */,
AD9CFA6523C2418C001880BF /* typebmff.cpp in Sources */,
ADE86C0D2390ABCF006A52C5 /* node_metadata.cpp in Sources */,
AD9CF9F323C2418B001880BF /* atom_mp4v.cpp in Sources */,
ADD7D26F1EBF9AE300D5A897 /* main.cpp in Sources */,
ADC0EB431FC36E88004079BB /* node_dialog_picker.cpp in Sources */,
ADD7D2A01EBF9E1C00D5A897 /* image.cpp in Sources */,
AD9CFA2323C2418B001880BF /* exception.cpp in Sources */,
AD9CFA6B23C2418C001880BF /* atom_dac3.cpp in Sources */,
ADD7D2A11EBF9E1C00D5A897 /* texture.cpp in Sources */,
AD9CF9E123C2418B001880BF /* atom_colr.cpp in Sources */,
AD9CFA9D23C241C3001880BF /* FileSystem_posix.cpp in Sources */,
AD0E119C1ECA215600CDA6BB /* app_events.cpp in Sources */,
AD9CF9F123C2418B001880BF /* atom_ohdr.cpp in Sources */,
ADF6C5822231EB5E0097BFD9 /* binary_stream.cpp in Sources */,
ADFD32272166C9A000F46F85 /* node_dialog_resize.cpp in Sources */,
AD9CFA1D23C2418B001880BF /* atom_stbl.cpp in Sources */,
ADBC8C551FAFD0520094B339 /* app_cloud.cpp in Sources */,
ADD7D2961EBF9E1C00D5A897 /* brush.cpp in Sources */,
ADE4911A1F86E65D00FB8E92 /* sweep.cc in Sources */,
AD9CFA6923C2418C001880BF /* atom_text.cpp in Sources */,
AD9CFA9523C241C3001880BF /* FileSystem.cpp in Sources */,
AD9CF9EB23C2418B001880BF /* atom_url.cpp in Sources */,
AD02F0C31EDC457C00B2E692 /* sequencer.cpp in Sources */,
AD1063A51EC7AE92002A525F /* node_panel_stroke.cpp in Sources */,
AD9CFA1523C2418B001880BF /* mp4info.cpp in Sources */,
ADD7D2911EBF9E1C00D5A897 /* event.cpp in Sources */,
ADA6CA03236BAF1B00116746 /* mp4enc.cpp in Sources */,
AD9CF9E523C2418B001880BF /* mp4atom.cpp in Sources */,
ADC6F4671F3E66FB004177FA /* app_dialogs.cpp in Sources */,
ADAECC932367922B00709FCC /* event.cpp in Sources */,
AD9CF9D723C2418B001880BF /* atom_tfhd.cpp in Sources */,
AD1063AB1EC7AE92002A525F /* node_text.cpp in Sources */,
AD9CFA0F23C2418B001880BF /* atom_treftype.cpp in Sources */,
AD9CFA2523C2418B001880BF /* atom_elst.cpp in Sources */,
AD9CFA4B23C2418B001880BF /* atom_chpl.cpp in Sources */,
AD1063A11EC7AE92002A525F /* node_message_box.cpp in Sources */,
AD9CFA5B23C2418C001880BF /* text.cpp in Sources */,
AD1063A31EC7AE92002A525F /* node_panel_color.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -1837,13 +2402,29 @@
"$(PROJECT_DIR)/libs/AppCenter-SDK-Apple/macOS",
"$(PROJECT_DIR)/libs/appcenter-apple/macOS",
);
HEADER_SEARCH_PATHS = (
libs/stb,
libs/glm,
libs/yoga,
libs/tinyxml2,
libs/jpeg,
libs/poly2tri/poly2tri,
libs/base64,
libs/sqlite3,
libs/nanort,
libs/fmt/include,
libs/openh264/include,
libs/mp4v2/include,
libs/mp4v2,
libs/libyuv/include,
);
INFOPLIST_FILE = "PanoPainter-OSX/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/libs/mp4v2/lib/osx",
"$(PROJECT_DIR)/libs/openh264/lib",
"$(PROJECT_DIR)/libs/libyuv/lib/osx",
"$(PROJECT_DIR)/libs/mp4v2/lib/osx",
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
OTHER_CPLUSPLUSFLAGS = (
@@ -1874,13 +2455,29 @@
"$(PROJECT_DIR)/libs/AppCenter-SDK-Apple/macOS",
"$(PROJECT_DIR)/libs/appcenter-apple/macOS",
);
HEADER_SEARCH_PATHS = (
libs/stb,
libs/glm,
libs/yoga,
libs/tinyxml2,
libs/jpeg,
libs/poly2tri/poly2tri,
libs/base64,
libs/sqlite3,
libs/nanort,
libs/fmt/include,
libs/openh264/include,
libs/mp4v2/include,
libs/mp4v2,
libs/libyuv/include,
);
INFOPLIST_FILE = "PanoPainter-OSX/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/libs/mp4v2/lib/osx",
"$(PROJECT_DIR)/libs/openh264/lib",
"$(PROJECT_DIR)/libs/libyuv/lib/osx",
"$(PROJECT_DIR)/libs/mp4v2/lib/osx",
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
OTHER_CPLUSPLUSFLAGS = (
@@ -1954,6 +2551,7 @@
libs/nanort,
libs/fmt/include,
libs/openh264/include,
libs/mp4v2,
libs/mp4v2/include,
libs/libyuv/include,
);
@@ -2019,6 +2617,7 @@
libs/nanort,
libs/fmt/include,
libs/openh264/include,
libs/mp4v2,
libs/mp4v2/include,
libs/libyuv/include,
);

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap mp rescap">
<Identity Name="OmixLabLtd.PanoPainter" Publisher="CN=A7839FC0-1534-49A5-BD18-1D5AF8852B9B" Version="0.2.1.0" />
<Identity Name="OmixLabLtd.PanoPainter" Publisher="CN=A7839FC0-1534-49A5-BD18-1D5AF8852B9B" Version="0.2.3.0" />
<Properties>
<DisplayName>PanoPainter</DisplayName>
<PublisherDisplayName>OmixLab Ltd</PublisherDisplayName>

View File

@@ -49,11 +49,11 @@
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
<PackageCertificateThumbprint>6977634CFB3DEB63FE32B05409BF2BF37D01A94E</PackageCertificateThumbprint>
<AppInstallerUpdateFrequency>0</AppInstallerUpdateFrequency>
<AppInstallerCheckForUpdateFrequency>OnApplicationRun</AppInstallerCheckForUpdateFrequency>
<GenerateTestArtifacts>True</GenerateTestArtifacts>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
<AppxBundle>Always</AppxBundle>
@@ -129,6 +129,8 @@
<Content Include="$(SolutionDir)libs\curl-win\lib\dll-release-x64\libcurl.dll" />
<Content Include="$(SolutionDir)libs\bugtrap-client\lib\BugTrapU-x64.dll" />
<Content Include="$(SolutionDir)libs\openvr\bin\win64\openvr_api.dll" />
<Content Include="$(SolutionDir)libs\openh264\lib\openh264-2.0.0-win64.dll" />
<Content Include="$(SolutionDir)libs\mp4v2\lib\win\libmp4v2.dll" />
<Content Include="$(SolutionDir)data\**">
<Link>PanoPainter\data\%(RecursiveDir)%(FileName)%(Extension)</Link>
</Content>

View File

@@ -123,6 +123,9 @@ add_library(
../../src/node_dialog_export_ppbr.cpp
../../src/node_panel_animation.cpp
../../src/mp4enc.cpp
../../src/node_remote_page.cpp
../../src/node_shorcuts.cpp
../../src/node_metadata.cpp
)
target_include_directories(native-lib PRIVATE

View File

@@ -4,12 +4,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<layout id="item">
<border color="1 0 0 1" dir="row">
<border dir="row" pad="5">
<node grow="1">
<text id="descr" font-size="30">New File</text>
<text id="descr" size="20">New File</text>
</node>
<node width="100">
<text id="shortcut" font-size="30">Ctrl + N</text>
<node width="200" margin="0 5 0 0">
<text id="shortcut" size="20" weight="black">Ctrl + N</text>
</node>
</border>
</layout>

View File

@@ -171,6 +171,9 @@
<button-custom id="file-submenu-export-anim" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<text text="Animation Frames" grow="1" margin="0 0 0 5"/>
</button-custom>
<button-custom id="file-submenu-export-anim-mp4" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<text text="Animation MP4" grow="1" margin="0 0 0 5"/>
</button-custom>
<button-custom id="file-submenu-export-timelapse" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<text text="Timelapse" grow="1" margin="0 0 0 5"/>
</button-custom>
@@ -226,6 +229,9 @@
<icon icon="resultset_next" width="20"/>
</button-custom>
</border>
<button-custom id="shortcuts" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<text id="menu-label" text="Shortcuts" margin="0 0 0 5"/>
</button-custom>
<button-custom id="clear-grids" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<icon icon="bin" width="20"/>
<text text="Clear Guides" margin="0 0 0 5"/>
@@ -234,10 +240,6 @@
<icon icon="arrow_rotate_clockwise" width="20"/>
<text id="menu-label" text="Reset Camera" margin="0 0 0 5"/>
</button-custom>
<button-custom id="shortcuts" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<icon icon="arrow_rotate_clockwise" width="20"/>
<text id="menu-label" text="Shortcuts" margin="0 0 0 5"/>
</button-custom>
<button-custom os="ios" id="sonarpen" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<icon icon="pencil" width="20"/>
<text id="menu-label" text="Start SonarPen" margin="0 0 0 5"/>
@@ -270,6 +272,10 @@
<checkbox id="tools-vr-check" width="20" height="20"/>
<text text="Enable VR" margin="0 0 0 5"/>
</button-custom>
<button-custom id="tools-vr-controllers" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<checkbox id="tools-vr-controllers-check" width="20" height="20"/>
<text text="Enable VR Controllers" margin="0 0 0 5"/>
</button-custom>
<button-custom id="tools-timelapse" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
<checkbox id="tools-timelapse-check" width="20" height="20"/>
<text text="Auto Timelapse" margin="0 0 0 5"/>

View File

@@ -75,7 +75,7 @@ void main()
patt = brightness1(patt, 1.0 - pattern_bright);
if (pattern_contr != 0.5)
patt = contrast1(patt, pattern_contr);
fg.a = blend_stroke(fg.a, patt, pattern_depth, patt_blend_mode);
fg.a = clamp(blend_stroke(fg.a, patt, pattern_depth, patt_blend_mode), 0.0, 1.0);
}
#if defined(GL_EXT_shader_framebuffer_fetch)

View File

@@ -472,6 +472,7 @@ void App::init()
if (Settings::value_or<Serializer::Boolean>("auto-timelapse", true))
rec_start();
Settings::value<Serializer::Boolean>("vr-controllers-enabled", vr_controllers_enabled);
if (!check_license())
{

View File

@@ -132,6 +132,7 @@ public:
std::string doc_filename;
bool has_stylus = false;
bool has_vr = false;
bool vr_controllers_enabled = true;
float off_x = 0;
float off_y = 0;
float width;
@@ -254,6 +255,7 @@ public:
void dialog_browse();
void dialog_export(std::string ext);
void dialog_export_layers();
void dialog_export_anim_frames();
void dialog_export_depth();
void dialog_export_cube_faces();
void dialog_layer_rename();

View File

@@ -496,6 +496,36 @@ void App::dialog_export_layers()
}
}
void App::dialog_export_anim_frames()
{
if (!check_license())
{
message_box("License", "This function is disabled in demo mode.");
return;
}
if (canvas)
{
#if defined(__IOS__)
auto dir = work_path + "/" + doc_name + "_frames";
if (Asset::create_dir(dir))
{
auto p = dir + "/" + doc_name;
canvas->m_canvas->export_anim_frames(p, [this, p] {
message_box("Export Layers", "Image layers exported to Files/PanoPainter");
});
}
#else
pick_dir([this](std::string path) {
auto p = path + "/" + doc_name;
canvas->m_canvas->export_anim_frames(p, [this, p] {
message_box("Export Layers", "Layers exported to: " + p);
});
});
#endif
}
}
void App::dialog_export_depth()
{
if (!check_license())
@@ -657,7 +687,7 @@ void App::dialog_timelapse_export()
rec_export(path);
},
[this](const std::string& path, bool saved) {
message_box("Export Timelapse", "Timelapse exported succesfully.");
message_box("Export Timelapse", "Timelapse exported successfully.");
}
);
#else
@@ -673,173 +703,22 @@ void App::dialog_timelapse_export()
void App::dialog_export_mp4()
{
std::thread([this] {
const int video_width = 1024;
const int video_height = 512;
const int video_frames = 500;
auto pb = show_progress("Export MP4", video_frames);
ISVCEncoder* encoder;
int rv = WelsCreateSVCEncoder(&encoder);
//SEncParamBase param;
//memset(&param, 0, sizeof(SEncParamBase));
//param.iUsageType = EUsageType::CAMERA_VIDEO_REAL_TIME; //from EUsageType enum
//param.fMaxFrameRate = 25;
//param.iPicWidth = 400;
//param.iPicHeight = 400;
//param.iTargetBitrate = 5000000;
//param.iRCMode = RC_TIMESTAMP_MODE;
//encoder->Initialize(&param);
//Encoder params
SEncParamExt param;
encoder->GetDefaultParams(&param);
param.iUsageType = CAMERA_VIDEO_REAL_TIME;
param.fMaxFrameRate = 25.f;
param.iLtrMarkPeriod = 75;
param.iPicWidth = 1024;
param.iPicHeight = 512;
param.iTargetBitrate = 1000 << 10;
param.bEnableDenoise = false;
param.iSpatialLayerNum = 1;
param.bUseLoadBalancing = false;
param.bEnableSceneChangeDetect = false;
param.bEnableBackgroundDetection = false;
param.bEnableAdaptiveQuant = false;
param.bEnableFrameSkip = false;
param.iMultipleThreadIdc = 0;
//param.uiIntraPeriod = 10;
for (int i = 0; i < param.iSpatialLayerNum; i++)
{
param.sSpatialLayers[i].iVideoWidth = param.iPicWidth >> (param.iSpatialLayerNum - 1 - i);
param.sSpatialLayers[i].iVideoHeight = param.iPicHeight >> (param.iSpatialLayerNum - 1 - i);
param.sSpatialLayers[i].fFrameRate = 25.f;
param.sSpatialLayers[i].iSpatialBitrate = param.iTargetBitrate;
param.sSpatialLayers[i].uiProfileIdc = PRO_BASELINE;
param.sSpatialLayers[i].uiLevelIdc = LEVEL_4_2;
param.sSpatialLayers[i].iDLayerQp = 42;
//SSliceArgument sliceArg;
//sliceArg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
//sliceArg.uiSliceNum = 0;
//param.sSpatialLayers[i].sSliceArgument = sliceArg;
#if __IOS__ || __WEB__
pick_file_save("mp4", doc_name + "-animation",
[this](std::string path) {
export_anim_mp4(path);
},
[this](const std::string& path, bool saved) {
message_box("Export Animation", "Animation exported successfully.");
}
param.uiMaxNalSize = 1500;
param.iTargetBitrate *= param.iSpatialLayerNum;
encoder->InitializeExt(&param);
int trace_level = WELS_LOG_ERROR;
encoder->SetOption(ENCODER_OPTION_TRACE_LEVEL, &trace_level);
int videoFormat = videoFormatI420;
encoder->SetOption(ENCODER_OPTION_DATAFORMAT, &videoFormat);
int frameSize = param.iPicWidth * param.iPicHeight * 3 / 2;
std::vector<uint8_t> buf(frameSize);
SFrameBSInfo info;
memset(&info, 0, sizeof(SFrameBSInfo));
SSourcePicture pic;
memset(&pic, 0, sizeof(SSourcePicture));
pic.iPicWidth = param.iPicWidth;
pic.iPicHeight = param.iPicHeight;
pic.iColorFormat = videoFormatI420;
pic.iStride[0] = pic.iPicWidth;
pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
pic.pData[0] = buf.data();
pic.pData[1] = pic.pData[0] + (param.iPicWidth * param.iPicHeight);
pic.pData[2] = pic.pData[1] + (param.iPicWidth * param.iPicHeight >> 2);
std::string mp4_path = data_path + "/out.mp4";
MP4FileHandle mp4 = MP4Create(mp4_path.c_str());
MP4TrackId mp4_track = -1;
MP4SetTimeScale(mp4, 90000);
const int frames = 500;
//std::ofstream f("out.h264", std::ios::binary);
for (int num = 0; num < frames; num++)
{
pb->increment();
printf("encoding %.2f%%\r", (float)num / (float)(frames - 1) * 100.f);
float value = sinf((float)num / (float)frames * 10.f);
for (int y = 0; y < param.iPicHeight; y++)
for (int x = 0; x < param.iPicWidth; x++)
buf[y * param.iPicWidth + x] = (((y + num / 4) / 10) % 2) * (255.f * value);
//prepare input data
rv = encoder->EncodeFrame(&pic, &info);
//pic.uiTimeStamp += (1.f/25.f) * 1000.f;
//assert (rv == cmResultSuccess);
if (info.eFrameType != videoFrameTypeSkip)
{
//output bitstream handling
for (int layer = 0; layer < info.iLayerNum; layer++)
{
size_t bs_size = 0;
for (int nal = 0; nal < info.sLayerInfo[layer].iNalCount; nal++)
{
std::array<uint8_t, 5> nalu_bytes;
for (int i = 0; i < nalu_bytes.size(); i++)
nalu_bytes[i] = info.sLayerInfo[layer].pBsBuf[bs_size + i];
if (nalu_bytes[4] == 0x67) // SPS
{
uint8_t avc_profile = info.sLayerInfo[layer].pBsBuf[bs_size + 5];
uint8_t avc_profile_compat = info.sLayerInfo[layer].pBsBuf[bs_size + 6];
uint8_t avc_level = info.sLayerInfo[layer].pBsBuf[bs_size + 7];
if (mp4_track == -1)
{
mp4_track = MP4AddH264VideoTrack(mp4, 90000, 90000 / 25,
param.iPicWidth, param.iPicHeight,
avc_profile, avc_profile_compat, avc_level, 3);
MP4SetVideoProfileLevel(mp4, 1);
}
MP4AddH264SequenceParameterSet(mp4, mp4_track, info.sLayerInfo[layer].pBsBuf + bs_size + 4,
info.sLayerInfo[layer].pNalLengthInByte[nal] - 4);
}
else if (nalu_bytes[4] == 0x68) // PPS
{
MP4AddH264PictureParameterSet(mp4, mp4_track, info.sLayerInfo[layer].pBsBuf + bs_size + 4,
info.sLayerInfo[layer].pNalLengthInByte[nal] - 4);
}
else
{
int nalu_sz = info.sLayerInfo[layer].pNalLengthInByte[nal];
uint8_t* data = info.sLayerInfo[layer].pBsBuf + bs_size;
*(uint32_t*)data = BinaryStream::htonx(nalu_sz - 4);
bool sync = false;
if (nalu_bytes[4] == 0x65) // I-frame
sync = true;
else // 0x61 P-frame
sync = false;
MP4WriteSample(mp4, mp4_track, data, nalu_sz, MP4_INVALID_DURATION, 0, sync);
}
//printf("nalu %x\n", nalu_bytes[4]);
bs_size += info.sLayerInfo[layer].pNalLengthInByte[nal];
}
//f.write((const char*)info.sLayerInfo[layer].pBsBuf, bs_size);
}
}
}
//f.close();
printf("\n");
MP4Close(mp4);
if (encoder)
{
encoder->Uninitialize();
WelsDestroySVCEncoder(encoder);
}
pb->destroy();
}).detach();
);
#else
pick_file_save({ "mp4" }, [this](std::string path) {
Canvas::I->export_anim_mp4(path, [this, path] {
message_box("Export Animation", "Animation exported to: " + path);
});
});
#endif
}
void App::dialog_whatsnew(bool force_show)
@@ -862,15 +741,17 @@ void App::dialog_whatsnew(bool force_show)
});
whatsnew->add_button("Reload", 120, [this, whatsnew](Node*) {
whatsnew->reload();
});
});
whatsnew->add_button("Read Later", 120, [this, whatsnew](Node*) {
Settings::unset("whatsnew-id");
Settings::save();
whatsnew->destroy();
});
});
whatsnew->add_button("Close", 100, [this, whatsnew](Node*) {
Settings::set<Serializer::Integer>("whatsnew-id", whatsnew->m_page_id);
Settings::save();
whatsnew->destroy();
});
});
if (force_show)
layout[main_id]->add_child(whatsnew);
}

View File

@@ -654,7 +654,14 @@ void App::init_menu_file()
subpopup->destroy();
};
subpopup->find<NodeButtonCustom>("file-submenu-export-anim")->on_click = [this, subpopup, popup](Node*) {
dialog_export_layers();
dialog_export_anim_frames();
popup->mouse_release();
popup->destroy();
subpopup->mouse_release();
subpopup->destroy();
};
subpopup->find<NodeButtonCustom>("file-submenu-export-anim-mp4")->on_click = [this, subpopup, popup](Node*) {
dialog_export_mp4();
popup->mouse_release();
popup->destroy();
subpopup->mouse_release();
@@ -997,6 +1004,25 @@ void App::init_menu_tools()
};
}
if (auto vr_btn = popup_time->find<NodeButtonCustom>("tools-vr-controllers"))
{
NodeCheckBox* cb = vr_btn->find<NodeCheckBox>("tools-vr-controllers-check");
cb->set_value(vr_controllers_enabled);
vr_btn->on_click = [this, vr_btn](Node* b)
{
NodeCheckBox* cb = vr_btn->find<NodeCheckBox>("tools-vr-controllers-check");
cb->set_value(!cb->checked, true);
};
vr_btn->find<NodeCheckBox>("tools-vr-controllers-check")->on_value_changed = [this, main](Node* target, bool checked)
{
vr_controllers_enabled = checked;
Settings::set("vr-controllers-enabled", Serializer::Boolean(checked));
Settings::save();
};
}
if (auto btn = popup_time->find<NodeButtonCustom>("tools-timelapse"))
{
NodeCheckBox* cb = btn->find<NodeCheckBox>("tools-timelapse-check");

View File

@@ -49,6 +49,8 @@ void App::vr_draw_ui()
void App::vr_update(float dt)
{
if (!vr_controllers_enabled)
return;
canvas->m_canvas->m_cam_fov = 60;
float tan_fov = glm::tan(glm::radians(canvas->m_canvas->m_cam_fov / 2.f));
glm::vec3 aspect = { (float)uirtt.getWidth() / (float)uirtt.getHeight(), 1.f, 1.f };
@@ -64,7 +66,7 @@ void App::vr_update(float dt)
auto n = glm::normalize(glm::vec3(glm::vec4(0, 0, 1, 0) * mm));
auto u = glm::normalize(glm::vec3(glm::vec4(0, 1, 0, 0) * mm));
auto co = vr_controllers[0].get_pos();
auto cd = glm::mat3(vr_controllers[0].m_mat) * glm::vec3(0, 0, -1);
auto cd = glm::mat3(vr_controllers[0].m_mat) * glm::mat3(glm::eulerAngleX(glm::radians(-30.f))) * glm::vec3(0, 0, -1);
ui_inside = false;
glm::vec3 hit;
float t;
@@ -106,6 +108,8 @@ void App::vr_update(float dt)
void App::vr_analog(const VRController& c, VRController::kButton b, VRController::kAction a, glm::vec2 force)
{
if (!vr_controllers_enabled)
return;
if (b == VRController::kButton::Trigger)
{
if (!down_controller && (ui_inside || ui_capture) && ui_visible)
@@ -151,7 +155,9 @@ void App::vr_analog(const VRController& c, VRController::kButton b, VRController
void App::vr_digital(const VRController& c, VRController::kButton b, VRController::kAction a, glm::vec2 axis)
{
if ((b == VRController::kButton::A || b == VRController::kButton::Menu || b == VRController::kButton::Pad)
if (!vr_controllers_enabled)
return;
if ((b == VRController::kButton::A || b == VRController::kButton::Menu || b == VRController::kButton::Pad)
&& a == VRController::kAction::Press)
{
if (glm::length(axis) < 0.5f)
@@ -400,7 +406,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
}
// draw the cursor
if (ui_visible && ui_inside)
if (ui_visible /*&& ui_inside*/)
{
auto cur = (glm::vec2(cursor.x / width * zoom, 1.f - cursor.y / height * zoom) - 0.5f) * 2.f;
auto mvp = proj * camera *
@@ -418,9 +424,9 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
// draw the motion controller sphere
if (ui_visible && ui_inside)
if (vr_controllers_enabled && ui_visible && ui_inside)
{
auto mvp = proj * camera * vr_controllers[0].m_mat;
auto mvp = proj * camera * vr_controllers[0].m_mat * glm::eulerAngleX(glm::radians(-30.f));
ShaderManager::use(kShader::Color);
ShaderManager::u_vec4(kShaderUniform::Col, { 1, 0, 1, 1 });
ShaderManager::u_mat4(kShaderUniform::MVP, mvp * glm::scale(glm::vec3(.0125, .0125, .07)));
@@ -429,7 +435,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
// draw the motion controller brush
if (!ui_visible || !ui_inside)
if (vr_controllers_enabled && (!ui_visible || !ui_inside))
{
glm::vec3 cpos = vr_controllers[0].get_pos() - xyz(pose[3]);
auto pos = glm::translate(glm::normalize(cpos) * 100.f);

View File

@@ -1897,6 +1897,7 @@ void Canvas::export_depth(std::string file_name, std::function<void()> on_comple
if (App::I->check_license())
{
std::thread t([=] {
BT_SetTerminate();
export_depth_thread(file_name);
if (on_complete)
on_complete();
@@ -2022,6 +2023,71 @@ void Canvas::export_layers_thread(std::string path)
pb->destroy();
}
void Canvas::export_anim_frames(std::string path, std::function<void()> on_complete)
{
if (App::I->check_license())
{
std::thread t([=] {
BT_SetTerminate();
export_anim_frames_thread(path);
if (on_complete)
on_complete();
});
t.detach();
}
}
void Canvas::export_anim_frames_thread(std::string path)
{
auto pb = App::I->show_progress("Export Frames", anim_duration());
for (int i = 0; i < anim_duration(); i++)
{
anim_goto_frame(i);
export_equirectangular_thread(fmt::format("{}-{:02d}.png", path, i));
pb->increment();
}
pb->destroy();
}
void Canvas::export_anim_mp4(std::string path, std::function<void()> on_complete)
{
if (App::I->check_license())
{
std::thread t([=] {
BT_SetTerminate();
export_anim_mp4_thread(path);
if (on_complete)
on_complete();
});
t.detach();
}
}
void Canvas::export_anim_mp4_thread(std::string path)
{
auto pb = App::I->show_progress("Export Animation", anim_duration());
int fps = App::I->animation->get_fps();
MP4Encoder mp4;
int res = std::min<int>(1024, m_width);
mp4.init(res * 4, res * 2, 30, 2 << 20);
for (int i = 0; i < anim_duration(); i++)
{
Image data;
App::I->render_task([&]
{
anim_goto_frame(i);
draw_merge(false);
Texture2D equirect = m_layers_merge.gen_equirect({ res, res });
data = equirect.get_image();
});
for (int j = 0; j < 30/fps; j++)
mp4.encode(data);
pb->increment();
}
mp4.write_mp4(path);
pb->destroy();
}
void Canvas::export_cube_faces(std::string file_name, std::function<void()> on_complete)
{
if (App::I->check_license())
@@ -2031,7 +2097,7 @@ void Canvas::export_cube_faces(std::string file_name, std::function<void()> on_c
export_cube_faces_thread(file_name);
if (on_complete)
on_complete();
});
});
t.detach();
}
}

View File

@@ -229,6 +229,10 @@ public:
void export_equirectangular_thread(std::string file_path);
void export_layers(std::string path, std::function<void()> on_complete = nullptr);
void export_layers_thread(std::string path);
void export_anim_frames(std::string path, std::function<void()> on_complete = nullptr);
void export_anim_frames_thread(std::string path);
void export_anim_mp4(std::string path, std::function<void()> on_complete = nullptr);
void export_anim_mp4_thread(std::string path);
void export_depth(std::string file_name, std::function<void()> on_complete = nullptr);
void export_depth_thread(std::string file_name);
void export_cube_faces(std::string file_name, std::function<void()> on_complete);

View File

@@ -1,3 +1,5 @@
#define CASE(K,V) case K: return V;
#if __APPLE__
enum {
kVK_ANSI_A = 0x00,
kVK_ANSI_S = 0x01,
@@ -119,10 +121,8 @@ enum {
kKey convert_key(int key)
{
#define CASE(K,V) case K: return V;
switch(key)
{
#ifdef __APPLE__
CASE(kVK_ANSI_A, kKey::KeyA);
CASE(kVK_ANSI_S, kKey::KeyS);
CASE(kVK_ANSI_D, kKey::KeyD);
@@ -235,7 +235,20 @@ kKey convert_key(int key)
CASE(kVK_RightArrow, kKey::Unknown);
CASE(kVK_DownArrow, kKey::Unknown);
CASE(kVK_UpArrow, kKey::Unknown);
#elif defined(_WIN32)
default:
return kKey::Unknown;
}
}
#elif __WIN__
kKey convert_key(int key)
{
static auto KL = GetKeyboardLayout(0);
if (key == (VkKeyScanA('[') & 0xFF))
return kKey::KeyBracketLeft;
if (key == (VkKeyScanA(']') & 0xFF))
return kKey::KeyBracketRight;
switch(key)
{
CASE(VK_LBUTTON, kKey::Unknown);
CASE(VK_RBUTTON, kKey::Unknown);
CASE(VK_CANCEL, kKey::Unknown);
@@ -432,7 +445,15 @@ kKey convert_key(int key)
CASE(VK_NONAME, kKey::Unknown);
CASE(VK_PA1, kKey::Unknown);
CASE(VK_OEM_CLEAR, kKey::Unknown);
#elif defined(__ANDROID__)
default:
return kKey::Unknown;
}
}
#elif __ANDROID__
kKey convert_key(int key)
{
switch (key)
{
CASE(AKEYCODE_UNKNOWN, kKey::Unknown);
CASE(AKEYCODE_SOFT_LEFT, kKey::Unknown);
CASE(AKEYCODE_SOFT_RIGHT, kKey::Unknown);
@@ -656,7 +677,15 @@ kKey convert_key(int key)
CASE(AKEYCODE_BRIGHTNESS_DOWN, kKey::Unknown);
CASE(AKEYCODE_BRIGHTNESS_UP, kKey::Unknown);
CASE(AKEYCODE_MEDIA_AUDIO_TRACK, kKey::Unknown);
default:
return kKey::Unknown;
}
}
#elif __WEB__
kKey convert_key(int key)
{
switch (key)
{
CASE(GLFW_KEY_UNKNOWN, kKey::Unknown);
CASE(GLFW_KEY_SPACE, kKey::KeySpacebar);
CASE(GLFW_KEY_APOSTROPHE, kKey::Unknown);
@@ -778,8 +807,18 @@ kKey convert_key(int key)
CASE(GLFW_KEY_RIGHT_ALT, kKey::Unknown);
CASE(GLFW_KEY_RIGHT_SUPER, kKey::Unknown);
CASE(GLFW_KEY_MENU, kKey::Unknown);
#endif
default:
default:
return kKey::Unknown;
}
}
//#elif __XXX__
//kKey convert_key(int key)
//{
// switch (key)
// {
// default:
// return kKey::Unknown;
// }
//}
#endif
#undef CASE

View File

@@ -685,7 +685,7 @@ bool win32_vr_start()
const int framerate = (1.f / target_tick_rate) * 1000;
const int diff = framerate - (t1 - t0);
hmd_render_cv.wait_for(lock, std::chrono::milliseconds(diff));
//hmd_render_cv.wait_for(lock, std::chrono::milliseconds(diff));
t0 = t1;
}
App::I->vr_active = false;
@@ -780,6 +780,7 @@ LRESULT CALLBACK splash_proc(HWND hWndDlg, UINT Msg, WPARAM wParam, LPARAM lPara
HWND splash_dialog;
void splash_thread_loop()
{
BT_SetTerminate();
splash_dialog = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SPLASH), NULL, reinterpret_cast<DLGPROC>(splash_proc));
MSG msg;

View File

@@ -79,6 +79,7 @@ public:
void load_layers();
void update_frames();
int get_onion_size() const noexcept { return m_onion->get_int(); }
int get_fps() const noexcept { return m_fps->get_int(); }
};
//////////////////////////////////////////////////////////////////////////

View File

@@ -841,6 +841,8 @@ bool NodePanelBrushPreset::export_ppbr(const std::string& path_in, const PPBRInf
bool NodePanelBrushPreset::import_ppbr(const std::string& path)
{
BT_SetTerminate();
Asset f;
if (f.open(path.c_str()))
{

View File

@@ -126,6 +126,7 @@ void NodePanelGrid::init_controls()
if (ShaderManager::ext_float32 || ShaderManager::ext_float16)
{
std::thread([this] {
BT_SetTerminate();
bake_uvs();
m_hm_shading->set_index(3);
m_shade_mode = ShadeMode::Textured;

View File

@@ -22,7 +22,12 @@ void NodeShortcuts::init_controls()
m_btn_close->on_click = [this](Node*) {
destroy();
};
add_shortcut("New File", "Ctrl+N");
add_shortcut("Quick switch to Erase", "Hold E");
add_shortcut("Brush Size Keyboard", "[ and ]");
add_shortcut("Brush Size", "Alt + Right Mouse Button");
add_shortcut("Color picker", "Alt + Left Mouse Button");
add_shortcut("Zoom", "Ctrl + Right Mouse Button");
//add_shortcut("", "");
}
void NodeShortcuts::add_shortcut(const std::string& descr, const std::string& shortcut) noexcept
@@ -30,6 +35,7 @@ void NodeShortcuts::add_shortcut(const std::string& descr, const std::string& sh
auto item = m_content->add_child<NodeShortcutsItem>();
item->set_descr(descr);
item->set_shortcut(shortcut);
item->m_color = glm::vec4(glm::vec3(m_content->get_child_index(item) % 2 == 0 ? .1f : .0f), 1);
}
//////////////////////////////////////////////////////////////////////////

View File

@@ -60,6 +60,7 @@ void NodeText::set_font_size(int size)
void NodeText::parse_attributes(kAttribute ka, const tinyxml2::XMLAttribute* attr)
{
Node::parse_attributes(ka, attr);
std::string id = attr->Name();
switch (ka)
{
case kAttribute::Multiline:
@@ -106,6 +107,12 @@ void NodeText::parse_attributes(kAttribute ka, const tinyxml2::XMLAttribute* att
default:
break;
}
if (id == "size")
m_font_size = attr->IntValue();
else if (id == "weight")
m_font_weight = attr->Value();
else if (id == "italic")
m_font_italic = attr->BoolValue();
}
void NodeText::set_text(const std::string& s)

View File

@@ -456,6 +456,11 @@ public:
{
return has(key) ? std::dynamic_pointer_cast<T>(props.at(key)) : nullptr;
}
void unset(const std::string& key)
{
if (has(key))
props.erase(key);
}
template<typename T> std::shared_ptr<T> set(const std::string& key, const T value)
{
if (auto ptr = get<T>(key))

View File

@@ -17,6 +17,10 @@ public:
{
I.Descriptor::set(key, value);
}
static void unset(const std::string& key)
{
I.Descriptor::unset(key);
}
template <typename T>
static std::shared_ptr<T> get(const std::string& key)
{

View File

@@ -706,6 +706,7 @@ void parallel_for(size_t nb_elements, std::function<void(size_t i)> functor, boo
{
size_t start = i * batch_size;
my_threads[i] = std::thread([functor, start, batch_size]() {
BT_SetTerminate();
for (size_t j = start; j < start + batch_size; j++)
functor(j);
});

View File

@@ -98,6 +98,10 @@ add_executable(panopainter
../src/node_input_box.cpp
../src/node_dialog_export_ppbr.cpp
../src/node_panel_animation.cpp
../src/mp4enc.cpp
../src/node_remote_page.cpp
../src/node_shorcuts.cpp
../src/node_metadata.cpp
)
target_compile_options(panopainter PRIVATE -std=c++14 -O3)
set_target_properties(panopainter PROPERTIES