Made to Order Software Corporation Logo

commercial

DefineVideoStream

Tag Info
Tag Number: 
60
Tag Type: 
Define
Tag Flash Version: 
6
Brief Description: 

Defines the necessary information for the player to display a video stream (i.e. size, codec, how to decode the data, etc.). Play the frames with VideoFrame tags.

Tag Structure: 
struct swf_definevideostream {
	swf_tag			f_tag;		/* 60 */
	unsigned short		f_video_id;
	unsigned short		f_frame_count;
	unsigned short		f_width;	/* WARNING: this is in pixels */
	unsigned short		f_height;
	unsigned char		f_reserved : 5;
	unsigned char		f_deblocking : 2;
	unsigned char		f_smoothing : 1;
	unsigned char		f_codec;
};

This tag defines a video stream. To playback the video stream, one needs to add a list of VideoFrame tags.

The f_width and f_height are defined in pixels. This is rather uncommon in SWF so it is to be noted multiple times.

ProductInfo

Tag Info
Tag Number: 
41
Tag Type: 
Define
Tag Flash Version: 
3
Brief Description: 

This tag defines information about the product used to generate the animation. The product identifier should be unique among all the products. The info includes a product identifier, a product edition, a major and minor version, a build number and the date of compilation. All of this information is all about the generator, not the output movie.

Tag Structure: 
struct swf_metadata {
	swf_tag			f_tag;		/* 41 */
	long			f_product_id;
	long			f_edition;
	unsigned char		f_major_version;
	unsigned char		f_minor_version;
	long long		f_build_number;
	long long		f_compilation_date;
};

The ProductInfo tag stores information about the tool used to generate the Flash animation. This is ignored by flash players (unless it knows of problems in the generators...)

The f_product_id is expected to be a unique identifier for all the products which can possibly generate an SWF output file.

PHP eFax FAQ

PHP eFax is very popular and generates many questions from our customers and potential customers. We try to answer those questions on our website for a quick read from our users. You can always ask us additional questions by contacting us directly or by posting a comment on the FAQ page.

Adobe Flash Animation by Made to Order Software

Making a great thing even better!

The letters SSWF in a curly font with dots on the ends.

Using our robust open-source C++ library and scripting language, ScriptSWF (SSWF), you can create Adobe Flash animations on the fly.

Since it's initial release in 2002, SSWF has been extremely popular. Despite never being advertised, it has been downloaded more than 77,250 times just on SourceForge.net, has been converted to work on several Unix platforms not initially ...

odbcpp, a simple C++ library to access ODBC

$395.00

Representation of an ODBC Database

odbcpp is a strong C++ wrapper for ODBC.

 

The ODBC library is an interesting concept created by Microsoft in 1988. It is a library that wraps the implementation details of database managers inside drivers. And these drivers are accessible from the library.

One of the main problem with accessing any database system, is the large number of ...

$395.00

Example of Cute Menu usage

Example of usage

The Turn Watcher website, a commercial product by Made to Order Software, now uses the CuteMenu module in two places:

  1. The main top-bar menu: Turn Watcher
  2. The User Guide navigation menu: Turn Watcher User Guide
  3. The main top-bar menu: Linux Geek Page
  4. The main top-bar menu MORE...: Order Made!®

In Turn Watcher, I removed the default background from the top CuteMenu items. The top bar menu is pretty standard and shows as a nice drop-down, the User Guide has two cool features: it is right aligned (trust me, it took me some time to figure it ...

Commercial license for odbcpp

In June 2008, Made to Order Software created a new software library called odbcpp. This library is an Open Source C++ wrapper of the Open Database Connectivity (ODBC) library started by Microsoft in 1988.

ODBC hides the details of back-end database systems. In other words, if you support ODBC, you can effortlessly connect to a very large number of database systems such as MS-SQL, Access, Oracle, MySQL and PostgreSQL.

odbcpp is an extension for C++ programmers. It is easy to use and it is a great solution to avoid many bugs as it will automatically handle all the possible ODBC errors for ...

The odbcpp library is now available!

Made to Order Software now uses the ODBC library with its modb library (which is part of our molib product.) Unfortunately, it is not only written in C, it generates many errors. Actually, every single function has the potential of returning an error. For this reason, using the C interface is simply not a safe option.

For this reason, Alexis Wilke, our CEO, wrote an C++ wrapper called odbcpp. It encapsulates all the necessary ODBC calls to access any ODBC compatible database.

The odbcpp library ensures the proper management of all the resources for you. It allocates and frees the handles as ...

The assert() macro in C/C++

 

This is a subject that comes back all the time in C/C++ boards.

Should you use assertions?

The answer is clearly yes. But the C/C++ assert() function is usually defined using a macro. Macros have several problems. The most common ones are: they offer no type checking, they do not warn you about weird side effects, they have a different syntax than the C/C++ language itself.

One good thing: for a fast program, the debug code used to check parameters, results, etc. is gone.

One really bad thing: if the expression in the macro has a side effect, the release program is different from ...