Initial commit
[fillmore] / src / marina / marina.h
diff --git a/src/marina/marina.h b/src/marina/marina.h
new file mode 100644 (file)
index 0000000..7abc8f2
--- /dev/null
@@ -0,0 +1,2142 @@
+/* marina.h generated by valac, the Vala compiler, do not modify */
+
+
+#ifndef __MARINA_H__
+#define __MARINA_H__
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gio/gio.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <float.h>
+#include <math.h>
+#include <gee.h>
+#include <gst/gst.h>
+#include <gdk-pixbuf/gdk-pixdata.h>
+#include <stdio.h>
+
+G_BEGIN_DECLS
+
+
+#define TYPE_APP_DIRS (app_dirs_get_type ())
+#define APP_DIRS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_DIRS, AppDirs))
+#define APP_DIRS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_DIRS, AppDirsClass))
+#define IS_APP_DIRS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_DIRS))
+#define IS_APP_DIRS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_DIRS))
+#define APP_DIRS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_DIRS, AppDirsClass))
+
+typedef struct _AppDirs AppDirs;
+typedef struct _AppDirsClass AppDirsClass;
+typedef struct _AppDirsPrivate AppDirsPrivate;
+
+#define VIEW_TYPE_AUDIO_METER (view_audio_meter_get_type ())
+#define VIEW_AUDIO_METER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_AUDIO_METER, ViewAudioMeter))
+#define VIEW_AUDIO_METER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_AUDIO_METER, ViewAudioMeterClass))
+#define VIEW_IS_AUDIO_METER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_AUDIO_METER))
+#define VIEW_IS_AUDIO_METER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_AUDIO_METER))
+#define VIEW_AUDIO_METER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_AUDIO_METER, ViewAudioMeterClass))
+
+typedef struct _ViewAudioMeter ViewAudioMeter;
+typedef struct _ViewAudioMeterClass ViewAudioMeterClass;
+typedef struct _ViewAudioMeterPrivate ViewAudioMeterPrivate;
+
+#define MODEL_TYPE_TRACK (model_track_get_type ())
+#define MODEL_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TRACK, ModelTrack))
+#define MODEL_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TRACK, ModelTrackClass))
+#define MODEL_IS_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TRACK))
+#define MODEL_IS_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TRACK))
+#define MODEL_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TRACK, ModelTrackClass))
+
+typedef struct _ModelTrack ModelTrack;
+typedef struct _ModelTrackClass ModelTrackClass;
+
+#define MODEL_TYPE_AUDIO_TRACK (model_audio_track_get_type ())
+#define MODEL_AUDIO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_AUDIO_TRACK, ModelAudioTrack))
+#define MODEL_AUDIO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_AUDIO_TRACK, ModelAudioTrackClass))
+#define MODEL_IS_AUDIO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_AUDIO_TRACK))
+#define MODEL_IS_AUDIO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_AUDIO_TRACK))
+#define MODEL_AUDIO_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_AUDIO_TRACK, ModelAudioTrackClass))
+
+typedef struct _ModelAudioTrack ModelAudioTrack;
+typedef struct _ModelAudioTrackClass ModelAudioTrackClass;
+
+#define TYPE_TRACK_VIEW (track_view_get_type ())
+#define TRACK_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRACK_VIEW, TrackView))
+#define IS_TRACK_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRACK_VIEW))
+#define TRACK_VIEW_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_TRACK_VIEW, TrackViewIface))
+
+typedef struct _TrackView TrackView;
+typedef struct _TrackViewIface TrackViewIface;
+
+#define TYPE_CLIP_VIEW (clip_view_get_type ())
+#define CLIP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLIP_VIEW, ClipView))
+#define CLIP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLIP_VIEW, ClipViewClass))
+#define IS_CLIP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLIP_VIEW))
+#define IS_CLIP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLIP_VIEW))
+#define CLIP_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLIP_VIEW, ClipViewClass))
+
+typedef struct _ClipView ClipView;
+typedef struct _ClipViewClass ClipViewClass;
+
+#define TYPE_CLASS_FACTORY (class_factory_get_type ())
+#define CLASS_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLASS_FACTORY, ClassFactory))
+#define CLASS_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLASS_FACTORY, ClassFactoryClass))
+#define IS_CLASS_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLASS_FACTORY))
+#define IS_CLASS_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLASS_FACTORY))
+#define CLASS_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLASS_FACTORY, ClassFactoryClass))
+
+typedef struct _ClassFactory ClassFactory;
+typedef struct _ClassFactoryClass ClassFactoryClass;
+typedef struct _ClassFactoryPrivate ClassFactoryPrivate;
+
+#define TYPE_TIME_LINE (time_line_get_type ())
+#define TIME_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TIME_LINE, TimeLine))
+#define TIME_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TIME_LINE, TimeLineClass))
+#define IS_TIME_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TIME_LINE))
+#define IS_TIME_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TIME_LINE))
+#define TIME_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TIME_LINE, TimeLineClass))
+
+typedef struct _TimeLine TimeLine;
+typedef struct _TimeLineClass TimeLineClass;
+
+#define TYPE_TRANSPORT_DELEGATE (transport_delegate_get_type ())
+#define TRANSPORT_DELEGATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSPORT_DELEGATE, TransportDelegate))
+#define IS_TRANSPORT_DELEGATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSPORT_DELEGATE))
+#define TRANSPORT_DELEGATE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_TRANSPORT_DELEGATE, TransportDelegateIface))
+
+typedef struct _TransportDelegate TransportDelegate;
+typedef struct _TransportDelegateIface TransportDelegateIface;
+
+#define TYPE_CLIP_LIBRARY_VIEW (clip_library_view_get_type ())
+#define CLIP_LIBRARY_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLIP_LIBRARY_VIEW, ClipLibraryView))
+#define CLIP_LIBRARY_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLIP_LIBRARY_VIEW, ClipLibraryViewClass))
+#define IS_CLIP_LIBRARY_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLIP_LIBRARY_VIEW))
+#define IS_CLIP_LIBRARY_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLIP_LIBRARY_VIEW))
+#define CLIP_LIBRARY_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLIP_LIBRARY_VIEW, ClipLibraryViewClass))
+
+typedef struct _ClipLibraryView ClipLibraryView;
+typedef struct _ClipLibraryViewClass ClipLibraryViewClass;
+typedef struct _ClipLibraryViewPrivate ClipLibraryViewPrivate;
+
+#define MODEL_TYPE_PROJECT (model_project_get_type ())
+#define MODEL_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_PROJECT, ModelProject))
+#define MODEL_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_PROJECT, ModelProjectClass))
+#define MODEL_IS_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_PROJECT))
+#define MODEL_IS_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_PROJECT))
+#define MODEL_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_PROJECT, ModelProjectClass))
+
+typedef struct _ModelProject ModelProject;
+typedef struct _ModelProjectClass ModelProjectClass;
+
+#define MODEL_TYPE_TIME_SYSTEM (model_time_system_get_type ())
+#define MODEL_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TIME_SYSTEM, ModelTimeSystem))
+#define MODEL_IS_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TIME_SYSTEM))
+#define MODEL_TIME_SYSTEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MODEL_TYPE_TIME_SYSTEM, ModelTimeSystemIface))
+
+typedef struct _ModelTimeSystem ModelTimeSystem;
+typedef struct _ModelTimeSystemIface ModelTimeSystemIface;
+
+#define MODEL_TYPE_CLIP_FILE (model_clip_file_get_type ())
+#define MODEL_CLIP_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_FILE, ModelClipFile))
+#define MODEL_CLIP_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_FILE, ModelClipFileClass))
+#define MODEL_IS_CLIP_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_FILE))
+#define MODEL_IS_CLIP_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_FILE))
+#define MODEL_CLIP_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_FILE, ModelClipFileClass))
+
+typedef struct _ModelClipFile ModelClipFile;
+typedef struct _ModelClipFileClass ModelClipFileClass;
+
+#define MODEL_TYPE_MEDIA_TYPE (model_media_type_get_type ())
+
+#define MODEL_TYPE_GAP (model_gap_get_type ())
+#define MODEL_GAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_GAP, ModelGap))
+#define MODEL_GAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_GAP, ModelGapClass))
+#define MODEL_IS_GAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_GAP))
+#define MODEL_IS_GAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_GAP))
+#define MODEL_GAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_GAP, ModelGapClass))
+
+typedef struct _ModelGap ModelGap;
+typedef struct _ModelGapClass ModelGapClass;
+typedef struct _ModelGapPrivate ModelGapPrivate;
+typedef struct _ModelClipFilePrivate ModelClipFilePrivate;
+
+#define TYPE_FRACTION (fraction_get_type ())
+typedef struct _Fraction Fraction;
+
+#define MODEL_TYPE_FETCHER (model_fetcher_get_type ())
+#define MODEL_FETCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_FETCHER, ModelFetcher))
+#define MODEL_FETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_FETCHER, ModelFetcherClass))
+#define MODEL_IS_FETCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_FETCHER))
+#define MODEL_IS_FETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_FETCHER))
+#define MODEL_FETCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_FETCHER, ModelFetcherClass))
+
+typedef struct _ModelFetcher ModelFetcher;
+typedef struct _ModelFetcherClass ModelFetcherClass;
+typedef struct _ModelFetcherPrivate ModelFetcherPrivate;
+
+#define MODEL_TYPE_CLIP_FETCHER (model_clip_fetcher_get_type ())
+#define MODEL_CLIP_FETCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_FETCHER, ModelClipFetcher))
+#define MODEL_CLIP_FETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_FETCHER, ModelClipFetcherClass))
+#define MODEL_IS_CLIP_FETCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_FETCHER))
+#define MODEL_IS_CLIP_FETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_FETCHER))
+#define MODEL_CLIP_FETCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_FETCHER, ModelClipFetcherClass))
+
+typedef struct _ModelClipFetcher ModelClipFetcher;
+typedef struct _ModelClipFetcherClass ModelClipFetcherClass;
+typedef struct _ModelClipFetcherPrivate ModelClipFetcherPrivate;
+
+#define MODEL_TYPE_THUMBNAIL_FETCHER (model_thumbnail_fetcher_get_type ())
+#define MODEL_THUMBNAIL_FETCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_THUMBNAIL_FETCHER, ModelThumbnailFetcher))
+#define MODEL_THUMBNAIL_FETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_THUMBNAIL_FETCHER, ModelThumbnailFetcherClass))
+#define MODEL_IS_THUMBNAIL_FETCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_THUMBNAIL_FETCHER))
+#define MODEL_IS_THUMBNAIL_FETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_THUMBNAIL_FETCHER))
+#define MODEL_THUMBNAIL_FETCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_THUMBNAIL_FETCHER, ModelThumbnailFetcherClass))
+
+typedef struct _ModelThumbnailFetcher ModelThumbnailFetcher;
+typedef struct _ModelThumbnailFetcherClass ModelThumbnailFetcherClass;
+typedef struct _ModelThumbnailFetcherPrivate ModelThumbnailFetcherPrivate;
+
+#define MODEL_TYPE_CLIP (model_clip_get_type ())
+#define MODEL_CLIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP, ModelClip))
+#define MODEL_CLIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP, ModelClipClass))
+#define MODEL_IS_CLIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP))
+#define MODEL_IS_CLIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP))
+#define MODEL_CLIP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP, ModelClipClass))
+
+typedef struct _ModelClip ModelClip;
+typedef struct _ModelClipClass ModelClipClass;
+typedef struct _ModelClipPrivate ModelClipPrivate;
+
+#define MODEL_TYPE_FETCHER_COMPLETION (model_fetcher_completion_get_type ())
+#define MODEL_FETCHER_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_FETCHER_COMPLETION, ModelFetcherCompletion))
+#define MODEL_FETCHER_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_FETCHER_COMPLETION, ModelFetcherCompletionClass))
+#define MODEL_IS_FETCHER_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_FETCHER_COMPLETION))
+#define MODEL_IS_FETCHER_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_FETCHER_COMPLETION))
+#define MODEL_FETCHER_COMPLETION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_FETCHER_COMPLETION, ModelFetcherCompletionClass))
+
+typedef struct _ModelFetcherCompletion ModelFetcherCompletion;
+typedef struct _ModelFetcherCompletionClass ModelFetcherCompletionClass;
+typedef struct _ModelFetcherCompletionPrivate ModelFetcherCompletionPrivate;
+
+#define MODEL_TYPE_COMMAND (model_command_get_type ())
+#define MODEL_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_COMMAND, ModelCommand))
+#define MODEL_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_COMMAND, ModelCommandClass))
+#define MODEL_IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_COMMAND))
+#define MODEL_IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_COMMAND))
+#define MODEL_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_COMMAND, ModelCommandClass))
+
+typedef struct _ModelCommand ModelCommand;
+typedef struct _ModelCommandClass ModelCommandClass;
+typedef struct _ModelCommandPrivate ModelCommandPrivate;
+
+#define MODEL_TYPE_PARAMETER (model_parameter_get_type ())
+
+#define MODEL_TYPE_PARAMETER_COMMAND (model_parameter_command_get_type ())
+#define MODEL_PARAMETER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_PARAMETER_COMMAND, ModelParameterCommand))
+#define MODEL_PARAMETER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_PARAMETER_COMMAND, ModelParameterCommandClass))
+#define MODEL_IS_PARAMETER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_PARAMETER_COMMAND))
+#define MODEL_IS_PARAMETER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_PARAMETER_COMMAND))
+#define MODEL_PARAMETER_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_PARAMETER_COMMAND, ModelParameterCommandClass))
+
+typedef struct _ModelParameterCommand ModelParameterCommand;
+typedef struct _ModelParameterCommandClass ModelParameterCommandClass;
+typedef struct _ModelParameterCommandPrivate ModelParameterCommandPrivate;
+
+#define MODEL_TYPE_CLIP_COMMAND (model_clip_command_get_type ())
+#define MODEL_CLIP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_COMMAND, ModelClipCommand))
+#define MODEL_CLIP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_COMMAND, ModelClipCommandClass))
+#define MODEL_IS_CLIP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_COMMAND))
+#define MODEL_IS_CLIP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_COMMAND))
+#define MODEL_CLIP_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_COMMAND, ModelClipCommandClass))
+
+typedef struct _ModelClipCommand ModelClipCommand;
+typedef struct _ModelClipCommandClass ModelClipCommandClass;
+typedef struct _ModelClipCommandPrivate ModelClipCommandPrivate;
+
+#define MODEL_CLIP_COMMAND_TYPE_ACTION (model_clip_command_action_get_type ())
+
+#define MODEL_TYPE_CLIP_ADD_COMMAND (model_clip_add_command_get_type ())
+#define MODEL_CLIP_ADD_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_ADD_COMMAND, ModelClipAddCommand))
+#define MODEL_CLIP_ADD_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_ADD_COMMAND, ModelClipAddCommandClass))
+#define MODEL_IS_CLIP_ADD_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_ADD_COMMAND))
+#define MODEL_IS_CLIP_ADD_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_ADD_COMMAND))
+#define MODEL_CLIP_ADD_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_ADD_COMMAND, ModelClipAddCommandClass))
+
+typedef struct _ModelClipAddCommand ModelClipAddCommand;
+typedef struct _ModelClipAddCommandClass ModelClipAddCommandClass;
+typedef struct _ModelClipAddCommandPrivate ModelClipAddCommandPrivate;
+
+#define MODEL_TYPE_CLIP_SPLIT_COMMAND (model_clip_split_command_get_type ())
+#define MODEL_CLIP_SPLIT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_SPLIT_COMMAND, ModelClipSplitCommand))
+#define MODEL_CLIP_SPLIT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_SPLIT_COMMAND, ModelClipSplitCommandClass))
+#define MODEL_IS_CLIP_SPLIT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_SPLIT_COMMAND))
+#define MODEL_IS_CLIP_SPLIT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_SPLIT_COMMAND))
+#define MODEL_CLIP_SPLIT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_SPLIT_COMMAND, ModelClipSplitCommandClass))
+
+typedef struct _ModelClipSplitCommand ModelClipSplitCommand;
+typedef struct _ModelClipSplitCommandClass ModelClipSplitCommandClass;
+typedef struct _ModelClipSplitCommandPrivate ModelClipSplitCommandPrivate;
+
+#define MODEL_CLIP_SPLIT_COMMAND_TYPE_ACTION (model_clip_split_command_action_get_type ())
+
+#define MODEL_TYPE_CLIP_FILE_DELETE_COMMAND (model_clip_file_delete_command_get_type ())
+#define MODEL_CLIP_FILE_DELETE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_FILE_DELETE_COMMAND, ModelClipFileDeleteCommand))
+#define MODEL_CLIP_FILE_DELETE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_FILE_DELETE_COMMAND, ModelClipFileDeleteCommandClass))
+#define MODEL_IS_CLIP_FILE_DELETE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_FILE_DELETE_COMMAND))
+#define MODEL_IS_CLIP_FILE_DELETE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_FILE_DELETE_COMMAND))
+#define MODEL_CLIP_FILE_DELETE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_FILE_DELETE_COMMAND, ModelClipFileDeleteCommandClass))
+
+typedef struct _ModelClipFileDeleteCommand ModelClipFileDeleteCommand;
+typedef struct _ModelClipFileDeleteCommandClass ModelClipFileDeleteCommandClass;
+typedef struct _ModelClipFileDeleteCommandPrivate ModelClipFileDeleteCommandPrivate;
+
+#define MODEL_TYPE_CLIP_TRIM_COMMAND (model_clip_trim_command_get_type ())
+#define MODEL_CLIP_TRIM_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_TRIM_COMMAND, ModelClipTrimCommand))
+#define MODEL_CLIP_TRIM_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_TRIM_COMMAND, ModelClipTrimCommandClass))
+#define MODEL_IS_CLIP_TRIM_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_TRIM_COMMAND))
+#define MODEL_IS_CLIP_TRIM_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_TRIM_COMMAND))
+#define MODEL_CLIP_TRIM_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_TRIM_COMMAND, ModelClipTrimCommandClass))
+
+typedef struct _ModelClipTrimCommand ModelClipTrimCommand;
+typedef struct _ModelClipTrimCommandClass ModelClipTrimCommandClass;
+typedef struct _ModelClipTrimCommandPrivate ModelClipTrimCommandPrivate;
+
+#define MODEL_TYPE_CLIP_REVERT_COMMAND (model_clip_revert_command_get_type ())
+#define MODEL_CLIP_REVERT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_REVERT_COMMAND, ModelClipRevertCommand))
+#define MODEL_CLIP_REVERT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_REVERT_COMMAND, ModelClipRevertCommandClass))
+#define MODEL_IS_CLIP_REVERT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_REVERT_COMMAND))
+#define MODEL_IS_CLIP_REVERT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_REVERT_COMMAND))
+#define MODEL_CLIP_REVERT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_REVERT_COMMAND, ModelClipRevertCommandClass))
+
+typedef struct _ModelClipRevertCommand ModelClipRevertCommand;
+typedef struct _ModelClipRevertCommandClass ModelClipRevertCommandClass;
+typedef struct _ModelClipRevertCommandPrivate ModelClipRevertCommandPrivate;
+
+#define MODEL_TYPE_TIME_SIGNATURE_COMMAND (model_time_signature_command_get_type ())
+#define MODEL_TIME_SIGNATURE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TIME_SIGNATURE_COMMAND, ModelTimeSignatureCommand))
+#define MODEL_TIME_SIGNATURE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TIME_SIGNATURE_COMMAND, ModelTimeSignatureCommandClass))
+#define MODEL_IS_TIME_SIGNATURE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TIME_SIGNATURE_COMMAND))
+#define MODEL_IS_TIME_SIGNATURE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TIME_SIGNATURE_COMMAND))
+#define MODEL_TIME_SIGNATURE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TIME_SIGNATURE_COMMAND, ModelTimeSignatureCommandClass))
+
+typedef struct _ModelTimeSignatureCommand ModelTimeSignatureCommand;
+typedef struct _ModelTimeSignatureCommandClass ModelTimeSignatureCommandClass;
+typedef struct _ModelTimeSignatureCommandPrivate ModelTimeSignatureCommandPrivate;
+
+#define MODEL_TYPE_BPM_COMMAND (model_bpm_command_get_type ())
+#define MODEL_BPM_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_BPM_COMMAND, ModelBpmCommand))
+#define MODEL_BPM_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_BPM_COMMAND, ModelBpmCommandClass))
+#define MODEL_IS_BPM_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_BPM_COMMAND))
+#define MODEL_IS_BPM_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_BPM_COMMAND))
+#define MODEL_BPM_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_BPM_COMMAND, ModelBpmCommandClass))
+
+typedef struct _ModelBpmCommand ModelBpmCommand;
+typedef struct _ModelBpmCommandClass ModelBpmCommandClass;
+typedef struct _ModelBpmCommandPrivate ModelBpmCommandPrivate;
+
+#define MODEL_TYPE_ADD_CLIP_COMMAND (model_add_clip_command_get_type ())
+#define MODEL_ADD_CLIP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_ADD_CLIP_COMMAND, ModelAddClipCommand))
+#define MODEL_ADD_CLIP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_ADD_CLIP_COMMAND, ModelAddClipCommandClass))
+#define MODEL_IS_ADD_CLIP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_ADD_CLIP_COMMAND))
+#define MODEL_IS_ADD_CLIP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_ADD_CLIP_COMMAND))
+#define MODEL_ADD_CLIP_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_ADD_CLIP_COMMAND, ModelAddClipCommandClass))
+
+typedef struct _ModelAddClipCommand ModelAddClipCommand;
+typedef struct _ModelAddClipCommandClass ModelAddClipCommandClass;
+typedef struct _ModelAddClipCommandPrivate ModelAddClipCommandPrivate;
+
+#define MODEL_TYPE_TRANSACTION_COMMAND (model_transaction_command_get_type ())
+#define MODEL_TRANSACTION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TRANSACTION_COMMAND, ModelTransactionCommand))
+#define MODEL_TRANSACTION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TRANSACTION_COMMAND, ModelTransactionCommandClass))
+#define MODEL_IS_TRANSACTION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TRANSACTION_COMMAND))
+#define MODEL_IS_TRANSACTION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TRANSACTION_COMMAND))
+#define MODEL_TRANSACTION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TRANSACTION_COMMAND, ModelTransactionCommandClass))
+
+typedef struct _ModelTransactionCommand ModelTransactionCommand;
+typedef struct _ModelTransactionCommandClass ModelTransactionCommandClass;
+typedef struct _ModelTransactionCommandPrivate ModelTransactionCommandPrivate;
+
+#define DIALOG_UTILS_TYPE_FILTER_DESCRIPTION_STRUCT (dialog_utils_filter_description_struct_get_type ())
+typedef struct _DialogUtilsfilter_description_struct DialogUtilsfilter_description_struct;
+
+#define TYPE_MULTI_FILE_PROGRESS_INTERFACE (multi_file_progress_interface_get_type ())
+#define MULTI_FILE_PROGRESS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_FILE_PROGRESS_INTERFACE, MultiFileProgressInterface))
+#define IS_MULTI_FILE_PROGRESS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_FILE_PROGRESS_INTERFACE))
+#define MULTI_FILE_PROGRESS_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MULTI_FILE_PROGRESS_INTERFACE, MultiFileProgressInterfaceIface))
+
+typedef struct _MultiFileProgressInterface MultiFileProgressInterface;
+typedef struct _MultiFileProgressInterfaceIface MultiFileProgressInterfaceIface;
+
+#define MODEL_TYPE_CLIP_IMPORTER (model_clip_importer_get_type ())
+#define MODEL_CLIP_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_IMPORTER, ModelClipImporter))
+#define MODEL_CLIP_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_IMPORTER, ModelClipImporterClass))
+#define MODEL_IS_CLIP_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_IMPORTER))
+#define MODEL_IS_CLIP_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_IMPORTER))
+#define MODEL_CLIP_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_IMPORTER, ModelClipImporterClass))
+
+typedef struct _ModelClipImporter ModelClipImporter;
+typedef struct _ModelClipImporterClass ModelClipImporterClass;
+typedef struct _ModelClipImporterPrivate ModelClipImporterPrivate;
+
+#define MODEL_TYPE_LIBRARY_IMPORTER (model_library_importer_get_type ())
+#define MODEL_LIBRARY_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_LIBRARY_IMPORTER, ModelLibraryImporter))
+#define MODEL_LIBRARY_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_LIBRARY_IMPORTER, ModelLibraryImporterClass))
+#define MODEL_IS_LIBRARY_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_LIBRARY_IMPORTER))
+#define MODEL_IS_LIBRARY_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_LIBRARY_IMPORTER))
+#define MODEL_LIBRARY_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_LIBRARY_IMPORTER, ModelLibraryImporterClass))
+
+typedef struct _ModelLibraryImporter ModelLibraryImporter;
+typedef struct _ModelLibraryImporterClass ModelLibraryImporterClass;
+typedef struct _ModelLibraryImporterPrivate ModelLibraryImporterPrivate;
+
+#define MODEL_TYPE_TIMELINE_IMPORTER (model_timeline_importer_get_type ())
+#define MODEL_TIMELINE_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TIMELINE_IMPORTER, ModelTimelineImporter))
+#define MODEL_TIMELINE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TIMELINE_IMPORTER, ModelTimelineImporterClass))
+#define MODEL_IS_TIMELINE_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TIMELINE_IMPORTER))
+#define MODEL_IS_TIMELINE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TIMELINE_IMPORTER))
+#define MODEL_TIMELINE_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TIMELINE_IMPORTER, ModelTimelineImporterClass))
+
+typedef struct _ModelTimelineImporter ModelTimelineImporter;
+typedef struct _ModelTimelineImporterClass ModelTimelineImporterClass;
+typedef struct _ModelTimelineImporterPrivate ModelTimelineImporterPrivate;
+
+#define LOGGING_TYPE_FACILITY (logging_facility_get_type ())
+
+#define LOGGING_TYPE_LEVEL (logging_level_get_type ())
+
+#define TYPE_PLAY_STATE (play_state_get_type ())
+
+#define VIEW_TYPE_MEDIA_TRACK (view_media_track_get_type ())
+#define VIEW_MEDIA_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_MEDIA_TRACK, ViewMediaTrack))
+#define VIEW_MEDIA_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_MEDIA_TRACK, ViewMediaTrackClass))
+#define VIEW_IS_MEDIA_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_MEDIA_TRACK))
+#define VIEW_IS_MEDIA_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_MEDIA_TRACK))
+#define VIEW_MEDIA_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_MEDIA_TRACK, ViewMediaTrackClass))
+
+typedef struct _ViewMediaTrack ViewMediaTrack;
+typedef struct _ViewMediaTrackClass ViewMediaTrackClass;
+typedef struct _ViewMediaTrackPrivate ViewMediaTrackPrivate;
+
+#define VIEW_TYPE_MEDIA_ENGINE (view_media_engine_get_type ())
+#define VIEW_MEDIA_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_MEDIA_ENGINE, ViewMediaEngine))
+#define VIEW_MEDIA_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_MEDIA_ENGINE, ViewMediaEngineClass))
+#define VIEW_IS_MEDIA_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_MEDIA_ENGINE))
+#define VIEW_IS_MEDIA_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_MEDIA_ENGINE))
+#define VIEW_MEDIA_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_MEDIA_ENGINE, ViewMediaEngineClass))
+
+typedef struct _ViewMediaEngine ViewMediaEngine;
+typedef struct _ViewMediaEngineClass ViewMediaEngineClass;
+
+#define VIEW_TYPE_MEDIA_VIDEO_TRACK (view_media_video_track_get_type ())
+#define VIEW_MEDIA_VIDEO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_MEDIA_VIDEO_TRACK, ViewMediaVideoTrack))
+#define VIEW_MEDIA_VIDEO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_MEDIA_VIDEO_TRACK, ViewMediaVideoTrackClass))
+#define VIEW_IS_MEDIA_VIDEO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_MEDIA_VIDEO_TRACK))
+#define VIEW_IS_MEDIA_VIDEO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_MEDIA_VIDEO_TRACK))
+#define VIEW_MEDIA_VIDEO_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_MEDIA_VIDEO_TRACK, ViewMediaVideoTrackClass))
+
+typedef struct _ViewMediaVideoTrack ViewMediaVideoTrack;
+typedef struct _ViewMediaVideoTrackClass ViewMediaVideoTrackClass;
+typedef struct _ViewMediaVideoTrackPrivate ViewMediaVideoTrackPrivate;
+
+#define VIEW_TYPE_CLICK_TRACK (view_click_track_get_type ())
+#define VIEW_CLICK_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_CLICK_TRACK, ViewClickTrack))
+#define VIEW_CLICK_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_CLICK_TRACK, ViewClickTrackClass))
+#define VIEW_IS_CLICK_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_CLICK_TRACK))
+#define VIEW_IS_CLICK_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_CLICK_TRACK))
+#define VIEW_CLICK_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_CLICK_TRACK, ViewClickTrackClass))
+
+typedef struct _ViewClickTrack ViewClickTrack;
+typedef struct _ViewClickTrackClass ViewClickTrackClass;
+typedef struct _ViewClickTrackPrivate ViewClickTrackPrivate;
+
+#define VIEW_TYPE_MEDIA_AUDIO_TRACK (view_media_audio_track_get_type ())
+#define VIEW_MEDIA_AUDIO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_MEDIA_AUDIO_TRACK, ViewMediaAudioTrack))
+#define VIEW_MEDIA_AUDIO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_MEDIA_AUDIO_TRACK, ViewMediaAudioTrackClass))
+#define VIEW_IS_MEDIA_AUDIO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_MEDIA_AUDIO_TRACK))
+#define VIEW_IS_MEDIA_AUDIO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_MEDIA_AUDIO_TRACK))
+#define VIEW_MEDIA_AUDIO_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_MEDIA_AUDIO_TRACK, ViewMediaAudioTrackClass))
+
+typedef struct _ViewMediaAudioTrack ViewMediaAudioTrack;
+typedef struct _ViewMediaAudioTrackClass ViewMediaAudioTrackClass;
+typedef struct _ViewMediaAudioTrackPrivate ViewMediaAudioTrackPrivate;
+
+#define VIEW_TYPE_MEDIA_CONNECTOR (view_media_connector_get_type ())
+#define VIEW_MEDIA_CONNECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_MEDIA_CONNECTOR, ViewMediaConnector))
+#define VIEW_MEDIA_CONNECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_MEDIA_CONNECTOR, ViewMediaConnectorClass))
+#define VIEW_IS_MEDIA_CONNECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_MEDIA_CONNECTOR))
+#define VIEW_IS_MEDIA_CONNECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_MEDIA_CONNECTOR))
+#define VIEW_MEDIA_CONNECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_MEDIA_CONNECTOR, ViewMediaConnectorClass))
+
+typedef struct _ViewMediaConnector ViewMediaConnector;
+typedef struct _ViewMediaConnectorClass ViewMediaConnectorClass;
+typedef struct _ViewMediaConnectorPrivate ViewMediaConnectorPrivate;
+
+#define VIEW_MEDIA_CONNECTOR_TYPE_MEDIA_TYPES (view_media_connector_media_types_get_type ())
+
+#define VIEW_TYPE_VIDEO_OUTPUT (view_video_output_get_type ())
+#define VIEW_VIDEO_OUTPUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_VIDEO_OUTPUT, ViewVideoOutput))
+#define VIEW_VIDEO_OUTPUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_VIDEO_OUTPUT, ViewVideoOutputClass))
+#define VIEW_IS_VIDEO_OUTPUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_VIDEO_OUTPUT))
+#define VIEW_IS_VIDEO_OUTPUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_VIDEO_OUTPUT))
+#define VIEW_VIDEO_OUTPUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_VIDEO_OUTPUT, ViewVideoOutputClass))
+
+typedef struct _ViewVideoOutput ViewVideoOutput;
+typedef struct _ViewVideoOutputClass ViewVideoOutputClass;
+typedef struct _ViewVideoOutputPrivate ViewVideoOutputPrivate;
+
+#define VIEW_TYPE_AUDIO_OUTPUT (view_audio_output_get_type ())
+#define VIEW_AUDIO_OUTPUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_AUDIO_OUTPUT, ViewAudioOutput))
+#define VIEW_AUDIO_OUTPUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_AUDIO_OUTPUT, ViewAudioOutputClass))
+#define VIEW_IS_AUDIO_OUTPUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_AUDIO_OUTPUT))
+#define VIEW_IS_AUDIO_OUTPUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_AUDIO_OUTPUT))
+#define VIEW_AUDIO_OUTPUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_AUDIO_OUTPUT, ViewAudioOutputClass))
+
+typedef struct _ViewAudioOutput ViewAudioOutput;
+typedef struct _ViewAudioOutputClass ViewAudioOutputClass;
+typedef struct _ViewAudioOutputPrivate ViewAudioOutputPrivate;
+
+#define VIEW_TYPE_OGG_VORBIS_EXPORT (view_ogg_vorbis_export_get_type ())
+#define VIEW_OGG_VORBIS_EXPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_OGG_VORBIS_EXPORT, ViewOggVorbisExport))
+#define VIEW_OGG_VORBIS_EXPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_OGG_VORBIS_EXPORT, ViewOggVorbisExportClass))
+#define VIEW_IS_OGG_VORBIS_EXPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_OGG_VORBIS_EXPORT))
+#define VIEW_IS_OGG_VORBIS_EXPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_OGG_VORBIS_EXPORT))
+#define VIEW_OGG_VORBIS_EXPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_OGG_VORBIS_EXPORT, ViewOggVorbisExportClass))
+
+typedef struct _ViewOggVorbisExport ViewOggVorbisExport;
+typedef struct _ViewOggVorbisExportClass ViewOggVorbisExportClass;
+typedef struct _ViewOggVorbisExportPrivate ViewOggVorbisExportPrivate;
+typedef struct _ViewMediaEnginePrivate ViewMediaEnginePrivate;
+
+#define TYPE_MULTI_FILE_PROGRESS (multi_file_progress_get_type ())
+#define MULTI_FILE_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_FILE_PROGRESS, MultiFileProgress))
+#define MULTI_FILE_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_FILE_PROGRESS, MultiFileProgressClass))
+#define IS_MULTI_FILE_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_FILE_PROGRESS))
+#define IS_MULTI_FILE_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_FILE_PROGRESS))
+#define MULTI_FILE_PROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_FILE_PROGRESS, MultiFileProgressClass))
+
+typedef struct _MultiFileProgress MultiFileProgress;
+typedef struct _MultiFileProgressClass MultiFileProgressClass;
+typedef struct _MultiFileProgressPrivate MultiFileProgressPrivate;
+
+#define MODEL_TYPE_LOADER_HANDLER (model_loader_handler_get_type ())
+#define MODEL_LOADER_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_LOADER_HANDLER, ModelLoaderHandler))
+#define MODEL_LOADER_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_LOADER_HANDLER, ModelLoaderHandlerClass))
+#define MODEL_IS_LOADER_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_LOADER_HANDLER))
+#define MODEL_IS_LOADER_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_LOADER_HANDLER))
+#define MODEL_LOADER_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_LOADER_HANDLER, ModelLoaderHandlerClass))
+
+typedef struct _ModelLoaderHandler ModelLoaderHandler;
+typedef struct _ModelLoaderHandlerClass ModelLoaderHandlerClass;
+typedef struct _ModelLoaderHandlerPrivate ModelLoaderHandlerPrivate;
+
+#define MODEL_TYPE_XML_TREE_LOADER (model_xml_tree_loader_get_type ())
+#define MODEL_XML_TREE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_XML_TREE_LOADER, ModelXmlTreeLoader))
+#define MODEL_XML_TREE_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_XML_TREE_LOADER, ModelXmlTreeLoaderClass))
+#define MODEL_IS_XML_TREE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_XML_TREE_LOADER))
+#define MODEL_IS_XML_TREE_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_XML_TREE_LOADER))
+#define MODEL_XML_TREE_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_XML_TREE_LOADER, ModelXmlTreeLoaderClass))
+
+typedef struct _ModelXmlTreeLoader ModelXmlTreeLoader;
+typedef struct _ModelXmlTreeLoaderClass ModelXmlTreeLoaderClass;
+typedef struct _ModelXmlTreeLoaderPrivate ModelXmlTreeLoaderPrivate;
+
+#define MODEL_TYPE_XML_ELEMENT (model_xml_element_get_type ())
+#define MODEL_XML_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_XML_ELEMENT, ModelXmlElement))
+#define MODEL_XML_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_XML_ELEMENT, ModelXmlElementClass))
+#define MODEL_IS_XML_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_XML_ELEMENT))
+#define MODEL_IS_XML_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_XML_ELEMENT))
+#define MODEL_XML_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_XML_ELEMENT, ModelXmlElementClass))
+
+typedef struct _ModelXmlElement ModelXmlElement;
+typedef struct _ModelXmlElementClass ModelXmlElementClass;
+typedef struct _ModelXmlElementPrivate ModelXmlElementPrivate;
+
+#define MODEL_TYPE_PROJECT_LOADER (model_project_loader_get_type ())
+#define MODEL_PROJECT_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_PROJECT_LOADER, ModelProjectLoader))
+#define MODEL_PROJECT_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_PROJECT_LOADER, ModelProjectLoaderClass))
+#define MODEL_IS_PROJECT_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_PROJECT_LOADER))
+#define MODEL_IS_PROJECT_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_PROJECT_LOADER))
+#define MODEL_PROJECT_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_PROJECT_LOADER, ModelProjectLoaderClass))
+
+typedef struct _ModelProjectLoader ModelProjectLoader;
+typedef struct _ModelProjectLoaderClass ModelProjectLoaderClass;
+typedef struct _ModelProjectLoaderPrivate ModelProjectLoaderPrivate;
+
+#define MODEL_TYPE_MEDIA_LOADER_HANDLER (model_media_loader_handler_get_type ())
+#define MODEL_MEDIA_LOADER_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_MEDIA_LOADER_HANDLER, ModelMediaLoaderHandler))
+#define MODEL_MEDIA_LOADER_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_MEDIA_LOADER_HANDLER, ModelMediaLoaderHandlerClass))
+#define MODEL_IS_MEDIA_LOADER_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_MEDIA_LOADER_HANDLER))
+#define MODEL_IS_MEDIA_LOADER_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_MEDIA_LOADER_HANDLER))
+#define MODEL_MEDIA_LOADER_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_MEDIA_LOADER_HANDLER, ModelMediaLoaderHandlerClass))
+
+typedef struct _ModelMediaLoaderHandler ModelMediaLoaderHandler;
+typedef struct _ModelMediaLoaderHandlerClass ModelMediaLoaderHandlerClass;
+typedef struct _ModelMediaLoaderHandlerPrivate ModelMediaLoaderHandlerPrivate;
+
+#define MODEL_TYPE_TEMPO_INFORMATION (model_tempo_information_get_type ())
+#define MODEL_TEMPO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TEMPO_INFORMATION, ModelTempoInformation))
+#define MODEL_IS_TEMPO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TEMPO_INFORMATION))
+#define MODEL_TEMPO_INFORMATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MODEL_TYPE_TEMPO_INFORMATION, ModelTempoInformationIface))
+
+typedef struct _ModelTempoInformation ModelTempoInformation;
+typedef struct _ModelTempoInformationIface ModelTempoInformationIface;
+typedef struct _ModelProjectPrivate ModelProjectPrivate;
+
+#define TYPE_TIME_CODE (time_code_get_type ())
+typedef struct _TimeCode TimeCode;
+
+#define MODEL_TYPE_UNDO_MANAGER (model_undo_manager_get_type ())
+#define MODEL_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_UNDO_MANAGER, ModelUndoManager))
+#define MODEL_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_UNDO_MANAGER, ModelUndoManagerClass))
+#define MODEL_IS_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_UNDO_MANAGER))
+#define MODEL_IS_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_UNDO_MANAGER))
+#define MODEL_UNDO_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_UNDO_MANAGER, ModelUndoManagerClass))
+
+typedef struct _ModelUndoManager ModelUndoManager;
+typedef struct _ModelUndoManagerClass ModelUndoManagerClass;
+
+#define MODEL_TYPE_VIDEO_TRACK (model_video_track_get_type ())
+#define MODEL_VIDEO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_VIDEO_TRACK, ModelVideoTrack))
+#define MODEL_VIDEO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_VIDEO_TRACK, ModelVideoTrackClass))
+#define MODEL_IS_VIDEO_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_VIDEO_TRACK))
+#define MODEL_IS_VIDEO_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_VIDEO_TRACK))
+#define MODEL_VIDEO_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_VIDEO_TRACK, ModelVideoTrackClass))
+
+typedef struct _ModelVideoTrack ModelVideoTrack;
+typedef struct _ModelVideoTrackClass ModelVideoTrackClass;
+
+#define VIEW_TYPE_RULER (view_ruler_get_type ())
+#define VIEW_RULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_RULER, ViewRuler))
+#define VIEW_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_RULER, ViewRulerClass))
+#define VIEW_IS_RULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_RULER))
+#define VIEW_IS_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_RULER))
+#define VIEW_RULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_RULER, ViewRulerClass))
+
+typedef struct _ViewRuler ViewRuler;
+typedef struct _ViewRulerClass ViewRulerClass;
+typedef struct _ViewRulerPrivate ViewRulerPrivate;
+
+#define VIEW_TYPE_STATUS_BAR (view_status_bar_get_type ())
+#define VIEW_STATUS_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_STATUS_BAR, ViewStatusBar))
+#define VIEW_STATUS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_STATUS_BAR, ViewStatusBarClass))
+#define VIEW_IS_STATUS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_STATUS_BAR))
+#define VIEW_IS_STATUS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_STATUS_BAR))
+#define VIEW_STATUS_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_STATUS_BAR, ViewStatusBarClass))
+
+typedef struct _ViewStatusBar ViewStatusBar;
+typedef struct _ViewStatusBarClass ViewStatusBarClass;
+typedef struct _ViewStatusBarPrivate ViewStatusBarPrivate;
+
+#define TYPE_TRACK_CLIP_PAIR (track_clip_pair_get_type ())
+#define TRACK_CLIP_PAIR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRACK_CLIP_PAIR, TrackClipPair))
+#define TRACK_CLIP_PAIR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRACK_CLIP_PAIR, TrackClipPairClass))
+#define IS_TRACK_CLIP_PAIR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRACK_CLIP_PAIR))
+#define IS_TRACK_CLIP_PAIR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRACK_CLIP_PAIR))
+#define TRACK_CLIP_PAIR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRACK_CLIP_PAIR, TrackClipPairClass))
+
+typedef struct _TrackClipPair TrackClipPair;
+typedef struct _TrackClipPairClass TrackClipPairClass;
+typedef struct _TrackClipPairPrivate TrackClipPairPrivate;
+
+#define TYPE_CLIPBOARD (clipboard_get_type ())
+#define CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLIPBOARD, Clipboard))
+#define CLIPBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLIPBOARD, ClipboardClass))
+#define IS_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLIPBOARD))
+#define IS_CLIPBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLIPBOARD))
+#define CLIPBOARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLIPBOARD, ClipboardClass))
+
+typedef struct _Clipboard Clipboard;
+typedef struct _ClipboardClass ClipboardClass;
+typedef struct _ClipboardPrivate ClipboardPrivate;
+typedef struct _TimeLinePrivate TimeLinePrivate;
+
+#define MODEL_TYPE_TIME_SYSTEM_BASE (model_time_system_base_get_type ())
+#define MODEL_TIME_SYSTEM_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TIME_SYSTEM_BASE, ModelTimeSystemBase))
+#define MODEL_TIME_SYSTEM_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TIME_SYSTEM_BASE, ModelTimeSystemBaseClass))
+#define MODEL_IS_TIME_SYSTEM_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TIME_SYSTEM_BASE))
+#define MODEL_IS_TIME_SYSTEM_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TIME_SYSTEM_BASE))
+#define MODEL_TIME_SYSTEM_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TIME_SYSTEM_BASE, ModelTimeSystemBaseClass))
+
+typedef struct _ModelTimeSystemBase ModelTimeSystemBase;
+typedef struct _ModelTimeSystemBaseClass ModelTimeSystemBaseClass;
+typedef struct _ModelTimeSystemBasePrivate ModelTimeSystemBasePrivate;
+
+#define MODEL_TYPE_TIMECODE_TIME_SYSTEM (model_timecode_time_system_get_type ())
+#define MODEL_TIMECODE_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TIMECODE_TIME_SYSTEM, ModelTimecodeTimeSystem))
+#define MODEL_TIMECODE_TIME_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TIMECODE_TIME_SYSTEM, ModelTimecodeTimeSystemClass))
+#define MODEL_IS_TIMECODE_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TIMECODE_TIME_SYSTEM))
+#define MODEL_IS_TIMECODE_TIME_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TIMECODE_TIME_SYSTEM))
+#define MODEL_TIMECODE_TIME_SYSTEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TIMECODE_TIME_SYSTEM, ModelTimecodeTimeSystemClass))
+
+typedef struct _ModelTimecodeTimeSystem ModelTimecodeTimeSystem;
+typedef struct _ModelTimecodeTimeSystemClass ModelTimecodeTimeSystemClass;
+typedef struct _ModelTimecodeTimeSystemPrivate ModelTimecodeTimeSystemPrivate;
+
+#define MODEL_TYPE_BAR_BEAT_TIME_SYSTEM (model_bar_beat_time_system_get_type ())
+#define MODEL_BAR_BEAT_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_BAR_BEAT_TIME_SYSTEM, ModelBarBeatTimeSystem))
+#define MODEL_BAR_BEAT_TIME_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_BAR_BEAT_TIME_SYSTEM, ModelBarBeatTimeSystemClass))
+#define MODEL_IS_BAR_BEAT_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_BAR_BEAT_TIME_SYSTEM))
+#define MODEL_IS_BAR_BEAT_TIME_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_BAR_BEAT_TIME_SYSTEM))
+#define MODEL_BAR_BEAT_TIME_SYSTEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_BAR_BEAT_TIME_SYSTEM, ModelBarBeatTimeSystemClass))
+
+typedef struct _ModelBarBeatTimeSystem ModelBarBeatTimeSystem;
+typedef struct _ModelBarBeatTimeSystemClass ModelBarBeatTimeSystemClass;
+typedef struct _ModelBarBeatTimeSystemPrivate ModelBarBeatTimeSystemPrivate;
+typedef struct _ModelTrackPrivate ModelTrackPrivate;
+typedef struct _ModelAudioTrackPrivate ModelAudioTrackPrivate;
+
+#define TYPE_GAP_VIEW (gap_view_get_type ())
+#define GAP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GAP_VIEW, GapView))
+#define GAP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GAP_VIEW, GapViewClass))
+#define IS_GAP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GAP_VIEW))
+#define IS_GAP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GAP_VIEW))
+#define GAP_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GAP_VIEW, GapViewClass))
+
+typedef struct _GapView GapView;
+typedef struct _GapViewClass GapViewClass;
+typedef struct _GapViewPrivate GapViewPrivate;
+typedef struct _ClipViewPrivate ClipViewPrivate;
+typedef struct _ModelUndoManagerPrivate ModelUndoManagerPrivate;
+typedef struct _ModelVideoTrackPrivate ModelVideoTrackPrivate;
+
+struct _AppDirs {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       AppDirsPrivate * priv;
+};
+
+struct _AppDirsClass {
+       GTypeClass parent_class;
+       void (*finalize) (AppDirs *self);
+};
+
+struct _ViewAudioMeter {
+       GtkDrawingArea parent_instance;
+       ViewAudioMeterPrivate * priv;
+};
+
+struct _ViewAudioMeterClass {
+       GtkDrawingAreaClass parent_class;
+};
+
+struct _TrackViewIface {
+       GTypeInterface parent_iface;
+       void (*move_to_top) (TrackView* self, ClipView* clip_view);
+       void (*resize) (TrackView* self);
+       ModelTrack* (*get_track) (TrackView* self);
+       gint (*get_track_height) (TrackView* self);
+       GtkWidget* (*find_child) (TrackView* self, double x, double y);
+       void (*select_all) (TrackView* self);
+};
+
+struct _ClassFactory {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ClassFactoryPrivate * priv;
+};
+
+struct _ClassFactoryClass {
+       GTypeClass parent_class;
+       void (*finalize) (ClassFactory *self);
+       TrackView* (*get_track_view) (ClassFactory* self, ModelTrack* track, TimeLine* timeline);
+};
+
+struct _TransportDelegateIface {
+       GTypeInterface parent_iface;
+       gboolean (*is_playing) (TransportDelegate* self);
+       gboolean (*is_recording) (TransportDelegate* self);
+       gboolean (*is_stopped) (TransportDelegate* self);
+};
+
+struct _ClipLibraryView {
+       GtkEventBox parent_instance;
+       ClipLibraryViewPrivate * priv;
+};
+
+struct _ClipLibraryViewClass {
+       GtkEventBoxClass parent_class;
+};
+
+struct _ModelTimeSystemIface {
+       GTypeInterface parent_iface;
+       void (*calculate_pixel_step) (ModelTimeSystem* self, float inc, float pixel_min, float pixel_div);
+       gint64 (*xpos_to_time) (ModelTimeSystem* self, gint x);
+       gint64 (*xsize_to_time) (ModelTimeSystem* self, gint x);
+       gint (*time_to_xpos) (ModelTimeSystem* self, gint64 time);
+       gint64 (*get_pixel_snap_time) (ModelTimeSystem* self);
+       gint (*time_to_xsize) (ModelTimeSystem* self, gint64 time);
+       float (*get_pixel_percentage) (ModelTimeSystem* self);
+       gint (*get_start_token) (ModelTimeSystem* self, gint xsize);
+       gint (*get_next_position) (ModelTimeSystem* self, gint token);
+       gint (*get_pixel_height) (ModelTimeSystem* self, gint token);
+       char* (*get_display_string) (ModelTimeSystem* self, gint token);
+       gint (*frame_to_xsize) (ModelTimeSystem* self, gint frame);
+       gint (*xsize_to_frame) (ModelTimeSystem* self, gint xsize);
+       char* (*get_time_string) (ModelTimeSystem* self, gint64 time);
+       char* (*get_time_duration) (ModelTimeSystem* self, gint64 time);
+};
+
+typedef enum  {
+       MODEL_MEDIA_TYPE_AUDIO,
+       MODEL_MEDIA_TYPE_VIDEO
+} ModelMediaType;
+
+struct _ModelGap {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ModelGapPrivate * priv;
+       gint64 start;
+       gint64 end;
+};
+
+struct _ModelGapClass {
+       GTypeClass parent_class;
+       void (*finalize) (ModelGap *self);
+};
+
+struct _ModelClipFile {
+       GObject parent_instance;
+       ModelClipFilePrivate * priv;
+       char* filename;
+       GstCaps* video_caps;
+       GstCaps* audio_caps;
+       GdkPixbuf* thumbnail;
+};
+
+struct _ModelClipFileClass {
+       GObjectClass parent_class;
+};
+
+struct _Fraction {
+       gint numerator;
+       gint denominator;
+};
+
+struct _ModelFetcher {
+       GObject parent_instance;
+       ModelFetcherPrivate * priv;
+       GstElement* filesrc;
+       GstElement* decodebin;
+       GstPipeline* pipeline;
+       ModelClipFile* clipfile;
+       char* error_string;
+};
+
+struct _ModelFetcherClass {
+       GObjectClass parent_class;
+       void (*on_pad_added) (ModelFetcher* self, GstPad* pad);
+       void (*on_state_change) (ModelFetcher* self, GstBus* bus, GstMessage* message);
+};
+
+struct _ModelClipFetcher {
+       ModelFetcher parent_instance;
+       ModelClipFetcherPrivate * priv;
+};
+
+struct _ModelClipFetcherClass {
+       ModelFetcherClass parent_class;
+};
+
+struct _ModelThumbnailFetcher {
+       ModelFetcher parent_instance;
+       ModelThumbnailFetcherPrivate * priv;
+};
+
+struct _ModelThumbnailFetcherClass {
+       ModelFetcherClass parent_class;
+};
+
+struct _ModelClip {
+       GObject parent_instance;
+       ModelClipPrivate * priv;
+       ModelClipFile* clipfile;
+       ModelMediaType type;
+       gboolean is_recording;
+       char* name;
+};
+
+struct _ModelClipClass {
+       GObjectClass parent_class;
+};
+
+struct _ModelFetcherCompletion {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ModelFetcherCompletionPrivate * priv;
+};
+
+struct _ModelFetcherCompletionClass {
+       GTypeClass parent_class;
+       void (*finalize) (ModelFetcherCompletion *self);
+       void (*complete) (ModelFetcherCompletion* self, ModelFetcher* fetcher);
+};
+
+struct _ModelCommand {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ModelCommandPrivate * priv;
+};
+
+struct _ModelCommandClass {
+       GTypeClass parent_class;
+       void (*finalize) (ModelCommand *self);
+       void (*apply) (ModelCommand* self);
+       void (*undo) (ModelCommand* self);
+       gboolean (*merge) (ModelCommand* self, ModelCommand* command);
+       char* (*description) (ModelCommand* self);
+};
+
+typedef enum  {
+       MODEL_PARAMETER_PAN,
+       MODEL_PARAMETER_VOLUME
+} ModelParameter;
+
+struct _ModelParameterCommand {
+       ModelCommand parent_instance;
+       ModelParameterCommandPrivate * priv;
+};
+
+struct _ModelParameterCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelClipCommand {
+       ModelCommand parent_instance;
+       ModelClipCommandPrivate * priv;
+};
+
+struct _ModelClipCommandClass {
+       ModelCommandClass parent_class;
+};
+
+typedef enum  {
+       MODEL_CLIP_COMMAND_ACTION_APPEND,
+       MODEL_CLIP_COMMAND_ACTION_DELETE
+} ModelClipCommandAction;
+
+struct _ModelClipAddCommand {
+       ModelCommand parent_instance;
+       ModelClipAddCommandPrivate * priv;
+};
+
+struct _ModelClipAddCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelClipSplitCommand {
+       ModelCommand parent_instance;
+       ModelClipSplitCommandPrivate * priv;
+};
+
+struct _ModelClipSplitCommandClass {
+       ModelCommandClass parent_class;
+};
+
+typedef enum  {
+       MODEL_CLIP_SPLIT_COMMAND_ACTION_SPLIT,
+       MODEL_CLIP_SPLIT_COMMAND_ACTION_JOIN
+} ModelClipSplitCommandAction;
+
+struct _ModelClipFileDeleteCommand {
+       ModelCommand parent_instance;
+       ModelClipFileDeleteCommandPrivate * priv;
+};
+
+struct _ModelClipFileDeleteCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelClipTrimCommand {
+       ModelCommand parent_instance;
+       ModelClipTrimCommandPrivate * priv;
+};
+
+struct _ModelClipTrimCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelClipRevertCommand {
+       ModelCommand parent_instance;
+       ModelClipRevertCommandPrivate * priv;
+};
+
+struct _ModelClipRevertCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelTimeSignatureCommand {
+       ModelCommand parent_instance;
+       ModelTimeSignatureCommandPrivate * priv;
+};
+
+struct _ModelTimeSignatureCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelBpmCommand {
+       ModelCommand parent_instance;
+       ModelBpmCommandPrivate * priv;
+};
+
+struct _ModelBpmCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelAddClipCommand {
+       ModelCommand parent_instance;
+       ModelAddClipCommandPrivate * priv;
+};
+
+struct _ModelAddClipCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _ModelTransactionCommand {
+       ModelCommand parent_instance;
+       ModelTransactionCommandPrivate * priv;
+};
+
+struct _ModelTransactionCommandClass {
+       ModelCommandClass parent_class;
+};
+
+struct _DialogUtilsfilter_description_struct {
+       char* name;
+       char* extension;
+};
+
+struct _MultiFileProgressInterfaceIface {
+       GTypeInterface parent_iface;
+       void (*cancel) (MultiFileProgressInterface* self);
+       void (*complete) (MultiFileProgressInterface* self);
+};
+
+struct _ModelClipImporter {
+       GObject parent_instance;
+       ModelClipImporterPrivate * priv;
+};
+
+struct _ModelClipImporterClass {
+       GObjectClass parent_class;
+};
+
+struct _ModelLibraryImporter {
+       GObject parent_instance;
+       ModelLibraryImporterPrivate * priv;
+       ModelProject* project;
+       ModelClipImporter* importer;
+};
+
+struct _ModelLibraryImporterClass {
+       GObjectClass parent_class;
+       void (*append_existing_clipfile) (ModelLibraryImporter* self, ModelClipFile* f);
+       void (*on_clip_complete) (ModelLibraryImporter* self, ModelClipFile* f);
+};
+
+struct _ModelTimelineImporter {
+       ModelLibraryImporter parent_instance;
+       ModelTimelineImporterPrivate * priv;
+};
+
+struct _ModelTimelineImporterClass {
+       ModelLibraryImporterClass parent_class;
+};
+
+typedef enum  {
+       LOGGING_FACILITY_SIGNAL_HANDLERS,
+       LOGGING_FACILITY_DEVELOPER_WARNINGS,
+       LOGGING_FACILITY_GRAPH,
+       LOGGING_FACILITY_LOADING,
+       LOGGING_FACILITY_IMPORT,
+       LOGGING_FACILITY_SINGLEDECODEBIN
+} LoggingFacility;
+
+typedef enum  {
+       LOGGING_LEVEL_CRITICAL,
+       LOGGING_LEVEL_HIGH,
+       LOGGING_LEVEL_MEDIUM,
+       LOGGING_LEVEL_LOW,
+       LOGGING_LEVEL_INFO,
+       LOGGING_LEVEL_VERBOSE
+} LoggingLevel;
+
+typedef enum  {
+       PLAY_STATE_STOPPED,
+       PLAY_STATE_PRE_PLAY,
+       PLAY_STATE_PLAYING,
+       PLAY_STATE_PRE_RECORD_NULL,
+       PLAY_STATE_PRE_RECORD,
+       PLAY_STATE_RECORDING,
+       PLAY_STATE_POST_RECORD,
+       PLAY_STATE_PRE_EXPORT,
+       PLAY_STATE_EXPORTING,
+       PLAY_STATE_CANCEL_EXPORT,
+       PLAY_STATE_LOADING,
+       PLAY_STATE_CLOSING,
+       PLAY_STATE_CLOSED
+} PlayState;
+
+struct _ViewMediaTrack {
+       GObject parent_instance;
+       ViewMediaTrackPrivate * priv;
+       ViewMediaEngine* media_engine;
+       GstBin* composition;
+       GstElement* default_source;
+       GstElement* sink;
+};
+
+struct _ViewMediaTrackClass {
+       GObjectClass parent_class;
+       GstElement* (*empty_element) (ViewMediaTrack* self, GError** error);
+       GstElement* (*get_element) (ViewMediaTrack* self);
+       void (*link_new_pad) (ViewMediaTrack* self, GstPad* pad, GstElement* track_element);
+       void (*unlink_pad) (ViewMediaTrack* self, GstPad* pad, GstElement* track_element);
+};
+
+struct _ViewMediaVideoTrack {
+       ViewMediaTrack parent_instance;
+       ViewMediaVideoTrackPrivate * priv;
+};
+
+struct _ViewMediaVideoTrackClass {
+       ViewMediaTrackClass parent_class;
+};
+
+struct _ViewClickTrack {
+       GObject parent_instance;
+       ViewClickTrackPrivate * priv;
+};
+
+struct _ViewClickTrackClass {
+       GObjectClass parent_class;
+};
+
+struct _ViewMediaAudioTrack {
+       ViewMediaTrack parent_instance;
+       ViewMediaAudioTrackPrivate * priv;
+};
+
+struct _ViewMediaAudioTrackClass {
+       ViewMediaTrackClass parent_class;
+};
+
+struct _ViewMediaConnector {
+       GObject parent_instance;
+       ViewMediaConnectorPrivate * priv;
+       gint AudioIndex;
+       gint VideoIndex;
+};
+
+struct _ViewMediaConnectorClass {
+       GObjectClass parent_class;
+       void (*connect) (ViewMediaConnector* self, ViewMediaEngine* media_engine, GstPipeline* pipeline, GstElement** elements, int elements_length1);
+       void (*do_disconnect) (ViewMediaConnector* self, ViewMediaEngine* media_engine, GstPipeline* pipeline, GstElement** elements, int elements_length1);
+};
+
+typedef enum  {
+       VIEW_MEDIA_CONNECTOR_MEDIA_TYPES_Audio = 1,
+       VIEW_MEDIA_CONNECTOR_MEDIA_TYPES_Video = 2
+} ViewMediaConnectorMediaTypes;
+
+struct _ViewVideoOutput {
+       ViewMediaConnector parent_instance;
+       ViewVideoOutputPrivate * priv;
+};
+
+struct _ViewVideoOutputClass {
+       ViewMediaConnectorClass parent_class;
+};
+
+struct _ViewAudioOutput {
+       ViewMediaConnector parent_instance;
+       ViewAudioOutputPrivate * priv;
+};
+
+struct _ViewAudioOutputClass {
+       ViewMediaConnectorClass parent_class;
+};
+
+struct _ViewOggVorbisExport {
+       ViewMediaConnector parent_instance;
+       ViewOggVorbisExportPrivate * priv;
+};
+
+struct _ViewOggVorbisExportClass {
+       ViewMediaConnectorClass parent_class;
+};
+
+struct _ViewMediaEngine {
+       GObject parent_instance;
+       ViewMediaEnginePrivate * priv;
+       GstPipeline* pipeline;
+       GstBin* record_bin;
+       GstElement* converter;
+       GstElement* adder;
+       GstState gst_state;
+       PlayState play_state;
+       gint64 position;
+       gboolean playing;
+       ModelAudioTrack* record_track;
+       ModelClip* record_region;
+};
+
+struct _ViewMediaEngineClass {
+       GObjectClass parent_class;
+       void (*do_null_state_export) (ViewMediaEngine* self, gint64 length);
+       void (*pause) (ViewMediaEngine* self);
+};
+
+struct _MultiFileProgress {
+       GtkWindow parent_instance;
+       MultiFileProgressPrivate * priv;
+};
+
+struct _MultiFileProgressClass {
+       GtkWindowClass parent_class;
+};
+
+struct _ModelLoaderHandler {
+       GObject parent_instance;
+       ModelLoaderHandlerPrivate * priv;
+};
+
+struct _ModelLoaderHandlerClass {
+       GObjectClass parent_class;
+       gboolean (*commit_library) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_marina) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_track) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_clip) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_clipfile) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_time_signature_entry) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_tempo_entry) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_click) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       gboolean (*commit_library_preference) (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+       void (*leave_library) (ModelLoaderHandler* self);
+       void (*leave_marina) (ModelLoaderHandler* self);
+       void (*leave_track) (ModelLoaderHandler* self);
+       void (*leave_clip) (ModelLoaderHandler* self);
+       void (*leave_clipfile) (ModelLoaderHandler* self);
+};
+
+struct _ModelXmlTreeLoader {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ModelXmlTreeLoaderPrivate * priv;
+       ModelXmlElement* root;
+};
+
+struct _ModelXmlTreeLoaderClass {
+       GTypeClass parent_class;
+       void (*finalize) (ModelXmlTreeLoader *self);
+};
+
+struct _ModelXmlElement {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ModelXmlElementPrivate * priv;
+       char** attribute_names;
+       gint attribute_names_length1;
+       char** attribute_values;
+       gint attribute_values_length1;
+};
+
+struct _ModelXmlElementClass {
+       GTypeClass parent_class;
+       void (*finalize) (ModelXmlElement *self);
+};
+
+struct _ModelProjectLoader {
+       GObject parent_instance;
+       ModelProjectLoaderPrivate * priv;
+};
+
+struct _ModelProjectLoaderClass {
+       GObjectClass parent_class;
+};
+
+struct _ModelMediaLoaderHandler {
+       ModelLoaderHandler parent_instance;
+       ModelMediaLoaderHandlerPrivate * priv;
+       ModelProject* the_project;
+       ModelTrack* current_track;
+};
+
+struct _ModelMediaLoaderHandlerClass {
+       ModelLoaderHandlerClass parent_class;
+};
+
+struct _ModelTempoInformationIface {
+       GTypeInterface parent_iface;
+       void (*get_time_signature) (ModelTempoInformation* self, Fraction* result);
+       gint (*get_bpm) (ModelTempoInformation* self);
+};
+
+struct _TimeCode {
+       gint hour;
+       gint minute;
+       gint second;
+       gint frame;
+       gboolean drop_code;
+};
+
+struct _ModelProject {
+       GObject parent_instance;
+       ModelProjectPrivate * priv;
+       GeeArrayList* tracks;
+       GeeArrayList* inactive_tracks;
+       GeeArrayList* clipfiles;
+       ViewMediaEngine* media_engine;
+       char* project_file;
+       ModelProjectLoader* loader;
+       ModelUndoManager* undo_manager;
+       ModelLibraryImporter* importer;
+       Fraction default_framerate;
+       gboolean click_during_play;
+       gboolean click_during_record;
+       double click_volume;
+       gboolean library_visible;
+       gint library_width;
+       gboolean snap_to_clip;
+};
+
+struct _ModelProjectClass {
+       GObjectClass parent_class;
+       void (*get_clip_time) (ModelProject* self, ModelClipFile* f, TimeCode* result);
+       char* (*get_project_file) (ModelProject* self);
+       void (*do_append) (ModelProject* self, ModelTrack* track, ModelClipFile* clipfile, const char* name, gint64 insert_time);
+       void (*add_track) (ModelProject* self, ModelTrack* track);
+       void (*insert_track) (ModelProject* self, gint index, ModelTrack* track);
+       void (*load) (ModelProject* self, const char* fname);
+       void (*save) (ModelProject* self, const char* filename);
+       char* (*get_app_name) (ModelProject* self);
+       void (*load_complete) (ModelProject* self);
+};
+
+struct _ViewRuler {
+       GtkDrawingArea parent_instance;
+       ViewRulerPrivate * priv;
+};
+
+struct _ViewRulerClass {
+       GtkDrawingAreaClass parent_class;
+};
+
+struct _ViewStatusBar {
+       GtkDrawingArea parent_instance;
+       ViewStatusBarPrivate * priv;
+};
+
+struct _ViewStatusBarClass {
+       GtkDrawingAreaClass parent_class;
+};
+
+struct _TrackClipPair {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       TrackClipPairPrivate * priv;
+       ModelTrack* track;
+       ModelClip* clip;
+};
+
+struct _TrackClipPairClass {
+       GTypeClass parent_class;
+       void (*finalize) (TrackClipPair *self);
+};
+
+struct _Clipboard {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ClipboardPrivate * priv;
+       GeeArrayList* clips;
+};
+
+struct _ClipboardClass {
+       GTypeClass parent_class;
+       void (*finalize) (Clipboard *self);
+};
+
+struct _TimeLine {
+       GtkEventBox parent_instance;
+       TimeLinePrivate * priv;
+       ModelProject* project;
+       ModelTimeSystem* provider;
+       ViewRuler* ruler;
+       GeeArrayList* tracks;
+       GeeArrayList* selected_clips;
+       Clipboard* clipboard;
+};
+
+struct _TimeLineClass {
+       GtkEventBoxClass parent_class;
+};
+
+struct _ModelTimeSystemBase {
+       GObject parent_instance;
+       ModelTimeSystemBasePrivate * priv;
+       float pixel_percentage;
+       float pixels_per_second;
+       gint64 pixel_snap_time;
+};
+
+struct _ModelTimeSystemBaseClass {
+       GObjectClass parent_class;
+       gint* (*get_timeline_seconds) (ModelTimeSystemBase* self, int* result_length1);
+       gint (*correct_sub_second_value) (ModelTimeSystemBase* self, float seconds, gint div, gint fps);
+};
+
+struct _ModelTimecodeTimeSystem {
+       ModelTimeSystemBase parent_instance;
+       ModelTimecodeTimeSystemPrivate * priv;
+       Fraction frame_rate_fraction;
+};
+
+struct _ModelTimecodeTimeSystemClass {
+       ModelTimeSystemBaseClass parent_class;
+};
+
+struct _ModelBarBeatTimeSystem {
+       ModelTimeSystemBase parent_instance;
+       ModelBarBeatTimeSystemPrivate * priv;
+};
+
+struct _ModelBarBeatTimeSystemClass {
+       ModelTimeSystemBaseClass parent_class;
+};
+
+struct _ModelTrack {
+       GObject parent_instance;
+       ModelTrackPrivate * priv;
+       ModelProject* project;
+       GeeArrayList* clips;
+       char* display_name;
+};
+
+struct _ModelTrackClass {
+       GObjectClass parent_class;
+       char* (*name) (ModelTrack* self);
+       ModelMediaType (*media_type) (ModelTrack* self);
+       gboolean (*check) (ModelTrack* self, ModelClip* clip);
+       void (*on_clip_updated) (ModelTrack* self, ModelClip* clip);
+       void (*write_attributes) (ModelTrack* self, FILE* f);
+};
+
+struct _ModelAudioTrack {
+       ModelTrack parent_instance;
+       ModelAudioTrackPrivate * priv;
+};
+
+struct _ModelAudioTrackClass {
+       ModelTrackClass parent_class;
+};
+
+struct _GapView {
+       GtkDrawingArea parent_instance;
+       GapViewPrivate * priv;
+       ModelGap* gap;
+};
+
+struct _GapViewClass {
+       GtkDrawingAreaClass parent_class;
+};
+
+struct _ClipView {
+       GtkDrawingArea parent_instance;
+       ClipViewPrivate * priv;
+       ModelClip* clip;
+       gint64 initial_time;
+       gboolean is_selected;
+       gint height;
+};
+
+struct _ClipViewClass {
+       GtkDrawingAreaClass parent_class;
+};
+
+struct _ModelUndoManager {
+       GTypeInstance parent_instance;
+       volatile int ref_count;
+       ModelUndoManagerPrivate * priv;
+};
+
+struct _ModelUndoManagerClass {
+       GTypeClass parent_class;
+       void (*finalize) (ModelUndoManager *self);
+};
+
+typedef enum  {
+       MEDIA_ERROR_MISSING_PLUGIN
+} MediaError;
+#define MEDIA_ERROR media_error_quark ()
+typedef enum  {
+       GDK_Control_L,
+       GDK_Control_R,
+       GDK_Down,
+       GDK_equal,
+       GDK_Escape,
+       GDK_KP_Add,
+       GDK_KP_Enter,
+       GDK_KP_Subtract,
+       GDK_Left,
+       GDK_minus,
+       GDK_plus,
+       GDK_Return,
+       GDK_Right,
+       GDK_Shift_L,
+       GDK_Shift_R,
+       GDK_underscore,
+       GDK_Up
+} KeySyms;
+
+struct _ModelVideoTrack {
+       ModelTrack parent_instance;
+       ModelVideoTrackPrivate * priv;
+};
+
+struct _ModelVideoTrackClass {
+       ModelTrackClass parent_class;
+};
+
+
+gpointer app_dirs_ref (gpointer instance);
+void app_dirs_unref (gpointer instance);
+GParamSpec* param_spec_app_dirs (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_app_dirs (GValue* value, gpointer v_object);
+void value_take_app_dirs (GValue* value, gpointer v_object);
+gpointer value_get_app_dirs (const GValue* value);
+GType app_dirs_get_type (void);
+void app_dirs_init (const char* arg0, const char* program_name);
+void app_dirs_terminate (void);
+GFile* app_dirs_get_exec_dir (void);
+GFile* app_dirs_get_resources_dir (void);
+AppDirs* app_dirs_new (void);
+AppDirs* app_dirs_construct (GType object_type);
+GType view_audio_meter_get_type (void);
+GType model_track_get_type (void);
+GType model_audio_track_get_type (void);
+ViewAudioMeter* view_audio_meter_new (ModelAudioTrack* track);
+ViewAudioMeter* view_audio_meter_construct (GType object_type, ModelAudioTrack* track);
+gboolean view_audio_meter_on_expose_event (ViewAudioMeter* self, GdkEventExpose* event);
+void view_audio_meter_on_level_changed (ViewAudioMeter* self, double level_left, double level_right);
+void view_audio_meter_on_channel_count_changed (ViewAudioMeter* self, gint number_of_channels);
+GType clip_view_get_type (void);
+GType track_view_get_type (void);
+void track_view_move_to_top (TrackView* self, ClipView* clip_view);
+void track_view_resize (TrackView* self);
+ModelTrack* track_view_get_track (TrackView* self);
+gint track_view_get_track_height (TrackView* self);
+GtkWidget* track_view_find_child (TrackView* self, double x, double y);
+void track_view_select_all (TrackView* self);
+gpointer class_factory_ref (gpointer instance);
+void class_factory_unref (gpointer instance);
+GParamSpec* param_spec_class_factory (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_class_factory (GValue* value, gpointer v_object);
+void value_take_class_factory (GValue* value, gpointer v_object);
+gpointer value_get_class_factory (const GValue* value);
+GType class_factory_get_type (void);
+GType time_line_get_type (void);
+ClassFactory* class_factory_get_class_factory (void);
+TrackView* class_factory_get_track_view (ClassFactory* self, ModelTrack* track, TimeLine* timeline);
+void class_factory_set_class_factory (ClassFactory* class_factory);
+GType transport_delegate_get_type (void);
+void class_factory_set_transport_delegate (TransportDelegate* transport_delegate);
+ClassFactory* class_factory_new (void);
+ClassFactory* class_factory_construct (GType object_type);
+GType clip_library_view_get_type (void);
+extern GtkMenu* clip_library_view_context_menu;
+GType model_project_get_type (void);
+GType model_time_system_get_type (void);
+ClipLibraryView* clip_library_view_new (ModelProject* p, ModelTimeSystem* time_provider, const char* drag_message, GdkDragAction actions);
+ClipLibraryView* clip_library_view_construct (GType object_type, ModelProject* p, ModelTimeSystem* time_provider, const char* drag_message, GdkDragAction actions);
+void clip_library_view_unselect_all (ClipLibraryView* self);
+GType model_clip_file_get_type (void);
+void clip_library_view_on_clipfile_removed (ClipLibraryView* self, ModelClipFile* f);
+gboolean clip_library_view_has_selection (ClipLibraryView* self);
+GeeArrayList* clip_library_view_get_selected_files (ClipLibraryView* self);
+void clip_library_view_delete_selection (ClipLibraryView* self);
+void clip_library_view_select_all (ClipLibraryView* self);
+GType model_media_type_get_type (void);
+gpointer model_gap_ref (gpointer instance);
+void model_gap_unref (gpointer instance);
+GParamSpec* model_param_spec_gap (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_gap (GValue* value, gpointer v_object);
+void model_value_take_gap (GValue* value, gpointer v_object);
+gpointer model_value_get_gap (const GValue* value);
+GType model_gap_get_type (void);
+ModelGap* model_gap_new (gint64 start, gint64 end);
+ModelGap* model_gap_construct (GType object_type, gint64 start, gint64 end);
+gboolean model_gap_is_empty (ModelGap* self);
+ModelGap* model_gap_intersect (ModelGap* self, ModelGap* g);
+ModelClipFile* model_clip_file_new (const char* filename, gint64 length);
+ModelClipFile* model_clip_file_construct (GType object_type, const char* filename, gint64 length);
+gboolean model_clip_file_is_online (ModelClipFile* self);
+void model_clip_file_set_online (ModelClipFile* self, gboolean o);
+void model_clip_file_set_thumbnail (ModelClipFile* self, GdkPixbuf* b);
+gboolean model_clip_file_has_caps_structure (ModelClipFile* self, ModelMediaType m);
+gboolean model_clip_file_is_of_type (ModelClipFile* self, ModelMediaType t);
+GType fraction_get_type (void);
+Fraction* fraction_dup (const Fraction* self);
+void fraction_free (Fraction* self);
+gboolean model_clip_file_get_frame_rate (ModelClipFile* self, Fraction* rate);
+gboolean model_clip_file_get_dimensions (ModelClipFile* self, gint* w, gint* h);
+gboolean model_clip_file_get_sample_rate (ModelClipFile* self, gint* rate);
+gboolean model_clip_file_get_video_format (ModelClipFile* self, guint32* fourcc);
+gboolean model_clip_file_get_num_channels (ModelClipFile* self, gint* channels);
+gboolean model_clip_file_get_num_channels_string (ModelClipFile* self, char** s);
+gint64 model_clip_file_get_length (ModelClipFile* self);
+void model_clip_file_set_length (ModelClipFile* self, gint64 value);
+GType model_fetcher_get_type (void);
+void model_fetcher_on_pad_added (ModelFetcher* self, GstPad* pad);
+void model_fetcher_on_state_change (ModelFetcher* self, GstBus* bus, GstMessage* message);
+void model_fetcher_do_error (ModelFetcher* self, const char* _error_);
+void model_fetcher_on_warning (ModelFetcher* self, GstBus* bus, GstMessage* message);
+void model_fetcher_on_error (ModelFetcher* self, GstBus* bus, GstMessage* message);
+ModelFetcher* model_fetcher_construct (GType object_type);
+GType model_clip_fetcher_get_type (void);
+ModelClipFetcher* model_clip_fetcher_new (const char* filename, GError** error);
+ModelClipFetcher* model_clip_fetcher_construct (GType object_type, const char* filename, GError** error);
+char* model_clip_fetcher_get_filename (ModelClipFetcher* self);
+GType model_thumbnail_fetcher_get_type (void);
+ModelThumbnailFetcher* model_thumbnail_fetcher_new (ModelClipFile* f, gint64 time, GError** error);
+ModelThumbnailFetcher* model_thumbnail_fetcher_construct (GType object_type, ModelClipFile* f, gint64 time, GError** error);
+GType model_clip_get_type (void);
+ModelClip* model_clip_new (ModelClipFile* clipfile, ModelMediaType t, const char* name, gint64 start, gint64 media_start, gint64 duration, gboolean is_recording);
+ModelClip* model_clip_construct (GType object_type, ModelClipFile* clipfile, ModelMediaType t, const char* name, gint64 start, gint64 media_start, gint64 duration, gboolean is_recording);
+void model_clip_gnonlin_connect (ModelClip* self);
+void model_clip_gnonlin_disconnect (ModelClip* self);
+gboolean model_clip_overlap_pos (ModelClip* self, gint64 start, gint64 length);
+gint64 model_clip_snap (ModelClip* self, ModelClip* other, gint64 pad);
+gboolean model_clip_snap_coord (ModelClip* self, gint64* s, gint64 span);
+ModelClip* model_clip_copy (ModelClip* self);
+gboolean model_clip_is_trimmed (ModelClip* self);
+void model_clip_trim (ModelClip* self, gint64 delta, GdkWindowEdge edge);
+void model_clip_set_media_start_duration (ModelClip* self, gint64 media_start, gint64 duration);
+void model_clip_save (ModelClip* self, FILE* f, gint id);
+gint64 model_clip_get_start (ModelClip* self);
+void model_clip_set_start (ModelClip* self, gint64 value);
+gint64 model_clip_get_media_start (ModelClip* self);
+gint64 model_clip_get_duration (ModelClip* self);
+void model_clip_set_duration (ModelClip* self, gint64 value);
+gint64 model_clip_get_end (ModelClip* self);
+gpointer model_fetcher_completion_ref (gpointer instance);
+void model_fetcher_completion_unref (gpointer instance);
+GParamSpec* model_param_spec_fetcher_completion (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_fetcher_completion (GValue* value, gpointer v_object);
+void model_value_take_fetcher_completion (GValue* value, gpointer v_object);
+gpointer model_value_get_fetcher_completion (const GValue* value);
+GType model_fetcher_completion_get_type (void);
+ModelFetcherCompletion* model_fetcher_completion_new (void);
+ModelFetcherCompletion* model_fetcher_completion_construct (GType object_type);
+void model_fetcher_completion_complete (ModelFetcherCompletion* self, ModelFetcher* fetcher);
+gpointer model_command_ref (gpointer instance);
+void model_command_unref (gpointer instance);
+GParamSpec* model_param_spec_command (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_command (GValue* value, gpointer v_object);
+void model_value_take_command (GValue* value, gpointer v_object);
+gpointer model_value_get_command (const GValue* value);
+GType model_command_get_type (void);
+void model_command_apply (ModelCommand* self);
+void model_command_undo (ModelCommand* self);
+gboolean model_command_merge (ModelCommand* self, ModelCommand* command);
+char* model_command_description (ModelCommand* self);
+ModelCommand* model_command_construct (GType object_type);
+GType model_parameter_get_type (void);
+GType model_parameter_command_get_type (void);
+ModelParameterCommand* model_parameter_command_new (ModelAudioTrack* target, ModelParameter parameter, double new_value, double old_value);
+ModelParameterCommand* model_parameter_command_construct (GType object_type, ModelAudioTrack* target, ModelParameter parameter, double new_value, double old_value);
+GType model_clip_command_get_type (void);
+GType model_clip_command_action_get_type (void);
+ModelClipCommand* model_clip_command_new (ModelClipCommandAction action, ModelTrack* track, ModelClip* clip, gint64 time, gboolean select);
+ModelClipCommand* model_clip_command_construct (GType object_type, ModelClipCommandAction action, ModelTrack* track, ModelClip* clip, gint64 time, gboolean select);
+GType model_clip_add_command_get_type (void);
+ModelClipAddCommand* model_clip_add_command_new (ModelTrack* track, ModelClip* clip, gint64 original_time, gint64 new_start);
+ModelClipAddCommand* model_clip_add_command_construct (GType object_type, ModelTrack* track, ModelClip* clip, gint64 original_time, gint64 new_start);
+GType model_clip_split_command_get_type (void);
+GType model_clip_split_command_action_get_type (void);
+ModelClipSplitCommand* model_clip_split_command_new (ModelClipSplitCommandAction action, ModelTrack* track, gint64 time);
+ModelClipSplitCommand* model_clip_split_command_construct (GType object_type, ModelClipSplitCommandAction action, ModelTrack* track, gint64 time);
+GType model_clip_file_delete_command_get_type (void);
+ModelClipFileDeleteCommand* model_clip_file_delete_command_new (ModelProject* p, ModelClipFile* cf);
+ModelClipFileDeleteCommand* model_clip_file_delete_command_construct (GType object_type, ModelProject* p, ModelClipFile* cf);
+GType model_clip_trim_command_get_type (void);
+ModelClipTrimCommand* model_clip_trim_command_new (ModelTrack* track, ModelClip* clip, gint64 delta, GdkWindowEdge edge);
+ModelClipTrimCommand* model_clip_trim_command_construct (GType object_type, ModelTrack* track, ModelClip* clip, gint64 delta, GdkWindowEdge edge);
+GType model_clip_revert_command_get_type (void);
+ModelClipRevertCommand* model_clip_revert_command_new (ModelTrack* track, ModelClip* clip);
+ModelClipRevertCommand* model_clip_revert_command_construct (GType object_type, ModelTrack* track, ModelClip* clip);
+GType model_time_signature_command_get_type (void);
+ModelTimeSignatureCommand* model_time_signature_command_new (ModelProject* project, Fraction* new_time_signature);
+ModelTimeSignatureCommand* model_time_signature_command_construct (GType object_type, ModelProject* project, Fraction* new_time_signature);
+GType model_bpm_command_get_type (void);
+ModelBpmCommand* model_bpm_command_new (ModelProject* project, gint new_bpm);
+ModelBpmCommand* model_bpm_command_construct (GType object_type, ModelProject* project, gint new_bpm);
+GType model_add_clip_command_get_type (void);
+ModelAddClipCommand* model_add_clip_command_new (ModelProject* project, ModelClipFile* clip_file);
+ModelAddClipCommand* model_add_clip_command_construct (GType object_type, ModelProject* project, ModelClipFile* clip_file);
+GType model_transaction_command_get_type (void);
+ModelTransactionCommand* model_transaction_command_new (gboolean open, const char* transaction_description);
+ModelTransactionCommand* model_transaction_command_construct (GType object_type, gboolean open, const char* transaction_description);
+gboolean model_transaction_command_in_transaction (ModelTransactionCommand* self);
+GType dialog_utils_filter_description_struct_get_type (void);
+DialogUtilsfilter_description_struct* dialog_utils_filter_description_struct_dup (const DialogUtilsfilter_description_struct* self);
+void dialog_utils_filter_description_struct_free (DialogUtilsfilter_description_struct* self);
+void dialog_utils_filter_description_struct_copy (const DialogUtilsfilter_description_struct* self, DialogUtilsfilter_description_struct* dest);
+void dialog_utils_filter_description_struct_destroy (DialogUtilsfilter_description_struct* self);
+gboolean dialog_utils_open (GtkWindow* parent, DialogUtilsfilter_description_struct* filter_descriptions, int filter_descriptions_length1, gboolean allow_multiple, gboolean allow_all, GSList** filenames);
+gboolean dialog_utils_save (GtkWindow* parent, const char* title, gboolean create_directory, DialogUtilsfilter_description_struct* filter_descriptions, int filter_descriptions_length1, char** filename);
+void dialog_utils_warning (const char* major_message, const char* minor_message);
+void dialog_utils_error (const char* major_message, const char* minor_message);
+GtkResponseType dialog_utils_delete_keep (const char* message);
+GtkResponseType dialog_utils_add_cancel (const char* message);
+GtkResponseType dialog_utils_delete_cancel (const char* message);
+gboolean dialog_utils_confirm_replace (GtkWindow* parent, const char* filename);
+GtkResponseType dialog_utils_save_close_cancel (GtkWindow* parent, const char* title, const char* message);
+void dialog_utils_show_clip_properties (GtkWindow* parent, ClipView* selected_clip, ModelClipFile* clip_file, Fraction* frames_per_second);
+GType multi_file_progress_interface_get_type (void);
+GType model_clip_importer_get_type (void);
+ModelClipImporter* model_clip_importer_new (void);
+ModelClipImporter* model_clip_importer_construct (GType object_type);
+void model_clip_importer_add_filename (ModelClipImporter* self, const char* filename);
+void model_clip_importer_start (ModelClipImporter* self, GError** error);
+GType model_library_importer_get_type (void);
+ModelLibraryImporter* model_library_importer_new (ModelProject* p);
+ModelLibraryImporter* model_library_importer_construct (GType object_type, ModelProject* p);
+void model_library_importer_append_existing_clipfile (ModelLibraryImporter* self, ModelClipFile* f);
+void model_library_importer_on_clip_complete (ModelLibraryImporter* self, ModelClipFile* f);
+void model_library_importer_add_file (ModelLibraryImporter* self, const char* filename, GError** error);
+void model_library_importer_start (ModelLibraryImporter* self, GError** error);
+GType model_timeline_importer_get_type (void);
+ModelTimelineImporter* model_timeline_importer_new (ModelTrack* track, ModelProject* p, gint64 time_to_add, gboolean both_tracks);
+ModelTimelineImporter* model_timeline_importer_construct (GType object_type, ModelTrack* track, ModelProject* p, gint64 time_to_add, gboolean both_tracks);
+GType logging_facility_get_type (void);
+GType logging_level_get_type (void);
+void logging_set_logging_level (LoggingLevel new_level);
+void logging_emit (GObject* object, LoggingFacility facility, LoggingLevel level, const char* message);
+GType play_state_get_type (void);
+#define CHANNELS_PER_TRACK_PLAYBACK 2
+#define CHANNELS_PER_TRACK_RECORD 1
+GType view_media_track_get_type (void);
+GType view_media_engine_get_type (void);
+ViewMediaTrack* view_media_track_construct (GType object_type, ViewMediaEngine* media_engine, ModelTrack* track, GError** error);
+GstElement* view_media_track_empty_element (ViewMediaTrack* self, GError** error);
+GstElement* view_media_track_get_element (ViewMediaTrack* self);
+void view_media_track_link_new_pad (ViewMediaTrack* self, GstPad* pad, GstElement* track_element);
+void view_media_track_unlink_pad (ViewMediaTrack* self, GstPad* pad, GstElement* track_element);
+GType view_media_video_track_get_type (void);
+ViewMediaVideoTrack* view_media_video_track_new (ViewMediaEngine* media_engine, ModelTrack* track, GstElement* converter, GError** error);
+ViewMediaVideoTrack* view_media_video_track_construct (GType object_type, ViewMediaEngine* media_engine, ModelTrack* track, GstElement* converter, GError** error);
+GType view_click_track_get_type (void);
+ViewClickTrack* view_click_track_new (ViewMediaEngine* engine, ModelProject* project, GError** error);
+ViewClickTrack* view_click_track_construct (GType object_type, ViewMediaEngine* engine, ModelProject* project, GError** error);
+GType view_media_audio_track_get_type (void);
+ViewMediaAudioTrack* view_media_audio_track_new (ViewMediaEngine* media_engine, ModelAudioTrack* track, GError** error);
+ViewMediaAudioTrack* view_media_audio_track_construct (GType object_type, ViewMediaEngine* media_engine, ModelAudioTrack* track, GError** error);
+GType view_media_connector_get_type (void);
+GType view_media_connector_media_types_get_type (void);
+ViewMediaConnector* view_media_connector_construct (GType object_type, ViewMediaConnectorMediaTypes media_types);
+gboolean view_media_connector_has_audio (ViewMediaConnector* self);
+gboolean view_media_connector_has_video (ViewMediaConnector* self);
+void view_media_connector_connect (ViewMediaConnector* self, ViewMediaEngine* media_engine, GstPipeline* pipeline, GstElement** elements, int elements_length1);
+void view_media_connector_do_disconnect (ViewMediaConnector* self, ViewMediaEngine* media_engine, GstPipeline* pipeline, GstElement** elements, int elements_length1);
+GType view_video_output_get_type (void);
+ViewVideoOutput* view_video_output_new (GtkWidget* output_widget, GError** error);
+ViewVideoOutput* view_video_output_construct (GType object_type, GtkWidget* output_widget, GError** error);
+GType view_audio_output_get_type (void);
+ViewAudioOutput* view_audio_output_new (GstCaps* caps, GError** error);
+ViewAudioOutput* view_audio_output_construct (GType object_type, GstCaps* caps, GError** error);
+GType view_ogg_vorbis_export_get_type (void);
+ViewOggVorbisExport* view_ogg_vorbis_export_new (ViewMediaConnectorMediaTypes media_types, const char* filename, GstCaps* caps, GError** error);
+ViewOggVorbisExport* view_ogg_vorbis_export_construct (GType object_type, ViewMediaConnectorMediaTypes media_types, const char* filename, GstCaps* caps, GError** error);
+char* view_ogg_vorbis_export_get_filename (ViewOggVorbisExport* self);
+ViewMediaEngine* view_media_engine_new (ModelProject* project, gboolean include_video, GError** error);
+ViewMediaEngine* view_media_engine_construct (GType object_type, ModelProject* project, gboolean include_video, GError** error);
+void view_media_engine_can_run (GError** error);
+void view_media_engine_connect_output (ViewMediaEngine* self, ViewMediaConnector* connector);
+void view_media_engine_disconnect_output (ViewMediaEngine* self, ViewMediaConnector* connector);
+GstElement* view_media_engine_get_audio_silence (ViewMediaEngine* self, GError** error);
+gint view_media_engine_get_sample_rate (ViewMediaEngine* self);
+gint view_media_engine_get_sample_width (ViewMediaEngine* self);
+gint view_media_engine_get_sample_depth (ViewMediaEngine* self);
+PlayState view_media_engine_get_play_state (ViewMediaEngine* self);
+void view_media_engine_set_play_state (ViewMediaEngine* self, PlayState play_state);
+GstCaps* view_media_engine_build_audio_caps (ViewMediaEngine* self, gint num_channels);
+GstCaps* view_media_engine_get_project_audio_caps (ViewMediaEngine* self);
+GstCaps* view_media_engine_get_project_audio_export_caps (ViewMediaEngine* self);
+gboolean view_media_engine_do_state_change (ViewMediaEngine* self);
+void view_media_engine_do_null_state_export (ViewMediaEngine* self, gint64 length);
+void view_media_engine_go (ViewMediaEngine* self, gint64 pos);
+void view_media_engine_pause (ViewMediaEngine* self);
+void view_media_engine_set_gst_state (ViewMediaEngine* self, GstState state);
+void view_media_engine_do_play (ViewMediaEngine* self, PlayState new_state);
+void view_media_engine_start_export (ViewMediaEngine* self, const char* filename);
+void view_media_engine_on_load_complete (ViewMediaEngine* self);
+void view_media_engine_on_callback_pulse (ViewMediaEngine* self);
+void view_media_engine_close (ViewMediaEngine* self);
+void view_media_engine_post_record (ViewMediaEngine* self);
+void view_media_engine_record (ViewMediaEngine* self, ModelAudioTrack* track);
+void view_media_engine_start_record (ViewMediaEngine* self, ModelClip* region, GError** error);
+GstCaps* view_media_engine_get_record_audio_caps (ViewMediaEngine* self);
+void view_media_engine_on_track_added (ViewMediaEngine* self, ModelTrack* track);
+void multi_file_progress_interface_cancel (MultiFileProgressInterface* self);
+void multi_file_progress_interface_complete (MultiFileProgressInterface* self);
+GType multi_file_progress_get_type (void);
+MultiFileProgress* multi_file_progress_new (GtkWindow* parent, gint num_files, const char* dialog_title, MultiFileProgressInterface* provider);
+MultiFileProgress* multi_file_progress_construct (GType object_type, GtkWindow* parent, gint num_files, const char* dialog_title, MultiFileProgressInterface* provider);
+GType model_loader_handler_get_type (void);
+ModelLoaderHandler* model_loader_handler_new (void);
+ModelLoaderHandler* model_loader_handler_construct (GType object_type);
+gboolean model_loader_handler_commit_library (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_marina (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_track (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_clip (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_clipfile (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_time_signature_entry (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_tempo_entry (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_click (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+gboolean model_loader_handler_commit_library_preference (ModelLoaderHandler* self, char** attr_names, int attr_names_length1, char** attr_values, int attr_values_length1);
+void model_loader_handler_leave_library (ModelLoaderHandler* self);
+void model_loader_handler_leave_marina (ModelLoaderHandler* self);
+void model_loader_handler_leave_track (ModelLoaderHandler* self);
+void model_loader_handler_leave_clip (ModelLoaderHandler* self);
+void model_loader_handler_leave_clipfile (ModelLoaderHandler* self);
+gpointer model_xml_tree_loader_ref (gpointer instance);
+void model_xml_tree_loader_unref (gpointer instance);
+GParamSpec* model_param_spec_xml_tree_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_xml_tree_loader (GValue* value, gpointer v_object);
+void model_value_take_xml_tree_loader (GValue* value, gpointer v_object);
+gpointer model_value_get_xml_tree_loader (const GValue* value);
+GType model_xml_tree_loader_get_type (void);
+gpointer model_xml_element_ref (gpointer instance);
+void model_xml_element_unref (gpointer instance);
+GParamSpec* model_param_spec_xml_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_xml_element (GValue* value, gpointer v_object);
+void model_value_take_xml_element (GValue* value, gpointer v_object);
+gpointer model_value_get_xml_element (const GValue* value);
+GType model_xml_element_get_type (void);
+ModelXmlTreeLoader* model_xml_tree_loader_new (const char* document);
+ModelXmlTreeLoader* model_xml_tree_loader_construct (GType object_type, const char* document);
+ModelXmlElement* model_xml_element_new (const char* name, char** attribute_names, int attribute_names_length1, char** attribute_values, int attribute_values_length1, ModelXmlElement* parent);
+ModelXmlElement* model_xml_element_construct (GType object_type, const char* name, char** attribute_names, int attribute_names_length1, char** attribute_values, int attribute_values_length1, ModelXmlElement* parent);
+void model_xml_element_add_child (ModelXmlElement* self, ModelXmlElement* child_element);
+const char* model_xml_element_get_name (ModelXmlElement* self);
+GeeArrayList* model_xml_element_get_children (ModelXmlElement* self);
+ModelXmlElement* model_xml_element_get_parent (ModelXmlElement* self);
+GType model_project_loader_get_type (void);
+ModelProjectLoader* model_project_loader_new (ModelLoaderHandler* loader_handler, const char* file_name);
+ModelProjectLoader* model_project_loader_construct (GType object_type, ModelLoaderHandler* loader_handler, const char* file_name);
+void model_project_loader_load (ModelProjectLoader* self);
+GType model_media_loader_handler_get_type (void);
+ModelMediaLoaderHandler* model_media_loader_handler_new (ModelProject* the_project);
+ModelMediaLoaderHandler* model_media_loader_handler_construct (GType object_type, ModelProject* the_project);
+GType model_tempo_information_get_type (void);
+GType time_code_get_type (void);
+TimeCode* time_code_dup (const TimeCode* self);
+void time_code_free (TimeCode* self);
+gpointer model_undo_manager_ref (gpointer instance);
+void model_undo_manager_unref (gpointer instance);
+GParamSpec* model_param_spec_undo_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_undo_manager (GValue* value, gpointer v_object);
+void model_value_take_undo_manager (GValue* value, gpointer v_object);
+gpointer model_value_get_undo_manager (const GValue* value);
+GType model_undo_manager_get_type (void);
+extern Fraction model_project_INVALID_FRAME_RATE;
+#define MODEL_PROJECT_FILLMORE_FILE_EXTENSION "fill"
+#define MODEL_PROJECT_FILLMORE_FILE_FILTER "*." MODEL_PROJECT_FILLMORE_FILE_EXTENSION
+#define MODEL_PROJECT_LOMBARD_FILE_EXTENSION "lom"
+#define MODEL_PROJECT_LOMBARD_FILE_FILTER "*." MODEL_PROJECT_LOMBARD_FILE_EXTENSION
+void model_project_get_clip_time (ModelProject* self, ModelClipFile* f, TimeCode* result);
+ModelProject* model_project_construct (GType object_type, const char* filename, gboolean include_video, GError** error);
+void model_project_on_playstate_changed (ModelProject* self);
+char* model_project_get_project_file (ModelProject* self);
+ModelClipFile* model_project_get_clipfile (ModelProject* self, gint index);
+gint model_project_get_clipfile_index (ModelProject* self, ModelClipFile* find);
+ModelTrack* model_project_track_from_clip (ModelProject* self, ModelClip* clip);
+void model_project_print_graph (ModelProject* self, GstBin* bin, const char* file_name);
+gint64 model_project_get_length (ModelProject* self);
+gint64 model_project_snap_clip (ModelProject* self, ModelClip* c, gint64 span);
+void model_project_snap_coord (ModelProject* self, gint64* coord, gint64 span);
+gboolean model_project_can_delete_gap (ModelProject* self, ModelGap* gap);
+void model_project_delete_gap (ModelProject* self, ModelGap* gap);
+void model_project_do_append (ModelProject* self, ModelTrack* track, ModelClipFile* clipfile, const char* name, gint64 insert_time);
+void model_project_append (ModelProject* self, ModelTrack* track, ModelClipFile* clipfile);
+void model_project_add (ModelProject* self, ModelTrack* track, ModelClipFile* clipfile, gint64 time);
+void model_project_on_clip_removed (ModelProject* self, ModelTrack* t, ModelClip* clip);
+void model_project_split_at_playhead (ModelProject* self);
+gboolean model_project_can_trim (ModelProject* self, gboolean* left);
+void model_project_trim_to_playhead (ModelProject* self);
+void model_project_transport_go (ModelProject* self, gint64 position);
+gboolean model_project_transport_is_playing (ModelProject* self);
+gboolean model_project_transport_is_recording (ModelProject* self);
+gboolean model_project_playhead_on_clip (ModelProject* self);
+gboolean model_project_playhead_on_contiguous_clip (ModelProject* self);
+gboolean model_project_is_duplicate_track_name (ModelProject* self, ModelTrack* track, const char* new_name);
+void model_project_add_track (ModelProject* self, ModelTrack* track);
+void model_project_insert_track (ModelProject* self, gint index, ModelTrack* track);
+void model_project_add_inactive_track (ModelProject* self, ModelTrack* track);
+void model_project_remove_track (ModelProject* self, ModelTrack* track);
+void model_project_remove_track_at (ModelProject* self, gint index);
+void model_project_add_clipfile (ModelProject* self, ModelClipFile* clipfile);
+void _model_project_add_clipfile (ModelProject* self, ModelClipFile* clipfile, GError** error);
+gboolean model_project_clipfile_on_track (ModelProject* self, const char* filename);
+void _model_project_remove_clipfile (ModelProject* self, ModelClipFile* cf);
+void model_project_remove_clipfile (ModelProject* self, const char* filename);
+ModelClipFile* model_project_find_clipfile (ModelProject* self, const char* filename);
+void model_project_reseek (ModelProject* self);
+void model_project_go_start (ModelProject* self);
+void model_project_go_end (ModelProject* self);
+void model_project_go_previous (ModelProject* self);
+void model_project_go_next (ModelProject* self);
+gint64 model_project_transport_get_position (ModelProject* self);
+void model_project_set_name (ModelProject* self, const char* filename);
+void model_project_set_default_framerate (ModelProject* self, Fraction* rate);
+char* model_project_get_file_display_name (ModelProject* self);
+void model_project_clear (ModelProject* self);
+gboolean model_project_can_export (ModelProject* self);
+void model_project_on_load_started (ModelProject* self, const char* filename);
+void model_project_load (ModelProject* self, const char* fname);
+void model_project_on_error_occurred (ModelProject* self, const char* major_error, const char* minor_error);
+gint model_project_get_file_version (ModelProject* self);
+void model_project_save_library (ModelProject* self, FILE* f);
+void model_project_save (ModelProject* self, const char* filename);
+void model_project_close (ModelProject* self);
+void model_project_on_importer_clip_complete (ModelProject* self, ModelClipFetcher* fetcher);
+void model_project_create_clip_fetcher (ModelProject* self, ModelFetcherCompletion* fetcher_completion, const char* filename, GError** error);
+gboolean model_project_is_project_extension (ModelProject* self, const char* filename);
+void model_project_do_command (ModelProject* self, ModelCommand* the_command);
+void model_project_undo (ModelProject* self);
+void model_project_create_clip_importer (ModelProject* self, ModelTrack* track, gboolean timeline_add, gint64 time_to_add, gboolean both_tracks, GtkWindow* progress_window_parent, gint number);
+char* model_project_get_version (ModelProject* self);
+char* model_project_get_app_name (ModelProject* self);
+char* model_project_get_license (ModelProject* self);
+void model_project_set_time_signature (ModelProject* self, Fraction* time_signature);
+void _model_project_set_time_signature (ModelProject* self, Fraction* time_signature);
+void model_project_set_bpm (ModelProject* self, gint bpm);
+void _model_project_set_bpm (ModelProject* self, gint bpm);
+char* model_project_get_audio_path (ModelProject* self);
+GType model_video_track_get_type (void);
+ModelVideoTrack* model_project_find_video_track (ModelProject* self);
+ModelAudioTrack* model_project_find_audio_track (ModelProject* self);
+void model_project_load_complete (ModelProject* self);
+GType view_ruler_get_type (void);
+ViewRuler* view_ruler_new (ModelTimeSystem* provider, gint height);
+ViewRuler* view_ruler_construct (GType object_type, ModelTimeSystem* provider, gint height);
+GType view_status_bar_get_type (void);
+ViewStatusBar* view_status_bar_new (ModelProject* p, ModelTimeSystem* provider, gint height);
+ViewStatusBar* view_status_bar_construct (GType object_type, ModelProject* p, ModelTimeSystem* provider, gint height);
+void view_status_bar_on_position_changed (ViewStatusBar* self, gint64 new_position);
+gpointer track_clip_pair_ref (gpointer instance);
+void track_clip_pair_unref (gpointer instance);
+GParamSpec* param_spec_track_clip_pair (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_track_clip_pair (GValue* value, gpointer v_object);
+void value_take_track_clip_pair (GValue* value, gpointer v_object);
+gpointer value_get_track_clip_pair (const GValue* value);
+GType track_clip_pair_get_type (void);
+TrackClipPair* track_clip_pair_new (ModelTrack* track, ModelClip* clip);
+TrackClipPair* track_clip_pair_construct (GType object_type, ModelTrack* track, ModelClip* clip);
+gpointer clipboard_ref (gpointer instance);
+void clipboard_unref (gpointer instance);
+GParamSpec* param_spec_clipboard (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_clipboard (GValue* value, gpointer v_object);
+void value_take_clipboard (GValue* value, gpointer v_object);
+gpointer value_get_clipboard (const GValue* value);
+GType clipboard_get_type (void);
+void clipboard_select (Clipboard* self, GeeArrayList* selected_clips);
+void clipboard_paste (Clipboard* self, ModelTrack* selected_track, gint64 time);
+Clipboard* clipboard_new (void);
+Clipboard* clipboard_construct (GType object_type);
+#define TIME_LINE_BAR_HEIGHT 32
+#define TIME_LINE_BORDER 4
+#define TIME_LINE_RULER_HEIGHT 32
+TimeLine* time_line_new (ModelProject* p, ModelTimeSystem* provider, GdkDragAction actions);
+TimeLine* time_line_construct (GType object_type, ModelProject* p, ModelTimeSystem* provider, GdkDragAction actions);
+void time_line_zoom_to_project (TimeLine* self, double width);
+void time_line_zoom (TimeLine* self, float inc);
+void time_line_on_clip_view_added (TimeLine* self, ClipView* clip_view);
+void time_line_deselect_all_clips (TimeLine* self);
+void time_line_do_clip_move (TimeLine* self, ClipView* clip_view, gint64 delta);
+void time_line_on_ruler_position_changed (TimeLine* self, gint x);
+gboolean time_line_is_clip_selected (TimeLine* self);
+gboolean time_line_gap_selected (TimeLine* self);
+void time_line_delete_selection (TimeLine* self);
+void time_line_do_cut (TimeLine* self);
+void time_line_do_copy (TimeLine* self);
+void time_line_paste (TimeLine* self);
+void time_line_do_paste (TimeLine* self, gint64 pos);
+void time_line_select_all (TimeLine* self);
+void time_line_update_pos (TimeLine* self, gint event_x);
+GtkWidget* time_line_find_child (TimeLine* self, double x, double y);
+void model_time_system_calculate_pixel_step (ModelTimeSystem* self, float inc, float pixel_min, float pixel_div);
+gint64 model_time_system_xpos_to_time (ModelTimeSystem* self, gint x);
+gint64 model_time_system_xsize_to_time (ModelTimeSystem* self, gint x);
+gint model_time_system_time_to_xpos (ModelTimeSystem* self, gint64 time);
+gint64 model_time_system_get_pixel_snap_time (ModelTimeSystem* self);
+gint model_time_system_time_to_xsize (ModelTimeSystem* self, gint64 time);
+float model_time_system_get_pixel_percentage (ModelTimeSystem* self);
+gint model_time_system_get_start_token (ModelTimeSystem* self, gint xsize);
+gint model_time_system_get_next_position (ModelTimeSystem* self, gint token);
+gint model_time_system_get_pixel_height (ModelTimeSystem* self, gint token);
+char* model_time_system_get_display_string (ModelTimeSystem* self, gint token);
+gint model_time_system_frame_to_xsize (ModelTimeSystem* self, gint frame);
+gint model_time_system_xsize_to_frame (ModelTimeSystem* self, gint xsize);
+char* model_time_system_get_time_string (ModelTimeSystem* self, gint64 time);
+char* model_time_system_get_time_duration (ModelTimeSystem* self, gint64 time);
+GType model_time_system_base_get_type (void);
+#define MODEL_TIME_SYSTEM_BASE_PIXEL_SNAP_INTERVAL 10
+gint model_time_system_base_correct_seconds_value (ModelTimeSystemBase* self, float seconds, gint div, gint fps);
+gint64 model_time_system_base_get_pixel_snap_time (ModelTimeSystemBase* self);
+float model_time_system_base_get_pixel_percentage (ModelTimeSystemBase* self);
+gint64 model_time_system_base_xpos_to_time (ModelTimeSystemBase* self, gint x);
+gint64 model_time_system_base_xsize_to_time (ModelTimeSystemBase* self, gint size);
+gint model_time_system_base_time_to_xsize (ModelTimeSystemBase* self, gint64 time);
+gint model_time_system_base_time_to_xpos (ModelTimeSystemBase* self, gint64 time);
+ModelTimeSystemBase* model_time_system_base_construct (GType object_type);
+GType model_timecode_time_system_get_type (void);
+ModelTimecodeTimeSystem* model_timecode_time_system_new (void);
+ModelTimecodeTimeSystem* model_timecode_time_system_construct (GType object_type);
+void model_tempo_information_get_time_signature (ModelTempoInformation* self, Fraction* result);
+gint model_tempo_information_get_bpm (ModelTempoInformation* self);
+GType model_bar_beat_time_system_get_type (void);
+ModelBarBeatTimeSystem* model_bar_beat_time_system_new (ModelTempoInformation* tempo_information);
+ModelBarBeatTimeSystem* model_bar_beat_time_system_construct (GType object_type, ModelTempoInformation* tempo_information);
+ModelTrack* model_track_construct (GType object_type, ModelProject* project, const char* display_name);
+char* model_track_name (ModelTrack* self);
+ModelMediaType model_track_media_type (ModelTrack* self);
+void model_track_hide (ModelTrack* self);
+gboolean model_track_contains_clipfile (ModelTrack* self, ModelClipFile* f);
+gboolean model_track_check (ModelTrack* self, ModelClip* clip);
+gint64 model_track_get_time_from_pos (ModelTrack* self, ModelClip* clip, gboolean after);
+gint64 model_track_snap_clip (ModelTrack* self, ModelClip* c, gint64 span);
+gboolean model_track_snap_coord (ModelTrack* self, gint64* coord, gint64 span);
+gboolean model_track_clip_is_near (ModelTrack* self, ModelClip* clip, gint64 range, gint64* adjustment);
+ModelGap* model_track_find_first_gap (ModelTrack* self, gint64 start);
+void model_track_find_containing_gap (ModelTrack* self, gint64 time, ModelGap** g);
+ModelClip* model_track_find_overlapping_clip (ModelTrack* self, gint64 start, gint64 length);
+ModelClip* model_track_find_nearest_clip_edge (ModelTrack* self, gint64 time, gboolean* after);
+void model_track_move (ModelTrack* self, ModelClip* c, gint64 pos, gint64 original_time);
+void _model_track_move (ModelTrack* self, ModelClip* c, gint64 pos);
+void model_track_add (ModelTrack* self, ModelClip* c, gint64 pos, gboolean select);
+void model_track_on_clip_updated (ModelTrack* self, ModelClip* clip);
+void model_track_do_clip_paste (ModelTrack* self, ModelClip* clip, gint64 position);
+ModelClip* model_track_get_clip (ModelTrack* self, gint i);
+gint model_track_get_clip_index (ModelTrack* self, ModelClip* c);
+ModelClip* model_track_get_clip_by_position (ModelTrack* self, gint64 pos);
+gint64 model_track_get_length (ModelTrack* self);
+void _model_track_append_at_time (ModelTrack* self, ModelClip* c, gint64 time, gboolean select);
+void model_track_append_at_time (ModelTrack* self, ModelClip* c, gint64 time, gboolean select);
+void model_track_delete_clip (ModelTrack* self, ModelClip* clip);
+void _model_track_delete_clip (ModelTrack* self, ModelClip* clip);
+void model_track_delete_gap (ModelTrack* self, ModelGap* g);
+void model_track_remove_clip_from_array (ModelTrack* self, ModelClip* pos);
+void model_track_delete_all_clips (ModelTrack* self);
+void model_track_revert_to_original (ModelTrack* self, ModelClip* clip);
+void _model_track_revert_to_original (ModelTrack* self, ModelClip* c);
+gboolean model_track_are_contiguous_clips (ModelTrack* self, gint64 position);
+void model_track_split_at (ModelTrack* self, gint64 position);
+void _model_track_split_at (ModelTrack* self, gint64 position);
+void model_track_join (ModelTrack* self, gint64 position);
+void _model_track_join (ModelTrack* self, gint64 position);
+void model_track_trim (ModelTrack* self, ModelClip* clip, gint64 delta, GdkWindowEdge edge);
+void _model_track_trim (ModelTrack* self, ModelClip* clip, gint64 delta, GdkWindowEdge edge);
+gint64 model_track_previous_edit (ModelTrack* self, gint64 pos);
+gint64 model_track_next_edit (ModelTrack* self, gint64 pos);
+void model_track_write_attributes (ModelTrack* self, FILE* f);
+void model_track_save (ModelTrack* self, FILE* f);
+char* model_track_get_display_name (ModelTrack* self);
+void model_track_set_display_name (ModelTrack* self, const char* new_display_name);
+void model_track_set_selected (ModelTrack* self, gboolean is_selected);
+gboolean model_track_get_is_selected (ModelTrack* self);
+#define MODEL_AUDIO_TRACK_INVALID_CHANNEL_COUNT (-1)
+ModelAudioTrack* model_audio_track_new (ModelProject* project, const char* display_name);
+ModelAudioTrack* model_audio_track_construct (GType object_type, ModelProject* project, const char* display_name);
+void model_audio_track_set_pan (ModelAudioTrack* self, double new_value);
+void _model_audio_track_set_pan (ModelAudioTrack* self, double new_value);
+double model_audio_track_get_pan (ModelAudioTrack* self);
+void model_audio_track_set_volume (ModelAudioTrack* self, double new_volume);
+void _model_audio_track_set_volume (ModelAudioTrack* self, double new_volume);
+double model_audio_track_get_volume (ModelAudioTrack* self);
+void model_audio_track_set_default_num_channels (ModelAudioTrack* self, gint num);
+gboolean model_audio_track_get_num_channels (ModelAudioTrack* self, gint* num);
+void model_audio_track_on_level_changed (ModelAudioTrack* self, double level_left, double level_right);
+gboolean transport_delegate_is_playing (TransportDelegate* self);
+gboolean transport_delegate_is_recording (TransportDelegate* self);
+gboolean transport_delegate_is_stopped (TransportDelegate* self);
+GType gap_view_get_type (void);
+GapView* gap_view_new (gint64 start, gint64 length, gint width, gint height);
+GapView* gap_view_construct (GType object_type, gint64 start, gint64 length, gint width, gint height);
+void gap_view_remove (GapView* self);
+void gap_view_unselect (GapView* self);
+extern GtkMenu* clip_view_context_menu;
+#define CLIP_VIEW_SNAP_DELTA 10
+ClipView* clip_view_new (TransportDelegate* transport_delegate, ModelClip* clip, ModelTimeSystem* time_provider, gint height);
+ClipView* clip_view_construct (GType object_type, TransportDelegate* transport_delegate, ModelClip* clip, ModelTimeSystem* time_provider, gint height);
+void clip_view_adjust_size (ClipView* self, gint height);
+void clip_view_on_clip_moved (ClipView* self, ModelClip* clip);
+void clip_view_delete_clip (ClipView* self);
+void clip_view_draw (ClipView* self);
+void clip_view_select (ClipView* self);
+void clip_view_snap (ClipView* self, gint64 amount);
+ModelUndoManager* model_undo_manager_new (void);
+ModelUndoManager* model_undo_manager_construct (GType object_type);
+void model_undo_manager_reset (ModelUndoManager* self);
+void model_undo_manager_mark_clean (ModelUndoManager* self);
+void model_undo_manager_start_transaction (ModelUndoManager* self, const char* description);
+void model_undo_manager_end_transaction (ModelUndoManager* self, const char* description);
+void model_undo_manager_do_command (ModelUndoManager* self, ModelCommand* the_command);
+void model_undo_manager_undo (ModelUndoManager* self);
+char* model_undo_manager_get_undo_title (ModelUndoManager* self);
+gboolean model_undo_manager_get_is_dirty (ModelUndoManager* self);
+gboolean model_undo_manager_get_can_undo (ModelUndoManager* self);
+gboolean model_undo_manager_get_in_undo (ModelUndoManager* self);
+GQuark media_error_quark (void);
+float float_abs (float f);
+gboolean float_within (double f, double epsilon);
+gint sign (gint x);
+char** copy_array (char** source, int source_length1, int* result_length1);
+extern gboolean debug_enabled;
+void print_debug (const char* text);
+void fraction_init (Fraction *self, gint numerator, gint denominator);
+void fraction_init_from_string (Fraction *self, const char* s);
+gboolean fraction_equal (Fraction *self, Fraction* f);
+gint fraction_nearest_int (Fraction *self);
+char* fraction_to_string (Fraction *self);
+void time_code_get_from_length (TimeCode *self, gint64 length);
+char* time_code_to_string (TimeCode *self);
+gboolean time_in_range (gint64 time, gint64 center, gint64 delta);
+char* isolate_filename (const char* path);
+char* get_file_extension (const char* path);
+char* append_extension (const char* path, const char* extension);
+gboolean version_at_least (const char* v, const char* w);
+gboolean get_file_md5_checksum (const char* filename, char** checksum);
+void save_file_md5_checksum (const char* filename, const char* checksum);
+gboolean md5_checksum_on_file (const char* filename, char** checksum);
+extern GdkModifierType GDK_SHIFT_ALT_CONTROL_MASK;
+void parse_color (const char* color, GdkColor* result);
+GtkWidget* get_widget (GtkUIManager* manager, const char* name);
+void draw_rounded_rectangle (GdkWindow* window, GdkColor* color, gboolean filled, gint x0, gint y0, gint width, gint height);
+void draw_right_rounded_rectangle (GdkWindow* window, GdkColor* color, gboolean filled, gint x0, gint y0, gint width, gint height);
+void draw_left_rounded_rectangle (GdkWindow* window, GdkColor* color, gboolean filled, gint x0, gint y0, gint width, gint height);
+void draw_square_rectangle (GdkWindow* window, GdkColor* color, gboolean filled, gint x, gint y, gint width, gint height);
+gboolean is_drop_frame_rate (Fraction* r);
+gint64 frame_to_time_with_rate (gint frame, Fraction* rate);
+gint time_to_frame_with_rate (gint64 time, Fraction* rate);
+void frame_to_time (gint frame, Fraction* rate, TimeCode* result);
+char* frame_to_string (gint frame, Fraction* rate);
+char* time_to_HHMMSS (gint64 time);
+char* time_to_string (gint64 time);
+GstElement* make_element_with_name (const char* element_name, const char* display_name, GError** error);
+GstElement* make_element (const char* name, GError** error);
+ModelVideoTrack* model_video_track_new (ModelProject* project);
+ModelVideoTrack* model_video_track_construct (GType object_type, ModelProject* project);
+gint model_video_track_get_current_frame (ModelVideoTrack* self, gint64 time);
+gint64 model_video_track_previous_frame (ModelVideoTrack* self, gint64 position);
+gint64 model_video_track_next_frame (ModelVideoTrack* self, gint64 position);
+gboolean model_video_track_get_framerate (ModelVideoTrack* self, Fraction* rate);
+
+extern const char* MODEL_PROJECT_authors[5];
+extern const GtkTargetEntry drag_target_entries[1];
+
+G_END_DECLS
+
+#endif