television graphics, final cut pro, motion and xml

April 18 2008

Updated: Code now available

Yesterday I got an email from an engineer at the mothership asking for advice on tweaking a small utility I put together. The utility automates the creation of on-screen menus for TVNZ 6, which are created using Apple’s Final Cut Pro and indirectly use Apple’s Motion.

Today via Creative Workflow Hacks I see that Apple has now documented the Motion XML format, which should make it easier for assembling smooth automated workflows. The FCP XML format is already well documented.

Database + XML + Python + Python libraries + FCP/Motion = rocking solution

I did some weekend based research on FCP’s Apple Event (AE) support whilst investigating the best way to do those menus. With the help of HAS’s appscript AE bridge I put together a first cut of some Python code that could get and send XML to FCP via AE. I didn’t use this approach in the actual solution, instead opting just to have the operator manually import a XML file.

I’ve placed that code onto the Python code snippets site Useless Python, hoping that it err may be useful to some. Why is Useless Python developed in PHP?

It’s not available yet, will link directly to it after it’s been reviewed and approved.

Well, turns out Useless Python is useless, nothing happening there. So I've pasted the code onto Pastie for those that are interested


Filed under: mac  media  python 

erlang, adservers and the iPhone

March 11 2008

Recently viewed a great Erlang video from the Jonathan Rentzsch organised C4 conference. Bob Ippolito, who is well known for his work helping to marry the joys of Mac with the joys of Python, gives the talk in which he provides an overview of Erlang and discusses the use of Erlang in powering his companies ad server and traffic monitoring products. The ad server is MochiAds which focuses on the Flash causal games market, embedding preroll and inter level ads into Flash content. If you’ve been to the Auckland Web Meetup in the last year then you may be familiar with it via Shaun Lee’s presentation on his Flash games portal shaunsflights.com or the presentation from Stephen Harris on Ninja Kiwi which inspired Shaun to become a Flash game developer.

The slides and code from Bob’s presentation are also available in addition to the hour long video.

I also dialed into the HD version of the Steve Jobs iPhone SDK keynote video. Having recently swapped out my old PowerBook for a bright shiny new MacBook Pro I was blown away by the ability to watch beautiful crisp HD video streamed. The content of the keynote was pretty impressive as well, though I’m not sure that all other competitors should pack up and go home quite yet;)

"In the space of an hour announcement, Apple has destroyed most of the big mobile players, Nokia, Microsoft, and RIM. I'd expect Google to abandon Android development at this point, it's now just irrelevant (if it weren't already)" - Polar Bear Farm

Filed under: mac  tech  erlang 

phones, video and synthetic programming

August 27 2007

A quick Pythonic burst before I depart for IBC later this week.

Video
In my spare time I’ve been tinkering around with Final Cut Pro’s XML capabilities and FCP’s interesting Apple Event support with the goal of automating the production of some channel elements. Python’s great libraries and the community behind their production is one of its strengths. For this work I have employed Appscript from HAS to allow me to send Apple Events to FCP. For the XML processing Fredrik Lundh’s elementtree was the natural choice. I used the Python Imaging Library (PIL) for a similar project several years ago for the automated production of id boards.
Once I’ve cleaned things up I’ll publish my FCP Apple Event class as an example of using Appscript.

Phones
Python for s60 mobile platform went gold last month. I need to dust off my PC to install some Windows only software that’s required to create a developer certificate. The dev cert allows you to get at the tastier capabilities of the phone.

Synthetic Programming
Corepy is a Python package for creating applications targeted at the IBM’s PowerPC and Cell architectures.

“Synthetic programming was developed to provide a new approach to high-performance and multi-core computing using scripting languages. The design of the synthetic programming environment encourages developers to experiment with different approaches for mapping algorithms to processing resources and generating optimized code sequences.

Synthetic programming itself is a methodology for building applications that combines high-level language code with user generated machine code. The synthetic programming environment exposes the underlying processor instructions as first-class functions in the host language and provides components for building and executing instruction sequences built using the instruction interfaces. The instruction sequences, called synthetic programs, can contain any instruction available for the processor, allowing developers to create highly optimized kernels for high-performance tasks. An application can contain many synthetic programs, all of which can be executed an arbitrary number of times synchronously or asynchronously, allowing the application to make full use of data and processing resources.” - Mueller C., Synthetic Programming: User-directed Run-time Code Synthesis for High Performance Computing

So the ease of use and elegance of Python is employed to create high performance machine code, making “assembly fun again”.

This is one of those times when having an older machine has its advantages as copepy will only run on PPC Macintoshes, so time available I’ll be able to load it up on the trusty PowerBook. Probably of more interest to those in scientific programming, such bioinformatics.


Filed under: mac  tv  media  tech  s60  python 

mac :: printing in a windows world

June 3 2007

Unless you use print from your Mac in a Windows environment which has a forced password change policy this post won’t be much interest. Its probably old news for most who do… but if you’re not aware of the lpadmin command and hate every time you have to change your Windows (AD) password this could be seriously useful.

I use my PowerBook in at work, which is a largely Windows based environment. In order to print I need to connect the Mac to one of the Samba (SMB) based printer queues. This can be achieved by using the web based admin tool (http://localhost:631/) and following the convention for creating the device string as follows:

smb://myaccount:mypassword@windowsserver/windowsprinter

So in a environment where:

myaccount = chris
mypassword = goldstar
windowsserver = nz_printer01
windowsprinter = nz_akl_moa

you would use the following string:

smb://chris:goldstar@nz_printer01/nz_akl_moa

Then you need to need to tweak the config to your printer driver and set up all the defaults for that printer. However when the inevitable password change occurs in the Windows environment you have to tweak the device settings in the web based system to take account that your password has changed. But then you have to redo all the associated driver and default settings. Now there is probably a way to avoid this but I’m now aware of it. The web based admin is now become a royal pain for me, due to factors I won’t go into.

I have always known of the command line …err.. commands that lie behind the web based admin. But until now have not had the suitable motivation to dig into their effective use. Typically the solution is simple and only took a ten minute scan of the associated man pages.

So if you already have a SMB printer setup and your password has changed all you need to do is issue the following command within the shell (Terminal):

lpadmin -p yourprintername -v smb://myaccount:mypassword@windowsserver/windowsprinter

So if using the example above the password was changed to lucky and you had named the printer MOA the command would be:

lpadmin -p MOA -v smb://chris:lucky@nz_printer01/nz_akl_moa

If you don’t know what printer names you have installed you can use lpstat -p or simply view them through the Print & Fax in System Preferences.... For a look at adding SMB printers using AppleScript check out the Samba Assistant script over at MacEnterprise.org

Apols for the justification on the lpadmin commands - the command is a one liner and those huge gaps just represent a single space each. Must tweak the css style for code!


Filed under: mac  tech 

Post NAB Catchup

May 1 2007

Despite ambitious plans to blog everyday about NAB its now a week after my return from Vegas. So here’s a quick wrap….

I spent way too much time in meetings at NAB. To do justice to show like NAB you really need at least four people, allowing each to attend the meetings relevant to them and allowing each to have time to free range the floor. It was only on the last day that I managed to get a limited walk of the floor. Even then it was highly directed as I paced the halls looking up the stands others had recommended to me.

The world of broadcast management applications isn’t booming. Its a small and increasingly smaller market so that’s no surprise. I was surprised to also see a lack of movement and excitement around media asset management (MAM). Obviously Proximity reborn as Final Cut Server provided some noise but otherwise it seemed very much business as usual with the existing players and no interesting new entrants.

The exception to this was the MXF Mastering Format demo given by the Advanced Media Workflow Association. Unfortunately I can’t link to anything substantial on it as the materials are available to members only. But it represents a new approach to the way in which media is managed, a more distributed method, and a concrete example of how MXF can be used to solve broadcasters media management problems. It is result of two years work by Omneon, EMC, Marquis Broadcast, Metaglue, OpenCube, Pro-Bel, Quantum, Snell & Wilcox, Softel and TMD , who focused their efforts on the multilingual audio and captioning requirements of Turner Broadcasting in London.

On the new distribution front Microsoft and Adobe battled it out with their respective announcements on Silverlight and Apollo. In terms of impact Silverlight is available as a cross platform, cross browser plug in capable of playing DRM wrapped media. In theory this means that DRM video services should now be able to be made available to Macintosh users. Practically and pragmatically this is of course not guaranteed. This week at Microsoft’s MIX further announcements on Silverlight have been made around programming. Silverlight contains a new dynamically focused version (DLR) of the .NET runtime (CLR) to provide an environment in which dynamic languages such as Javascript, Python and Ruby can better be run within. The creator of the .NET/CLR version of Python, Jim Hugunin, who now works for Microsoft provides some more details on the Dynamic Language Runtime (DLR). Whilst the full presentation by Ray Ozzie is available as a Windows video stream. I’ve already tried some of the Python samples running within Firefox on a Mac (PPC) and they’re taking down Firefox every time. Will update if I can get these working.

[Back at NAB] One night I excused myself from the industry cocktail circuit and paid cash money to attend a massive FCP Users Group meeting. Walter Murch gave a great talk on the production process of the new film, Youth Without Youth from Francis Ford Coppola. Murch is the editor on YWY and described how he approached the edit in FCP. Similar stuff to his book In the Blink of an Eye. The film was shot on the digital Sony CineAlta F900 cameras, 2 used statically, and when they needed a third an Arri film camera was employed. It was slightly unclear but they seemed to record vi HDSDI onto an external deck and record onto internal cassettes as well. The material was digitised as DV for the offline editing, effects done in Shake and then conformed against the HD material. Sound was handled in Pro Tools.

Apple’s announcements on FCP 6, Color and Final Cut Server made the largest noise at NAB. I asked everyone I met at NAB what were the big things for them and just about everyone polled listed Apple’s products in their top three. I was posed the question what will the impact of Apple’s “bang for buck” announcements be for mainstream media. Apple have aggressively priced FCP and the introduction of Color - effectively bundled for free and FCP Server continue this. So for traditional broadcasters and decent sized production houses they can look to continue to see cost savings, either by switching to FCP or to some extent by waiting for Avid to react and continue their ongoing price cutting.

More importantly it continues to drop the barrier of entry to video production. Be it for traditional programmes or the new net based forms of video delivery. For a great source of ongoing discussion on this topic I recommend checking out Twit.tv and the Pixel Corps - who are closely related, as is Video Grunt, who has a great series of videocasts on aspect ratio which a few people should try watching…

For me FCP/MXF and possibly FCP Server will be the focus of some ongoing exploration in the coming months. In particular around integration, using FCP’s XML project format, which I hope I’ll have some time to comment about. Be


Filed under: mac  drm  tv  media  tech 

nab, fcp and spam

April 13 2007

NAB FCP
Today I’m off to NAB, the massive US broadcasting show held in Vegas. Should be fun but manic. Every hour of my first three days is already booked. Hope to be able to get away from my vendor relationship duties and prowl the floor for the small funky stuff. Apparently Apple have an event on Sunday.

Will there be a new version of Final Cut Pro? Probably.
Will FCP support MXF? I hope so.
How will the acquisition of Proximity by Apple be expressed in product terms at NAB? No bloody idea, but we’ll find out soon enough.

SPAM
The judicious use of postfix’s configuration in combination with Gmail has created a good solution for my email. I had almost given up on email prior to the new approach. Configuring postfix was reasonably straight forward as there are good online resources available. However at one stage I did manage to generate an email storm. Over the years I have collected a number of domains and the new email system handles them all. With my first attempt at configuring postfix I generated an email for each of the domains when the system received an email for any of the domains. Email stopped getting through to Gmail. Looked in the postfix logs to see Gmail telling me ‘slow down you move too fast’…


Filed under: mac  tv  media  tech 

ANZ WWDC Preview - 2nd year dumb

May 29 2006

Apple is running a preview show for the Worldwide Developer’s Conference (WWDC) in Australia and New Zealand.

But for the second year running the sole NZ location of this event is Wellington. I love the town of my birth. But unfortunately I along with a third of the population of NZ live in the town called Auckland.

So why can’t Apple do a session in Auckland? Is NZ limited to one session? Does Wellington have more developers than Auckland? I can’t make Wellington, but could probably swing WWDC, care to send me?


Filed under: mac  nz