#pragma once // ********************************************************************* // *** C/C++ definitions for plugins *** // *** Last modified: 2011NOV22 *** // *** (c) Christian Schnettelker 2011, 2012 *** // *** *** // *** www.finefiles.com mail@finefiles.com *** // ********************************************************************* #include "ffBasic.h" // Version info. This is the current plugin version code, NOT the finefiles version // You get the current version finefiles uses to communicate with the plugins when // the member function ____ffPlugin__Type() is called #define __FFPLUGIN__VERSION 100 // Return one of these values in ____ffPlugin__Type() #define __FFPLUGIN__TYPE__NONE 0 // return this in case of version conflicts // finefiles will not call any functions #define __FFPLUGIN__TYPE__INPUT 10 // return this if the plugin can be accessed in the Input section // finefiles will call ____ffPlugin__Input() #define __FFPLUGIN__TYPE__INSP 20 // return this if the plugin can be accessed in the Inspection section // finefiles will call ____ffPlugin__Insp() #define __FFPLUGIN__TYPE__II 30 // return this if the plugin can be accessed in both Input und Inspection Section // finefiles will call ____ffPlugin__Input() and/or ____ffPlugin__Insp() // Return one of these values in ____ffPlugin__Input() and ____ffPlugin__Insp() #define __FFPLUGIN__RETURN__TRUE 1 #define __FFPLUGIN__RETURN__FALSE 2 #define __FFPLUGIN__RETURN__ABORT 90 #define __FPPLUGIN__RETURN__SKIPFILE 91 // Additional definitions #define __FFPLUGIN__MSG__MAX 50 // max. chars finefiles will accept when calling ____ffPlugin__FailMsg() /* Important: Puts packing alignment value 1 on the internal compiler */ #pragma pack( push,1 ) /* stack and sets the current packing alignment value to 1 */ // Registers typedef struct { WORD wStructVersion; WORD wDateStamp__Year, wDateStamp__Month, wDateStamp__Day; WORD wTimeStamp__Hour, wTimeStamp__Min, wTimeStamp__Sec; int iFileType; ////// VIDEO WORD wVideoWidth, wVideoHeight; double dVideoFPS; WORD wVideoHour, wVideoMin, wVideoSec; char cReserved1[ 20 ]; ////// AUDIO WORD wAudioHour, wAudioMin, wAudioSec; WORD wBitrate; // Bitrate in kbps, for example 192 int iSamplingRate; // Sampling frequency, for example 44100 WORD wChannels; // # of channels (1 or 2) char cReserved2[ 20 ]; ////// IMAGES WORD wImageWidth, wImageHeight; char cReserved3[ 20 ]; ////// Reserved for future use char cReserved4[ 80 ]; } __FFPLUGIN__REGISTERS; /* Important: undo packing alignment value 1 */ #pragma pack() /* Important: undo packing alignment value 1 */ /* eof */