There&#39;s an example of calling of as3-specific code in the drawview class in lps/components/extensions/drawview.lzx. That code has blocks that are conditional on the target<br>runtime (so the file compiles to swf8,dhtml, and swf10, from the same source file).<br>

<br><br>There&#39;s also an LZX xml syntax, to be able to add import statements to LZX <br>class definitions. Example:<br><br>    &lt;class name=&quot;camera&quot; extends=&quot;mediadevice&quot;&gt;<br>        &lt;switch&gt;<br>

            &lt;when property=&quot;$as3&quot;&gt;<br>                &lt;passthrough&gt;<br>                    import flash.media.*;<br>                &lt;/passthrough&gt;<br>            &lt;/when&gt;<br>        &lt;/switch&gt;<br>

<br><br>Also, here&#39;s an example of calling the text flow API, showing the use of the &#39;passthrough&#39; compiler pragma. Putting &#39;passthrough(toplevel:true)&#39;  inside<br>of a class definition causes the contents of the<br>

block to get stuck at the beginning of the .as file which the compiler<br>emits. e.g., if you have a class in script that sas<br><br><br><br>package {<br>  import foo.bar;<br>  import foo.baz;<br><br>class myclass {<br><br>

}<br><br>}<br><br><br><br><br><br>&lt;canvas width=&quot;100%&quot; height=&quot;80%&quot; debug=&quot;true&quot;&gt;<br>
  &lt;debug  fontsize=&quot;12&quot;/&gt;<br><br>&lt;script when=&quot;immediate&quot;&gt;<br>&lt;![CDATA[<br><br>class foo {<br>    #<span class="il">passthrough</span> (toplevel: true) {<br>    import flash.display.Sprite;<br>

    import flashx.textLayout.compose.StandardFlowComposer;<br><div id=":1qa" class="ii gt">
    import flashx.textLayout.container.ContainerController;<br>    import flashx.textLayout.elements.ParagraphElement;<br>    import flashx.textLayout.elements.SpanElement;<br>    import flashx.textLayout.elements.TextFlow;<br>


    }#<br><br>    /** Simplest possible &quot;Hello, World&quot; text example */<br>        public function foo(view:LzView)<br>    {<br>        var textFlow:TextFlow = new TextFlow();<br>        var p:ParagraphElement = new ParagraphElement();<br>


        textFlow.addChild(p);<br>            <br>        var span:SpanElement = new SpanElement();<br>        span.text = &quot;Hello, World&quot;;<br>        span.fontSize = 48;<br>        p.addChild(span);<br>            <br>


        textFlow.flowComposer.addController(new ContainerController(view.sprite, 400, 200));<br>        textFlow.flowComposer.updateAllControllers();<br>    }<br>}<br><br>]]&gt;<br>&lt;/script&gt;<br><br>     &lt;view width=&quot;200&quot; id=&quot;v1&quot; height=&quot;100&quot;&gt;<br>


       &lt;attribute name=&quot;tflow&quot;/&gt;<br>       &lt;handler name=&quot;oninit&quot;&gt;<br>          this.tflow = new foo(this);<br>       &lt;/handler&gt;<br>     &lt;/view&gt;<br><br>&lt;/canvas&gt;</div><br>

<br><div class="gmail_quote">On Mon, Oct 26, 2009 at 8:35 AM, P T Withington <span dir="ltr">&lt;<a href="mailto:ptw@pobox.com">ptw@pobox.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Wow.  That seems pretty sleazy.<br>
<br>
I don&#39;t really know much about this area, but you and David (and Max) must.  :)<br>
<br>
I (or more likely, Henry) can certainly help out if you just need to figure out how to call these &quot;mysterious&quot; API&#39;s from LZX.  In general, we don&#39;t limit what you can call in the underlying runtime.  You may need to use the #passthrough pragma if our compiler is getting in the way.  You can either grep for examples of that in the LFC, or Henry can explain it more.<div>

<div></div><div class="h5"><br>
<br>
On 2009-10-26, at 08:29, Sebastian Wagner wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
yes, you can set the audio to use speex internally in the Flash Player but<br>
Adobe seems to remove the Echo Cancellation for speex from the free Flash<br>
Player version and only add it when you use Adobe Connect Pro.<br>
<br>
sebastian<br>
<br>
<br>
2009/10/26 P T Withington &lt;<a href="mailto:ptw@pobox.com" target="_blank">ptw@pobox.com</a>&gt;<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
>From what I could glean reading your references, it seems that Adobe is<br>
protecting the use of this feature by requiring the source audio to be<br>
signed, so, while you can make the calls, and load the plug-in, it&#39;s not<br>
going to be useful if you don&#39;t have their (licensed) server to deliver<br>
signed content...<br>
<br>
OTOH, in the same thread there was mention of using speex codec, which<br>
David Nault (cc-ed) was also interested in.  Speex has activity detection<br>
and echo cancellation, and is open source.<br>
<br>
<br>
On 2009-10-26, at 06:34, Sebastian Wagner wrote:<br>
<br>
hi,<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
there are some hidden features that Adobe only enables for premium<br>
customers<br>
in the Flash Player, like Echo Cancellation.<br>
It is only available for Adobe Connect Pro.<br>
<br>
You may find more info on it here:<br>
<a href="http://bugs.adobe.com/jira/browse/FP-273" target="_blank">http://bugs.adobe.com/jira/browse/FP-273</a>,<br>
or<br>
<br>
<a href="http://www.lingolesson.com/misc/adobe-s-mysterious-systemproduct-and-connect-pro/" target="_blank">http://www.lingolesson.com/misc/adobe-s-mysterious-systemproduct-and-connect-pro/</a><br>
<br>
Can we support those mysterious: var product = new<br>
System.Product(_global._s(&quot;addInName&quot;));<br>
calls that are not enabled for usual Flash Developers?<br>
<br>
<br>
<br>
sebastian<br>
<br>
--<br>
Sebastian Wagner<br>
<a href="http://www.webbase-design.de" target="_blank">http://www.webbase-design.de</a><br>
<a href="http://openmeetings.googlecode.com" target="_blank">http://openmeetings.googlecode.com</a><br>
<a href="http://www.laszlo-forum.de" target="_blank">http://www.laszlo-forum.de</a><br>
<a href="mailto:seba.wagner@gmail.com" target="_blank">seba.wagner@gmail.com</a><br>
<br>
</blockquote>
<br>
<br>
</blockquote>
<br>
<br>
-- <br>
Sebastian Wagner<br>
<a href="http://www.webbase-design.de" target="_blank">http://www.webbase-design.de</a><br>
<a href="http://openmeetings.googlecode.com" target="_blank">http://openmeetings.googlecode.com</a><br>
<a href="http://www.laszlo-forum.de" target="_blank">http://www.laszlo-forum.de</a><br>
<a href="mailto:seba.wagner@gmail.com" target="_blank">seba.wagner@gmail.com</a><br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Henry Minsky<br>Software Architect<br><a href="mailto:hminsky@laszlosystems.com">hminsky@laszlosystems.com</a><br><br><br>