Software Development Kit, Read this first
Supported languages
Static library (.lib)
MediaInfo is written in standart C++.
Some binaries are released (take a look to the
download page):
- MSVC : Microsoft Visual C++ (static Multitreaded linked to C library)
- BCB : Borland C++ Builder
For others compilers, you must
build from sources.
Dynamic library (.Dll)
DLL is available as a dynamic link from other languages (or C++ compilers users who wants to use a DLL).
Any language compatible with standart DLLs are compatible with MediaInfo DLL.
Some examples are included in the DLL release (take a look to the
download page):
- MSVC : Microsoft Visual C++ 9 (aka 2005)
- MSCS : Microsoft C# 9 (aka 2005)
- MSJS : Microsoft J# 9 (aka 2005)
- MSVB : Microsoft Visual Basic 9 (aka 2005)
- BCB : Borland C++ Builder 6
- Delphi : Borland Delphi 7
Note: for Visual Studio 7 (aka 2002) or 8 (aka 2003), you can edit .sln and .xxproj to be compatible.
- .sln : "...Format Version 9.00" to 7.00
- .xxproj : "Version="8.00" or "Version="7.10" to 7.00
This is not always tested, but you should easily adapt them to your compiler)
There are contributions (in the "Contrib" directory), with no support:
- MSVB5 : Microsoft Visual Basic 5 and 6 example, from Ingo Brueckl
- ActiveX : ActiveX wrapper for MediaInfoDLL, with Internet Explorer and VB Script examples, from Ingo Brueckl
Don't forget to put MediaInfo.dll and Example.ogg in your executable folder.
Versioning method
- if one of 2 first numbers change, there is no guaranties that the DLL is compatible with old one. You should verify with MediaInfo_Option("Version") if you are compatible
- if one of 2 last numbers change, there is a guaranty that the DLL is compatible with old one.
So you should test the version of MediaInfo, and if one of the 2 first numbers change, disable it.
Conventions
Code is shown with C++ view:
ClassName::MethodName (Variables)
If you use the "C" interface (for example, if you use the DLL), you should map with:
ClassName_MethodName (Handle, Variables)
"Handle" is a unique identifier of the object you use (created by
Handle=ClassName_New()
)
Because of the lack of namespaces in C language, you must change constants too:
XXX --> MediaInfo_XXX
If you use the "C++" interface, don't forget that all classes and typedefs are in the MediaInfoLib namespace:
use namespace MediaInfoLib;
Note : language specific formating (";" at the end of line, "L" for Unicode strings...) are not in this explaination.
Note : some languages permit more cutomization of constants, take a look in the header file to know exact names.