Educating the world

Our blog has over 10,000 readers a month

New Radio Times navigation bar

June 1st, 2012

The Radio Times has recently updated their web site and while it looks good and has a couple of nice new features there’s one thing I really hate about it.

If you asked the old version of the site to show what’s on telly now, the listings start from that time. The new site shows the current hour so quite often I was checking the listings at 19:45 and wondering why the guide didn’t match what was on the telly. It was because the start line was showing 19:00 and that program finished at 19:30. Your eye had to scan down the channels and keep scanning up to check if that program was still running. It made reading the page a bit of a chore.

And so I’ve try to fix it! The time bar label is still locked to the hour so it doesn’t match the programs but it’s a small price to pay for being able to scan down the start line and see what’s on now. I’ve also put an update button at the top of the screen to refresh the page so you don’t have to phaff around with their awful mouse-over navigation menu thing at the top. The refresh button has the last updated time on it which has turned out to be a handy little feature.

http://www.bigsoft.co.uk/projects/radio-times/

I replaced my existing Radio Times bookmark, and frankly I haven’t looked back!

Removing B2evolution "Publish!" button

May 22nd, 2012

I’ve been using B2Evolution for a number of years. There are a couple of things that have bugged me about it, although not enough to sell my soul and switch to evil Word Press.

When writing blog posts there are a set of buttons in the middle which link to editing actions. WYSIWYG which switches the editor from text to rich text, Preview which opens a new window to give you a preview of the work so far, Save & edit which saves the page and re-presents the page (handy for saving work in progress), Save which saves the page but sends you back to the list of all the pages, and finally Publish! which puts the page live, visible to your fans and sends out pings to various article distribution centres.

My articles can take months or years to write depending on how much research I need to do. They are proof read and checked for accuracy and may under go a couple of rewrites before finally publishing them. I want to make sure the content I produce is of the highest quality. The Save buttons are so close to the Publish! button so occasionally I click it by mistake. Normally there’d be nothing wrong with doing that but there’s a bug in B2evolution that means it only sends the pings once on publish. However if it was a mistake and I return the article to draft status then next time I publish it won’t send out any pings. This is especially bad because the fresh publish has a new date and my urls are in a date dependant form (/yyyy/mm/dd/name-of-article). The pings that went out earlier are no longer valid because they point to an address that doesn’t exist.

The Publish! button is redundant anyway because one can change the status with the same effects by setting the Visibility / Sharing section to Published (Public).

Version 5 of B2evolution has addressed this issue, with options to allow (or disallow) various buttons on the edit screen. They’ve said they are not going to retro fit this feature into version 4 so I thought I’d let you know how to do it by editing the application source code. It’s quite simple, we’re just hiding the button using the cascading style sheets.

  1. Edit <b2e-root>/inc/items/model/_item.funcs.php
  2. Search for display: inline
  3. Change it to display: none
  4. Save the file

Easy! Good job you had the source code !

Installing a Quantel ISA Manager with DummyServers for test development

May 18th, 2012

Ever since Quantel created a Windows Installer for it’s ISA Manager it has become really easy to install and upgrade it. This article will take you through installing and setting up the ISA Manager with 3 Dummy Servers to play with. The Dummy Servers have the same CORBA interface as the Quantel sQ servers and behave like them too. You can record rushes, create clips, clone between servers and do all the normal stuff; the only difference is that there’s no real pictures.

The latest ISA Manager is available on the Quantel web site or through your account manager. The installer only works on Windows.

  1. Right-click on the ISAManager-setup-Vx.x.x.x executable and select Run as administrator.
  2. Click Next to get passed the welcome screen.
  3. Click I agree to accept the user agreement.
  4. On the Database Configuration->Passwords screen accept the default passwords. This defaults to root for the user name and the host name in lower case for the password. Then click Next to move on.
  5. From the Select the type of install drop down select Install Master. You will see all the components which will be installed. You can not alter this selection. Click Next.
  6. Accept the defaults for the Start Menu shortcuts’ location, then click Next.
  7. On the Database configuration->Language screen choose the language collation you would like for the database. Collation determines text sort ordering which ties in with using different character sets. Leave it on utf_general_ci if you are not sure.
  8. Uncheck the I am at Quantel checkbox. This feature can only be used in combination with the ISA Manager source code and a host of debugging tools. For you it will just slow things down, so click Next to continue.
  9. On the Database configuration->Configuration screen choose Plug-n-play Dummy Server Configuration. This will install sample data for dummy servers within a dummy zone. Click Next after you make your selection.
  10. Accept the default of 2096 for the IOR port. This is the HTTP port that is used to deliver the IOR string. This value is largely obsolete because the ISA Manager runs a cut down web server which also delivers the IOR string over the standard port 80. Just accept the default and click Next.
  11. Depending on your region your system will need to be PAL/625 or NTSC/525, so make your selection on this screen and click Next.
  12. This is a new installation and not a Legacy system so just accept the defaults for this screen and click Next.
  13. We don’t want to be a Sequence master either. You would only use this if you are installing front end editors as well, which you are not.
  14. Finally click Install.

The next article will be an instructional guide to running the ISA Manager and Dummy Servers. We will look at how to use the ISA controller to record a clip, create a sub clip, search for them, then play them out through a Dummy Server and finally deleting them.

Compiling the Quantel’s quentin.idl

May 11th, 2012

In order to drive the Quantel Broadcast system you need to compile the CORBA Interface Definition Language (IDL) file into a language of your choice. There are many CORBA IDL compilers out there: JacORB (Java), OmniORB (Python), TOA (C++), IIOP.NET (.NET) and there’s a more complete list on the Object Management Group’s web site.

Quantel’s IDL is known as Quentin.idl and may be obtained from your account manager, or the 24 hour support desk if you can’t wait! It contains the API interface’s for talking to:

  • ZonePortal - main driver module, metadata, searching, space allocation, copying media, organising running orders, registering listeners.
  • ThumbnailListener - generate thumbnails from video media.
  • StateChangeListener - receive callback notifications on status changes.
  • Server - control of playout and ingest storage servers.
  • Port - object representing a video port.
  • PortListener - callbacks relating to Port status changes.

This article just covers compiling the IDL into your language of choice: coding fun comes later! Due to the amount of IDL implementations there are this will have to be a cut down guide limited to the languages I deal with. I’ll start with JacORB for Java. I might do Python if there’s time.

Ok, so let’s get started. I’m assuming you’ve obtained a copy of Quentin.idl and you have the Java JDK installed. Next we need a copy of JacORB.

  1. Go to the JacORB web site’s download page.
  2. At the time of writing this article the latest version was 3.0rc1.
  3. We are not interested in compiling JacORB from source so download the Binary version.
  4. Use 7-zip to uncompress it, so now we have a folder called d:\blog\jacorb-3.0rc1.
  5. Place the Quentin.idl in the top level folder d:\blog.
  6. There isn’t an installer as such because the package assumes that you have downloaded the source code and are compiling from scratch. So to avoid downloading and installing all sorts of supplementary requirements we are just going to frig the file we need to make it work.
  7. Edit D:\blog\jacorb-3.0rc1\bin\idl.bat and change the classpath:

    -classpath “D:/blog/jacorb-3.0rc1/lib/idl.jar;%CLASSPATH%”

  8. Almost there! Now we need to open a command window and go to the d:\blog folder where the Quentin.idl file lives.
  9. Type:

    jacorb-3.0rc1\bin\idl.bat -all -genEnhanced -d src -i2jpackage Quentin:com.quantel.quentin Quentin.idl

  10. This will compile the IDL into the target language, creating a folder called src in the current directory which contains all the com.quantel.quentin package source code.
  11. Now we have the source, we can compile.
  12. The Java compiler, is frankly a pain in a arse, so if anyone knows a better way of doing this then please leave a comment.

    dir /s/b src\**.java > src.txt
    mkdir bin
    javac -d bin -cp “jacorb-3.0rc1\lib\jacorb.jar” -sourcepath src -g @src.txt

  13. Finally we need to package all that compiled code into a Java Archive (Jar) for easier access.

    jar -cf quentin.jar -C bin .

  14. This will produce a file called quentin.jar in your current folder (d:\blog).

That’s it! We will use the quentin.jar in combination with the jacorb.jar to create our application to drive the Quantel Broadcast system.

Next lesson - obtaining the IOR and connecting to the ZonePortal.

Mastering the Quantel IDL

May 9th, 2012

Quantel is a technology company based in Newbury (England) that describes itself as:

Quantel develops innovative, world-leading content creation systems for broadcast, post and DI. We are driven by a passion to create the most powerful and efficient tools for the digital age. Quantel technology means business; our systems combine industry-leading performance with total scalability to enable productive workflows for post production, graphics, digital intermediate and news/sports production.

The main product for the Broadcasting division is the Broadcasting Server system which consists of sQ Editors (glossy front end editing station), ISA Managers (the brains) and sQ Servers (storage).

One of Quantel’s unique selling points is that the storage system is highly efficient; no 2 frames are stored twice in their patented technology called FrameMagic. A huge advantage of this is when you are versioning, that is producing a version of the film for the UK market and then another version for the Japanese market. All the pictures for both versions of the film are only held once. The bits of film that are unique are held separately and are seamlessly stitched together to produce 2 versions. So the same film versioned for 10 countries’ laws will only occupy the same storage space of one and a little bit’s worth of storage space. This is unlike most of the competitor systems where it will occupy 10 times the space. The advantages don’t stop there! If you want to copy the 10 versions from the edit server to the playout or archive server then The Quantel System manages the copy ensuring that no to frames are copied twice, so copying the 10 versions will be 10 times quicker than an equivalent file based storage system. Cool!

One can use the Quantel Server system to record video, copy it between servers, create new clips from recorded rushes, search for media, add tagging information to rushes (which follow the media around, in and out of edits) and all sorts of other video and audio related functions. Quantel exposes it’s Application Programmer Interface (API) so that anyone can control the Quantel server system. This interface is used by lots of automaters to schedule records, making back ups, housekeeping, etc. The API is written using CORBA which is basically a convenient way of passing objects around a network, it’s similar to RMI (Java only) or COM (Windows only).

This article will join together a series of articles on how to get the most from the Quantel IDL to control the worlds most powerful video editing system.

If you can’t wait and you want to get started straight away then I’m available for consultancy, just drop me a line. No application too small, no language too difficult*.

Set up and using a test system

Development

Note: Now that I’m freelancing full time the articles won’t be “coming soon". I don’t want to give away all my secrets!

* provided there is an IDL compiler available for that language.