All,

I am sponsoring this case for the JDS team in Ireland.  The project
directory contains the attached proposal.  I have set the timer for
Monday, August 27th, 2008.

This project proposes to integrate libcanberra into a Minor release of
Solaris (i.e., Nevada/Open Solaris).  This library manages the playback
of audio events.  These are the audio sounds that are played when you do
things like click on a widget.

The GNOME community recently decided that this new libcanberra audio
event library is now a hard dependency of gnome-control-center.  The
GNOME desktop will not continue to work with the old libgnome
and ESD interfaces for playing desktop audio events.

We plan to integrate libcanberra along with GNOME 2.24 so that users
have no interruptions with their audio event experience.

Thanks,

Brian

-------- Original Message --------
Subject: libcanberra [LSARC/2008/534 FastTrack timeout 08/27/2008]
Date: Tue, 19 Aug 2008 15:37:48 -0700 (PDT)
From: Brian Cameron <bc99...@sac.sfbay.sun.com>
To: LSARC at sac.sfbay.sun.com
CC: jds-dev at sun.com


Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
     1.1. Project/Component Working Name:
         libcanberra
     1.2. Name of Document Author/Supplier:
         Author:  Jerry Tan
     1.3  Date of This Document:
        19 August, 2008
4. Technical Description
1. Introduction
   1.1. Project/Component Working Name:

        libcanberra

   1.2. Name of Document Author/Supplier:
        Author:         Jerry Tan
        Sponsor:

   1.3. Date of This Document:

        18/08/2008

   1.4. Name of Major Document Customer(s)/Consumer(s):

        1.4.1. The PAC or CPT you expect to review your project:

                Solaris PAC

        1.4.2. The ARC(s) you expect to review your project:

                LSARC

        1.4.3. The Director/VP who is "Sponsoring" this project:

                Robert O'Dea

        1.4.4. The name of your business unit:

                Software - OPG

   1.5. Email Aliases:
            1.5.1. Responsible Manager:  leo.binchy at sun.com
            1.5.2. Responsible Engineer: jerry.tan at sun.com
            1.5.3. Interest List:        jds-dev at sun.com

2. Project Summary
   2.1. Project Description:

        libcanberra is a desktop event sound library.

3. Business Summary

    Sound effects are an important part of the usability of modern 
desktops.
    In the past, GNOME events have been managed by ESD, and managed by 
libgnome.
    The GNOME community has long been interested in deprecating the usage
    of both ESD and libgnome, so this library is intended to be the 
replacement.

    The previous solution had a number of problems: a minimal set of 
defined
    sound events, no support for theming, and poor integration into 
applications.
    libcanberra has been introduced to resolve these problems.

4. Technical Description:

    4.1. Details:

    Similar to the XDG Icon Naming Specification and the XDG Icon Theme
    Specification, the FreeDesktop.org community has been working to unify
    event sounds on desktop, so they have created the XDG Sound Theme
    Specification and the XDG Sound Name Specification.  The intent is that
    these two new specifications will be established as the future 
standard for
    sound event theming for free desktops.

    The libcanberra library is a very small and lean implementation of these
    specifications.  It is also very powerful and provides a more rich 
set of
    interfaces.

    An event sound is triggered via libcanberra by calling the 
ca_context_play()
    function on a previously created ca_context object. The 
ca_context_play()
    takes a list of key-value pairs that describe the event sound to 
generate as
    closely as possible. The most important property is CA_PROP_EVENT_ID 
which
    defines the XDG sound name for the sound to play.

    Here is a code sample:

    ca_context *c = NULL;
    /* Create a context for the event sounds for your application */
    ca_context_create(&c);
    /* Set a few application-global properties */
    ca_context_change_props(c,
         CA_PROP_APPLICATION_NAME, "An example",
         CA_PROP_APPLICATION_ID, "org.freedesktop.libcanberra.Test",
         CA_PROP_APPLICATION_ICON_NAME, "libcanberra-test",
         NULL);

    /* ... */

    /* Trigger an event sound */
    ca_context_play(c, 0,
         CA_PROP_EVENT_ID, "button-pressed", /* The XDG sound name */
         CA_PROP_MEDIA_NAME, "The user pressed the button foobar",
         CA_PROP_EVENT_MOUSE_X, "555",
         CA_PROP_EVENT_MOUSE_Y, "666",
         CA_PROP_WINDOW_NAME, "Foobar Dialog",
         CA_PROP_WINDOW_ICON_NAME, "libcanberra-test-foobar-dialog",
         CA_PROP_WINDOW_X11_DISPLAY, ":0",
         CA_PROP_WINDOW_X11_XID, "4711",
         NULL);

    /* ... */

    ca_context_destroy(&c);

    To simplify libcanberra usage from a GTK+ program, GTK+ bindings are
    provided by the libcanberra-gtk library.

    The libcanberra GTK+ module library is used so that sounds 
associated with
    GTK+ widget events are played.  In other words, by making sure that 
all GTK+
    based programs load this module, they will automatically support 
sound event
    theming according to the FreeDesktop specifications.

    libcanberra supports ogg-vorbis for default system sounds since 
ogg-vorbis
    is a good free, compressed standard for desktop audio.

    4.2. Interfaces:

    Exported Interfaces

    Interface                              Classification  Comments
    ---------------                        -------------- 
---------------------
    SUNWlibcanberra                        Uncommitted     the package
    SUNWlibcanberra-devel                  Uncommitted     the dev package

    /usr/bin/canberra-gtk-play             Volatile        tool to play 
event
                                                           sounds
    /usr/lib/libcanberra-gtk.so.0.0.0      Volatile        libcanberra 
library
    /usr/lib/libcanberra.so.0.0.0          Volatile        libcanberra-gtk
                                                           library
    /usr/lib/gtk-2.0/modules/              Volatile        libcanberra GTK+
      libcanberra-gtk-module.so                            module
    /usr/lib/libcanberra/                  Volatile        Plugin directory
    /usr/lib/libcanberra/sunaudio.so       Volatile        SunAudio back-end
                                                           plugin.
    /usr/lib/pkgconfig/libcanberra-gtk.pc  Volatile        libcanberra
    /usr/lib/pkgconfig/libcanberra.pc      Volatile        pkg-config files

    /usr/include/canberra-gtk.h            Volatile        libcanberra-gtk
                                                           header file
    /usr/include/canberra.h                Volatile        libcanberra 
header
                                                           file
    /usr/share/gnome/autostart             Volatile        login sound
       /libcanberra-login-sound.desktop
    /usr/share/gnome/shutdown              Volatile        logout sound
       /libcanberra-logout-sound.sh

    Imported Interfaces

    Interface                    Classification          Comments
    ---------                    --------------          --------
    OGG/Vorbis                   Volatile                LSARC/2008/510
    GTK+                         Uncommitted             LSARC/2008/510
    SATA (Sun Audio)             Committed               PSARC/2001/226

    4.3. Doc Impact:
         Man page is needed.

    4.4. Packaging & Delivery:

         SUNWlibcanberra        - the package for libcanberra
         SUNWlibcanberra-devel  - the dev package for libcanberra

    4.5. Dependencies:


    4.6. L10N Impact:
         The Desktop team is working with the G11N to evaluate and provide
         I18N/L10N support

    4.7 Security Impact:

        None.

    5. Reference Documents:

        http://0pointer.de/blog/projects/sixfold-announcement.html
        http://0pointer.de/public/sound-theme-spec.html
        http://0pointer.de/public/sound-naming-spec.html


6. Resources and Schedule
     6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                GNOME
     6.5. ARC review type: FastTrack
     6.6. ARC Exposure: open


Reply via email to