Random work from the last mounth...
[dictix.git] / vapi / libdictix.vapi
bloba58af8119a9481c19a5579deafb31b92801d35c6
1 /**
2  * Dictix / recorder.vapi
3  *
4  * Copyright (C) Martin Blanchard 2011 <tinram@gmx.fr>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19  *
20  */
22 using GLib;
23 using Gtk;
24 using Gst;
26 namespace Dix {
27         [CCode (prefix = "Dix", lower_case_cprefix = "dix_", cheader_filename = "dix-player.h")]
29         [Compact]
30         [CCode (free_function = "gst_object_unref")]
31         public class Player : Pipeline {
32                 [CCode (cname = "dix_player_new")]
33                 public Player ();
35                 [CCode (cname = "dix_player_start_playing")]
36                 public void start_playing (string uri = 0, Error *error = null);
37                 [CCode (cname = "dix_player_query_duration")]
38                 public int64 query_duration ();
39                 [CCode (cname = "dix_player_query_position")]
40                 public int64 query_position ();
41                 [CCode (cname = "dix_player_query_progress")]
42                 public double query_progress (out int64 position);
43                 [CCode (cname = "dix_player_move")]
44                 public void move (double location);
45                 [CCode (cname = "dix_player_pause")]
46                 public void pause ();
47                 [CCode (cname = "dix_player_stop")]
48                 public void stop ();
50                 [CCode (cname = "dix_player_set_volume")]
51                 public void set_volume (double volume);
53                 public signal void playback_started ();
54                 public signal void playback_stopped (bool eos);
55         }
57         [CCode (prefix = "Dix", lower_case_cprefix = "dix_", cheader_filename = "dix-recorder.h")]
59         [Compact]
60         [CCode (free_function = "gst_object_unref")]
61         public class Recorder : Pipeline {
62                 [CCode (cname = "dix_recorder_new")]
63                 public Recorder (string directory);
65                 [CCode (cname = "dix_recorder_start_recording")]
66                 public void start_recording (Error *error = null);
67                 [CCode (cname = "dix_recorder_stop_recording")]
68                 public void stop_recording ();
70                 public signal void record_started ();
71                 public signal void record_stopped (string uri);
72         }
74         [CCode (prefix = "Dix", lower_case_cprefix = "dix_", cheader_filename = "dix-spectrograph.h")]
76         [Compact]
77         [CCode (free_function = "gtk_widget_destroy")]
78         public class Spectrograph : Widget {
79                 [CCode (cname = "dix_spectrograph_new")]
80                 public Spectrograph ();
82                 [CCode (cname = "dix_spectrograph_set_magnitudes")]
83                 public void set_magnitudes (uint bands, float[] magnitudes);
84         }
86         [CCode (prefix = "Dix", lower_case_cprefix = "dix_", cheader_filename = "dix-tag-reader.h")]
88         [Compact]
89         [CCode (free_function = "gst_object_unref")]
90         public class TagReader : Pipeline {
91                 [CCode (cname = "dix_tag_reader_new")]
92                 public TagReader (string uri);
94                 [CCode (cname = "dix_tag_reader_load")]
95                 public void load ();
97                 [CCode (cname = "dix_tag_reader_get_title")]
98                 public string get_title ();
99                 [CCode (cname = "dix_tag_reader_get_codec")]
100                 public string get_codec ();
101                 [CCode (cname = "dix_tag_reader_get_size")]
102                 public uint64 get_size ();
103                 [CCode (cname = "dix_tag_reader_get_duration")]
104                 public int64 get_duration ();
105                 [CCode (cname = "dix_tag_reader_get_channels")]
106                 public int get_channels ();
107                 [CCode (cname = "dix_tag_reader_get_sample_rate")]
108                 public int get_sample_rate ();
109                 [CCode (cname = "dix_tag_reader_get_bit_rate")]
110                 public int get_bit_rate ();
111         }
113         [CCode (prefix = "Dix", lower_case_cprefix = "dix_", cheader_filename = "dix-tag-writer.h")]
115         [Compact]
116         [CCode (free_function = "gst_object_unref")]
117         public class TagWriter : Pipeline {
118                 [CCode (cname = "dix_tag_writer_new")]
119                 public TagWriter (string uri);
121                 [CCode (cname = "dix_tag_writer_save")]
122                 public void save ();
124                 [CCode (cname = "dix_tag_writer_set_title")]
125                 public void set_title (string title);
126         }
128         [CCode (prefix = "Dix", lower_case_cprefix = "dix_", cheader_filename = "dix-transcoder.h")]
130         [Compact]
131         [CCode (free_function = "gst_object_unref")]
132         public class Transcoder {
133                 [CCode (cname = "dix_transcoder_new")]
134                 public Transcoder ();
136                 [CCode (cname = "dix_transcoder_pre_load")]
137                 public void pre_load (string uri);
138                 [CCode (cname = "dix_transcoder_transcode")]
139                 public void transcode (string uri);
140         }