AIRでpopforge

ちょいとAIRでpopforge使ったものを作ろうとしはじめてみたところ、いきなり「Loader.loadBytes() is not permitted to load content with executable code.」なるエラーが発生してつまづいた。
popforgeって、内部的にはswf作ってそれをLoader.loadBytes()で読んでごにょごにょしてるみたいなのですが、AIRの場合に限りLoader.loadBytes()でSWFのByteArray読んでごにょごにょする場合は、セキュリティの関係上LoaderContextで「allowLoadBytesCodeExecution」ていうプロパティをtrueに明示的に設定しないといけない模様。

というわけで、popforgeをAIRで使う場合、de.popforge.audio.output.SoundFactory.asの最後の「loader.loadBytes( swf )」を書き換えて

var context:LoaderContext=new LoaderContext();
context.allowLoadBytesCodeExecution=true;
loader.loadBytes( swf ,context);

としてやると無事使えるようになった。ちなみにこのLoaderContext.allowLoadBytesCodeExecutionというプロパティについては、ヘルプには「将来このAPI変わるかもなので、変わったときはコードの変更して再コンパイルよろしくね」って書いてあったり…。