{"id":0,"registry":{"0":{"shape":{"__isSmartRef__":true,"id":1},"submorphs":[],"scripts":[],"_ClipMode":"auto","derivationIds":["3ABFAB66-3E1D-4B57-B4D3-DBF0D37DCE60","D3CB6A05-D42B-419A-992D-1DDF9DDED959","034779AD-D220-487C-A85D-C8C72ED576E0","334AD1D8-40EC-4B9C-818C-37699FB7674D","84D78072-9CDC-4D7A-9F75-56681F89DF7E","F19DA916-0485-4B6D-B336-3B804252F0AB","524F6B82-3EE0-4368-AA37-DC9BF0AC187E","EAFA5923-8B15-4F15-A967-226837C3BDBA","99ED38FB-9C21-41DD-8581-73A789669C26","6C11A546-5CEC-41C7-84AD-EAF8CC247F04","7311C32A-91AB-422C-B6F8-68F2C979BD99","519ABD29-7315-4089-A746-0DE8361DCECC","7DCB436E-5813-403A-9FA4-D35D94B6E546","A277934D-3BC2-4781-BBAF-0C3000B912D9","E6DC2597-5B90-4A8A-BDEE-E6F3DCEEA132","D1610C70-C799-443A-A5B4-AFCC29BF97F0","0ACF85E0-4BFB-4342-B6D6-F69CB36B1CA8","0A998CFB-5CAD-49C1-ACD5-118C19466E6F","03362844-94D7-4573-AF44-AB28D7318EF4","9189DDF9-B541-48C7-9366-E8E10C786384","0C465327-6FF2-4B99-BAA2-068935670294","C00EACCC-F586-44ED-B2A3-2AB5368EA336","4473AEE5-F052-4394-80D2-E888353220A6","CAA22490-4088-4580-98BA-9709E37C896D","C65A9A03-775C-476B-BD91-ED41D8D10EE5","9986ABE4-1D91-460E-8AF9-63AE993064F8"],"id":"79976DE6-0A8D-4531-8C2B-F3A1C391C2AA","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["Morph","HtmlWrapperMorph","selectable"],"eventHandler":{"__isSmartRef__":true,"id":2},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3},"name":"WormHoleVideoScreen","prevScroll":[0,0],"isBeingDragged":false,"videoStream":{"__isSmartRef__":true,"id":36},"layout":{"__isSmartRef__":true,"id":37},"controlBarTimeout":20218,"controlBar":{"__isSmartRef__":true,"id":38},"streamingConfig":{"__isSmartRef__":true,"id":113},"isBeingStreamed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":115},"__LivelyClassName__":"lively.morphic.HtmlWrapperMorph","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(141.0,-12.0)"},"1":{"_BorderWidth":0,"stringifiedShapeNode":"<div xmlns=\"http://www.w3.org/1999/xhtml\" data-lively-morphid=\"79976DE6-0A8D-4531-8C2B-F3A1C391C2AA\" class=\"Morph HtmlWrapperMorph selectable\" id=\"null\" style=\"overflow: auto; border: 0px solid rgb(255, 255, 255); padding: 0px; width: 258px; height: 194px; position: absolute; left: 0px; top: 0px; background: rgb(247, 247, 247);\"><video width=\"0\" height=\"0\" id=\"video\"></video><div data-lively-node-type=\"origin-node\" style=\"top: 0px !important; left: 0px !important; position: absolute !important; margin-top: 0px !important; margin-left: 0px !important;\"><div class=\"morphNode\" tabindex=\"-1\" touch-action=\"none\" data-lively-node-type=\"morph-node\" style=\"position: absolute; left: 129px; top: 178px;\"><div id=\"null\" class=\"Morph Box\" data-lively-morphid=\"497ABD75-BCD8-4D32-8E3B-648B557305FE\" style=\"position: absolute; left: -20px; top: -10px; width: 40.5px; height: 20.8px; opacity: 0.7037; border: 0px solid rgb(0, 0, 0); padding: 0px; border-radius: 5.185px; overflow: visible; background: rgb(232, 232, 232);\"><div data-lively-node-type=\"origin-node\" style=\"top: 10px !important; left: 20px !important; position: absolute !important; margin-top: 0px !important; margin-left: 0px !important;\"><div class=\"morphNode\" tabindex=\"-1\" touch-action=\"none\" data-lively-node-type=\"morph-node\" style=\"position: absolute; left: -17.6px; top: -7.6px;\"><div id=\"null\" class=\"Morph Button\" data-lively-morphid=\"F4143224-F308-4E03-A629-8039686EBE94\" style=\"position: absolute; left: 0px; top: 0px; width: 14px; height: 14px; padding: 0px; overflow: visible; border-width: 1px;\"><div data-lively-node-type=\"origin-node\" style=\"top: 0px !important; left: 0px !important; position: absolute !important; margin-top: -1px !important; margin-left: -1px !important;\"><div class=\"morphNode\" touch-action=\"none\" data-lively-node-type=\"morph-node\" style=\"position: absolute; left: 0px; top: 0px; cursor: default; pointer-events: none;\"><div id=\"null\" class=\"Morph Text\" data-lively-morphid=\"07CE423C-5DA3-41B7-8EBD-4837A42BD838\" style=\"position: absolute; left: 0px; top: 0px; width: 16px; height: 10px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 3px 0px; border-radius: 0px; overflow: hidden;\"><div class=\"\" tabindex=\"-1\" contenteditable=\"false\" style=\"position: absolute; word-wrap: break-word; white-space: pre-wrap; vertical-align: inherit; line-height: inherit; display: inherit; word-break: inherit; min-width: calc(100% - 0px); min-height: calc(100% - 6px);\"><span id=\"_9791\" style=\"color: rgb(0, 0, 0);\">▶</span></div></div></div></div></div></div><div class=\"morphNode\" tabindex=\"-1\" touch-action=\"none\" data-lively-node-type=\"morph-node\" style=\"position: absolute; left: 2.1px; top: -7.6px;\"><div id=\"null\" class=\"Morph Button\" data-lively-morphid=\"6CA1E89B-4957-4E94-BCF9-091655DE1699\" style=\"position: absolute; left: 0px; top: 0px; width: 14px; height: 14px; padding: 0px; overflow: visible; border-width: 1px;\"><div data-lively-node-type=\"origin-node\" style=\"top: 0px !important; left: 0px !important; position: absolute !important; margin-top: -1px !important; margin-left: -1px !important;\"><div class=\"morphNode\" touch-action=\"none\" data-lively-node-type=\"morph-node\" style=\"position: absolute; left: 0px; top: 0px; cursor: default; pointer-events: none;\"><div id=\"null\" class=\"Morph Text\" data-lively-morphid=\"B5D5FB0B-355B-40FD-BB6E-53BDC5CADABD\" style=\"position: absolute; left: 0px; top: 0px; width: 16px; height: 10px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 3px 0px; border-radius: 0px; overflow: hidden;\"><div class=\"\" tabindex=\"-1\" contenteditable=\"false\" style=\"position: absolute; word-wrap: break-word; white-space: pre-wrap; vertical-align: inherit; line-height: inherit; display: inherit; word-break: inherit; min-width: calc(100% - 0px); min-height: calc(100% - 6px);\"><span id=\"_9881\" style=\"color: rgb(0, 0, 0);\">◼</span></div></div></div></div></div></div></div></div></div></div></div>","_BorderRadius":0,"__serializedExpressions__":["_Padding","_Position","_Extent","_Fill","extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.External","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(258.0,194.0)","_Fill":"Color.rgb(247,247,247)","extent":"lively.pt(258.0,194.0)","_BorderColor":"Color.rgb(255,255,255)"},"2":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3":{"partName":"WormHoleVideoScreen","requiredModules":[],"partsSpaceName":"PartsBin/Felix/","comment":"Video screen to stream video using a WormHole","changes":[{"__isSmartRef__":true,"id":4},{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":14},{"__isSmartRef__":true,"id":15},{"__isSmartRef__":true,"id":16},{"__isSmartRef__":true,"id":17},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":25},{"__isSmartRef__":true,"id":26},{"__isSmartRef__":true,"id":27},{"__isSmartRef__":true,"id":28},{"__isSmartRef__":true,"id":29},{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":35}],"migrationLevel":9,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 10 2014 09:45:02 GMT-0800 (PST)\")"},"4":{"author":"felix","message":"no comment","id":"C08EA414-D959-461D-907C-669B09E834CF","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 09:45:01 GMT-0800 (PST)\")"},"5":{"author":"felix","message":"new streaming interface","id":"EBD923E2-058B-46A0-BFC9-0952FA67BBE7","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 17:06:25 GMT-0800 (PST)\")"},"6":{"author":"felix","message":"no comment","id":"1CD6A961-E36E-4E05-A27E-B7554C376716","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 05 2014 13:44:32 GMT-0800 (PST)\")"},"7":{"author":"felix","message":"no comment","id":"47BD9FF9-C579-40DA-915F-47D2BC8DDABE","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 15:49:43 GMT-0800 (PST)\")"},"8":{"author":"felix","message":"no comment","id":"0E4EB9C4-96BD-407B-AFEA-F7A238847D83","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 10 2014 15:21:26 GMT-0800 (PST)\")"},"9":{"author":"felix","message":"no comment","id":"9BD0BAA0-9C9B-4663-9740-37597A3B929F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 10 2014 13:16:02 GMT-0800 (PST)\")"},"10":{"author":"Felix","message":"no comment","id":"4F525628-2EC7-4AF7-BC23-920FC04117DD","__serializedExpressions__":["date"],"date":"new Date(\"Fri Oct 31 2014 12:04:37 GMT-0700 (PDT)\")"},"11":{"author":"Felix","message":"no comment","id":"3A31E19E-B661-4F1C-A4FF-240E3BA5520F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Oct 31 2014 11:54:40 GMT-0700 (PDT)\")"},"12":{"author":"Felix","message":"no comment","id":"C0B6C053-F2DF-4623-BA69-4264D51D489B","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 01 2014 11:39:21 GMT-0700 (PDT)\")"},"13":{"author":"Felix","message":"no comment","id":"AD88A605-E189-4413-93AD-76E016F4002D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Sep 30 2014 17:47:47 GMT-0700 (PDT)\")"},"14":{"author":"Felix","message":"no comment","id":"09F25D55-CBC2-4571-BA3B-C753B9A3DA76","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:38:12 GMT-0700 (PDT)\")"},"15":{"author":"Felix","message":"no comment","id":"0857F38C-AA5A-4BC1-93B9-DF50D54978BA","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 17:13:36 GMT-0700 (PDT)\")"},"16":{"author":"Felix","message":"no comment","id":"88D77A70-F30A-4F5E-9428-7B3A223A612C","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:59:24 GMT-0700 (PDT)\")"},"17":{"author":"Felix","message":"no comment","id":"3AF61770-FDB7-47F7-8A96-9F72BEF4B07A","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 09:57:39 GMT-0700 (PDT)\")"},"18":{"author":"robertkrahn","message":"clipped","id":"287FA9C0-4815-46CD-B588-28102199A3F0","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:38 GMT-0800 (PST)\")"},"19":{"author":"robertkrahn","message":"clipped","id":"D4A9A56A-16E6-4D3D-9B42-425F9CE8E8B6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:30 GMT-0800 (PST)\")"},"20":{"author":"robertkrahn","message":"no comment","id":"FC45EDD5-3632-41E9-8CCF-1E7BF0F5B7FA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:35:06 GMT-0800 (PST)\")"},"21":{"author":"robertkrahn","message":"no comment","id":"4B305BE4-1B35-4BBB-ABCE-D255D563CBD9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:34:42 GMT-0800 (PST)\")"},"22":{"author":"robertkrahn","message":"Fixed reset as suggested by Rick. Thanks Rick!","id":"C9389773-D839-4E3C-AF10-28F6282541BB","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jul 17 2014 12:02:10 GMT-0700 (PDT)\")"},"23":{"author":"Felix","message":"no comment","id":"DA5F2553-C571-4C5F-BE03-F34BFE597DCB","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:57:32 GMT-0700 (PDT)\")"},"24":{"author":"Felix","message":"no comment","id":"B885FE7C-2AE8-40C9-98B2-454801DAEAAD","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:51:14 GMT-0700 (PDT)\")"},"25":{"author":"Felix","message":"no comment","id":"F5EB70F2-0C07-455E-9C56-C4B4399D75A6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:57:10 GMT-0700 (PDT)\")"},"26":{"author":"Felix","message":"no comment","id":"8ADFF105-D597-4120-9BB9-185D78A0120B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 11:51:40 GMT-0700 (PDT)\")"},"27":{"author":"Felix","message":"no comment","id":"1D3E1C17-4E3F-4100-BC8A-89483E845DD6","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 11:58:39 GMT-0700 (PDT)\")"},"28":{"author":"Felix","message":"no comment","id":"D883CD05-D40C-4DCB-B670-D2D39B226F1E","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 01 2014 11:25:15 GMT-0700 (PDT)\")"},"29":{"author":"Felix","message":"no comment","id":"1CBD1EB7-4B4E-49E0-9949-FB6F8310827F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Oct 13 2014 17:28:33 GMT-0700 (PDT)\")"},"30":{"author":"Felix","message":"no comment","id":"6CFEBA4D-99D9-4CAA-9B3B-DF7892075364","__serializedExpressions__":["date"],"date":"new Date(\"Fri Oct 31 2014 12:02:52 GMT-0700 (PDT)\")"},"31":{"author":"felix","message":"no comment","id":"A8785682-FB9B-4958-98D5-A893D2CC155F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 07 2014 14:56:15 GMT-0800 (PST)\")"},"32":{"author":"felix","message":"no comment","id":"F5E78D55-A017-42D4-BB69-76DBCD1E545B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 07 2014 15:06:15 GMT-0800 (PST)\")"},"33":{"author":"felix","message":"no comment","id":"D7FD3843-AEA1-43AE-923C-47C65E39A2E5","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 07 2014 15:14:33 GMT-0800 (PST)\")"},"34":{"author":"felix","message":"no comment","id":"1C451CF1-F37E-4530-9A1B-C672E9A27B1B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 20 2014 14:21:02 GMT-0800 (PST)\")"},"35":{"__serializedExpressions__":["date"],"author":"felix","message":"no comment","id":"2F00A2E9-AD9D-49AC-A7B3-A44ECCD21561","date":"new Date(\"Tue Dec 16 2014 15:45:07 GMT-0800 (PST)\")"},"36":{"onremovetrack":null,"onaddtrack":null,"onended":null,"ended":true,"id":"rEsOjeL0fRb7K9BRWXoHF2DArdlPCrz6ALor","label":"rEsOjeL0fRb7K9BRWXoHF2DArdlPCrz6ALor"},"37":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"38":{"submorphs":[{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":62}],"scripts":[],"id":"65A93044-CBC9-40E1-B43B-DA4FCD4A75AE","shape":{"__isSmartRef__":true,"id":85},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"VideoControlBar1","partsBinMetaInfo":{"__isSmartRef__":true,"id":86},"eventHandler":{"__isSmartRef__":true,"id":105},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6CFB272E-FF69-44E7-AC4A-49EE9556806F","497ABD75-BCD8-4D32-8E3B-648B557305FE"],"partTests":{"__isSmartRef__":true,"id":106},"_ClipMode":"visible","moved":true,"layout":{"__isSmartRef__":true,"id":111},"isInLayoutCycle":false,"isBeingDragged":false,"owner":null,"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(129.0,178.0)"},"39":{"submorphs":[{"__isSmartRef__":true,"id":40}],"scripts":[],"shape":{"__isSmartRef__":true,"id":45},"eventHandler":{"__isSmartRef__":true,"id":46},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","BF611634-4ACD-4A36-B67F-AC7ED3F8AE34","F4143224-F308-4E03-A629-8039686EBE94"],"id":"21C08F5D-8AF7-4DA5-AAAD-97DF6B9DE42B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":40},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":47}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button1","partsBinMetaInfo":{"__isSmartRef__":true,"id":49},"pinSpecs":[{"__isSmartRef__":true,"id":57}],"owner":{"__isSmartRef__":true,"id":38},"_StyleClassNames":["Morph","Button"],"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":58},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-17.6,-7.6)","distanceToDragEvent":"lively.pt(74.0,7.0)"},"40":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":41},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":42}],"eventHandler":{"__isSmartRef__":true,"id":44},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","211204A9-A744-4D0D-8DF7-BD25AD15B57C","07CE423C-5DA3-41B7-8EBD-4837A42BD838"],"id":"F243BE5F-4D40-4060-95E4-31849BD2B5F9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":39},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"41":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,16.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"42":{"style":{"__isSmartRef__":true,"id":43},"chunkOwner":{"__isSmartRef__":true,"id":40},"_id":"_9791","storedString":"▶","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"43":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"44":{"morph":{"__isSmartRef__":true,"id":40},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"45":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,16.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"46":{"morph":{"__isSmartRef__":true,"id":39},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"47":{"sourceObj":{"__isSmartRef__":true,"id":39},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":39},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":48},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"48":{"source":{"__isSmartRef__":true,"id":39},"target":{"__isSmartRef__":true,"id":39}},"49":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":53},{"__isSmartRef__":true,"id":54},{"__isSmartRef__":true,"id":55},{"__isSmartRef__":true,"id":56}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"50":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"51":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"52":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"53":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"54":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"55":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"56":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"57":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"58":{"doAction":{"__isSmartRef__":true,"id":59}},"59":{"varMapping":{"__isSmartRef__":true,"id":60},"source":"function doAction() {\n    this.owner.owner.startVideo();\n}","funcProperties":{"__isSmartRef__":true,"id":61},"__LivelyClassName__":"lively.Closure"},"60":{"this":{"__isSmartRef__":true,"id":39}},"61":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:26:17 GMT-0800 (PST)\")"},"62":{"submorphs":[{"__isSmartRef__":true,"id":63}],"scripts":[],"shape":{"__isSmartRef__":true,"id":68},"eventHandler":{"__isSmartRef__":true,"id":69},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","BF611634-4ACD-4A36-B67F-AC7ED3F8AE34","DC098660-7C77-48AB-B4BE-75A6380415AC","6CA1E89B-4957-4E94-BCF9-091655DE1699"],"id":"BAB3E4FF-E85C-480D-BC25-B4E2D8D9DFB0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":63},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":70}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button2","partsBinMetaInfo":{"__isSmartRef__":true,"id":72},"pinSpecs":[{"__isSmartRef__":true,"id":80}],"owner":{"__isSmartRef__":true,"id":38},"_StyleClassNames":["Morph","Button"],"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":81},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(2.1,-7.6)","distanceToDragEvent":"lively.pt(74.0,7.0)"},"63":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":64},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":65}],"eventHandler":{"__isSmartRef__":true,"id":67},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","211204A9-A744-4D0D-8DF7-BD25AD15B57C","50FC6A55-9A6C-4FF4-93D1-A31DE61953FA","B5D5FB0B-355B-40FD-BB6E-53BDC5CADABD"],"id":"47A55FD6-21CB-4270-A81C-E2143DCD03CF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":62},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"64":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,16.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"65":{"style":{"__isSmartRef__":true,"id":66},"chunkOwner":{"__isSmartRef__":true,"id":63},"_id":"_9881","storedString":"◼","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"66":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"67":{"morph":{"__isSmartRef__":true,"id":63},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"68":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_Opacity":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,16.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"69":{"morph":{"__isSmartRef__":true,"id":62},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"70":{"sourceObj":{"__isSmartRef__":true,"id":62},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":62},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":71},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"71":{"source":{"__isSmartRef__":true,"id":62},"target":{"__isSmartRef__":true,"id":62}},"72":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":73},{"__isSmartRef__":true,"id":74},{"__isSmartRef__":true,"id":75},{"__isSmartRef__":true,"id":76},{"__isSmartRef__":true,"id":77},{"__isSmartRef__":true,"id":78},{"__isSmartRef__":true,"id":79}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"73":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"74":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"75":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"76":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"77":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"78":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"79":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"80":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"81":{"doAction":{"__isSmartRef__":true,"id":82}},"82":{"varMapping":{"__isSmartRef__":true,"id":83},"source":"function doAction() {\n    this.owner.owner.stopVideo();\n}","funcProperties":{"__isSmartRef__":true,"id":84},"__LivelyClassName__":"lively.Closure"},"83":{"this":{"__isSmartRef__":true,"id":62}},"84":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:26:34 GMT-0800 (PST)\")"},"85":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":5.185,"_Opacity":0.7037,"_BorderStyle":"solid","_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(40.5,20.8)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(232,232,232)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-20.0,-10.0)"},"86":{"partsSpaceName":"PartsBin/Felix","comment":"Control bar for video screens","migrationLevel":8,"partName":"VideoControlBar","changes":[{"__isSmartRef__":true,"id":87},{"__isSmartRef__":true,"id":88},{"__isSmartRef__":true,"id":89},{"__isSmartRef__":true,"id":90},{"__isSmartRef__":true,"id":91},{"__isSmartRef__":true,"id":92},{"__isSmartRef__":true,"id":93},{"__isSmartRef__":true,"id":94},{"__isSmartRef__":true,"id":95},{"__isSmartRef__":true,"id":96},{"__isSmartRef__":true,"id":97},{"__isSmartRef__":true,"id":98},{"__isSmartRef__":true,"id":99},{"__isSmartRef__":true,"id":100},{"__isSmartRef__":true,"id":101},{"__isSmartRef__":true,"id":102},{"__isSmartRef__":true,"id":103},{"__isSmartRef__":true,"id":104}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Nov 10 2014 15:14:15 GMT-0800 (PST)\")"},"87":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"88":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"89":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"90":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"91":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"92":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"93":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"94":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"95":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"96":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"97":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"98":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"99":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"100":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"101":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"102":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"103":{"author":"felix","message":"no comment","id":"67A35305-FFDD-4811-B100-3177F179DFF4","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 10 2014 13:28:01 GMT-0800 (PST)\")"},"104":{"author":"felix","message":"no comment","id":"A724DEBB-D283-4ADC-914F-CADC323851FF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 10 2014 15:14:16 GMT-0800 (PST)\")"},"105":{"morph":{"__isSmartRef__":true,"id":38},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"106":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":107}},"107":{"test01IsMorph":{"__isSmartRef__":true,"id":108}},"108":{"varMapping":{"__isSmartRef__":true,"id":109},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":110},"__LivelyClassName__":"lively.Closure"},"109":{"this":{"__isSmartRef__":true,"id":106}},"110":{},"111":{"layouter":{"__isSmartRef__":true,"id":112},"moveVertical":true,"moveHorizontal":false,"centeredHorizontal":true,"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(269.0,47.0)"},"112":{"borderSize":2.3800000000000003,"defaultBorderSize":10,"spacing":3.705,"defaultSpacing":15,"container":{"__isSmartRef__":true,"id":38},"__LivelyClassName__":"lively.morphic.Layout.HorizontalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"113":{"mediatype":"image","steptime":100,"compressionParameters":{"__isSmartRef__":true,"id":114},"record":true},"114":{"imgCompression":"image/webp","imgQuality":0.2,"lzwCompression":true},"115":{"isPlaying":{"__isSmartRef__":true,"id":116},"reset":{"__isSmartRef__":true,"id":119},"startVideo":{"__isSmartRef__":true,"id":122},"stopVideo":{"__isSmartRef__":true,"id":125},"playStream":{"__isSmartRef__":true,"id":128},"registerEventOnScreen":{"__isSmartRef__":true,"id":131},"setExtent":{"__isSmartRef__":true,"id":134},"getVideoElement":{"__isSmartRef__":true,"id":141},"showBitrate":{"__isSmartRef__":true,"id":144},"addBitrateLabel":{"__isSmartRef__":true,"id":147},"onDropOn":{"__isSmartRef__":true,"id":150},"onMouseOver":{"__isSmartRef__":true,"id":157},"onMouseOut":{"__isSmartRef__":true,"id":164},"showControlBar":{"__isSmartRef__":true,"id":171},"hideControlBar":{"__isSmartRef__":true,"id":174},"onMouseMove":{"__isSmartRef__":true,"id":177},"captureFrame":{"__isSmartRef__":true,"id":184},"onLoad":{"__isSmartRef__":true,"id":187},"restoreStreamingConfig":{"__isSmartRef__":true,"id":190}},"116":{"varMapping":{"__isSmartRef__":true,"id":117},"source":"function isPlaying() {\n    var video = this.jQuery().children('video').get(0);\n    \n    // when the video element has no source attribute, it is \n    // not playing any stream\n    return !!video.src;\n}","funcProperties":{"__isSmartRef__":true,"id":118},"__LivelyClassName__":"lively.Closure"},"117":{"this":{"__isSmartRef__":true,"id":0}},"118":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Sep 19 2014 11:51:17 GMT-0700 (PDT)\")"},"119":{"varMapping":{"__isSmartRef__":true,"id":120},"source":"function reset() {\n    this.setClipMode(\"auto\");\n    this.jQuery().html(\"<video width=0 height=0 id='video'></video>\");\n}","funcProperties":{"__isSmartRef__":true,"id":121},"__LivelyClassName__":"lively.Closure"},"120":{"this":{"__isSmartRef__":true,"id":0}},"121":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Sep 06 2014 22:34:16 GMT-0700 (PDT)\")"},"122":{"varMapping":{"__isSmartRef__":true,"id":123},"source":"function startVideo(mediaStream, callback) {\n    if (this.isPlaying()) {\n        if (callback) callback('Already playing');\n        return;\n    }\n    // if no stream provided, use webcam instead\n    if (mediaStream) {\n        this.playStream(mediaStream);\n        if (callback) callback(null, mediaStream);\n    } else {\n        navigator.getUserMedia = \n        navigator.getUserMedia || \n        navigator.webkitGetUserMedia || \n        navigator.mozGetUserMedia;\n\n        var constraints = {video: true, audio: false};\n        var panel = this;\n        \n        function sucCallback(localMediaStream) {\n            panel.playStream(localMediaStream);\n            if (callback) callback(null, localMediaStream);\n        }\n        \n        function errCallback(err) {\n            console.error('VideoScreen Error: ', err);\n            if (callback) callback(err);\n        }\n        \n        navigator.getUserMedia(constraints, sucCallback, errCallback);\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":124},"__LivelyClassName__":"lively.Closure"},"123":{"this":{"__isSmartRef__":true,"id":0}},"124":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Nov 20 2014 14:20:48 GMT-0800 (PST)\")"},"125":{"varMapping":{"__isSmartRef__":true,"id":126},"source":"function stopVideo() {\n    if (!this.videoStream || !this.isPlaying()) return;\n    \n    this.videoStream.stop();\n    this.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.Closure"},"126":{"this":{"__isSmartRef__":true,"id":0}},"127":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Sep 19 2014 11:58:14 GMT-0700 (PDT)\")"},"128":{"varMapping":{"__isSmartRef__":true,"id":129},"source":"function playStream(mediaStream) {\n    this.videoStream = mediaStream;\n    var video = this.jQuery().children('video').get(0);\n    // sometimes the video pauses, so we just restart it\n    video.addEventListener('pause', function() {\n        console.log('Video: paused -> restart');\n        video.play();\n    }, false);\n    var extent = this.getExtent();\n    video.height = extent.y;\n    video.width = extent.x;\n    video.src = window.URL.createObjectURL(mediaStream);\n    video.play();\n}","funcProperties":{"__isSmartRef__":true,"id":130},"__LivelyClassName__":"lively.Closure"},"129":{"this":{"__isSmartRef__":true,"id":0}},"130":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:23:56 GMT-0700 (PDT)\")"},"131":{"varMapping":{"__isSmartRef__":true,"id":132},"source":"function registerEventOnScreen(event, callback) {\n    var video = this.jQuery().children('video').get(0);\n    video.addEventListener(event, callback);\n}","funcProperties":{"__isSmartRef__":true,"id":133},"__LivelyClassName__":"lively.Closure"},"132":{"this":{"__isSmartRef__":true,"id":0}},"133":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Sep 15 2014 17:12:59 GMT-0700 (PDT)\")"},"134":{"varMapping":{"__isSmartRef__":true,"id":135},"source":"function setExtent(newExt) {\n    $super(newExt);\n    var video = this.jQuery().children('video').get(0);\n    video.height = newExt.y;\n    video.width = newExt.x;\n}","funcProperties":{"__isSmartRef__":true,"id":140},"__LivelyClassName__":"lively.Closure"},"135":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":136}},"136":{"$super":{"__isSmartRef__":true,"id":137}},"137":{"varMapping":{"__isSmartRef__":true,"id":138},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":139},"__LivelyClassName__":"lively.Closure"},"138":{"obj":{"__isSmartRef__":true,"id":0},"name":"setExtent"},"139":{},"140":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:25:03 GMT-0700 (PDT)\")"},"141":{"varMapping":{"__isSmartRef__":true,"id":142},"source":"function getVideoElement() {\n    return this.jQuery().children('video').get(0);\n}","funcProperties":{"__isSmartRef__":true,"id":143},"__LivelyClassName__":"lively.Closure"},"142":{"this":{"__isSmartRef__":true,"id":0}},"143":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Oct 13 2014 17:28:17 GMT-0700 (PDT)\")"},"144":{"varMapping":{"__isSmartRef__":true,"id":145},"source":"function showBitrate(bitrate) {\n    if (!this.bitrateLabel) this.addBitrateLabel();\n    \n    this.bitrateLabel.setTextString(bitrate);\n    this.bitrateLabel.growOrShrinkToFit();\n    this.bitrateLabel.setPosition(this.getExtent());\n}","funcProperties":{"__isSmartRef__":true,"id":146},"__LivelyClassName__":"lively.Closure"},"145":{"this":{"__isSmartRef__":true,"id":0}},"146":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Oct 31 2014 12:02:38 GMT-0700 (PDT)\")"},"147":{"varMapping":{"__isSmartRef__":true,"id":148},"source":"function addBitrateLabel() {\n    var label = $world.loadPartItem('Label', 'PartsBin/Text');\n    label.setFontSize(10);\n    label.setFill(Global.Color.white);\n    label.setBorderRadius(2);\n    label.setOpacity(0.9);\n    label.setTextString('---');\n    label.growOrShrinkToFit();\n    label.setExtent(lively.pt(label.getExtent().x, 16));\n    label.setOrigin(label.getExtent().addPt(lively.pt(5, 0)));\n    label.setPosition(this.getExtent());\n    \n    this.bitrateLabel = label;\n    this.addMorph(label);\n}","funcProperties":{"__isSmartRef__":true,"id":149},"__LivelyClassName__":"lively.Closure"},"148":{"this":{"__isSmartRef__":true,"id":0}},"149":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Oct 31 2014 12:04:30 GMT-0700 (PDT)\")"},"150":{"varMapping":{"__isSmartRef__":true,"id":151},"source":"function onDropOn(aMorph) {\n    if (aMorph.onMorphAdded) {\n        aMorph.onMorphAdded(this);\n    }\n    return false;\n}","funcProperties":{"__isSmartRef__":true,"id":156},"__LivelyClassName__":"lively.Closure"},"151":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":152}},"152":{"$super":{"__isSmartRef__":true,"id":153}},"153":{"varMapping":{"__isSmartRef__":true,"id":154},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":155},"__LivelyClassName__":"lively.Closure"},"154":{"obj":{"__isSmartRef__":true,"id":0},"name":"onDropOn"},"155":{},"156":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Nov 07 2014 15:05:59 GMT-0800 (PST)\")"},"157":{"varMapping":{"__isSmartRef__":true,"id":158},"source":"function onMouseOver(evt) {\n    if (this.controlBar.owner != null) return;\n    this.showControlBar();\n    var _this = this;\n    this.controlBarTimeout = setTimeout(function() {\n        _this.hideControlBar();\n    }, 3 * 1000);\n}","funcProperties":{"__isSmartRef__":true,"id":163},"__LivelyClassName__":"lively.Closure"},"158":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":159}},"159":{"$super":{"__isSmartRef__":true,"id":160}},"160":{"varMapping":{"__isSmartRef__":true,"id":161},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":162},"__LivelyClassName__":"lively.Closure"},"161":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseOver"},"162":{},"163":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 15:17:28 GMT-0800 (PST)\")"},"164":{"varMapping":{"__isSmartRef__":true,"id":165},"source":"function onMouseOut(evt) {\n    // this.hideControlBar();\n    // clearTimeout(this.controlBarTimeout);\n}","funcProperties":{"__isSmartRef__":true,"id":170},"__LivelyClassName__":"lively.Closure"},"165":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":166}},"166":{"$super":{"__isSmartRef__":true,"id":167}},"167":{"varMapping":{"__isSmartRef__":true,"id":168},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":169},"__LivelyClassName__":"lively.Closure"},"168":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseOut"},"169":{},"170":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 15:13:45 GMT-0800 (PST)\")"},"171":{"varMapping":{"__isSmartRef__":true,"id":172},"source":"function showControlBar() {\n    if (!this.controlBar) {\n        this.controlBar = $world.loadPartItem('VideoControlBar', 'PartsBin/Felix');\n    }\n    var x = this.getExtent().x / 2;\n    var y = this.getExtent().y - 16;\n    this.controlBar.setPosition(lively.pt(x, y));\n    this.addMorph(this.controlBar);\n}","funcProperties":{"__isSmartRef__":true,"id":173},"__LivelyClassName__":"lively.Closure"},"172":{"this":{"__isSmartRef__":true,"id":0}},"173":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:32:52 GMT-0800 (PST)\")"},"174":{"varMapping":{"__isSmartRef__":true,"id":175},"source":"function hideControlBar() {\n    if (this.controlBar) {\n        this.controlBar.remove();\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":176},"__LivelyClassName__":"lively.Closure"},"175":{"this":{"__isSmartRef__":true,"id":0}},"176":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:33:29 GMT-0800 (PST)\")"},"177":{"varMapping":{"__isSmartRef__":true,"id":178},"source":"function onMouseMove(evt) {\n    if (this.controlBar.owner == null) {\n        // control bar is not visible at the moment\n        this.showControlBar();\n    }\n    \n    var _this = this;\n    clearTimeout(this.controlBarTimeout);\n    this.controlBarTimeout = setTimeout(function() {\n        _this.hideControlBar();\n    }, 3 * 1000);\n}","funcProperties":{"__isSmartRef__":true,"id":183},"__LivelyClassName__":"lively.Closure"},"178":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":179}},"179":{"$super":{"__isSmartRef__":true,"id":180}},"180":{"varMapping":{"__isSmartRef__":true,"id":181},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":182},"__LivelyClassName__":"lively.Closure"},"181":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseMove"},"182":{},"183":{"user":"felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 15:11:11 GMT-0800 (PST)\")"},"184":{"varMapping":{"__isSmartRef__":true,"id":185},"source":"function captureFrame(encoding, quality) {\n    var video = this.getVideoElement();\n    var canvas = document.createElement('canvas');\n    canvas.width = video.width;\n    canvas.height = video.height;\n    var ctx = canvas.getContext('2d');\n    ctx.drawImage(video, 0, 0, video.width, video.height);\n    \n    return canvas.toDataURL(encoding, quality);\n}","funcProperties":{"__isSmartRef__":true,"id":186},"__LivelyClassName__":"lively.Closure"},"185":{"this":{"__isSmartRef__":true,"id":0}},"186":{"user":"felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 15:08:17 GMT-0800 (PST)\")"},"187":{"varMapping":{"__isSmartRef__":true,"id":188},"source":"function onLoad() {\n    this.restoreStreamingConfig();\n}","funcProperties":{"__isSmartRef__":true,"id":189},"__LivelyClassName__":"lively.Closure"},"188":{"this":{"__isSmartRef__":true,"id":0}},"189":{"user":"felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 10 2014 09:31:50 GMT-0800 (PST)\")"},"190":{"varMapping":{"__isSmartRef__":true,"id":191},"source":"function restoreStreamingConfig() {\n    this.streamingConfig = {\n        mediatype: \"image\",\n        steptime: 100,\n        compressionParameters:  {\n            imgCompression: \"image/webp\",\n            imgQuality: 0.2,\n            lzwCompression: true\n        },\n        record: false\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":192},"__LivelyClassName__":"lively.Closure"},"191":{"this":{"__isSmartRef__":true,"id":0}},"192":{"__serializedExpressions__":["timestamp"],"user":"felix","timestamp":"new Date(\"Tue Dec 16 2014 15:44:43 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}