Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>canberra-gtk</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="libcanberra Reference Manual">
<link rel="up" href="ch01.html" title="libcanberra">
<link rel="prev" href="libcanberra-canberra.html" title="canberra">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libcanberra-canberra.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libcanberra Reference Manual</th>
<td> </td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libcanberra-canberra-gtk.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libcanberra-canberra-gtk.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="libcanberra-canberra-gtk"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libcanberra-canberra-gtk.top_of_page"></a>canberra-gtk</span></h2>
<p>canberra-gtk — Gtk+ libcanberra Bindings</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="libcanberra-canberra-gtk.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis"><a class="link" href="libcanberra-canberra.html#ca-context" title="ca_context"><span class="returnvalue">ca_context</span></a> *        <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-context-get" title="ca_gtk_context_get ()">ca_gtk_context_get</a>                  (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-proplist-set-for-widget" title="ca_gtk_proplist_set_for_widget ()">ca_gtk_proplist_set_for_widget</a>      (<em class="parameter"><code><a class="link" href="libcanberra-canberra.html#ca-proplist" title="ca_proplist"><span class="type">ca_proplist</span></a> *p</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *w</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-play-for-widget" title="ca_gtk_play_for_widget ()">ca_gtk_play_for_widget</a>              (<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *w</code></em>,
                                                         <em class="parameter"><code><span class="type">uint32_t</span> id</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-proplist-set-for-event" title="ca_gtk_proplist_set_for_event ()">ca_gtk_proplist_set_for_event</a>       (<em class="parameter"><code><a class="link" href="libcanberra-canberra.html#ca-proplist" title="ca_proplist"><span class="type">ca_proplist</span></a> *p</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gdk3/gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *e</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-play-for-event" title="ca_gtk_play_for_event ()">ca_gtk_play_for_event</a>               (<em class="parameter"><code><a href="http://library.gnome.org/devel/gdk3/gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *e</code></em>,
                                                         <em class="parameter"><code><span class="type">uint32_t</span> id</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-widget-disable-sounds" title="ca_gtk_widget_disable_sounds ()">ca_gtk_widget_disable_sounds</a>        (<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *w</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enable</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="libcanberra-canberra-gtk.description"></a><h2>Description</h2>
<p>
libcanberra-gtk provides a few functions that simplify libcanberra
usage from Gtk+ programs. It maintains a single ca_context object
per <a href="http://library.gnome.org/devel/gdk3/GdkScreen.html"><span class="type">GdkScreen</span></a> that is made accessible via
<code class="function">ca_gtk_context_get_for_screen()</code>, with a shortcut <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-context-get" title="ca_gtk_context_get ()"><code class="function">ca_gtk_context_get()</code></a>
to get the context for the default screen. More importantly, it provides
a few functions
to compile event sound property lists based on GtkWidget objects or
GdkEvent events.
</p>
</div>
<div class="refsect1">
<a name="libcanberra-canberra-gtk.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="ca-gtk-context-get"></a><h3>ca_gtk_context_get ()</h3>
<pre class="programlisting"><a class="link" href="libcanberra-canberra.html#ca-context" title="ca_context"><span class="returnvalue">ca_context</span></a> *        ca_gtk_context_get                  (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Gets the single ca_context object for the default screen. See
<code class="function">ca_gtk_context_get_for_screen()</code>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a ca_context object. The object is owned by libcanberra-gtk
and must not be destroyed</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ca-gtk-proplist-set-for-widget"></a><h3>ca_gtk_proplist_set_for_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 ca_gtk_proplist_set_for_widget      (<em class="parameter"><code><a class="link" href="libcanberra-canberra.html#ca-proplist" title="ca_proplist"><span class="type">ca_proplist</span></a> *p</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *w</code></em>);</pre>
<p>
Fill in a ca_proplist object for a sound event that shall originate
from the specified Gtk Widget. This will fill in properties like
<a class="link" href="libcanberra-canberra.html#CA-PROP-WINDOW-NAME:CAPS" title="CA_PROP_WINDOW_NAME"><code class="literal">CA_PROP_WINDOW_NAME</code></a> or <a class="link" href="libcanberra-canberra.html#CA-PROP-WINDOW-X11-DISPLAY:CAPS" title="CA_PROP_WINDOW_X11_DISPLAY"><code class="literal">CA_PROP_WINDOW_X11_DISPLAY</code></a> for you.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
<td>The proplist to store these sound event properties in</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
<td>The Gtk widget to base these sound event properties on</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>0 on success, negative error code on error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ca-gtk-play-for-widget"></a><h3>ca_gtk_play_for_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 ca_gtk_play_for_widget              (<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *w</code></em>,
                                                         <em class="parameter"><code><span class="type">uint32_t</span> id</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Play a sound event for the specified widget. This will internally
call <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-proplist-set-for-widget" title="ca_gtk_proplist_set_for_widget ()"><code class="function">ca_gtk_proplist_set_for_widget()</code></a> and then merge them with the
properties passed in via the NULL terminated argument
list. Finally, it will call <a class="link" href="libcanberra-canberra.html#ca-context-play-full" title="ca_context_play_full ()"><code class="function">ca_context_play_full()</code></a> to actually play
the event sound.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
<td>The Gtk widget to base these sound event properties on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The event id that can later be used to cancel this event sound
using <a class="link" href="libcanberra-canberra.html#ca-context-cancel" title="ca_context_cancel ()"><code class="function">ca_context_cancel()</code></a>. This can be any integer and shall be
chosen be the client program. It is a good idea to pass 0 here if
cancelling the sound later is not needed. If the same id is passed
to multiple sounds they can be canceled with a single
<a class="link" href="libcanberra-canberra.html#ca-context-cancel" title="ca_context_cancel ()"><code class="function">ca_context_cancel()</code></a> call.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>additional event properties as pairs of strings, terminated by NULL.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>0 on success, negative error code on error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ca-gtk-proplist-set-for-event"></a><h3>ca_gtk_proplist_set_for_event ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 ca_gtk_proplist_set_for_event       (<em class="parameter"><code><a class="link" href="libcanberra-canberra.html#ca-proplist" title="ca_proplist"><span class="type">ca_proplist</span></a> *p</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gdk3/gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *e</code></em>);</pre>
<p>
Fill in a ca_proplist object for a sound event that is being
triggered by the specified Gdk Event. This will fill in properties
like <a class="link" href="libcanberra-canberra.html#CA-PROP-EVENT-MOUSE-X:CAPS" title="CA_PROP_EVENT_MOUSE_X"><code class="literal">CA_PROP_EVENT_MOUSE_X</code></a> or <a class="link" href="libcanberra-canberra.html#CA-PROP-EVENT-MOUSE-BUTTON:CAPS" title="CA_PROP_EVENT_MOUSE_BUTTON"><code class="literal">CA_PROP_EVENT_MOUSE_BUTTON</code></a> for
you. This will internally also cal <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-proplist-set-for-widget" title="ca_gtk_proplist_set_for_widget ()"><code class="function">ca_gtk_proplist_set_for_widget()</code></a>
on the widget this event belongs to.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
<td>The proplist to store these sound event properties in</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
<td>The Gdk event to base these sound event properties on</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>0 on success, negative error code on error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ca-gtk-play-for-event"></a><h3>ca_gtk_play_for_event ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 ca_gtk_play_for_event               (<em class="parameter"><code><a href="http://library.gnome.org/devel/gdk3/gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *e</code></em>,
                                                         <em class="parameter"><code><span class="type">uint32_t</span> id</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Play a sound event for the specified event. This will internally
call <a class="link" href="libcanberra-canberra-gtk.html#ca-gtk-proplist-set-for-event" title="ca_gtk_proplist_set_for_event ()"><code class="function">ca_gtk_proplist_set_for_event()</code></a> and then merge them with the
properties passed in via the NULL terminated argument
list. Finally, it will call <a class="link" href="libcanberra-canberra.html#ca-context-play-full" title="ca_context_play_full ()"><code class="function">ca_context_play_full()</code></a> to actually play
the event sound.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
<td>The Gdk event to base these sound event properties on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The event id that can later be used to cancel this event sound
using <a class="link" href="libcanberra-canberra.html#ca-context-cancel" title="ca_context_cancel ()"><code class="function">ca_context_cancel()</code></a>. This can be any integer and shall be
chosen be the client program. It is a good idea to pass 0 here if
cancelling the sound later is not needed. If the same id is passed
to multiple sounds they can be canceled with a single
<a class="link" href="libcanberra-canberra.html#ca-context-cancel" title="ca_context_cancel ()"><code class="function">ca_context_cancel()</code></a> call.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>additional event properties as pairs of strings, terminated by NULL.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>0 on success, negative error code on error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ca-gtk-widget-disable-sounds"></a><h3>ca_gtk_widget_disable_sounds ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ca_gtk_widget_disable_sounds        (<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *w</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enable</code></em>);</pre>
<p>
By default sound events are automatically generated for all kinds
of input events. Use this function to disable this. This is
intended to be used for widgets which directly generate sound
events.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
<td>The Gtk widget to disable automatic event sounds for.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>enable</code></em> :</span></p></td>
<td>Boolean specifying whether sound events shall be enabled or disabled for this widget.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>