New in this version:
- Support for multiple windows
- Java-style flow layout
- Full batching
- Numerous performance enhancements and bug fixes
- Minor theme tweaks
- setuptools/easy_install support
Given the speed of development, simplui has moved to its own googlecode project:
You can obtain the source from Mercurial, or download the binary package there.
In addition, simplui has been integrated with setuptools/easy_install. You can find the package listing in the PyPI directory (here), or you can install immediately with easy_install:
(note that easy_install will not install the demo application and themes)
This release does come complete with a few of caveats:
- simplui is only compatible with pyglet 1.1 maintenance – not the experimental version in trunk
- There is a bug in pyglet 1.1.3 which can cause crashes if un-patched.
- On Mac OS X, you may need to upgrade setuptools (sudo easy_install -s /usr/bin setuptools)
Various things have been snowballing recently, with the result that both development and blogging have fallen by the wayside. A few interesting things are happening however, take a look and see for yourself, after the jump…
No major features this time, instead a slew of small bug fixes, an update to the API, and the rendering code has been rewritten for performance (primarily though batching).
I wasn’t intending to push a release out until more features were added, so consider this a maintenance release.
You can download the tarball, or browse the source in SVN.
The default themes provided by simplui
Today brings the 1.0.2 release of simplui. This is a beta release, previewing major enhancements, and I need as much feedback as possible on the new features. As such, this release isn’t heavily optimised – that is on the wishlist for next release.
The big news for this release is themes support. The GUI is now fully skinned, using a variant on the ninepatch method code developed by Joe Wreschnig and Alex Holkner on the pyglet mailing list.
Each GUI frame can use a different theme (even in the same time!), and the theme can be changed at runtime. I have included two sample themes, one modelled on the Mac OS X ‘Aqua’ interface, and the other on the PyWidget GUI toolkit.
Also included are the usual crop of bug-fixes, including the squashing (hopefully for the last time) of the persistent event clipping bug.
As per usual, grab the tarball, or visit SVN, and let me know if you have any comments or suggestions.
I just posted a quick youtube video to demonstrate the current state of the planet renderer. This is early development stuff, and the eye candy is minimal, but it should give you some idea of the scope.
I will follow up with a more technical blog post in the next few days, explaining all that is going on behind the scenes, and can’t be seen in a video.
Part of the rationale behind this video is to stremline the whole video capture and posting process. Unfortunately, it hasn’t been entirely straightforward so far. I went through a number of video capture tools before settling on FRAPS, which works well enough (though I would have prefered a free tool).
I also have had a terrible time converting the video for youtube – ATI’s Avivo video converter is blazingly fast, but apparently produces an incompatibe audio codec in any of the high-quality settings. I was forced to fall back to the CPU-based Auto Gordian Knot, which both does a worse job, is very slow on my little Athalon 64 x2.
I am now experimenting with ffmpeg, but the command line options are confusing to say the least. If anyone has any clues/tips/tricks for getting FRAPS encoded video (and audio) into a suitable format for youtube HD, please let me know.
I am going to be performing a number of small releases for simplui over the next few weeks, as features are added and bugs are patched.
Today’s 1.0.1 release introduces a slider control, docstrings for all widget constructors detailing the keyword arguments, and a couple of bug fixes.
You can grab the release tarball, or check out the code directly from SVN.
If anyone feels like taking it for a spin, I could do with bug reports and feedback on the API.