2 * MltProfile.h - MLT Wrapper
3 * Copyright (C) 2008 Dan Dennedy <dan@dennedy.org>
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 #ifndef _MLTPP_PROFILE_H_
21 #define _MLTPP_PROFILE_H_
26 #define MLTPP_DECLSPEC
29 #include <framework/mlt.h>
36 class MLTPP_DECLSPEC Profile
42 Profile( const char* name );
43 Profile( Properties& properties );
44 Profile( mlt_profile profile );
47 mlt_profile get_profile( ) const;
48 char* description() const;
49 int frame_rate_num() const;
50 int frame_rate_den() const;
54 bool progressive() const;
55 int sample_aspect_num() const;
56 int sample_aspect_den() const;
58 int display_aspect_num() const;
59 int display_aspect_den() const;
61 int is_explicit() const;
62 int colorspace() const;
63 static Properties* list();
64 void from_producer( Producer &producer );
65 void set_width( int width );
66 void set_height( int height );
67 void set_sample_aspect( int numerator, int denominator );
68 void set_progressive( int progressive );
69 void set_colorspace( int colorspace );
70 void set_frame_rate( int numerator, int denominator );
71 void set_explicit( int boolean );