X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Flombard%2Flombard%2Fvideo_project.c;fp=src%2Flombard%2Flombard%2Fvideo_project.c;h=dae05f8d1acc6e7a6103006b39909cb8bfed4e94;hb=a712cd772f4f3db8bed7037bb95c4de94767b230;hp=0000000000000000000000000000000000000000;hpb=2f0296582bf5d3f51db40d299f434fc8240ca6a5;p=fillmore diff --git a/src/lombard/lombard/video_project.c b/src/lombard/lombard/video_project.c new file mode 100644 index 0000000..dae05f8 --- /dev/null +++ b/src/lombard/lombard/video_project.c @@ -0,0 +1,292 @@ +/* video_project.c generated by valac, the Vala compiler + * generated from video_project.vala, do not modify */ + +/* Copyright 2009-2010 Yorba Foundation + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define MODEL_TYPE_VIDEO_PROJECT (model_video_project_get_type ()) +#define MODEL_VIDEO_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_VIDEO_PROJECT, ModelVideoProject)) +#define MODEL_VIDEO_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_VIDEO_PROJECT, ModelVideoProjectClass)) +#define MODEL_IS_VIDEO_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_VIDEO_PROJECT)) +#define MODEL_IS_VIDEO_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_VIDEO_PROJECT)) +#define MODEL_VIDEO_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_VIDEO_PROJECT, ModelVideoProjectClass)) + +typedef struct _ModelVideoProject ModelVideoProject; +typedef struct _ModelVideoProjectClass ModelVideoProjectClass; +typedef struct _ModelVideoProjectPrivate ModelVideoProjectPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +struct _ModelVideoProject { + ModelProject parent_instance; + ModelVideoProjectPrivate * priv; + ModelTimecodeTimeSystem* time_provider; +}; + +struct _ModelVideoProjectClass { + ModelProjectClass parent_class; +}; + + +static gpointer model_video_project_parent_class = NULL; + +GType model_video_project_get_type (void); +enum { + MODEL_VIDEO_PROJECT_DUMMY_PROPERTY +}; +static void model_video_project_real_load_complete (ModelProject* base); +ModelVideoProject* model_video_project_new (const char* filename, GError** error); +ModelVideoProject* model_video_project_construct (GType object_type, const char* filename, GError** error); +#define APP_NAME "Lombard" +static char* model_video_project_real_get_app_name (ModelProject* base); +gboolean model_video_project_get_framerate_fraction (ModelVideoProject* self, Fraction* rate); +static void model_video_project_real_get_clip_time (ModelProject* base, ModelClipFile* f, TimeCode* result); +void model_video_project_go_previous_frame (ModelVideoProject* self); +void model_video_project_go_next_frame (ModelVideoProject* self); +static void model_video_project_finalize (GObject* obj); + + + +#line 14 "video_project.vala" +static void model_video_project_real_load_complete (ModelProject* base) { +#line 63 "video_project.c" + ModelVideoProject * self; + ModelVideoTrack* _tmp0_; + gboolean _tmp1_; + self = MODEL_VIDEO_PROJECT (base); +#line 15 "video_project.vala" + if ((_tmp1_ = (_tmp0_ = model_project_find_video_track (MODEL_PROJECT (self))) == NULL, _g_object_unref0 (_tmp0_), _tmp1_)) { +#line 70 "video_project.c" + ModelVideoTrack* _tmp2_; +#line 16 "video_project.vala" + model_project_add_track (MODEL_PROJECT (self), MODEL_TRACK (_tmp2_ = model_video_track_new (MODEL_PROJECT (self)))); +#line 74 "video_project.c" + _g_object_unref0 (_tmp2_); + } +} + + +#line 20 "video_project.vala" +ModelVideoProject* model_video_project_construct (GType object_type, const char* filename, GError** error) { +#line 82 "video_project.c" + ModelVideoProject * self; +#line 21 "video_project.vala" + self = (ModelVideoProject*) model_project_construct (object_type, filename, TRUE, error); +#line 23 "video_project.vala" + if (self != NULL) { +#line 88 "video_project.c" + ModelTimecodeTimeSystem* _tmp0_; +#line 24 "video_project.vala" + self->time_provider = (_tmp0_ = model_timecode_time_system_new (), _g_object_unref0 (self->time_provider), _tmp0_); +#line 92 "video_project.c" + } + return self; +} + + +#line 20 "video_project.vala" +ModelVideoProject* model_video_project_new (const char* filename, GError** error) { +#line 20 "video_project.vala" + return model_video_project_construct (MODEL_TYPE_VIDEO_PROJECT, filename, error); +#line 102 "video_project.c" +} + + +#line 28 "video_project.vala" +static char* model_video_project_real_get_app_name (ModelProject* base) { +#line 108 "video_project.c" + ModelVideoProject * self; + char* result = NULL; + self = MODEL_VIDEO_PROJECT (base); + result = g_strdup (APP_NAME); +#line 29 "video_project.vala" + return result; +#line 115 "video_project.c" +} + + +#line 32 "video_project.vala" +static void model_video_project_real_get_clip_time (ModelProject* base, ModelClipFile* f, TimeCode* result) { +#line 121 "video_project.c" + ModelVideoProject * self; + TimeCode _tmp0_ = {0}; + TimeCode t; + self = MODEL_VIDEO_PROJECT (base); +#line 32 "video_project.vala" + g_return_if_fail (MODEL_IS_CLIP_FILE (f)); +#line 33 "video_project.vala" + t = (_tmp0_); +#line 35 "video_project.vala" + if (model_clip_file_is_of_type (f, MODEL_MEDIA_TYPE_VIDEO)) { +#line 132 "video_project.c" + Fraction rate = {0}; + TimeCode _tmp1_ = {0}; +#line 37 "video_project.vala" + if (!model_video_project_get_framerate_fraction (self, &rate)) { +#line 38 "video_project.vala" + rate.numerator = 2997; +#line 39 "video_project.vala" + rate.denominator = 100; +#line 141 "video_project.c" + } +#line 41 "video_project.vala" + t = (frame_to_time (time_to_frame_with_rate (model_clip_file_get_length (f), &rate), &rate, &_tmp1_), _tmp1_); +#line 145 "video_project.c" + } else { +#line 43 "video_project.vala" + time_code_get_from_length (&t, model_clip_file_get_length (f)); +#line 149 "video_project.c" + } + *result = t; +#line 45 "video_project.vala" + return; +#line 154 "video_project.c" +} + + +#line 48 "video_project.vala" +void model_video_project_go_previous_frame (ModelVideoProject* self) { +#line 160 "video_project.c" + ModelVideoTrack* video_track; +#line 48 "video_project.vala" + g_return_if_fail (MODEL_IS_VIDEO_PROJECT (self)); +#line 49 "video_project.vala" + video_track = model_project_find_video_track (MODEL_PROJECT (self)); +#line 50 "video_project.vala" + if (video_track != NULL) { +#line 51 "video_project.vala" + view_media_engine_go (MODEL_PROJECT (self)->media_engine, model_video_track_previous_frame (video_track, model_project_transport_get_position (MODEL_PROJECT (self)))); +#line 170 "video_project.c" + } + _g_object_unref0 (video_track); +} + + +#line 55 "video_project.vala" +void model_video_project_go_next_frame (ModelVideoProject* self) { +#line 178 "video_project.c" + ModelVideoTrack* video_track; +#line 55 "video_project.vala" + g_return_if_fail (MODEL_IS_VIDEO_PROJECT (self)); +#line 56 "video_project.vala" + video_track = model_project_find_video_track (MODEL_PROJECT (self)); +#line 57 "video_project.vala" + if (video_track != NULL) { +#line 58 "video_project.vala" + view_media_engine_go (MODEL_PROJECT (self)->media_engine, model_video_track_next_frame (video_track, model_project_transport_get_position (MODEL_PROJECT (self)))); +#line 188 "video_project.c" + } + _g_object_unref0 (video_track); +} + + +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + +#line 62 "video_project.vala" +gboolean model_video_project_get_framerate_fraction (ModelVideoProject* self, Fraction* rate) { +#line 201 "video_project.c" + gboolean result = FALSE; +#line 62 "video_project.vala" + g_return_val_if_fail (MODEL_IS_VIDEO_PROJECT (self), FALSE); +#line 205 "video_project.c" + { + GeeIterator* _track_it; + _track_it = gee_abstract_collection_iterator (GEE_ABSTRACT_COLLECTION (MODEL_PROJECT (self)->tracks)); +#line 63 "video_project.vala" + while (TRUE) { +#line 211 "video_project.c" + ModelTrack* track; + ModelTrack* _tmp0_; + ModelVideoTrack* video_track; + gboolean _tmp1_ = FALSE; +#line 63 "video_project.vala" + if (!gee_iterator_next (_track_it)) { +#line 63 "video_project.vala" + break; +#line 220 "video_project.c" + } +#line 63 "video_project.vala" + track = (ModelTrack*) gee_iterator_get (_track_it); +#line 64 "video_project.vala" + video_track = _g_object_ref0 ((_tmp0_ = track, MODEL_IS_VIDEO_TRACK (_tmp0_) ? ((ModelVideoTrack*) _tmp0_) : NULL)); +#line 65 "video_project.vala" + if (video_track != NULL) { +#line 65 "video_project.vala" + _tmp1_ = model_video_track_get_framerate (video_track, rate); +#line 230 "video_project.c" + } else { +#line 65 "video_project.vala" + _tmp1_ = FALSE; +#line 234 "video_project.c" + } +#line 65 "video_project.vala" + if (_tmp1_) { +#line 238 "video_project.c" + result = TRUE; + _g_object_unref0 (track); + _g_object_unref0 (video_track); + _g_object_unref0 (_track_it); +#line 66 "video_project.vala" + return result; +#line 245 "video_project.c" + } + _g_object_unref0 (track); + _g_object_unref0 (video_track); + } + _g_object_unref0 (_track_it); + } + result = FALSE; +#line 68 "video_project.vala" + return result; +#line 255 "video_project.c" +} + + +static void model_video_project_class_init (ModelVideoProjectClass * klass) { + model_video_project_parent_class = g_type_class_peek_parent (klass); + MODEL_PROJECT_CLASS (klass)->load_complete = model_video_project_real_load_complete; + MODEL_PROJECT_CLASS (klass)->get_app_name = model_video_project_real_get_app_name; + MODEL_PROJECT_CLASS (klass)->get_clip_time = model_video_project_real_get_clip_time; + G_OBJECT_CLASS (klass)->finalize = model_video_project_finalize; +} + + +static void model_video_project_instance_init (ModelVideoProject * self) { +} + + +static void model_video_project_finalize (GObject* obj) { + ModelVideoProject * self; + self = MODEL_VIDEO_PROJECT (obj); + _g_object_unref0 (self->time_provider); + G_OBJECT_CLASS (model_video_project_parent_class)->finalize (obj); +} + + +GType model_video_project_get_type (void) { + static volatile gsize model_video_project_type_id__volatile = 0; + if (g_once_init_enter (&model_video_project_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ModelVideoProjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) model_video_project_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ModelVideoProject), 0, (GInstanceInitFunc) model_video_project_instance_init, NULL }; + GType model_video_project_type_id; + model_video_project_type_id = g_type_register_static (MODEL_TYPE_PROJECT, "ModelVideoProject", &g_define_type_info, 0); + g_once_init_leave (&model_video_project_type_id__volatile, model_video_project_type_id); + } + return model_video_project_type_id__volatile; +} + + + +