/* marina.vapi generated by valac, do not modify. */ [CCode (cprefix = "View", lower_case_cprefix = "view_")] namespace View { [CCode (cheader_filename = "marina.h")] public class AudioMeter : Gtk.DrawingArea { public AudioMeter (Model.AudioTrack track); public void on_channel_count_changed (int number_of_channels); public bool on_expose_event (Gdk.EventExpose event); public void on_level_changed (double level_left, double level_right); } [CCode (cheader_filename = "marina.h")] public class AudioOutput : View.MediaConnector { public AudioOutput (Gst.Caps caps) throws GLib.Error; public override void connect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); public override void do_disconnect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); } [CCode (cheader_filename = "marina.h")] public class ClickTrack : GLib.Object { public ClickTrack (View.MediaEngine engine, Model.Project project) throws GLib.Error; } [CCode (cheader_filename = "marina.h")] public class MediaAudioTrack : View.MediaTrack { public MediaAudioTrack (View.MediaEngine media_engine, Model.AudioTrack track) throws GLib.Error; protected override Gst.Element empty_element () throws GLib.Error; public override Gst.Element? get_element (); public override void unlink_pad (Gst.Pad pad, Gst.Element track_element); public signal void level_changed (double level_left, double level_right); } [CCode (cheader_filename = "marina.h")] public abstract class MediaConnector : GLib.Object { [CCode (cprefix = "VIEW_MEDIA_CONNECTOR_MEDIA_TYPES_", cheader_filename = "marina.h")] public enum MediaTypes { Audio, Video } protected int AudioIndex; protected int VideoIndex; protected MediaConnector (View.MediaConnector.MediaTypes media_types); public abstract void connect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); public abstract void do_disconnect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); protected bool has_audio (); protected bool has_video (); } [CCode (cheader_filename = "marina.h")] public class MediaEngine : MultiFileProgressInterface, GLib.Object { public Gst.Element adder; public Gst.Element converter; protected Gst.State gst_state; public Gst.Pipeline pipeline; protected PlayState play_state; public bool playing; public int64 position; public Gst.Bin record_bin; public Model.Clip record_region; public Model.AudioTrack record_track; public MediaEngine (Model.Project project, bool include_video) throws GLib.Error; protected Gst.Caps build_audio_caps (int num_channels); public static void can_run () throws GLib.Error; public void close (); public void connect_output (View.MediaConnector connector); public void disconnect_output (View.MediaConnector connector); protected virtual void do_null_state_export (int64 length); public void do_play (PlayState new_state); protected bool do_state_change (); public Gst.Element get_audio_silence () throws GLib.Error; public PlayState get_play_state (); public Gst.Caps get_project_audio_caps (); public Gst.Caps get_project_audio_export_caps (); protected Gst.Caps get_record_audio_caps (); public int get_sample_depth (); public int get_sample_rate (); public int get_sample_width (); public void go (int64 pos); public void on_callback_pulse (); public void on_load_complete (); public void on_track_added (Model.Track track); public virtual void pause (); public void post_record (); public void record (Model.AudioTrack track); public void set_gst_state (Gst.State state); public void set_play_state (PlayState play_state); public void start_export (string filename); public void start_record (Model.Clip region) throws GLib.Error; public signal void callback_pulse (); public signal void error_occurred (string major_message, string? minor_message); public signal void level_changed (Gst.Object source, double level_left, double level_right); public signal void link_for_export (Gst.Element mux); public signal void link_for_playback (Gst.Element mux); public signal void playstate_changed (); public signal void position_changed (int64 position); public signal void post_export (bool canceled); public signal void pre_export (int64 length); public signal void prepare_window (); public signal void record_completed (); } [CCode (cheader_filename = "marina.h")] public abstract class MediaTrack : GLib.Object { protected Gst.Bin composition; protected Gst.Element default_source; protected weak View.MediaEngine media_engine; protected Gst.Element sink; public MediaTrack (View.MediaEngine media_engine, Model.Track track) throws GLib.Error; protected abstract Gst.Element empty_element () throws GLib.Error; public abstract Gst.Element? get_element (); public abstract void link_new_pad (Gst.Pad pad, Gst.Element track_element); public abstract void unlink_pad (Gst.Pad pad, Gst.Element track_element); public signal void error_occurred (string major_message, string? minor_message); public signal void track_removed (View.MediaTrack track); } [CCode (cheader_filename = "marina.h")] public class MediaVideoTrack : View.MediaTrack { public MediaVideoTrack (View.MediaEngine media_engine, Model.Track track, Gst.Element converter) throws GLib.Error; protected override Gst.Element empty_element () throws GLib.Error; public override Gst.Element? get_element (); public override void link_new_pad (Gst.Pad pad, Gst.Element track_element); public override void unlink_pad (Gst.Pad pad, Gst.Element track_element); } [CCode (cheader_filename = "marina.h")] public class OggVorbisExport : View.MediaConnector { public OggVorbisExport (View.MediaConnector.MediaTypes media_types, string filename, Gst.Caps caps) throws GLib.Error; public override void connect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); public override void do_disconnect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); public string get_filename (); } [CCode (cheader_filename = "marina.h")] public class Ruler : Gtk.DrawingArea { public Ruler (Model.TimeSystem provider, int height); public override bool button_press_event (Gdk.EventButton event); public override bool expose_event (Gdk.EventExpose event); public override bool motion_notify_event (Gdk.EventMotion event); public signal void position_changed (int x); } [CCode (cheader_filename = "marina.h")] public class StatusBar : Gtk.DrawingArea { public StatusBar (Model.Project p, Model.TimeSystem provider, int height); public override bool expose_event (Gdk.EventExpose e); public void on_position_changed (int64 new_position); } [CCode (cheader_filename = "marina.h")] public class VideoOutput : View.MediaConnector { public VideoOutput (Gtk.Widget output_widget) throws GLib.Error; public override void connect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); public override void do_disconnect (View.MediaEngine media_engine, Gst.Pipeline pipeline, Gst.Element[] elements); } } [CCode (cprefix = "Model", lower_case_cprefix = "model_")] namespace Model { [CCode (cheader_filename = "marina.h")] public class AddClipCommand : Model.Command { public AddClipCommand (Model.Project project, Model.ClipFile clip_file); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class AudioTrack : Model.Track { public const int INVALID_CHANNEL_COUNT; public AudioTrack (Model.Project project, string display_name); public void _set_pan (double new_value); public void _set_volume (double new_volume); public override bool check (Model.Clip clip); public bool get_num_channels (out int num); public double get_pan (); public double get_volume (); public override Model.MediaType media_type (); protected override string name (); public override void on_clip_updated (Model.Clip clip); public void on_level_changed (double level_left, double level_right); public void set_default_num_channels (int num); public void set_pan (double new_value); public void set_volume (double new_volume); public override void write_attributes (GLib.FileStream f); public signal void channel_count_changed (int channel_count); public signal void level_changed (double level_left, double level_right); public signal void parameter_changed (Model.Parameter parameter, double new_value); } [CCode (cheader_filename = "marina.h")] public class BarBeatTimeSystem : Model.TimeSystem, Model.TimeSystemBase { public BarBeatTimeSystem (Model.TempoInformation tempo_information); } [CCode (cheader_filename = "marina.h")] public class BpmCommand : Model.Command { public BpmCommand (Model.Project project, int new_bpm); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class Clip : GLib.Object { public Model.ClipFile clipfile; public bool is_recording; public string name; public Model.MediaType type; public Clip (Model.ClipFile clipfile, Model.MediaType t, string name, int64 start, int64 media_start, int64 duration, bool is_recording); public Model.Clip copy (); public void gnonlin_connect (); public void gnonlin_disconnect (); public bool is_trimmed (); public bool overlap_pos (int64 start, int64 length); public void save (GLib.FileStream f, int id); public void set_media_start_duration (int64 media_start, int64 duration); public int64 snap (Model.Clip other, int64 pad); public bool snap_coord (out int64 s, int64 span); public void trim (int64 delta, Gdk.WindowEdge edge); public int64 duration { get; set; } public int64 end { get; } public int64 media_start { get; } public int64 start { get; set; } public signal void duration_changed (int64 duration); public signal void media_start_changed (int64 media_start); public signal void moved (Model.Clip clip); public signal void removed (Model.Clip clip); public signal void start_changed (int64 start); public signal void updated (Model.Clip clip); } [CCode (cheader_filename = "marina.h")] public class ClipAddCommand : Model.Command { public ClipAddCommand (Model.Track track, Model.Clip clip, int64 original_time, int64 new_start); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class ClipCommand : Model.Command { [CCode (cprefix = "MODEL_CLIP_COMMAND_ACTION_", cheader_filename = "marina.h")] public enum Action { APPEND, DELETE } public ClipCommand (Model.ClipCommand.Action action, Model.Track track, Model.Clip clip, int64 time, bool select); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class ClipFetcher : Model.Fetcher { public ClipFetcher (string filename) throws GLib.Error; public string get_filename (); protected override void on_pad_added (Gst.Pad pad); protected override void on_state_change (Gst.Bus bus, Gst.Message message); public signal void clipfile_online (bool online); } [CCode (cheader_filename = "marina.h")] public class ClipFile : GLib.Object { public Gst.Caps audio_caps; public string filename; public Gdk.Pixbuf thumbnail; public Gst.Caps video_caps; public ClipFile (string filename, int64 length = 0); public bool get_dimensions (out int w, out int h); public bool get_frame_rate (out Fraction rate); public bool get_num_channels (out int channels); public bool get_num_channels_string (out string s); public bool get_sample_rate (out int rate); public bool get_video_format (out uint32 fourcc); public bool has_caps_structure (Model.MediaType m); public bool is_of_type (Model.MediaType t); public bool is_online (); public void set_online (bool o); public void set_thumbnail (Gdk.Pixbuf b); public int64 length { get; set; } public signal void updated (); } [CCode (cheader_filename = "marina.h")] public class ClipFileDeleteCommand : Model.Command { public ClipFileDeleteCommand (Model.Project p, Model.ClipFile cf); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class ClipImporter : MultiFileProgressInterface, GLib.Object { public ClipImporter (); public void add_filename (string filename); public void start () throws GLib.Error; public signal void clip_complete (Model.ClipFile f); public signal void error_occurred (string error); public signal void importing_started (int num_clips); } [CCode (cheader_filename = "marina.h")] public class ClipRevertCommand : Model.Command { public ClipRevertCommand (Model.Track track, Model.Clip clip); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class ClipSplitCommand : Model.Command { [CCode (cprefix = "MODEL_CLIP_SPLIT_COMMAND_ACTION_", cheader_filename = "marina.h")] public enum Action { SPLIT, JOIN } public ClipSplitCommand (Model.ClipSplitCommand.Action action, Model.Track track, int64 time); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public class ClipTrimCommand : Model.Command { public ClipTrimCommand (Model.Track track, Model.Clip clip, int64 delta, Gdk.WindowEdge edge); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (ref_function = "model_command_ref", unref_function = "model_command_unref", cheader_filename = "marina.h")] public abstract class Command { public Command (); public abstract void apply (); public abstract string description (); public abstract bool merge (Model.Command command); public abstract void undo (); } [CCode (cheader_filename = "marina.h")] public abstract class Fetcher : GLib.Object { public Model.ClipFile clipfile; protected Gst.Element decodebin; public string error_string; protected Gst.Element filesrc; protected Gst.Pipeline pipeline; public Fetcher (); protected void do_error (string error); protected void on_error (Gst.Bus bus, Gst.Message message); protected abstract void on_pad_added (Gst.Pad pad); protected abstract void on_state_change (Gst.Bus bus, Gst.Message message); protected void on_warning (Gst.Bus bus, Gst.Message message); public signal void ready (Model.Fetcher fetcher); } [CCode (ref_function = "model_fetcher_completion_ref", unref_function = "model_fetcher_completion_unref", cheader_filename = "marina.h")] public class FetcherCompletion { public FetcherCompletion (); public virtual void complete (Model.Fetcher fetcher); } [CCode (ref_function = "model_gap_ref", unref_function = "model_gap_unref", cheader_filename = "marina.h")] public class Gap { public int64 end; public int64 start; public Gap (int64 start, int64 end); public Model.Gap intersect (Model.Gap g); public bool is_empty (); } [CCode (cheader_filename = "marina.h")] public class LibraryImporter : GLib.Object { public Model.ClipImporter importer; protected Model.Project project; public LibraryImporter (Model.Project p); public void add_file (string filename) throws GLib.Error; protected virtual void append_existing_clipfile (Model.ClipFile f); protected virtual void on_clip_complete (Model.ClipFile f); public void start () throws GLib.Error; public signal void started (Model.ClipImporter i, int num); } [CCode (cheader_filename = "marina.h")] public class LoaderHandler : GLib.Object { public LoaderHandler (); public virtual bool commit_click (string[] attr_names, string[] attr_values); public virtual bool commit_clip (string[] attr_names, string[] attr_values); public virtual bool commit_clipfile (string[] attr_names, string[] attr_values); public virtual bool commit_library (string[] attr_names, string[] attr_values); public virtual bool commit_library_preference (string[] attr_names, string[] attr_values); public virtual bool commit_marina (string[] attr_names, string[] attr_values); public virtual bool commit_tempo_entry (string[] attr_names, string[] attr_values); public virtual bool commit_time_signature_entry (string[] attr_names, string[] attr_values); public virtual bool commit_track (string[] attr_names, string[] attr_values); public virtual void leave_clip (); public virtual void leave_clipfile (); public virtual void leave_library (); public virtual void leave_marina (); public virtual void leave_track (); public signal void complete (); public signal void load_error (string error_message); } [CCode (cheader_filename = "marina.h")] public class MediaLoaderHandler : Model.LoaderHandler { protected Model.Track current_track; protected weak Model.Project the_project; public MediaLoaderHandler (Model.Project the_project); public override bool commit_click (string[] attr_names, string[] attr_values); public override bool commit_clip (string[] attr_names, string[] attr_values); public override bool commit_clipfile (string[] attr_names, string[] attr_values); public override bool commit_library (string[] attr_names, string[] attr_values); public override bool commit_library_preference (string[] attr_names, string[] attr_values); public override bool commit_marina (string[] attr_names, string[] attr_values); public override bool commit_tempo_entry (string[] attr_names, string[] attr_values); public override bool commit_time_signature_entry (string[] attr_names, string[] attr_values); public override bool commit_track (string[] attr_names, string[] attr_values); public override void leave_library (); public override void leave_track (); } [CCode (cheader_filename = "marina.h")] public class ParameterCommand : Model.Command { public ParameterCommand (Model.AudioTrack target, Model.Parameter parameter, double new_value, double old_value); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public abstract class Project : Model.TempoInformation, GLib.Object { public static Fraction INVALID_FRAME_RATE; public bool click_during_play; public bool click_during_record; public double click_volume; protected Gee.ArrayList clipfiles; public Fraction default_framerate; public Model.LibraryImporter importer; public Gee.ArrayList inactive_tracks; public bool library_visible; public int library_width; public Model.ProjectLoader loader; public View.MediaEngine media_engine; protected string project_file; public bool snap_to_clip; public Gee.ArrayList tracks; public Model.UndoManager undo_manager; public const string FILLMORE_FILE_EXTENSION; public const string FILLMORE_FILE_FILTER; public const string LOMBARD_FILE_EXTENSION; public const string LOMBARD_FILE_FILTER; public const string[] authors; public Project (string? filename, bool include_video) throws GLib.Error; public void _add_clipfile (Model.ClipFile clipfile) throws GLib.Error; public void _remove_clipfile (Model.ClipFile cf); public void _set_bpm (int bpm); public void _set_time_signature (Fraction time_signature); public void add (Model.Track track, Model.ClipFile clipfile, int64 time); public void add_clipfile (Model.ClipFile clipfile); public void add_inactive_track (Model.Track track); public virtual void add_track (Model.Track track); public void append (Model.Track track, Model.ClipFile clipfile); public bool can_delete_gap (Model.Gap gap); public bool can_export (); public bool can_trim (out bool left); public void clear (); public bool clipfile_on_track (string filename); public void close (); public void create_clip_fetcher (Model.FetcherCompletion fetcher_completion, string filename) throws GLib.Error; public void create_clip_importer (Model.Track? track, bool timeline_add, int64 time_to_add, bool both_tracks, Gtk.Window? progress_window_parent, int number); public void delete_gap (Model.Gap gap); protected virtual void do_append (Model.Track track, Model.ClipFile clipfile, string name, int64 insert_time); public void do_command (Model.Command the_command); public Model.AudioTrack? find_audio_track (); public Model.ClipFile? find_clipfile (string filename); public Model.VideoTrack? find_video_track (); public abstract string get_app_name (); public string get_audio_path (); public abstract TimeCode get_clip_time (Model.ClipFile f); public Model.ClipFile? get_clipfile (int index); public int get_clipfile_index (Model.ClipFile find); public string get_file_display_name (); public int get_file_version (); public int64 get_length (); public string get_license (); public virtual string? get_project_file (); public string get_version (); public void go_end (); public void go_next (); public void go_previous (); public void go_start (); public virtual void insert_track (int index, Model.Track track); public bool is_duplicate_track_name (Model.Track? track, string new_name); public bool is_project_extension (string filename); public virtual void load (string? fname); public void on_clip_removed (Model.Track t, Model.Clip clip); public void on_error_occurred (string major_error, string? minor_error); public void on_importer_clip_complete (Model.ClipFetcher fetcher); public void on_load_started (string filename); public void on_playstate_changed (); public bool playhead_on_clip (); public bool playhead_on_contiguous_clip (); public void print_graph (Gst.Bin bin, string file_name); public void remove_clipfile (string filename); public void remove_track (Model.Track track); public void remove_track_at (int index); public void reseek (); public virtual void save (string? filename); public void save_library (GLib.FileStream f); public void set_bpm (int bpm); public void set_default_framerate (Fraction rate); public void set_name (string? filename); public void set_time_signature (Fraction time_signature); public int64 snap_clip (Model.Clip c, int64 span); public void snap_coord (out int64 coord, int64 span); public void split_at_playhead (); public Model.Track? track_from_clip (Model.Clip clip); public int64 transport_get_position (); public void transport_go (int64 position); public bool transport_is_playing (); public bool transport_is_recording (); public void trim_to_playhead (); public void undo (); public signal void cleared (); public signal void clipfile_added (Model.ClipFile c); public signal void clipfile_removed (Model.ClipFile clip_file); public signal void closed (); public signal void error_occurred (string major_message, string? minor_message); public virtual signal void load_complete (); public signal void load_error (string error); public signal void name_changed (string? project_file); public signal void playstate_changed (PlayState playstate); public signal void track_added (Model.Track track); public signal void track_removed (Model.Track track); } [CCode (cheader_filename = "marina.h")] public class ProjectLoader : GLib.Object { public ProjectLoader (Model.LoaderHandler loader_handler, string? file_name); public void load (); public signal void load_complete (); public signal void load_error (string error); public signal void load_started (string filename); } [CCode (cheader_filename = "marina.h")] public class ThumbnailFetcher : Model.Fetcher { public ThumbnailFetcher (Model.ClipFile f, int64 time) throws GLib.Error; protected override void on_pad_added (Gst.Pad pad); protected override void on_state_change (Gst.Bus bus, Gst.Message message); } [CCode (cheader_filename = "marina.h")] public class TimeSignatureCommand : Model.Command { public TimeSignatureCommand (Model.Project project, Fraction new_time_signature); public override void apply (); public override string description (); public override bool merge (Model.Command command); public override void undo (); } [CCode (cheader_filename = "marina.h")] public abstract class TimeSystemBase : GLib.Object { public float pixel_percentage; public int64 pixel_snap_time; public float pixels_per_second; public const int PIXEL_SNAP_INTERVAL; public TimeSystemBase (); protected int correct_seconds_value (float seconds, int div, int fps); public float get_pixel_percentage (); public int64 get_pixel_snap_time (); public int time_to_xpos (int64 time); public int time_to_xsize (int64 time); public int64 xpos_to_time (int x); public int64 xsize_to_time (int size); } [CCode (cheader_filename = "marina.h")] public class TimecodeTimeSystem : Model.TimeSystem, Model.TimeSystemBase { public Fraction frame_rate_fraction; public TimecodeTimeSystem (); } [CCode (cheader_filename = "marina.h")] public class TimelineImporter : Model.LibraryImporter { public TimelineImporter (Model.Track track, Model.Project p, int64 time_to_add, bool both_tracks); protected override void append_existing_clipfile (Model.ClipFile f); protected override void on_clip_complete (Model.ClipFile f); } [CCode (cheader_filename = "marina.h")] public abstract class Track : GLib.Object { public Gee.ArrayList clips; public string display_name; protected weak Model.Project project; public Track (Model.Project project, string display_name); public void _append_at_time (Model.Clip c, int64 time, bool select); public void _delete_clip (Model.Clip clip); public void _join (int64 position); public void _move (Model.Clip c, int64 pos); public void _revert_to_original (Model.Clip c); public void _split_at (int64 position); public void _trim (Model.Clip clip, int64 delta, Gdk.WindowEdge edge); public void add (Model.Clip c, int64 pos, bool select); public void append_at_time (Model.Clip c, int64 time, bool select); public bool are_contiguous_clips (int64 position); protected abstract bool check (Model.Clip clip); public bool clip_is_near (Model.Clip clip, int64 range, out int64 adjustment); public bool contains_clipfile (Model.ClipFile f); public void delete_all_clips (); public void delete_clip (Model.Clip clip); public void delete_gap (Model.Gap g); public void do_clip_paste (Model.Clip clip, int64 position); public void find_containing_gap (int64 time, out Model.Gap g); public Model.Gap find_first_gap (int64 start); public Model.Clip? find_nearest_clip_edge (int64 time, out bool after); public Model.Clip? find_overlapping_clip (int64 start, int64 length); public Model.Clip? get_clip (int i); public Model.Clip? get_clip_by_position (int64 pos); public int get_clip_index (Model.Clip c); public string get_display_name (); public bool get_is_selected (); public int64 get_length (); public int64 get_time_from_pos (Model.Clip clip, bool after); public void hide (); public void join (int64 position); public abstract Model.MediaType media_type (); public void move (Model.Clip c, int64 pos, int64 original_time); protected abstract string name (); public int64 next_edit (int64 pos); public virtual void on_clip_updated (Model.Clip clip); public int64 previous_edit (int64 pos); public void remove_clip_from_array (Model.Clip pos); public void revert_to_original (Model.Clip clip); public void save (GLib.FileStream f); public void set_display_name (string new_display_name); public void set_selected (bool is_selected); public int64 snap_clip (Model.Clip c, int64 span); public bool snap_coord (out int64 coord, int64 span); public void split_at (int64 position); public void trim (Model.Clip clip, int64 delta, Gdk.WindowEdge edge); public virtual void write_attributes (GLib.FileStream f); public signal void clip_added (Model.Clip clip, bool select); public signal void clip_removed (Model.Clip clip); public signal void error_occurred (string major_error, string? minor_error); public signal void track_hidden (Model.Track track); public signal void track_removed (Model.Track track); public signal void track_renamed (Model.Track track); public signal void track_selection_changed (Model.Track track); } [CCode (cheader_filename = "marina.h")] public class TransactionCommand : Model.Command { public TransactionCommand (bool open, string transaction_description); public override void apply (); public override string description (); public bool in_transaction (); public override bool merge (Model.Command command); public override void undo (); } [CCode (ref_function = "model_undo_manager_ref", unref_function = "model_undo_manager_unref", cheader_filename = "marina.h")] public class UndoManager { public UndoManager (); public void do_command (Model.Command the_command); public void end_transaction (string description); public string get_undo_title (); public void mark_clean (); public void reset (); public void start_transaction (string description); public void undo (); public bool can_undo { get; } public bool in_undo { get; set; } public bool is_dirty { get; } public signal void dirty_changed (bool is_dirty); public signal void undo_changed (bool can_undo); } [CCode (cheader_filename = "marina.h")] public class VideoTrack : Model.Track { public VideoTrack (Model.Project project); protected override bool check (Model.Clip clip); public int get_current_frame (int64 time); public bool get_framerate (out Fraction rate); public override Model.MediaType media_type (); protected override string name (); public int64 next_frame (int64 position); public int64 previous_frame (int64 position); } [CCode (ref_function = "model_xml_element_ref", unref_function = "model_xml_element_unref", cheader_filename = "marina.h")] public class XmlElement { public string[] attribute_names; public string[] attribute_values; public XmlElement (string name, string[] attribute_names, string[] attribute_values, Model.XmlElement? parent); public void add_child (Model.XmlElement child_element); public Gee.ArrayList children { get; } public string name { get; set; } public Model.XmlElement? parent { get; set; } } [CCode (ref_function = "model_xml_tree_loader_ref", unref_function = "model_xml_tree_loader_unref", cheader_filename = "marina.h")] public class XmlTreeLoader { public Model.XmlElement root; public XmlTreeLoader (string document); } [CCode (cheader_filename = "marina.h")] public interface TempoInformation { public abstract int get_bpm (); public abstract Fraction get_time_signature (); public signal void bpm_changed (int bpm); public signal void time_signature_changed (Fraction time_signature); } [CCode (cheader_filename = "marina.h")] public interface TimeSystem : GLib.Object { public abstract void calculate_pixel_step (float inc, float pixel_min, float pixel_div); public abstract int frame_to_xsize (int frame); public abstract string? get_display_string (int token); public abstract int get_next_position (int token); public abstract int get_pixel_height (int token); public abstract float get_pixel_percentage (); public abstract int64 get_pixel_snap_time (); public abstract int get_start_token (int xsize); public abstract string get_time_duration (int64 time); public abstract string get_time_string (int64 time); public abstract int time_to_xpos (int64 time); public abstract int time_to_xsize (int64 time); public abstract int64 xpos_to_time (int x); public abstract int xsize_to_frame (int xsize); public abstract int64 xsize_to_time (int x); public signal void geometry_changed (); } [CCode (cprefix = "MODEL_MEDIA_TYPE_", cheader_filename = "marina.h")] public enum MediaType { AUDIO, VIDEO } [CCode (cprefix = "MODEL_PARAMETER_", cheader_filename = "marina.h")] public enum Parameter { PAN, VOLUME } } [CCode (cprefix = "DialogUtils", lower_case_cprefix = "dialog_utils_")] namespace DialogUtils { [CCode (type_id = "DIALOG_UTILS_TYPE_FILTER_DESCRIPTION_STRUCT", cheader_filename = "marina.h")] public struct filter_description_struct { public string name; public string extension; } [CCode (cheader_filename = "marina.h")] public static Gtk.ResponseType add_cancel (string message); [CCode (cheader_filename = "marina.h")] public static bool confirm_replace (Gtk.Window? parent, string filename); [CCode (cheader_filename = "marina.h")] public static Gtk.ResponseType delete_cancel (string message); [CCode (cheader_filename = "marina.h")] public static Gtk.ResponseType delete_keep (string message); [CCode (cheader_filename = "marina.h")] public static void error (string major_message, string? minor_message); [CCode (cheader_filename = "marina.h")] public static bool open (Gtk.Window parent, DialogUtils.filter_description_struct[] filter_descriptions, bool allow_multiple, bool allow_all, out GLib.SList filenames); [CCode (cheader_filename = "marina.h")] public static bool save (Gtk.Window parent, string title, bool create_directory, DialogUtils.filter_description_struct[] filter_descriptions, ref string filename); [CCode (cheader_filename = "marina.h")] public static Gtk.ResponseType save_close_cancel (Gtk.Window? parent, string? title, string message); [CCode (cheader_filename = "marina.h")] public static void show_clip_properties (Gtk.Window parent, ClipView? selected_clip, Model.ClipFile? clip_file, Fraction? frames_per_second); [CCode (cheader_filename = "marina.h")] public static void warning (string major_message, string? minor_message); } [CCode (cprefix = "Logging", lower_case_cprefix = "logging_")] namespace Logging { [CCode (cprefix = "LOGGING_FACILITY_", cheader_filename = "marina.h")] public enum Facility { SIGNAL_HANDLERS, DEVELOPER_WARNINGS, GRAPH, LOADING, IMPORT, SINGLEDECODEBIN } [CCode (cprefix = "LOGGING_LEVEL_", cheader_filename = "marina.h")] public enum Level { CRITICAL, HIGH, MEDIUM, LOW, INFO, VERBOSE } [CCode (cheader_filename = "marina.h")] public static void emit (GLib.Object object, Logging.Facility facility, Logging.Level level, string message); [CCode (cheader_filename = "marina.h")] public static void set_logging_level (Logging.Level new_level); } [CCode (cprefix = "PLAY_STATE_", cheader_filename = "marina.h")] public enum PlayState { STOPPED, PRE_PLAY, PLAYING, PRE_RECORD_NULL, PRE_RECORD, RECORDING, POST_RECORD, PRE_EXPORT, EXPORTING, CANCEL_EXPORT, LOADING, CLOSING, CLOSED } [CCode (cprefix = "GDK_", has_type_id = false, cheader_filename = "gdk/gdkkeysyms.h")] public enum KeySyms { Control_L, Control_R, Down, equal, Escape, KP_Add, KP_Enter, KP_Subtract, Left, minus, plus, Return, Right, Shift_L, Shift_R, underscore, Up } [CCode (cprefix = "MEDIA_ERROR_", cheader_filename = "marina.h")] public errordomain MediaError { MISSING_PLUGIN, } [CCode (ref_function = "app_dirs_ref", unref_function = "app_dirs_unref", cheader_filename = "marina.h")] public class AppDirs { public AppDirs (); public static GLib.File get_exec_dir (); public static GLib.File get_resources_dir (); public static void init (string arg0, string program_name); public static void terminate (); } [CCode (ref_function = "class_factory_ref", unref_function = "class_factory_unref", cheader_filename = "marina.h")] public class ClassFactory { public ClassFactory (); public static ClassFactory get_class_factory (); public virtual TrackView get_track_view (Model.Track track, TimeLine timeline); public static void set_class_factory (ClassFactory class_factory); public static void set_transport_delegate (TransportDelegate transport_delegate); } [CCode (cheader_filename = "marina.h")] public class ClipLibraryView : Gtk.EventBox { public static Gtk.Menu context_menu; public ClipLibraryView (Model.Project p, Model.TimeSystem time_provider, string? drag_message, Gdk.DragAction actions); public void delete_selection (); public override void drag_data_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData selection_data, uint drag_info, uint time); public Gee.ArrayList get_selected_files (); public bool has_selection (); public void on_clipfile_removed (Model.ClipFile f); public void select_all (); public void unselect_all (); public signal void selection_changed (bool selected); } [CCode (cheader_filename = "marina.h")] public class MultiFileProgress : Gtk.Window { public MultiFileProgress (Gtk.Window parent, int num_files, string dialog_title, MultiFileProgressInterface provider); } [CCode (ref_function = "track_clip_pair_ref", unref_function = "track_clip_pair_unref", cheader_filename = "marina.h")] public class TrackClipPair { public Model.Clip clip; public Model.Track track; public TrackClipPair (Model.Track track, Model.Clip clip); } [CCode (ref_function = "clipboard_ref", unref_function = "clipboard_unref", cheader_filename = "marina.h")] public class Clipboard { public Gee.ArrayList clips; public Clipboard (); public void paste (Model.Track selected_track, int64 time); public void select (Gee.ArrayList selected_clips); } [CCode (cheader_filename = "marina.h")] public class TimeLine : Gtk.EventBox { public Clipboard clipboard; public Model.Project project; public weak Model.TimeSystem provider; public View.Ruler ruler; public Gee.ArrayList selected_clips; public Gee.ArrayList tracks; public const int BAR_HEIGHT; public const int BORDER; public const int RULER_HEIGHT; public TimeLine (Model.Project p, Model.TimeSystem provider, Gdk.DragAction actions); public override bool button_press_event (Gdk.EventButton event); public override bool button_release_event (Gdk.EventButton event); public void delete_selection (); public void deselect_all_clips (); public void do_clip_move (ClipView clip_view, int64 delta); public void do_copy (); public void do_cut (); public void do_paste (int64 pos); public override void drag_data_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData selection_data, uint drag_info, uint time); public override bool expose_event (Gdk.EventExpose event); public Gtk.Widget? find_child (double x, double y); public bool gap_selected (); public bool is_clip_selected (); public override bool motion_notify_event (Gdk.EventMotion event); public void on_clip_view_added (ClipView clip_view); public void on_ruler_position_changed (int x); public void paste (); public void select_all (); public void update_pos (int event_x); public void zoom (float inc); public void zoom_to_project (double width); public signal void selection_changed (bool selected); public signal void track_changed (); public signal void trackview_added (TrackView trackview); public signal void trackview_removed (TrackView trackview); } [CCode (cheader_filename = "marina.h")] public class GapView : Gtk.DrawingArea { public Model.Gap gap; public GapView (int64 start, int64 length, int width, int height); public override bool expose_event (Gdk.EventExpose e); public void remove (); public void unselect (); public signal void removed (GapView gap_view); public signal void unselected (GapView gap_view); } [CCode (cheader_filename = "marina.h")] public class ClipView : Gtk.DrawingArea { public Model.Clip clip; public static Gtk.Menu context_menu; public int height; public int64 initial_time; public bool is_selected; public const int SNAP_DELTA; public ClipView (TransportDelegate transport_delegate, Model.Clip clip, Model.TimeSystem time_provider, int height); public void adjust_size (int height); public override bool button_press_event (Gdk.EventButton event); public override bool button_release_event (Gdk.EventButton event); public void delete_clip (); public void draw (); public override bool expose_event (Gdk.EventExpose event); public override bool motion_notify_event (Gdk.EventMotion event); public void on_clip_moved (Model.Clip clip); public void select (); public void snap (int64 amount); public signal void clip_deleted (Model.Clip clip); public signal void clip_moved (ClipView clip); public signal void move_begin (ClipView clip_view, bool copy); public signal void move_commit (ClipView clip_view, int64 delta); public signal void move_request (ClipView clip_view, int64 delta); public signal void selection_request (ClipView clip_view, bool extend_selection); public signal void trim_begin (ClipView clip_view, Gdk.WindowEdge edge); public signal void trim_commit (ClipView clip_view, Gdk.WindowEdge edge); } [CCode (cheader_filename = "marina.h")] public interface TrackView : Gtk.Widget { public abstract Gtk.Widget? find_child (double x, double y); public abstract Model.Track get_track (); public abstract int get_track_height (); public abstract void move_to_top (ClipView clip_view); public abstract void resize (); public abstract void select_all (); public signal void clip_view_added (ClipView clip_view); } [CCode (cheader_filename = "marina.h")] public interface MultiFileProgressInterface : GLib.Object { public abstract void cancel (); public abstract void complete (); public signal void done (); public signal void file_updated (string filename, int index); public signal void fraction_updated (double d); } [CCode (cheader_filename = "marina.h")] public interface TransportDelegate : GLib.Object { public abstract bool is_playing (); public abstract bool is_recording (); public abstract bool is_stopped (); } [CCode (type_id = "TYPE_FRACTION", cheader_filename = "marina.h")] public struct Fraction { public int numerator; public int denominator; public Fraction (int numerator, int denominator); public bool equal (Fraction f); public Fraction.from_string (string s); public int nearest_int (); public string to_string (); } [CCode (type_id = "TYPE_TIME_CODE", cheader_filename = "marina.h")] public struct TimeCode { public int hour; public int minute; public int second; public int frame; public bool drop_code; public void get_from_length (int64 length); public string to_string (); } [CCode (cheader_filename = "marina.h")] public const int CHANNELS_PER_TRACK_PLAYBACK; [CCode (cheader_filename = "marina.h")] public const int CHANNELS_PER_TRACK_RECORD; [CCode (cheader_filename = "marina.h")] public const Gtk.TargetEntry[] drag_target_entries; [CCode (cheader_filename = "marina.h")] public static bool debug_enabled; [CCode (cheader_filename = "marina.h")] public static Gdk.ModifierType GDK_SHIFT_ALT_CONTROL_MASK; [CCode (cheader_filename = "marina.h")] public static float float_abs (float f); [CCode (cheader_filename = "marina.h")] public static bool float_within (double f, double epsilon); [CCode (cheader_filename = "marina.h")] public static int sign (int x); [CCode (cheader_filename = "marina.h")] public static string[] copy_array (string[] source); [CCode (cheader_filename = "marina.h")] public static void print_debug (string text); [CCode (cheader_filename = "marina.h")] public static bool time_in_range (int64 time, int64 center, int64 delta); [CCode (cheader_filename = "marina.h")] public static string isolate_filename (string path); [CCode (cheader_filename = "marina.h")] public static string get_file_extension (string path); [CCode (cheader_filename = "marina.h")] public static string append_extension (string path, string extension); [CCode (cheader_filename = "marina.h")] public static bool version_at_least (string v, string w); [CCode (cheader_filename = "marina.h")] public static bool get_file_md5_checksum (string filename, out string checksum); [CCode (cheader_filename = "marina.h")] public static void save_file_md5_checksum (string filename, string checksum); [CCode (cheader_filename = "marina.h")] public static bool md5_checksum_on_file (string filename, out string checksum); [CCode (cheader_filename = "marina.h")] public static Gdk.Color parse_color (string color); [CCode (cheader_filename = "marina.h")] public static Gtk.Widget get_widget (Gtk.UIManager manager, string name); [CCode (cheader_filename = "marina.h")] public static void draw_rounded_rectangle (Gdk.Window window, Gdk.Color color, bool filled, int x0, int y0, int width, int height); [CCode (cheader_filename = "marina.h")] public static void draw_right_rounded_rectangle (Gdk.Window window, Gdk.Color color, bool filled, int x0, int y0, int width, int height); [CCode (cheader_filename = "marina.h")] public static void draw_left_rounded_rectangle (Gdk.Window window, Gdk.Color color, bool filled, int x0, int y0, int width, int height); [CCode (cheader_filename = "marina.h")] public static void draw_square_rectangle (Gdk.Window window, Gdk.Color color, bool filled, int x, int y, int width, int height); [CCode (cheader_filename = "marina.h")] public static bool is_drop_frame_rate (Fraction r); [CCode (cheader_filename = "marina.h")] public static int64 frame_to_time_with_rate (int frame, Fraction rate); [CCode (cheader_filename = "marina.h")] public static int time_to_frame_with_rate (int64 time, Fraction rate); [CCode (cheader_filename = "marina.h")] public static TimeCode frame_to_time (int frame, Fraction rate); [CCode (cheader_filename = "marina.h")] public static string frame_to_string (int frame, Fraction rate); [CCode (cheader_filename = "marina.h")] public static string time_to_HHMMSS (int64 time); [CCode (cheader_filename = "marina.h")] public static string time_to_string (int64 time); [CCode (cheader_filename = "marina.h")] public static Gst.Element make_element_with_name (string element_name, string? display_name) throws GLib.Error; [CCode (cheader_filename = "marina.h")] public static Gst.Element make_element (string name) throws GLib.Error;