Compiling the Quantel’s quentin.idl
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.
- Go to the JacORB web site's download page.
- At the time of writing this article the latest version was 3.0rc1.
- We are not interested in compiling JacORB from source so download the Binary version.
- Use 7-zip to uncompress it, so now we have a folder called
d:\blog\jacorb-3.0rc1
. - Place the
Quentin.idl
in the top level folderd:\blog
. - 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.
- Edit
D:\blog\jacorb-3.0rc1\bin\idl.bat
and change the classpath:-classpath "D:/blog/jacorb-3.0rc1/lib/idl.jar;%CLASSPATH%"
- Almost there! Now we need to open a command window and go to the
d:\blog
folder where theQuentin.idl
file lives. - Type:
jacorb-3.0rc1\bin\idl.bat -all -genEnhanced -d src -i2jpackage Quentin:com.quantel.quentin Quentin.idl
- This will compile the IDL into the target language, creating a folder called
src
in the current directory which contains all thecom.quantel.quentin
package source code. - Now we have the source, we can compile.
- 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
- Finally we need to package all that compiled code into a Java Archive (Jar) for easier access.
jar -cf quentin.jar -C bin .
- 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.
No feedback yet
Form is loading...