X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmarina%2Fmarina%2Fmarina.vapi;fp=src%2Fmarina%2Fmarina%2Fmarina.vapi;h=da6402ce3a7f289e541a215dd99925e1eec71fa4;hb=a712cd772f4f3db8bed7037bb95c4de94767b230;hp=0000000000000000000000000000000000000000;hpb=2f0296582bf5d3f51db40d299f434fc8240ca6a5;p=fillmore diff --git a/src/marina/marina/marina.vapi b/src/marina/marina/marina.vapi new file mode 100644 index 0000000..da6402c --- /dev/null +++ b/src/marina/marina/marina.vapi @@ -0,0 +1,1033 @@ +/* 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;