GstController-1.0.gir 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834
  1. <?xml version="1.0"?>
  2. <!-- This file was automatically generated from C sources - DO NOT EDIT!
  3. To affect the contents of this file, edit the original C definitions,
  4. and/or use gtk-doc annotations. -->
  5. <repository version="1.2"
  6. xmlns="http://www.gtk.org/introspection/core/1.0"
  7. xmlns:c="http://www.gtk.org/introspection/c/1.0"
  8. xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  9. <include name="Gst" version="1.0"/>
  10. <package name="gstreamer-controller-1.0"/>
  11. <c:include name="gst/controller/controller.h"/>
  12. <namespace name="GstController"
  13. version="1.0"
  14. shared-library="libgstcontroller-1.0.so.0"
  15. c:identifier-prefixes="Gst"
  16. c:symbol-prefixes="gst">
  17. <class name="ARGBControlBinding"
  18. c:symbol-prefix="argb_control_binding"
  19. c:type="GstARGBControlBinding"
  20. parent="Gst.ControlBinding"
  21. glib:type-name="GstARGBControlBinding"
  22. glib:get-type="gst_argb_control_binding_get_type"
  23. glib:type-struct="ARGBControlBindingClass">
  24. <doc xml:space="preserve">A value mapping object that attaches multiple control sources to a guint
  25. gobject properties representing a color. A control value of 0.0 will turn the
  26. color component off and a value of 1.0 will be the color level.</doc>
  27. <constructor name="new" c:identifier="gst_argb_control_binding_new">
  28. <doc xml:space="preserve">Create a new control-binding that attaches the given #GstControlSource to the
  29. #GObject property.</doc>
  30. <return-value transfer-ownership="none">
  31. <doc xml:space="preserve">the new #GstARGBControlBinding</doc>
  32. <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
  33. </return-value>
  34. <parameters>
  35. <parameter name="object" transfer-ownership="none">
  36. <doc xml:space="preserve">the object of the property</doc>
  37. <type name="Gst.Object" c:type="GstObject*"/>
  38. </parameter>
  39. <parameter name="property_name" transfer-ownership="none">
  40. <doc xml:space="preserve">the property-name to attach the control source</doc>
  41. <type name="utf8" c:type="const gchar*"/>
  42. </parameter>
  43. <parameter name="cs_a" transfer-ownership="none">
  44. <doc xml:space="preserve">the control source for the alpha channel</doc>
  45. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  46. </parameter>
  47. <parameter name="cs_r" transfer-ownership="none">
  48. <doc xml:space="preserve">the control source for the red channel</doc>
  49. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  50. </parameter>
  51. <parameter name="cs_g" transfer-ownership="none">
  52. <doc xml:space="preserve">the control source for the green channel</doc>
  53. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  54. </parameter>
  55. <parameter name="cs_b" transfer-ownership="none">
  56. <doc xml:space="preserve">the control source for the blue channel</doc>
  57. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  58. </parameter>
  59. </parameters>
  60. </constructor>
  61. <property name="control-source-a"
  62. writable="1"
  63. construct="1"
  64. transfer-ownership="none">
  65. <type name="Gst.ControlSource"/>
  66. </property>
  67. <property name="control-source-b"
  68. writable="1"
  69. construct="1"
  70. transfer-ownership="none">
  71. <type name="Gst.ControlSource"/>
  72. </property>
  73. <property name="control-source-g"
  74. writable="1"
  75. construct="1"
  76. transfer-ownership="none">
  77. <type name="Gst.ControlSource"/>
  78. </property>
  79. <property name="control-source-r"
  80. writable="1"
  81. construct="1"
  82. transfer-ownership="none">
  83. <type name="Gst.ControlSource"/>
  84. </property>
  85. <field name="parent">
  86. <type name="Gst.ControlBinding" c:type="GstControlBinding"/>
  87. </field>
  88. <field name="cs_a" readable="0" private="1">
  89. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  90. </field>
  91. <field name="cs_r" readable="0" private="1">
  92. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  93. </field>
  94. <field name="cs_g" readable="0" private="1">
  95. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  96. </field>
  97. <field name="cs_b" readable="0" private="1">
  98. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  99. </field>
  100. <field name="cur_value" readable="0" private="1">
  101. <type name="GObject.Value" c:type="GValue"/>
  102. </field>
  103. <field name="last_value" readable="0" private="1">
  104. <type name="guint32" c:type="guint32"/>
  105. </field>
  106. <field name="_gst_reserved" readable="0" private="1">
  107. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  108. <type name="gpointer" c:type="gpointer"/>
  109. </array>
  110. </field>
  111. </class>
  112. <record name="ARGBControlBindingClass"
  113. c:type="GstARGBControlBindingClass"
  114. glib:is-gtype-struct-for="ARGBControlBinding">
  115. <doc xml:space="preserve">The class structure of #GstARGBControlBinding.</doc>
  116. <field name="parent_class">
  117. <doc xml:space="preserve">Parent class</doc>
  118. <type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
  119. </field>
  120. <field name="_gst_reserved" readable="0" private="1">
  121. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  122. <type name="gpointer" c:type="gpointer"/>
  123. </array>
  124. </field>
  125. </record>
  126. <record name="ControlPoint"
  127. c:type="GstControlPoint"
  128. glib:type-name="GstControlPoint"
  129. glib:get-type="gst_control_point_get_type"
  130. c:symbol-prefix="control_point">
  131. <doc xml:space="preserve">An internal structure for value+time and various temporary
  132. values used for interpolation. This "inherits" from
  133. GstTimedValue.</doc>
  134. <field name="timestamp" writable="1">
  135. <doc xml:space="preserve">timestamp of the value change</doc>
  136. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  137. </field>
  138. <field name="value" writable="1">
  139. <doc xml:space="preserve">the new value</doc>
  140. <type name="gdouble" c:type="gdouble"/>
  141. </field>
  142. <union name="cache" c:type="cache">
  143. <record name="cubic" c:type="cubic">
  144. <field name="h" writable="1">
  145. <type name="gdouble" c:type="gdouble"/>
  146. </field>
  147. <field name="z" writable="1">
  148. <type name="gdouble" c:type="gdouble"/>
  149. </field>
  150. </record>
  151. <record name="cubic_monotonic" c:type="cubic_monotonic">
  152. <field name="c1s" writable="1">
  153. <type name="gdouble" c:type="gdouble"/>
  154. </field>
  155. <field name="c2s" writable="1">
  156. <type name="gdouble" c:type="gdouble"/>
  157. </field>
  158. <field name="c3s" writable="1">
  159. <type name="gdouble" c:type="gdouble"/>
  160. </field>
  161. </record>
  162. <field name="_gst_reserved" writable="1">
  163. <array zero-terminated="0" c:type="guint8" fixed-size="64">
  164. <type name="guint8" c:type="guint8"/>
  165. </array>
  166. </field>
  167. </union>
  168. </record>
  169. <class name="DirectControlBinding"
  170. c:symbol-prefix="direct_control_binding"
  171. c:type="GstDirectControlBinding"
  172. parent="Gst.ControlBinding"
  173. glib:type-name="GstDirectControlBinding"
  174. glib:get-type="gst_direct_control_binding_get_type"
  175. glib:type-struct="DirectControlBindingClass">
  176. <doc xml:space="preserve">A value mapping object that attaches control sources to gobject properties. It
  177. will map the control values [0.0 ... 1.0] to the target property range. If a
  178. control value is outside of the range, it will be clipped.</doc>
  179. <constructor name="new" c:identifier="gst_direct_control_binding_new">
  180. <doc xml:space="preserve">Create a new control-binding that attaches the #GstControlSource to the
  181. #GObject property.</doc>
  182. <return-value transfer-ownership="none">
  183. <doc xml:space="preserve">the new #GstDirectControlBinding</doc>
  184. <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
  185. </return-value>
  186. <parameters>
  187. <parameter name="object" transfer-ownership="none">
  188. <doc xml:space="preserve">the object of the property</doc>
  189. <type name="Gst.Object" c:type="GstObject*"/>
  190. </parameter>
  191. <parameter name="property_name" transfer-ownership="none">
  192. <doc xml:space="preserve">the property-name to attach the control source</doc>
  193. <type name="utf8" c:type="const gchar*"/>
  194. </parameter>
  195. <parameter name="cs" transfer-ownership="none">
  196. <doc xml:space="preserve">the control source</doc>
  197. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  198. </parameter>
  199. </parameters>
  200. </constructor>
  201. <constructor name="new_absolute"
  202. c:identifier="gst_direct_control_binding_new_absolute"
  203. version="1.6">
  204. <doc xml:space="preserve">Create a new control-binding that attaches the #GstControlSource to the
  205. #GObject property.</doc>
  206. <return-value transfer-ownership="none">
  207. <doc xml:space="preserve">the new #GstDirectControlBinding</doc>
  208. <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
  209. </return-value>
  210. <parameters>
  211. <parameter name="object" transfer-ownership="none">
  212. <doc xml:space="preserve">the object of the property</doc>
  213. <type name="Gst.Object" c:type="GstObject*"/>
  214. </parameter>
  215. <parameter name="property_name" transfer-ownership="none">
  216. <doc xml:space="preserve">the property-name to attach the control source</doc>
  217. <type name="utf8" c:type="const gchar*"/>
  218. </parameter>
  219. <parameter name="cs" transfer-ownership="none">
  220. <doc xml:space="preserve">the control source</doc>
  221. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  222. </parameter>
  223. </parameters>
  224. </constructor>
  225. <property name="absolute"
  226. writable="1"
  227. construct-only="1"
  228. transfer-ownership="none">
  229. <type name="gboolean" c:type="gboolean"/>
  230. </property>
  231. <property name="control-source"
  232. writable="1"
  233. construct="1"
  234. transfer-ownership="none">
  235. <type name="Gst.ControlSource"/>
  236. </property>
  237. <field name="parent">
  238. <type name="Gst.ControlBinding" c:type="GstControlBinding"/>
  239. </field>
  240. <field name="cs" readable="0" private="1">
  241. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  242. </field>
  243. <field name="cur_value" readable="0" private="1">
  244. <type name="GObject.Value" c:type="GValue"/>
  245. </field>
  246. <field name="last_value" readable="0" private="1">
  247. <type name="gdouble" c:type="gdouble"/>
  248. </field>
  249. <field name="byte_size" readable="0" private="1">
  250. <type name="gint" c:type="gint"/>
  251. </field>
  252. <field name="convert_value" readable="0" private="1">
  253. <type name="DirectControlBindingConvertValue"
  254. c:type="GstDirectControlBindingConvertValue"/>
  255. </field>
  256. <field name="convert_g_value" readable="0" private="1">
  257. <type name="DirectControlBindingConvertGValue"
  258. c:type="GstDirectControlBindingConvertGValue"/>
  259. </field>
  260. <union name="ABI" c:type="ABI">
  261. <field name="_gst_reserved" writable="1">
  262. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  263. <type name="gpointer" c:type="gpointer"/>
  264. </array>
  265. </field>
  266. <record name="abi" c:type="abi">
  267. <field name="want_absolute" writable="1">
  268. <type name="gboolean" c:type="gboolean"/>
  269. </field>
  270. </record>
  271. </union>
  272. </class>
  273. <record name="DirectControlBindingClass"
  274. c:type="GstDirectControlBindingClass"
  275. glib:is-gtype-struct-for="DirectControlBinding">
  276. <doc xml:space="preserve">The class structure of #GstDirectControlBinding.</doc>
  277. <field name="parent_class">
  278. <doc xml:space="preserve">Parent class</doc>
  279. <type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
  280. </field>
  281. <field name="_gst_reserved" readable="0" private="1">
  282. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  283. <type name="gpointer" c:type="gpointer"/>
  284. </array>
  285. </field>
  286. </record>
  287. <callback name="DirectControlBindingConvertGValue"
  288. c:type="GstDirectControlBindingConvertGValue">
  289. <doc xml:space="preserve">Function to map a control-value to the target GValue.</doc>
  290. <return-value transfer-ownership="none">
  291. <type name="none" c:type="void"/>
  292. </return-value>
  293. <parameters>
  294. <parameter name="self" transfer-ownership="none">
  295. <doc xml:space="preserve">the #GstDirectControlBinding instance</doc>
  296. <type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
  297. </parameter>
  298. <parameter name="src_value" transfer-ownership="none">
  299. <doc xml:space="preserve">the value returned by the cotnrol source</doc>
  300. <type name="gdouble" c:type="gdouble"/>
  301. </parameter>
  302. <parameter name="dest_value" transfer-ownership="none">
  303. <doc xml:space="preserve">the target GValue</doc>
  304. <type name="GObject.Value" c:type="GValue*"/>
  305. </parameter>
  306. </parameters>
  307. </callback>
  308. <callback name="DirectControlBindingConvertValue"
  309. c:type="GstDirectControlBindingConvertValue">
  310. <doc xml:space="preserve">Function to map a control-value to the target plain data type.</doc>
  311. <return-value transfer-ownership="none">
  312. <type name="none" c:type="void"/>
  313. </return-value>
  314. <parameters>
  315. <parameter name="self" transfer-ownership="none">
  316. <doc xml:space="preserve">the #GstDirectControlBinding instance</doc>
  317. <type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
  318. </parameter>
  319. <parameter name="src_value" transfer-ownership="none">
  320. <doc xml:space="preserve">the value returned by the cotnrol source</doc>
  321. <type name="gdouble" c:type="gdouble"/>
  322. </parameter>
  323. <parameter name="dest_value"
  324. transfer-ownership="none"
  325. nullable="1"
  326. allow-none="1">
  327. <doc xml:space="preserve">the target location</doc>
  328. <type name="gpointer" c:type="gpointer"/>
  329. </parameter>
  330. </parameters>
  331. </callback>
  332. <class name="InterpolationControlSource"
  333. c:symbol-prefix="interpolation_control_source"
  334. c:type="GstInterpolationControlSource"
  335. parent="TimedValueControlSource"
  336. glib:type-name="GstInterpolationControlSource"
  337. glib:get-type="gst_interpolation_control_source_get_type"
  338. glib:type-struct="InterpolationControlSourceClass">
  339. <doc xml:space="preserve">#GstInterpolationControlSource is a #GstControlSource, that interpolates values between user-given
  340. control points. It supports several interpolation modes and property types.
  341. To use #GstInterpolationControlSource get a new instance by calling
  342. gst_interpolation_control_source_new(), bind it to a #GParamSpec and set some
  343. control points by calling gst_timed_value_control_source_set().
  344. All functions are MT-safe.</doc>
  345. <constructor name="new"
  346. c:identifier="gst_interpolation_control_source_new">
  347. <doc xml:space="preserve">This returns a new, unbound #GstInterpolationControlSource.</doc>
  348. <return-value transfer-ownership="full">
  349. <doc xml:space="preserve">a new, unbound #GstInterpolationControlSource.</doc>
  350. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  351. </return-value>
  352. </constructor>
  353. <property name="mode" writable="1" transfer-ownership="none">
  354. <type name="InterpolationMode"/>
  355. </property>
  356. <field name="parent">
  357. <type name="TimedValueControlSource"
  358. c:type="GstTimedValueControlSource"/>
  359. </field>
  360. <field name="priv" readable="0" private="1">
  361. <type name="InterpolationControlSourcePrivate"
  362. c:type="GstInterpolationControlSourcePrivate*"/>
  363. </field>
  364. <field name="_gst_reserved" readable="0" private="1">
  365. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  366. <type name="gpointer" c:type="gpointer"/>
  367. </array>
  368. </field>
  369. </class>
  370. <record name="InterpolationControlSourceClass"
  371. c:type="GstInterpolationControlSourceClass"
  372. glib:is-gtype-struct-for="InterpolationControlSource">
  373. <field name="parent_class">
  374. <type name="TimedValueControlSourceClass"
  375. c:type="GstTimedValueControlSourceClass"/>
  376. </field>
  377. <field name="_gst_reserved" readable="0" private="1">
  378. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  379. <type name="gpointer" c:type="gpointer"/>
  380. </array>
  381. </field>
  382. </record>
  383. <record name="InterpolationControlSourcePrivate"
  384. c:type="GstInterpolationControlSourcePrivate"
  385. disguised="1">
  386. </record>
  387. <enumeration name="InterpolationMode"
  388. glib:type-name="GstInterpolationMode"
  389. glib:get-type="gst_interpolation_mode_get_type"
  390. c:type="GstInterpolationMode">
  391. <doc xml:space="preserve">The various interpolation modes available.</doc>
  392. <member name="none"
  393. value="0"
  394. c:identifier="GST_INTERPOLATION_MODE_NONE"
  395. glib:nick="none">
  396. <doc xml:space="preserve">steps-like interpolation, default</doc>
  397. </member>
  398. <member name="linear"
  399. value="1"
  400. c:identifier="GST_INTERPOLATION_MODE_LINEAR"
  401. glib:nick="linear">
  402. <doc xml:space="preserve">linear interpolation</doc>
  403. </member>
  404. <member name="cubic"
  405. value="2"
  406. c:identifier="GST_INTERPOLATION_MODE_CUBIC"
  407. glib:nick="cubic">
  408. <doc xml:space="preserve">cubic interpolation (natural), may overshoot
  409. the min or max values set by the control point, but is more 'curvy'</doc>
  410. </member>
  411. <member name="cubic_monotonic"
  412. value="3"
  413. c:identifier="GST_INTERPOLATION_MODE_CUBIC_MONOTONIC"
  414. glib:nick="cubic-monotonic">
  415. <doc xml:space="preserve">monotonic cubic interpolation, will not
  416. produce any values outside of the min-max range set by the control points
  417. (Since 1.8)</doc>
  418. </member>
  419. </enumeration>
  420. <class name="LFOControlSource"
  421. c:symbol-prefix="lfo_control_source"
  422. c:type="GstLFOControlSource"
  423. parent="Gst.ControlSource"
  424. glib:type-name="GstLFOControlSource"
  425. glib:get-type="gst_lfo_control_source_get_type"
  426. glib:type-struct="LFOControlSourceClass">
  427. <doc xml:space="preserve">#GstLFOControlSource is a #GstControlSource, that provides several periodic
  428. waveforms as control values.
  429. To use #GstLFOControlSource get a new instance by calling
  430. gst_lfo_control_source_new(), bind it to a #GParamSpec and set the relevant
  431. properties.
  432. All functions are MT-safe.</doc>
  433. <constructor name="new" c:identifier="gst_lfo_control_source_new">
  434. <doc xml:space="preserve">This returns a new, unbound #GstLFOControlSource.</doc>
  435. <return-value transfer-ownership="full">
  436. <doc xml:space="preserve">a new, unbound #GstLFOControlSource.</doc>
  437. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  438. </return-value>
  439. </constructor>
  440. <property name="amplitude" writable="1" transfer-ownership="none">
  441. <doc xml:space="preserve">Specifies the amplitude for the waveform of this #GstLFOControlSource.</doc>
  442. <type name="gdouble" c:type="gdouble"/>
  443. </property>
  444. <property name="frequency" writable="1" transfer-ownership="none">
  445. <doc xml:space="preserve">Specifies the frequency that should be used for the waveform
  446. of this #GstLFOControlSource. It should be large enough
  447. so that the period is longer than one nanosecond.</doc>
  448. <type name="gdouble" c:type="gdouble"/>
  449. </property>
  450. <property name="offset" writable="1" transfer-ownership="none">
  451. <doc xml:space="preserve">Specifies the value offset for the waveform of this #GstLFOControlSource.</doc>
  452. <type name="gdouble" c:type="gdouble"/>
  453. </property>
  454. <property name="timeshift" writable="1" transfer-ownership="none">
  455. <doc xml:space="preserve">Specifies the timeshift to the right that should be used for the waveform
  456. of this #GstLFOControlSource in nanoseconds.
  457. To get a n nanosecond shift to the left use
  458. "(GST_SECOND / frequency) - n".</doc>
  459. <type name="guint64" c:type="guint64"/>
  460. </property>
  461. <property name="waveform" writable="1" transfer-ownership="none">
  462. <doc xml:space="preserve">Specifies the waveform that should be used for this #GstLFOControlSource.</doc>
  463. <type name="LFOWaveform"/>
  464. </property>
  465. <field name="parent">
  466. <type name="Gst.ControlSource" c:type="GstControlSource"/>
  467. </field>
  468. <field name="priv" readable="0" private="1">
  469. <type name="LFOControlSourcePrivate"
  470. c:type="GstLFOControlSourcePrivate*"/>
  471. </field>
  472. <field name="lock" readable="0" private="1">
  473. <type name="GLib.Mutex" c:type="GMutex"/>
  474. </field>
  475. <field name="_gst_reserved" readable="0" private="1">
  476. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  477. <type name="gpointer" c:type="gpointer"/>
  478. </array>
  479. </field>
  480. </class>
  481. <record name="LFOControlSourceClass"
  482. c:type="GstLFOControlSourceClass"
  483. glib:is-gtype-struct-for="LFOControlSource">
  484. <field name="parent_class">
  485. <type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
  486. </field>
  487. <field name="_gst_reserved" readable="0" private="1">
  488. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  489. <type name="gpointer" c:type="gpointer"/>
  490. </array>
  491. </field>
  492. </record>
  493. <record name="LFOControlSourcePrivate"
  494. c:type="GstLFOControlSourcePrivate"
  495. disguised="1">
  496. </record>
  497. <enumeration name="LFOWaveform"
  498. glib:type-name="GstLFOWaveform"
  499. glib:get-type="gst_lfo_waveform_get_type"
  500. c:type="GstLFOWaveform">
  501. <doc xml:space="preserve">The various waveform modes available.</doc>
  502. <member name="sine"
  503. value="0"
  504. c:identifier="GST_LFO_WAVEFORM_SINE"
  505. glib:nick="sine">
  506. <doc xml:space="preserve">sine waveform</doc>
  507. </member>
  508. <member name="square"
  509. value="1"
  510. c:identifier="GST_LFO_WAVEFORM_SQUARE"
  511. glib:nick="square">
  512. <doc xml:space="preserve">square waveform</doc>
  513. </member>
  514. <member name="saw"
  515. value="2"
  516. c:identifier="GST_LFO_WAVEFORM_SAW"
  517. glib:nick="saw">
  518. <doc xml:space="preserve">saw waveform</doc>
  519. </member>
  520. <member name="reverse_saw"
  521. value="3"
  522. c:identifier="GST_LFO_WAVEFORM_REVERSE_SAW"
  523. glib:nick="reverse-saw">
  524. <doc xml:space="preserve">reverse saw waveform</doc>
  525. </member>
  526. <member name="triangle"
  527. value="4"
  528. c:identifier="GST_LFO_WAVEFORM_TRIANGLE"
  529. glib:nick="triangle">
  530. <doc xml:space="preserve">triangle waveform</doc>
  531. </member>
  532. </enumeration>
  533. <class name="TimedValueControlSource"
  534. c:symbol-prefix="timed_value_control_source"
  535. c:type="GstTimedValueControlSource"
  536. parent="Gst.ControlSource"
  537. abstract="1"
  538. glib:type-name="GstTimedValueControlSource"
  539. glib:get-type="gst_timed_value_control_source_get_type"
  540. glib:type-struct="TimedValueControlSourceClass">
  541. <doc xml:space="preserve">Base class for #GstControlSource that use time-stamped values.
  542. When overriding bind, chain up first to give this bind implementation a
  543. chance to setup things.
  544. All functions are MT-safe.</doc>
  545. <method name="find_control_point_iter"
  546. c:identifier="gst_timed_value_control_source_find_control_point_iter">
  547. <doc xml:space="preserve">Find last value before given timestamp in control point list.
  548. If all values in the control point list come after the given
  549. timestamp or no values exist, %NULL is returned.
  550. For use in control source implementations.</doc>
  551. <return-value transfer-ownership="none">
  552. <doc xml:space="preserve">the found #GSequenceIter or %NULL</doc>
  553. <type name="GLib.SequenceIter" c:type="GSequenceIter*"/>
  554. </return-value>
  555. <parameters>
  556. <instance-parameter name="self" transfer-ownership="none">
  557. <doc xml:space="preserve">the control source to search in</doc>
  558. <type name="TimedValueControlSource"
  559. c:type="GstTimedValueControlSource*"/>
  560. </instance-parameter>
  561. <parameter name="timestamp" transfer-ownership="none">
  562. <doc xml:space="preserve">the search key</doc>
  563. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  564. </parameter>
  565. </parameters>
  566. </method>
  567. <method name="get_all"
  568. c:identifier="gst_timed_value_control_source_get_all">
  569. <doc xml:space="preserve">Returns a read-only copy of the list of #GstTimedValue for the given property.
  570. Free the list after done with it.</doc>
  571. <return-value transfer-ownership="container">
  572. <doc xml:space="preserve">a copy
  573. of the list, or %NULL if the property isn't handled by the controller</doc>
  574. <type name="GLib.List" c:type="GList*">
  575. <type name="Gst.TimedValue"/>
  576. </type>
  577. </return-value>
  578. <parameters>
  579. <instance-parameter name="self" transfer-ownership="none">
  580. <doc xml:space="preserve">the #GstTimedValueControlSource to get the list from</doc>
  581. <type name="TimedValueControlSource"
  582. c:type="GstTimedValueControlSource*"/>
  583. </instance-parameter>
  584. </parameters>
  585. </method>
  586. <method name="get_count"
  587. c:identifier="gst_timed_value_control_source_get_count">
  588. <doc xml:space="preserve">Get the number of control points that are set.</doc>
  589. <return-value transfer-ownership="none">
  590. <doc xml:space="preserve">the number of control points that are set.</doc>
  591. <type name="gint" c:type="gint"/>
  592. </return-value>
  593. <parameters>
  594. <instance-parameter name="self" transfer-ownership="none">
  595. <doc xml:space="preserve">the #GstTimedValueControlSource to get the number of values from</doc>
  596. <type name="TimedValueControlSource"
  597. c:type="GstTimedValueControlSource*"/>
  598. </instance-parameter>
  599. </parameters>
  600. </method>
  601. <method name="set" c:identifier="gst_timed_value_control_source_set">
  602. <doc xml:space="preserve">Set the value of given controller-handled property at a certain time.</doc>
  603. <return-value transfer-ownership="none">
  604. <doc xml:space="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
  605. <type name="gboolean" c:type="gboolean"/>
  606. </return-value>
  607. <parameters>
  608. <instance-parameter name="self" transfer-ownership="none">
  609. <doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
  610. <type name="TimedValueControlSource"
  611. c:type="GstTimedValueControlSource*"/>
  612. </instance-parameter>
  613. <parameter name="timestamp" transfer-ownership="none">
  614. <doc xml:space="preserve">the time the control-change is scheduled for</doc>
  615. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  616. </parameter>
  617. <parameter name="value" transfer-ownership="none">
  618. <doc xml:space="preserve">the control-value</doc>
  619. <type name="gdouble" c:type="const gdouble"/>
  620. </parameter>
  621. </parameters>
  622. </method>
  623. <method name="set_from_list"
  624. c:identifier="gst_timed_value_control_source_set_from_list">
  625. <doc xml:space="preserve">Sets multiple timed values at once.</doc>
  626. <return-value transfer-ownership="none">
  627. <doc xml:space="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
  628. <type name="gboolean" c:type="gboolean"/>
  629. </return-value>
  630. <parameters>
  631. <instance-parameter name="self" transfer-ownership="none">
  632. <doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
  633. <type name="TimedValueControlSource"
  634. c:type="GstTimedValueControlSource*"/>
  635. </instance-parameter>
  636. <parameter name="timedvalues" transfer-ownership="none">
  637. <doc xml:space="preserve">a list
  638. with #GstTimedValue items</doc>
  639. <type name="GLib.SList" c:type="const GSList*">
  640. <type name="Gst.TimedValue"/>
  641. </type>
  642. </parameter>
  643. </parameters>
  644. </method>
  645. <method name="unset" c:identifier="gst_timed_value_control_source_unset">
  646. <doc xml:space="preserve">Used to remove the value of given controller-handled property at a certain
  647. time.</doc>
  648. <return-value transfer-ownership="none">
  649. <doc xml:space="preserve">FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.</doc>
  650. <type name="gboolean" c:type="gboolean"/>
  651. </return-value>
  652. <parameters>
  653. <instance-parameter name="self" transfer-ownership="none">
  654. <doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
  655. <type name="TimedValueControlSource"
  656. c:type="GstTimedValueControlSource*"/>
  657. </instance-parameter>
  658. <parameter name="timestamp" transfer-ownership="none">
  659. <doc xml:space="preserve">the time the control-change should be removed from</doc>
  660. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  661. </parameter>
  662. </parameters>
  663. </method>
  664. <method name="unset_all"
  665. c:identifier="gst_timed_value_control_source_unset_all">
  666. <doc xml:space="preserve">Used to remove all time-stamped values of given controller-handled property</doc>
  667. <return-value transfer-ownership="none">
  668. <type name="none" c:type="void"/>
  669. </return-value>
  670. <parameters>
  671. <instance-parameter name="self" transfer-ownership="none">
  672. <doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
  673. <type name="TimedValueControlSource"
  674. c:type="GstTimedValueControlSource*"/>
  675. </instance-parameter>
  676. </parameters>
  677. </method>
  678. <field name="parent">
  679. <type name="Gst.ControlSource" c:type="GstControlSource"/>
  680. </field>
  681. <field name="lock">
  682. <type name="GLib.Mutex" c:type="GMutex"/>
  683. </field>
  684. <field name="values">
  685. <type name="GLib.Sequence" c:type="GSequence*"/>
  686. </field>
  687. <field name="nvalues">
  688. <type name="gint" c:type="gint"/>
  689. </field>
  690. <field name="valid_cache">
  691. <type name="gboolean" c:type="gboolean"/>
  692. </field>
  693. <field name="priv" readable="0" private="1">
  694. <type name="TimedValueControlSourcePrivate"
  695. c:type="GstTimedValueControlSourcePrivate*"/>
  696. </field>
  697. <field name="_gst_reserved" readable="0" private="1">
  698. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  699. <type name="gpointer" c:type="gpointer"/>
  700. </array>
  701. </field>
  702. <glib:signal name="value-added" when="first" version="1.6">
  703. <doc xml:space="preserve">Emited right after the new value has been added to @self</doc>
  704. <return-value transfer-ownership="none">
  705. <type name="none" c:type="void"/>
  706. </return-value>
  707. <parameters>
  708. <parameter name="timed_value" transfer-ownership="none">
  709. <doc xml:space="preserve">The newly added #GstTimedValue</doc>
  710. <type name="ControlPoint"/>
  711. </parameter>
  712. </parameters>
  713. </glib:signal>
  714. <glib:signal name="value-changed" when="first" version="1.6">
  715. <doc xml:space="preserve">Emited right after the new value has been set on @timed_signals</doc>
  716. <return-value transfer-ownership="none">
  717. <type name="none" c:type="void"/>
  718. </return-value>
  719. <parameters>
  720. <parameter name="timed_value" transfer-ownership="none">
  721. <doc xml:space="preserve">The #GstTimedValue where the value changed</doc>
  722. <type name="ControlPoint"/>
  723. </parameter>
  724. </parameters>
  725. </glib:signal>
  726. <glib:signal name="value-removed" when="first" version="1.6">
  727. <doc xml:space="preserve">Emited when @timed_value is removed from @self</doc>
  728. <return-value transfer-ownership="none">
  729. <type name="none" c:type="void"/>
  730. </return-value>
  731. <parameters>
  732. <parameter name="timed_value" transfer-ownership="none">
  733. <doc xml:space="preserve">The removed #GstTimedValue</doc>
  734. <type name="ControlPoint"/>
  735. </parameter>
  736. </parameters>
  737. </glib:signal>
  738. </class>
  739. <record name="TimedValueControlSourceClass"
  740. c:type="GstTimedValueControlSourceClass"
  741. glib:is-gtype-struct-for="TimedValueControlSource">
  742. <field name="parent_class">
  743. <type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
  744. </field>
  745. <field name="_gst_reserved" readable="0" private="1">
  746. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  747. <type name="gpointer" c:type="gpointer"/>
  748. </array>
  749. </field>
  750. </record>
  751. <record name="TimedValueControlSourcePrivate"
  752. c:type="GstTimedValueControlSourcePrivate"
  753. disguised="1">
  754. </record>
  755. <class name="TriggerControlSource"
  756. c:symbol-prefix="trigger_control_source"
  757. c:type="GstTriggerControlSource"
  758. parent="TimedValueControlSource"
  759. glib:type-name="GstTriggerControlSource"
  760. glib:get-type="gst_trigger_control_source_get_type"
  761. glib:type-struct="TriggerControlSourceClass">
  762. <doc xml:space="preserve">#GstTriggerControlSource is a #GstControlSource, that returns values from user-given
  763. control points. It allows for a tolerance on the time-stamps.
  764. To use #GstTriggerControlSource get a new instance by calling
  765. gst_trigger_control_source_new(), bind it to a #GParamSpec and set some
  766. control points by calling gst_timed_value_control_source_set().
  767. All functions are MT-safe.</doc>
  768. <constructor name="new" c:identifier="gst_trigger_control_source_new">
  769. <doc xml:space="preserve">This returns a new, unbound #GstTriggerControlSource.</doc>
  770. <return-value transfer-ownership="full">
  771. <doc xml:space="preserve">a new, unbound #GstTriggerControlSource.</doc>
  772. <type name="Gst.ControlSource" c:type="GstControlSource*"/>
  773. </return-value>
  774. </constructor>
  775. <property name="tolerance" writable="1" transfer-ownership="none">
  776. <type name="gint64" c:type="gint64"/>
  777. </property>
  778. <field name="parent">
  779. <type name="TimedValueControlSource"
  780. c:type="GstTimedValueControlSource"/>
  781. </field>
  782. <field name="priv" readable="0" private="1">
  783. <type name="TriggerControlSourcePrivate"
  784. c:type="GstTriggerControlSourcePrivate*"/>
  785. </field>
  786. <field name="_gst_reserved" readable="0" private="1">
  787. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  788. <type name="gpointer" c:type="gpointer"/>
  789. </array>
  790. </field>
  791. </class>
  792. <record name="TriggerControlSourceClass"
  793. c:type="GstTriggerControlSourceClass"
  794. glib:is-gtype-struct-for="TriggerControlSource">
  795. <field name="parent_class">
  796. <type name="TimedValueControlSourceClass"
  797. c:type="GstTimedValueControlSourceClass"/>
  798. </field>
  799. <field name="_gst_reserved" readable="0" private="1">
  800. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  801. <type name="gpointer" c:type="gpointer"/>
  802. </array>
  803. </field>
  804. </record>
  805. <record name="TriggerControlSourcePrivate"
  806. c:type="GstTriggerControlSourcePrivate"
  807. disguised="1">
  808. </record>
  809. <function name="timed_value_control_invalidate_cache"
  810. c:identifier="gst_timed_value_control_invalidate_cache">
  811. <doc xml:space="preserve">Reset the controlled value cache.</doc>
  812. <return-value transfer-ownership="none">
  813. <type name="none" c:type="void"/>
  814. </return-value>
  815. <parameters>
  816. <parameter name="self" transfer-ownership="none">
  817. <doc xml:space="preserve">the #GstTimedValueControlSource</doc>
  818. <type name="TimedValueControlSource"
  819. c:type="GstTimedValueControlSource*"/>
  820. </parameter>
  821. </parameters>
  822. </function>
  823. </namespace>
  824. </repository>