March 7th, 2009
We’re very sorry about the recent downtime. This was due to some problems on our primary server that required a trip to the datacentre. It should be all working again now. Please contact me if there are any further problems.
Posted in CleVR, bugs, support | No Comments »
September 25th, 2008
Mike Chambers has posted a comparison between the performance of AS3 arrays and the new Vectors available in Flash Player 10. The results look good: he managed a 60% speedup. This is very exciting for us at CleVR, because of the potential impact it has on the Stitcher in particular. This uses massive Arrays and lots of nested loops which seem to be just the kind of thing that would benefit from this. I haven’t had a chance to do any benchmarking of my own (hard at work on CleVR Pro) but when I do I’ll post another entry.
Posted in AIR, AS3, Actionscript, Adobe, Adobe AIR, CleVR, Flash, Flex, Stitcher, Stitching software, graphics, image processing, math, maths, panoramas | 1 Comment »
August 31st, 2008
I’m pleased to announce that we’ve been approved by Facebook as a multimedia Share Partner. This means that you can share and display panoramas on Facebook. You can send them as messages and post them to your profile, and they will be displayed properly in the page. Previously you could only send links to the panorama page, but now they can be embedded properly. It’s dead easy to do: just click the Facebook button on any panorama page. There is also a MySpace button that lets you do similar, which has been working for a few weeks now.
Try it out with this one of Beijing Olympic Green, the Birds’ Nest Stadium and Water Cube.
Posted in Viewer, photography, tips | 1 Comment »
August 28th, 2008
A Flex/AIR project I’m working on at the moment uses a DataGrid to display a lot of data. There needs to be lots of columns, but this means that the view can be a bit cluttered. What I wanted was an easy for the user to show or hide columns as they prefer. In Cocoa on Mac OS X you can right-click (or ctrl-click) to show a context menu to do this, which seems to be a good way. I thought there may be a way of doing this in Flex, but there didn’t appear to be. It was quite simple to implement and could be useful in lots of cases, so I thought I’d share the code. I put this in a creationComplete handler.
I’ve attached it as a context menu on the DataGrid, but you could also attach it to the header or to a button. I hope it helpful to someone.
var context:NativeMenu = new NativeMenu();
for each (var col:DataGridColumn in myDataGrid.columns){
var menuI:NativeMenuItem = new NativeMenuItem(col.headerText);
menuI.checked = col.visible;
menuI.data = col;
context.addItem(menuI);
}
context.addEventListener(Event.SELECT, function(e:Event):void {
var t:NativeMenuItem = e.target as NativeMenuItem;
t.checked = !t.checked;
t.data.visible = t.checked;
});
myDataGrid.contextMenu = context;
Posted in AIR, AS3, Actionscript, Adobe, Adobe AIR, Flex, tips | 1 Comment »
August 17th, 2008
I’ve been trying to track down the source of a bug in the Stitcher. The issue was in the welcome screen, which has states for logging-in, creating a new account etc. The problem was that whenever the login state had been active, moving to another state would throw an error, The supplied DisplayObject must be a child of the caller. After much trial and error I worked out that it was down to the ControlBar that held the login buttons. It seems that the issue is that when Flex adds a controlbar, it doesn’t actually add it as a child of the container in which you place it. This means that when you then try to remove it, it’s in the wrong place. It seems to be related to this bug, which was apparently fixed last year. I’m going to have to produce a minimal version and see if I need to submit a bug report and/or patch.
Anyway, after changing it to use an HBox it’s working. I’ve uploaded a new version of the CleVR Stitcher with that fix and a few others. You can install it from that box in the sidebar (unless you’re reading this via the feed).
Posted in AIR, AS3, Actionscript, Adobe, Adobe AIR, CleVR, Flash, Flex, MXML, Stitcher, Stitching software, bugs, panoramas | No Comments »
August 14th, 2008

We’ve just launched a new customer support and discussion community, powered by Get Satisfaction. This should be a great way for us to answer users’ questions, as well as for users to ask each other. Hopefully it can also be used for discussions about panoramic photography in general. Head over to our support page for more details, or go straight to the Get Satisfaction community.
Posted in CleVR, bugs, panoramas, photography, support, tutorials | 1 Comment »
August 14th, 2008
Just a quick one. I don’t usually post regular panoramas to this blog, but I just saw this one which is particularly topical. It’s of the Olympic badminton quarter-final in Beijing. Pano below the cut.
Read the rest of this entry »
Posted in panoramas | No Comments »
July 20th, 2008
Amazon S3, which is where we host most of our images, is having some problems at the moment. We’ve switched over to our backup systems, so things should be working fine. However, panoramas embedded in external sites may have some problems while the DNS updates. We should get everything back once Amazon has fixed the problem.
Update 0839 BST: S3 has been restored. We’re currently syncing our servers with them, so everything should be running smoothly soon. Thanks for your patience.
Posted in Amazon S3, Amazon Web Services | No Comments »
July 10th, 2008
I’ve had a few people contact me to ask about how to use clevrlib to resize images with bicubic or bilinear interpolation in Flash or Flex, so I’ll give an overview of how to do this.
The InterpolatedBitmapData class adds the methods getPixelBicubic and getPixelBilinear to the BitmapData class, which allows you to fetch the colour of a point that’s not on a pixel boundary. We use this when reprojecting the source images in the CleVR Stitcher, but it can work just as well for resizing an image. Bear in mind that bicubic is a lot slower than bilinear, and the quality improvement isn’t usually worthwhile. However, you’re welcome to switch to getPixelBicubic if you need to.
The basic method I’m using here for resizing is to loop through the pixels of the output image, getting the equivalent pixels in the source image. As these are found by multiplying by the ratio between the source and output sizes, the coordinates probably won’t be integers. Using regular getPixel would require rounding, and therefore give a jagged (aliased) output. The getPixelXxx methods let you pass them a Number, which needn’t be an integer, giving a much smoother result.
The sample code below shows a way of resizing an image using this method. The InterpolatedBitmapData should be created in the same way as a BitmapData, such as by draw()ing a loader onto it. The example I’ve shown below is an Event.COMPLETE handler for a Loader. Code below the cut.
Read the rest of this entry »
Posted in Actionscript, Adobe, CleVR, Flash, Flex, clevrlib, graphics, image processing, math, maths | 8 Comments »
June 3rd, 2008
There’s a great article over on Tucows about how to use CleVR to create and share panoramas. In fact, I’d go as far to say that it’s better than our own documentation! Go and take a look, and if you like it then Digg the article.
Posted in Adobe AIR, CleVR, Flex, Hotspot Editor, Stitcher, Stitching software, Viewer, graphics, image processing, panoramas, photography, tutorials | No Comments »