summaryrefslogtreecommitdiff
path: root/src/lib/ecore_audio/ecore_audio_in.eo
blob: e288ad7007c67c3342264041285fd5d70f3a286a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
class Ecore.Audio.In (Ecore.Audio)
{
   [[Ecore Audio input object.]]
   eo_prefix: ecore_audio_obj_in;
   event_prefix: ecore_audio_in;
   data: Ecore_Audio_Input;
   methods {
      @property speed {
         [[Playback speed of the input.

           @since 1.8
         ]]
         set {
         }
         get {
         }
         values {
            speed: double; [[The speed, 1.0 is the default]]
         }
      }
      @property samplerate {
         [[Sample-rate of the input

           @since 1.8
         ]]
         set {
         }
         get {
         }
         values {
            samplerate: int; [[The samplerate in Hz]]
         }
      }
      @property channels {
         [[Amount of channels the input has

           @since 1.8
         ]]
         set {
         }
         get {
         }
         values {
            channels: int; [[The number of channels]]
         }
      }
      @property preloaded @virtual_pure {
         [[Preloaded state of the input

           @since 1.8
         ]]
         set {
         }
         get {
         }
         values {
            preloaded: bool; [[$true if the input should be cached, false $otherwise]]
         }
      }
      @property looped {
         [[Looped state of the input

           If the input is looped and reaches the end it will start from the
           beginning again. At the same time the event
           \@ref ECORE_AUDIO_EV_IN_LOOPED will be emitted

           @since 1.8
         ]]
         set {
         }
         get {
         }
         values {
            looped: bool; [[$true if the input should be looped, $false otherwise]]
         }
      }
      @property length {
         [[Length of the input

           This function is only implemented by some classes
           (i.e. ECORE_AUDIO_OBJ_IN_TONE_CLASS)

           @since 1.8
         ]]
         set @virtual_pure {
         }
         get {
         }
         values {
            length: double; [[The length of the input in seconds]]
         }
      }
      @property output {
         get {
            [[Get the output that this input is attached to

              @since 1.8
            ]]
         }
         values {
            output: Ecore.Audio; [[The output]] /* FIXME-cyclic Should be Ecore.Audio.Out */
         }
      }
      @property remaining {
         get {
            [[Get the remaining time of the input

              @since 1.8
            ]]
         }
         values {
            remaining: double; [[The amount of time in seconds left to play]]
         }
      }
      read {
         [[Read from the input

           @since 1.8
         ]]
         return: ssize; [[The amount of samples written to buf]]
         params {
            @in buf: void_ptr; [[The buffer to read into]]
            @in len: size; [[The amount of samples to read]]
         }
      }
      read_internal {
         [[Internal read function

           @since 1.8
         ]]
         return: ssize; [[The amount of samples written to buf]]
         params {
            @in buf: void_ptr; [[The buffer to read into]]
            @in len: size; [[The amount of samples to read]]
         }
      }
      seek @virtual_pure {
         [[Seek within the input

           @since 1.8
         ]]
         return: double; [[The current absolute position in seconds within
                           the input]]
         params {
            @in offs: double; [[The offset in seconds]]
            @in mode: int; [[The seek mode. Is absolute with SEEK_SET,
                             relative to the current position with SEEK_CUR
                             and relative to the end with SEEK_END.]]
         }
      }
   }
   implements {
      Efl.Object.constructor;
      Efl.Object.destructor;
      Ecore.Audio.vio_set;
   }
   events {
      in,looped; [[Called when an input has looped.]]
      in,stopped; [[Called when an input has stopped playing.]]
      in,samplerate,changed; [[Called when the input samplerate has changed.]]
   }
}