summaryrefslogtreecommitdiff
path: root/src/lib/ecore_audio/ecore_audio.eo
blob: 47f3d1bf4d5b9e9efdf5db430fb886afcfdd9b7a (plain) (blame)
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
class Ecore_Audio (Eo.Base)
{
   legacy_prefix: null;
   eo_prefix: ecore_audio_obj;
   data: Ecore_Audio_Object;
   methods {
      @property name {
         set {
            [[Set the name of the object

              @since 1.8
            ]]
         }
         get {
            [[Get the name of the object

              @since 1.8
            ]]
         }
         values {
            name: const(char)*; 
         }
      }
      @property paused {
         set {
            [[Set the pause state of the object

              @since 1.8
            ]]
         }
         get {
            [[Get the pause state of the object

              @since 1.8
            ]]
         }
         values {
            paused: bool; [[true if object is paused, false if not]]
         }
      }
      @property volume {
         set {
            [[Set the volume of the object

              @since 1.8
            ]]
         }
         get {
            [[Get the volume of the object

              @since 1.8
            ]]
         }
         values {
            volume: double; [[the volume]]
         }
      }
      @property source {
         set {
            [[Set the source of the object

              What sources are supported depends on the actual object.
              For example, the libsndfile class accepts WAV, OGG, FLAC
              files as source.

              @since 1.8
            ]]
            return: bool; [[true if the source was set correctly (i.e. the file
                            was opened), EINA_FALSE otherwise
                          ]]
         }
         get {
            [[Get the source of the object

              @since 1.8
            ]]
         }
         values {
            source: const(char)*; [[the source to set to (i.e. file, URL, device)]]
         }
      }
      @property format {
         set {
            [[Set the format of the object

              What formats are supported depends on the actual object. Default
              is ECORE_AUDIO_FORMAT_AUTO

              @since 1.8
            ]]
            return: bool; [[true if the format was supported, false otherwise]]
         }
         get {
            [[Get the format of the object

              After setting the source if the format was ECORE_AUDIO_FORMAT_AUTO
              this function will now return the actual format.

              @since 1.8
            ]]
         }
         values {
            format: Ecore_Audio_Format; [[the format of the object]]
         }
      }
      vio_set {
         [[Set the virtual IO functions

           @since 1.8
         ]]
         params {
              vio: Ecore_Audio_Vio *; [[the @Ecore_Audio_Vio struct with the
                                        function callbacks
                                      ]]
              data: void *; [[user data to pass to the VIO functions]]
              free_func: eo_key_data_free_func; [[this function takes care to
                                                  clean up @data when he VIO is
                                                  destroyed. NULL means do
                                                  nothing.
                                                ]]
         }
      }
   }
   implements {
      Eo.Base.constructor;
      @virtual .source.get;
      @virtual .source.set;
      @virtual .format.get;
      @virtual .format.set;
      @virtual .vio_set;
   }
}