~ubuntu-branches/ubuntu/karmic/avidemux/karmic-proposed

« back to all changes in this revision

Viewing changes to plugins/ADM_videoEncoder/common/PluginOptions.h

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2009-08-20 08:42:44 UTC
  • mfrom: (1.1.14 upstream)
  • Revision ID: james.westby@ubuntu.com-20090820084244-bhh15xxd7x2vbcuh
Tags: 1:2.5.1+repack-0ubuntu1
* New upstream bugfix release (LP: #416066):
  - Re-enabled several video and audio encoders (regression introduced
    in 2.5.0)
  - Updated the FFmpeg libraries
  - More video encoders are now plugins
  - DV video encoder now supports more profiles
  - Fixed loading and saving issues with LAME, x264 and Xvid options
    (regression introduced in 2.5.0)
  - Fraps video decoding support
  - Lowpass-5 mode added to libavcodec deinterlacer filter plugin
  - Fixed formatting of parameters for various filters on 64-bit platforms
  - Updated libass
  - Fixed sizing of the bitrate control on various video encoder configure
    windows (regression introduced in 2.5.0)
  - Improved filter dialog for GTK+ interface
  - New navigation icons for GTK+ interface
  - Fixed the behaviour of several GTK+ open/save dialogs (regression
    introduced in 2.5.0)
  - asharp filter's Block Adaptive mode can now be disabled using the Qt
    interface
  - Re-enabled the colour chooser dialog using the Qt interface (regression
    introduced in 2.5.0)
  - GCC 4.4 support
  - Fixed issues with CMake build scripts when using multiple make jobs
    (regression introduced in 2.5.0)
* Remove debian/patches dir and drop all patches, now applied by upstream.
* Drop quilt support.
* debian/libavidemux0.install: Also install missing libraries.
* Move debian/install to debian/avidemux.install.
* debian/rules:
  - Build the internal ffmpeg version properly (thanks to Christian Marillat).
  - A bit of cleanup.
* debian/control:
  - Bump Standards-Version.
  - Update Homepage field.
  - Adjust libavidemux0 short description.
  - gtk -> GTK, qt -> QT.
  - Set myself as Maintainer.
* Repack the tarball to remove the debian/ dir provided by upstream:
  - Create debian/README.source.
  - Update debian/watch.
  - Add get-orig-source target to debian/rules.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
                              PluginOptions.h
 
3
 
 
4
    begin                : Mon Apr 21 2008
 
5
    copyright            : (C) 2008 by gruntster
 
6
 ***************************************************************************/
 
7
 
 
8
/***************************************************************************
 
9
 *                                                                         *
 
10
 *   This program is free software; you can redistribute it and/or modify  *
 
11
 *   it under the terms of the GNU General Public License as published by  *
 
12
 *   the Free Software Foundation; either version 2 of the License, or     *
 
13
 *   (at your option) any later version.                                   *
 
14
 *                                                                         *
 
15
 ***************************************************************************/
 
16
 
 
17
#ifndef PluginOptions_h
 
18
#define PluginOptions_h
 
19
 
 
20
 
 
21
extern "C"
 
22
{
 
23
#include "ADM_vidEnc_plugin.h"
 
24
}
 
25
 
 
26
#include "PluginXmlOptions.h"
 
27
 
 
28
typedef enum
 
29
{
 
30
        PLUGIN_CONFIG_CUSTOM,
 
31
        PLUGIN_CONFIG_DEFAULT,
 
32
        PLUGIN_CONFIG_USER,
 
33
        PLUGIN_CONFIG_SYSTEM
 
34
} PluginConfigType;
 
35
 
 
36
class PluginOptions : public PluginXmlOptions
 
37
{
 
38
protected:
 
39
        vidEncOptions _encodeOptions;
 
40
        unsigned int _defaultEncodeMode;
 
41
        int _defaultEncodeModeParameter;
 
42
 
 
43
        char *_tagPrefix, *_configTagRoot, *_optionsTagRoot;
 
44
        char *_schemaFile;
 
45
        char *_configurationName;
 
46
        PluginConfigType _configurationType;
 
47
 
 
48
        virtual void cleanUp(void);
 
49
        virtual void setEncodeOptionsToDefaults(void);
 
50
        virtual void parseEncodeOptions(xmlNode *node, vidEncOptions *encodeOptions);
 
51
        virtual void parsePresetConfiguration(xmlNode *node);
 
52
 
 
53
public:
 
54
        PluginOptions(const char* tagPrefix, const char* schemaFile, unsigned int defaultEncodeMode, int defaultEncodeModeParameter);
 
55
        ~PluginOptions(void);
 
56
 
 
57
        virtual vidEncOptions* getEncodeOptions(void);
 
58
        virtual void setEncodeOptions(vidEncOptions* encodeOptions);
 
59
 
 
60
        virtual void reset(void);
 
61
        virtual const char* getSchemaFile();
 
62
        virtual const char* getConfigTagRoot();
 
63
        virtual const char* getOptionsTagRoot();
 
64
 
 
65
        virtual void getPresetConfiguration(char** configurationName, PluginConfigType *configurationType);
 
66
        virtual void setPresetConfiguration(const char* configurationName, PluginConfigType configurationType);
 
67
        virtual void clearPresetConfiguration(void);
 
68
        virtual bool loadPresetConfiguration(void);
 
69
 
 
70
        virtual void addOptionsToXml(xmlNodePtr xmlNodeRoot) = 0;
 
71
        virtual void parseOptions(xmlNode *node) = 0;
 
72
 
 
73
        virtual char* toXml(PluginXmlType xmlType);
 
74
        virtual int fromXml(const char *xml, PluginXmlType xmlType);
 
75
 
 
76
        static char* getUserConfigDirectory(void);
 
77
        static char* getSystemConfigDirectory(void);
 
78
};
 
79
 
 
80
#endif  // options_h