Posts Tagged ‘as3’

Flex Library Project won’t build? Check for build errors.

Posted in to do on May 11th, 2012 by ericsoco – Be the first to comment

I ran into a particularly sticky problem today with Flex Library Projects in Flash Builder. I wrote up my issue as a Stack Overflow question, and subsequently managed to figure it out.

In short, as soon as I cut/pasted certain classes into my Flex Library Project, it would no longer rebuild the .swc file in the /bin folder. No matter what I did after pasting in that file, I couldn’t get the .swc to update.

The first symptom was that other projects referencing this Library Project could not find the classes in the Library Project even after I had pasted them into the Library Project. More sluething led to the frozen .swc in the Library Project.

After a while, I noticed that the class I pasted in had dependencies on other, absent classes. This caused build errors (apparent in the Problems pane, but unnoticed by me until then), and those errors caused Flash Builder to stop updating the .swc file.

Simple enough once I noticed the errors — of course Flash Builder cannot recompile the .swc when there are build errors. But there was no obvious indication of these errors, nor that building was failing. Once I cleared up the build errors, the .swc automagically reappeared.

The original source of the build errors turned out to be one unchecked box: when I initially created the Library Project, I neglected to check ‘Include Adobe AIR Libraries’. My library classes referenced some (absent) AIR classes, I got build errors, the .swc would not compile, I could not reference any of the library classes from other projects.

MongoDB ObjectID for AS3

Posted in to do on April 2nd, 2012 by ericsoco – 4 Comments

I’ve been working with MongoDB as of late, and finding the offerings for an ActionScript 3.0 driver to be rather lacking.

I started with ActionMongo, and quickly found out that it has no support for much of anything except the find() command.  I then found my way to MongoAS3, which is a HUGE improvement over the barely-started functionality within ActionMongo.  (Credit where credit’s due, Omar Gonzales built MongoAS3 off of Claudio Alberto Andreoni’s first steps with ActionMongo.)

However, I found a missing piece in MongoAS3 that was holding me back: it doesn’t provide any way to generate a new ObjectID.  This is a problem if, for example, you want to insert a new document.  Since Mongo doesn’t provide a response on a successful insert, this means that a followup query is required to get the ObjectID assigned by the server to the newly-inserted document.  Not ideal.

So, I added functionality to (which Omar included from Claudio’s original, as part of ActionBSON) to generate a new ObjectID per the ObjectID spec.  The one deviation from the spec comes from the difficulty in getting the process ID from within a flash runtime (requires launching a NativeProcess, which can only be done from an AIR application with the extendedDesktop profile); for this, we’re just using a random.

I also added the ability to extract the timestamp from the ObjectID, which could prove useful.

Hope it’s useful to some of you…I’ve submitted it to Claudio and Omar for inclusion into their distros.  Code after the break, or on Github. (I need a better Gist plugin…)

read more »

Nest 0.2 – Scenegraph and Event Model for Processing/Java

Posted in to do on June 8th, 2011 by ericsoco – Be the first to comment

I’ve been working on some more complex processing/java projects at work lately, and found myself missing some of the niceties of AS3, like add/removeChild(), setting .x or .scaleY or .rotationZ, adding event handlers, etc.

So, I started to write a framework to provide some of those things. Now, it’s all documented and pretty and waiting for you:

read more »

FLARManager v1.1 – Augmented Reality in Flash

Posted in to do on January 30th, 2011 by ericsoco – 10 Comments

Hello again. For your augmenting pleasure, here’s the first major-ish update since v1.0.

As Papervision is pretty much a dead project, I’ve been asked increasingly often to update the parts of FLARManager that use other frameworks. That’s the major focus of this release, but there are some other changes too.

FLARManager v1.1 can now stabilize tracking based on the user scenario you’re targeting. FLARManager.markerMode and FLARManager.patternMode allow more control over the amount of markers and patterns your application will track, and FLARCameraSource.activityThreshold is better integrated into FLARManager’s core to allow performance gains for stationary markers.

Of course, all of this is reflected in updated ASDoc-style documentation, and is documented here as well. And if you don’t want to take the time to understand what I’m talking about, just roll with the defaults and everything will be peachy.

As usual, you can get it via svn/download. Instructions here.

If you like what you see here, please consider flipping a penny or two my way:
donate to FLARManager

Also, in case you missed the news — ARToolworks is now hosting a FLARManager forum here. Please post support questions there for better tracking and archival. And in other communication news, I’m now on the twitters…look out for quickies about FLARManager, Flash, and all good things tech and design.

More on v1.1 after the jump…
read more »

Alternativa3D version 7 support, ARToolworks forum

Posted in to do on December 28th, 2010 by ericsoco – Be the first to comment

Quick updates on code and on support:

Thanks to Makc, FLARManager now supports the latest (free) version of Alternativa3D. As of the time of writing, this means Alternativa3D version 7.6.0. The latest source in my SVN /trunk can be checked out as described here.

Also, I mentioned to ARToolworks that it’s not ideal for FLARManager users to have to wade through comments on previous posts to get support, and they offered to set up a forum specifically for FLARManager. I’m going to start forwarding questions posted on this site to the ARToolworks/FLARManager forum from now on. You can find the new forum here.

Of course, the FLARToolkit forum still exists as well, and I’ll keep my eye on both. Where should you post? Well, if your question is FLARManager-specific, better to post on the ARToolworks forum, as their staff will be helping me answer questions. If your question is more about FLARToolkit, stick with the FLARToolkit forum. Either way, your questions will be heard.

FLARManager v1.0.4 – Augmented Reality in Flash

Posted in to do on November 28th, 2010 by ericsoco – 2 Comments

Another minor update, this time focused on Away3D.

v1.0.4 mainly just updates Away3D from 3.3.4 to 3.6.0, which uses the native flash.geom.Matrix3D instead of MatrixAway3D. This update also includes a new Away3D SWC.

As usual, you can get it via svn/download. Instructions here.

If you like what you see here, please consider flipping a penny or two my way:
donate to FLARManager

Note: Away3D v3.3.4 is no longer supported by FLARManager; if you need support for it, use FLARManager v1.0.3 or earlier.

FLARManager v1.0.3 – Augmented Reality in Flash

Posted in to do on October 31st, 2010 by ericsoco – 7 Comments

So, I have to apologize for the CLibInit errors people have been running into when trying to compile the latest version. I left a reference to FlareTracker in when testing, and did not notice this caused Flash Builder to attempt to compile even though the default application is

This minor release, v1.0.3, fixes that problem. There’s not much else new here, except a couple minor bug fixes. As always, you can download via SVN or via the download link on the FLARManager page. You no longer have to get the flare* libraries to compile FLARManager; hope this helps all of you who’ve been struggling with CLibInit.


FLARManager: control jitter with activityThreshold

Posted in to do on September 23rd, 2010 by ericsoco – 10 Comments

After learning today about a very clever trick by Deepanjan Das, I decided to implement it in FLARManager.

The trick, in short:
only send the camera source to FLARToolkit while there is noticeable motion.
The result:
less jitter when the marker is held still in front of the camera.

To implement in FLARManager:
Download the latest from svn, particularly,, and the changes will automatically take effect.

To tweak the value, set activityThreshold within the <flarSourceSettings> element in flarConfig.xml. Set higher to further reduce jitter in stationary markers, and set lower to allow more freedom of motion with stationary markers.


FLARManager v1.0.1 – Augmented Reality with Flash

Posted in Uncategorized on August 15th, 2010 by ericsoco – 24 Comments

Minor update to FLARManager v1.0. Imagination has requested that I not distribute their libraries, so I’ve removed them from the FLARManager distro. This will make it easier for us to ensure both FLARManager and the flare* products are as up-to-date as possible, as well as smoothing out some other potential distribution issues.

However, this means that getting flare*tracker and flare*NFT projects running requires a bit more work. As such, I’ve reverted the examples and tutorials to use FLARToolkit, which I can distribute along with FLARManager, and also created this page to describe, in-depth, how to implement the various tracking engines that FLARManager supports.

Please take a moment to download the latest version of FLARManager and the current evaluation SDKs for flare*tracker and flare*NFT to ensure you’re up-to-date. And feel free to pester me with questions (as comments, below) about setting up your projects — I need your help to get the documentation as clear as possible.

FLARManager v1.0 – Augmented Reality with Flash

Posted in to do on August 7th, 2010 by ericsoco – 33 Comments

Hello folks. I’m happy to announce that FLARManager is finally all growed-up!

FLARManager v1.0 has been quite a while in the making, especially the movement from v0.7. This is due to a number of factors; one of these has been working out the final details, between ARToolworks and Imagination, of flare*tracker and flare*NFT integration, which i first previewed in this blog post. But the major factor is the amount of restructuring that has gone into FLARManager.

Why restructure? FLARManager is now able to work with any tracking library, just as it’s able to work with any 3D framework. And switching between tracking libraries is as simple as this:

new FLARManager("flarConfig.xml", new FlarToolkitManager(), this.stage);
new FLARManager("flarConfig.xml", new FlareManager(), this.stage);
new FLARManager("flarConfig.xml", new FlareNFTManager(), this.stage);

Obviously, the freedom given to application developers, creatives, and agencies by natural feature-tracking is the biggest element of this release to be excited about. But the restructuring goes deeper — FLARManager can now function as a link between *any* tracking library and *any* 3D framework. Developers are no longer bound to decisions based on limited availability or documentation; they are free to choose the tools that work best for them. (Some Californian CEOs would do well to pursue similar goals.)

You can get FLARManager version 1.0 here.

So what else is new about v1.0? A quick rundown beyond the jump…
read more »