Matroska Logo

Shell Extension and TCMP CDL

by Jory 'jcsston' Stone

Download Matroska Shell Extension v1.5 binary
Download Matroska TCMP CDL v1.5 binary

Applies to both the Shell Ext(ension) and Matroska CDL

Besides displaying all sorts of infomation about Matroska files, the Matroska Shell Extension can change the Display Size(aka Aspect Ratio), Track Language, and allows editing of all Matroska Tags.

The Matroska Shell extension also has support for the display of attachments Images of the types BMP, GIF, ICO, TGA, PCX, WBMP, WMF, JPEG, PNG, TIFF, JBIG, PNM, PPM, PGM, RAS, and JPEG-2000 will be decoded (thanks to CxImage) and shown inside the attachment tab as well Unicode/UTF-8/ANSI text files.

Applies to the Shell Ext(ension) only

The Matroska Shell extension handles thumbnails in Windows Explorer for MKV, MKA, and MKS files. If the file has attached images the first one starting with the name of cover*.* will be used as a thumbnail. If there are no attachment named cover*.* it will use the last attached image. And if the file doesn't have any attached images, DShow will be used to extract a frame of the video located a customizable time (ex. 0 seconds into the movie, or 10 seconds into the movie). There are two different DShow methods to choose from, Internal Renderer (prefered) and IMediaDet (the same renderer the AVI thumbnail handler uses).

Finally you can have tooltips for Matroska files. The tooltips can be long and have very basic info about each track or short with only the count of each track type.

FAQ for the Shell Extension and TCMP Matroska CDL

  • Question: Why is there a dummy track detected by matroska shell extension?
  • The 'dummy' track is used for Global Tags, which are tags that don't apply to one track but the whole file.
  • Question: Why does this dialog show up when I click View Attachment? "This file *.* Is not handled by this Extension. Run external program? (equal to double-clicking file)"
  • I don't handle the attachment directly, instead I use an external program (a .exe is an external program). Which is a security risk. Currently I handle .txt, .avs, and most image types internally.
  • Question: What mime-type do I choose for the attachment or What mime-types does the Shell Ext support?
  • A mime-type is like the file extension, it says what type the file data is. For example for a jpg you would select image/jpeg when muxing. Look here for a list of mime-types. If you are not sure what mime-type to use "application/octet-stream" is a safe one to use.

    Developers

    Download Matroska Shell Extension+TCMP CDL source code or you can get the latest from the Matroska CVS, module: MatroskaUtils.
    You will need libebml, libmatroska, CxImage (if you want image decoding support) in the CxImage you have to change the function DrawText to DrawTextOnImage due to Unicode/MBCS define conflicts (it was becoming DrawTextW), The DirectX SDK and Baseclasses to compile thumbnail support, unicows lib (if you want to compile Unicode builds for Win9x)