430 words on earthlingsoft
A long time ago Steffen and me were excited to discover Apple’s ASCIIMoviePlayer sample code which produces a command line utility for playing QuickTime films as text in the Terminal. It’s a great toy, and an afternoon of tinkering and playing with AppleScript Studio later we had slightly extended that tool to support different window widths along with a GUI to comfortably play the films. ASCII Projektor was born.
While we made ASCII Projektor, we contemplated not using the Terminal as the Terminal application isn’t exactly made to draw things quickly and the frame rates you get aren’t too impressive. We tinkered a bit with Cocoa and hoped to create our own drawing code for this which could then easily use different fonts, allow the use of non-ASCII characters and be generally cooler. But it turned out that all the straightforward approaches to this gave us significantly worse performance than what the Terminal did, so we just stuck with the original command line tool for this little toy.
With Mac OS X.4 Quartz Composer was added to the system. Despite its shortcomings (the Quartz Composer Application’s UI is PITA in X.4 and the rendering is rather unreliable both in speed and in quality across different machines, particularly with the crappy MacBook graphics chips), it’s still a rather interesting and fun bit of technology which application developers only slowly started to pick up. In addition to that it provides a quick graphics engine, QuickTime playback and numerous filters in one place. So the idea to move ASCII Projektor to this new technology was born rather soon after playing with X.4’s graphics features.
But as things go, it took a while to get a computer that actually runs those things well, even more time to get into the programming language (or rather language subset) needed to write your own image kernels, even more time to actually implement things and finally another year to make a UI for it that doesn’t completely suck.
But we are through all these delays now, and I can present the totally re-vamped ASCII Projektor. It is based on Quartz Composer, it can process film files as well as your computer’s camera stream, it will let you use different fonts for the characters (only works well with monospaced fonts) and, as a bonus, we even threw in a few extra effects if you are so inclined. All in all, a great bit of fun if you ask me.
So go ahead an enjoy!
Free fake license if you tell me where the shot above came from.
It’s the ending of Fight Club, right?
The Quartz Composer UI has seen considerable changes in 10.5 — it finally supports undo!
Is the shot from the last scene in fight club?
Sorry guys, it’s not Fight Club. Nice try though.
Fred: I’ll try to get a bit into QC improvements when the time has come. And Undo definitely is at the top of the list UI-wise. You may actually notice that you benefit of some of the other improvements when running ASCII Projektor in X.5.
This is neat little application. It would be awesome if you developed an iChat plugin for video chatting!
As far as I can tell, Apple doesn’t officially support plugins for iChat.
However, as the video effects in iChat in upcoming Mac OS releases should be Quartz Composer based and ASCII Projektor is as well, it may be possible to find a way to sneak the ASCII Projektor composition into iChat anyway.
I’ll try to figure this (and similar ideas for PhotoBooth or iMovie) out in the future. Better don’t hold your breath, though.
It’s a good app, why does only retro support sound?
ASCII Projektor doesn’t support sound when running in MacOS X.4 because the Quartz Composer technology it uses doesn’t support sound there.
Quartz Composer has been updated in Mac OS X.5 and sound does work there.
Can i save the ascii movies played by ascii projektor????
No you can’t save movies. ASCII Projektor can only do live playback at this stage.
The best you can get is using the copy command on the main window. This will put the current (static) image on the clipboard.
this is amazing… runs ‘great’ on my macbook - its great fun to test out your own ascii input characters.
I’ve had some interesting success in creating the stamp like image of ‘edge work’ using all of the special punctuation located above the numbers.. !@#$%^&*()
minor suggestions for version 4: - fullscreen cmd key.. - actual values assigned and input box for gamma, lines, font size so that you could easily test exact settings - store/save presets pulldown menu for your settings
but brilliant little tool - and now… let me buy you a drink - cheers
I think it’s the scene from Cash Back when the main fellow—who’s name I forget—freezes time for his lady friend—whose name I also forget—and they head outside into the snow. Since you’ve done this, at least in some fashion, based on Quartz Composer, is there any way to simply get this functionality as an image filter quartz composition? This way, it could be used quite nicely in iChat AV. Otherwise, as a standalone app, it’s kind of limited. Nice work, though! :)
Nice try, but I’m afraid it’s a different scene (in particular I took that screenshot before I even knew about Cashback ;)
I attempted to make the underlying composition work in X.5 iChat as an image filter, but that fails for some reason with the image remaining blank.
Hey ..cool tool!!! Is is in any way possible to route the playing video thru to a video recording program ..or a firewire device output etc ? ..that would be more cool ..it seems that i gonna grab my video by hand camera ..the old Bauer VHS Pro would just do ..additional noise ..hardware coded tape stripes.
That picture is taken from MATRIX V 1 ..Neo just went thru that tunnel at the end of the movie. I remember that from the green colors.
Unfortunately I didn’t manage to implement a video exporting feature that runs sufficiently quickly. However, you should be able to get the result you are looking for with a screen recording tool. I managed to smoothly capture all frames of ASCII Projektor’s output in a test I did with Screenium, but I guess other screen capturing programs will work as well.
errr, not quite.