From sacadmin Thu Jun  5 01:27:02 2008
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m558R2iG010943;
	Thu, 5 Jun 2008 01:27:02 -0700 (PDT)
Received: (from xc149992@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id m558R2nI010939;
	Thu, 5 Jun 2008 01:27:02 -0700 (PDT)
Date: Thu, 5 Jun 2008 01:27:02 -0700 (PDT)
From: Xiang-Dong Frank Che <xc149992@sac.sfbay.sun.com>
Message-Id: <200806050827.m558R2nI010939@sac.sfbay.sun.com>
To: PSARC-record@sac.sfbay.sun.com
Subject: Integrate Snack into Solaris [PSARC/2008/364 FastTrack timeout 06/12/2008]
Status: RO
Content-Length: 557


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:
	 Integrate Snack into Solaris
    1.2. Name of Document Author/Supplier:
	 Author:  Lin Guo
    1.3  Date of This Document:
	05 June, 2008
4. Technical Description
    See the case directory for more detail

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


From Frank.Che@sun.com Thu Jun  5 03:02:56 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m55A2sJR012914
	for <psarc-ext@sac.sfbay.Sun.COM>; Thu, 5 Jun 2008 03:02:55 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m55A2p8N015130;
	Thu, 5 Jun 2008 18:02:54 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K1Z00F01IKSC000@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 05 Jun 2008 03:02:52 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K1Z00B6NIKQSVF0@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 05 Jun 2008 03:02:51 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m55A3CIh000969; Thu,
 05 Jun 2008 10:03:12 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K1Z00H01IHDI200@mail-apac.sun.com> (original mail from Frank.Che@Sun.COM)
 ; Thu, 05 Jun 2008 18:02:29 +0800 (SGT)
Received: from [129.158.218.60] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K1Z0074AIK5XJXL@mail-apac.sun.com>; Thu,
 05 Jun 2008 18:02:29 +0800 (SGT)
Date: Thu, 05 Jun 2008 18:02:57 +0800
From: Frank Che <Frank.Che@sun.com>
Subject: PSARC 2008/364 Integrate Snack into Solaris
Sender: Frank.Che@sun.com
To: PSARC-ext@sun.com
Cc: Lin Guo <Lin.Guo@sun.com>, usb-team@sun.com
Message-id: <4847B9D1.7030809@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
User-Agent: Thunderbird 2.0.0.4 (X11/20070622)
Status: RO
Content-Length: 7058

I'm sponsoring this fast track case for Lin Guo. The timer is set to
06/12/2008. This case is to integrate an open source package, snack
sound toolkit, into Solaris. It requests a minor release binding.

Two man page files created by the submitter and those HTML documents
provided by snack are placed in the 'material' sub-directory of this case.

A contract with Python is in progress now.

-Frank

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:
  Integrate Snack into Solaris
1.2. Name of Document Author/Supplier:
  Author: Lin Guo
1.3 Date of This Document:
  04 June, 2008

4. Technical Description
  Summary

  This project integrates snack into Solaris.
  This project requests a minor binding.

4.1 Proposal

The Snack Sound Toolkit is a open source package. It is designed to be
used with a scripting language such as Tcl/Tk or Python.  Using Snack
you can create powerful multi-platform audio applications with just a
few lines of code.

With features such as:

  * High level sound objects, with flexible storage management and
    streaming support.
  * Multiple simultaneous playback and recording threads (system
    dependent).
  * All audio data handled as floating point internally for fast and
    accurate computations.
  * Multi-platform support.
  * Script compilation tool included, for easy deployment using
    stand-alone executables.
  * Filters which can be used to process sound objects or during
    playback for on-the-fly operation.
  * Visualization with waveforms, spectrograms, and spectrum sections.
    Postscript support.
  * Real-time visualization/spectrum analysis.
  * Web enabled, possible to run scripts embedded in web pages through
    the use of the Tcl Plugins
  * Extensible, new commands, filters, and sound file formats can be
    added using the Snack C-library.
  * Lots of examples included as well as a skeleton C-extension.
  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.

The first consumer of the library is aMSN -- a free open source MSN
Messenger clone which is an Indiana package. AMSN uses snack for voice
clips support.

32 and 64 bit libraries will be provided.

snack provides detailed documentations in html format and examples
describing snack tcl commands and python commands that will be released
with the integration.  New man pages will be provided pointing to the
html documentations. They are included in case directory.

4.2 Interfaces

Exported Interface                          | Stability    |Description
--------------------------------------------|--------------|------------------- 

SUNWsnack                                   | Uncommitted  | package name
/usr/include/snack/snack.h                  | Uncommitted  | header file
/usr/include/snack/snackDecls.h             | Uncommitted  | header file
/usr/include/snack/confdefs.h               | Uncommitted  | header file
/usr/include/snack/jkAudIO.h                | Uncommitted  | header file
/usr/include/snack/jkCanvItems.h            | Uncommitted  | header file
/usr/include/snack/jkFormant.h              | Uncommitted  | header file
/usr/include/snack/jkFormatMP3.h            | Uncommitted  | header file
/usr/include/snack/jkGetFO.h                | Uncommitted  | header file
/usr/include/snack/jkSound.h                | Uncommitted  | header file
/usr/lib/libsnackstub2.2.a                  | Uncommitted  | stubs library
/usr/lib/64/libsnackstub2.2.a               | Uncommitted  | stubs library
/usr/lib/snackConfig.sh                     | Uncommitted  | snack 
extension config script
/usr/lib/64/snackConfig.sh                  | Uncommitted  | snack 
extension config script
/usr/lib/libsnack.so                        | Committed    | snack 
library symbolic link
/usr/lib/libsnack.so.2                      | Uncommitted  | snack 
library symbolic link
/usr/lib/libsnack.so.2.2.10                 | Uncommitted  | snack library
/usr/lib/64/libsnack.so                     | Committed    | snack 
library symbolic link
/usr/lib/64/libsnack.so.2                   | Uncommitted  | snack 
library symbolic link
/usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | snack library
/usr/lib/libsound.so                        | Committed    | snack 
library symbolic link
/usr/lib/libsound.so.2                      | Uncommitted  | snack 
library symbolic link
/usr/lib/libsound.so.2.2.10                 | Uncommitted  | snack library
/usr/lib/64/libsound.so                     | Committed    | snack 
library symbolic link
/usr/lib/64/libsound.so.2                   | Uncommitted  | snack 
library symbolic link
/usr/lib/64/libsound.so.2.2.10              | Uncommitted  | snack library
/usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl package 
index
/usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | snack 
script library
/usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | python script
/usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | Python 
Compiler Script
snack APIs                                  | Uncommitted  | C functions
---------------------------------------------|-------------|-------------------- 


Documents delivered:

/usr/share/man/man1t/snack.1t
/usr/share/man/man3/libsnack.3
/usr/share/doc/snack-2.2/BSD.txt
/usr/share/doc/snack-2.2/COPYING
/usr/share/doc/snack-2.2/README
/usr/share/doc/snack-2.2/changes
/usr/share/doc/snack-2.2/html/AddSubCmd.html
/usr/share/doc/snack-2.2/html/Callback.html
/usr/share/doc/snack-2.2/html/CreateFilter.html
/usr/share/doc/snack-2.2/html/FileFormat.html
/usr/share/doc/snack-2.2/html/SampConv.html
/usr/share/doc/snack-2.2/html/SnackLib.html
/usr/share/doc/snack-2.2/html/SoundData.html
/usr/share/doc/snack-2.2/html/SoundObj.html
/usr/share/doc/snack-2.2/html/SoundProp.html
/usr/share/doc/snack-2.2/html/SoundSamp.html
/usr/share/doc/snack-2.2/html/tcl-man.html
/usr/share/doc/snack-2.2/html/python-man.html
/usr/share/doc/snack-2.2/examples/python/*.py
/usr/share/doc/snack-2.2/examples/tcl/*.tcl
/usr/share/doc/snack-2.2/ext/Makefile.in
/usr/share/doc/snack-2.2/ext/README
/usr/share/doc/snack-2.2/ext/aclocal.m4
/usr/share/doc/snack-2.2/ext/configure
/usr/share/doc/snack-2.2/ext/configure.in
/usr/share/doc/snack-2.2/ext/square.c
/usr/share/doc/snack-2.2/ext/square.dsp
/usr/share/doc/snack-2.2/ext/square.vcproj
/usr/share/doc/snack-2.2/ext/test.tcl


Imported Interface      | Stability       | Description
------------------------+-----------------+-------------
libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
Python 2.4.x            | External        | PSARC 2005/532
------------------------+-----------------+-------------

4.3 References

[1] http://www.speech.kth.se/snack/
[2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
[3] PSARC 2005/532 Python 2.4.x

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


From gdamore@sun.com Thu Jun  5 08:57:00 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m55FuxIr021468
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 5 Jun 2008 08:57:00 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m55Fuqs4015761;
	Thu, 5 Jun 2008 16:56:59 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K1Z0050PYYYR200@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 05 Jun 2008 08:56:58 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K1Z00L18YYYO090@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 05 Jun 2008 08:56:58 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m55Fuvsr016761;
 Thu, 05 Jun 2008 08:56:57 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K1Z00H01YD82X00@fe-sfbay-09.sun.com> (original mail from gdamore@sun.com)
 ; Thu, 05 Jun 2008 08:56:57 -0700 (PDT)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K1Z007BDYYLKKG0@fe-sfbay-09.sun.com>; Thu,
 05 Jun 2008 08:56:46 -0700 (PDT)
Date: Thu, 05 Jun 2008 08:56:14 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <4847B9D1.7030809@sun.com>
Sender: Garrett.Damore@sun.com
To: Frank Che <Frank.Che@sun.com>
Cc: PSARC-ext@sun.com, Lin Guo <Lin.Guo@sun.com>, usb-team@sun.com
Message-id: <48480C9E.4010602@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 8982


I have a couple of concerns here.

1) What are the dependencies of snack for audio?  Can it support OSS?  
Can it support Sun Audio?  How is the selection made (if any)?  (PSARC 
2008/318 specifies a task to introduce OSS into Solaris, and I'm 
concerned that adding a new layer of middleware creates more work for my 
project.  While this shouldn't act as a show stopper for this case, it 
does suggest that we should probably communicate offline.)

2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  My 
concern here is that this will create problems or conflicts with other 
audio middleware?  Can the project team provide more detail about why 
this particular name is required?  (It seems like you also have 
libsnack.  Is libaudio just a symbolic link to libsnack?  Has the 
project team done any survey of other FOSS systems to verify that a) 
this libaudio doesn't conflict with any known uses, and b) the Snack 
libraries are popular enough to minimize the likelihood of any new 
conflicts occurring in the future?

3) Your case describes Python and Tcl/Tk, but your materials include a C 
API.  Is there a need to make this public at this time (are there any 
consumers for this now, or anticipated in the future)?

4) /usr/share/doc/snack-2.2/ext/aclocal.m4 -- is this snack's actual m4 
that it uses for its own configuration, or is this intended as samples 
for applications to include in their own autoconf scripts to detect 
snack?  (If only the former, please remove it.  If the latter, then it 
sounds good to me.)

    -- Garrett

Thanks!

    -- Garrett

Frank Che wrote:
> I'm sponsoring this fast track case for Lin Guo. The timer is set to
> 06/12/2008. This case is to integrate an open source package, snack
> sound toolkit, into Solaris. It requests a minor release binding.
>
> Two man page files created by the submitter and those HTML documents
> provided by snack are placed in the 'material' sub-directory of this 
> case.
>
> A contract with Python is in progress now.
>
> -Frank
>
> 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:
>  Integrate Snack into Solaris
> 1.2. Name of Document Author/Supplier:
>  Author: Lin Guo
> 1.3 Date of This Document:
>  04 June, 2008
>
> 4. Technical Description
>  Summary
>
>  This project integrates snack into Solaris.
>  This project requests a minor binding.
>
> 4.1 Proposal
>
> The Snack Sound Toolkit is a open source package. It is designed to be
> used with a scripting language such as Tcl/Tk or Python.  Using Snack
> you can create powerful multi-platform audio applications with just a
> few lines of code.
>
> With features such as:
>
>  * High level sound objects, with flexible storage management and
>    streaming support.
>  * Multiple simultaneous playback and recording threads (system
>    dependent).
>  * All audio data handled as floating point internally for fast and
>    accurate computations.
>  * Multi-platform support.
>  * Script compilation tool included, for easy deployment using
>    stand-alone executables.
>  * Filters which can be used to process sound objects or during
>    playback for on-the-fly operation.
>  * Visualization with waveforms, spectrograms, and spectrum sections.
>    Postscript support.
>  * Real-time visualization/spectrum analysis.
>  * Web enabled, possible to run scripts embedded in web pages through
>    the use of the Tcl Plugins
>  * Extensible, new commands, filters, and sound file formats can be
>    added using the Snack C-library.
>  * Lots of examples included as well as a skeleton C-extension.
>  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.
>
> The first consumer of the library is aMSN -- a free open source MSN
> Messenger clone which is an Indiana package. AMSN uses snack for voice
> clips support.
>
> 32 and 64 bit libraries will be provided.
>
> snack provides detailed documentations in html format and examples
> describing snack tcl commands and python commands that will be released
> with the integration.  New man pages will be provided pointing to the
> html documentations. They are included in case directory.
>
> 4.2 Interfaces
>
> Exported Interface                          | Stability    |Description
> --------------------------------------------|--------------|------------------- 
>
> SUNWsnack                                   | Uncommitted  | package name
> /usr/include/snack/snack.h                  | Uncommitted  | header file
> /usr/include/snack/snackDecls.h             | Uncommitted  | header file
> /usr/include/snack/confdefs.h               | Uncommitted  | header file
> /usr/include/snack/jkAudIO.h                | Uncommitted  | header file
> /usr/include/snack/jkCanvItems.h            | Uncommitted  | header file
> /usr/include/snack/jkFormant.h              | Uncommitted  | header file
> /usr/include/snack/jkFormatMP3.h            | Uncommitted  | header file
> /usr/include/snack/jkGetFO.h                | Uncommitted  | header file
> /usr/include/snack/jkSound.h                | Uncommitted  | header file
> /usr/lib/libsnackstub2.2.a                  | Uncommitted  | stubs 
> library
> /usr/lib/64/libsnackstub2.2.a               | Uncommitted  | stubs 
> library
> /usr/lib/snackConfig.sh                     | Uncommitted  | snack 
> extension config script
> /usr/lib/64/snackConfig.sh                  | Uncommitted  | snack 
> extension config script
> /usr/lib/libsnack.so                        | Committed    | snack 
> library symbolic link
> /usr/lib/libsnack.so.2                      | Uncommitted  | snack 
> library symbolic link
> /usr/lib/libsnack.so.2.2.10                 | Uncommitted  | snack 
> library
> /usr/lib/64/libsnack.so                     | Committed    | snack 
> library symbolic link
> /usr/lib/64/libsnack.so.2                   | Uncommitted  | snack 
> library symbolic link
> /usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | snack 
> library
> /usr/lib/libsound.so                        | Committed    | snack 
> library symbolic link
> /usr/lib/libsound.so.2                      | Uncommitted  | snack 
> library symbolic link
> /usr/lib/libsound.so.2.2.10                 | Uncommitted  | snack 
> library
> /usr/lib/64/libsound.so                     | Committed    | snack 
> library symbolic link
> /usr/lib/64/libsound.so.2                   | Uncommitted  | snack 
> library symbolic link
> /usr/lib/64/libsound.so.2.2.10              | Uncommitted  | snack 
> library
> /usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl 
> package index
> /usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | snack 
> script library
> /usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | python 
> script
> /usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | Python 
> Compiler Script
> snack APIs                                  | Uncommitted  | C functions
> ---------------------------------------------|-------------|-------------------- 
>
>
> Documents delivered:
>
> /usr/share/man/man1t/snack.1t
> /usr/share/man/man3/libsnack.3
> /usr/share/doc/snack-2.2/BSD.txt
> /usr/share/doc/snack-2.2/COPYING
> /usr/share/doc/snack-2.2/README
> /usr/share/doc/snack-2.2/changes
> /usr/share/doc/snack-2.2/html/AddSubCmd.html
> /usr/share/doc/snack-2.2/html/Callback.html
> /usr/share/doc/snack-2.2/html/CreateFilter.html
> /usr/share/doc/snack-2.2/html/FileFormat.html
> /usr/share/doc/snack-2.2/html/SampConv.html
> /usr/share/doc/snack-2.2/html/SnackLib.html
> /usr/share/doc/snack-2.2/html/SoundData.html
> /usr/share/doc/snack-2.2/html/SoundObj.html
> /usr/share/doc/snack-2.2/html/SoundProp.html
> /usr/share/doc/snack-2.2/html/SoundSamp.html
> /usr/share/doc/snack-2.2/html/tcl-man.html
> /usr/share/doc/snack-2.2/html/python-man.html
> /usr/share/doc/snack-2.2/examples/python/*.py
> /usr/share/doc/snack-2.2/examples/tcl/*.tcl
> /usr/share/doc/snack-2.2/ext/Makefile.in
> /usr/share/doc/snack-2.2/ext/README
> /usr/share/doc/snack-2.2/ext/aclocal.m4
> /usr/share/doc/snack-2.2/ext/configure
> /usr/share/doc/snack-2.2/ext/configure.in
> /usr/share/doc/snack-2.2/ext/square.c
> /usr/share/doc/snack-2.2/ext/square.dsp
> /usr/share/doc/snack-2.2/ext/square.vcproj
> /usr/share/doc/snack-2.2/ext/test.tcl
>
>
> Imported Interface      | Stability       | Description
> ------------------------+-----------------+-------------
> libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
> Python 2.4.x            | External        | PSARC 2005/532
> ------------------------+-----------------+-------------
>
> 4.3 References
>
> [1] http://www.speech.kth.se/snack/
> [2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
> [3] PSARC 2005/532 Python 2.4.x
>
> 6. Resources and Schedule
> 6.4. Steering Committee requested information
> 6.4.1. Consolidation C-team Name:
>          SFW
> 6.5. ARC review type: FastTrack
> 6.6. ARC Exposure: open
>


From bart.smaalders@sun.com Thu Jun  5 10:00:04 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m55H03Ou024400
	for <psarc-ext@sac.sfbay.Sun.COM>; Thu, 5 Jun 2008 10:00:03 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m55Gxu7g014902;
	Fri, 6 Jun 2008 00:59:59 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2000J0J1VW9E00@brm-avmta-1.central.sun.com>; Thu,
 05 Jun 2008 10:59:56 -0600 (MDT)
Received: from zion.sfbay.sun.com ([129.146.17.75])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2000BRG1VVIH70@brm-avmta-1.central.sun.com>; Thu,
 05 Jun 2008 10:59:55 -0600 (MDT)
Received: from [129.146.228.109] (cyber.SFBay.Sun.COM [129.146.228.109])
	by zion.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m55GxtDH000576; Thu,
 05 Jun 2008 16:59:55 +0000 (GMT)
Date: Thu, 05 Jun 2008 09:59:55 -0700
From: Bart Smaalders <bart.smaalders@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <48480C9E.4010602@sun.com>
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Frank Che <Frank.Che@sun.com>, PSARC-ext@sun.com,
        Lin Guo <Lin.Guo@sun.com>, usb-team@sun.com
Message-id: <48481B8B.7040004@Sun.COM>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
User-Agent: Thunderbird 2.0.0.14 (X11/20080507)
Status: RO
Content-Length: 1941

Garrett D'Amore wrote:
> 
> I have a couple of concerns here.
> 
> 1) What are the dependencies of snack for audio?  Can it support OSS?  
> Can it support Sun Audio?  How is the selection made (if any)?  (PSARC 
> 2008/318 specifies a task to introduce OSS into Solaris, and I'm 
> concerned that adding a new layer of middleware creates more work for my 
> project.  While this shouldn't act as a show stopper for this case, it 
> does suggest that we should probably communicate offline.)
> 

Which is of course completely beside the point.  This project will use 
existing
Solaris audio APIs; it is just one more consumer of /dev/audio.  I 
assume your
project will not remove that interface.

 From the web site:

	Multi-platform, same scripts usable on Windows 95/98/NT/2K/XP, Linux,
	Macintosh, Sun Solaris, HP-UX, FreeBSD, NetBSD, and SGI IRIX.

> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  My 
> concern here is that this will create problems or conflicts with other 
> audio middleware?  Can the project team provide more detail about why 
> this particular name is required?  (It seems like you also have 
> libsnack.  Is libaudio just a symbolic link to libsnack?  Has the 
> project team done any survey of other FOSS systems to verify that a) 
> this libaudio doesn't conflict with any known uses, and b) the Snack 
> libraries are popular enough to minimize the likelihood of any new 
> conflicts occurring in the future?

Google gives me 7 hits for this library name, all apparently involving 
snack.
I find google to be an effective way of answering these sorts of questions.

Do you feel that only software considered to be sufficiently popular
may introduce new libraries with names perceived to be generic into 
/usr/lib?

- Bart



-- 
Bart Smaalders			Solaris Kernel Performance
barts@cyber.eng.sun.com		http://blogs.sun.com/barts
"You will contribute more with mercurial than with thunderbird."

From gdamore@Sun.COM Thu Jun  5 10:20:34 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m55HKXhu025346
	for <psarc-ext@sac.sfbay.Sun.COM>; Thu, 5 Jun 2008 10:20:34 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m55HHXqb022178;
	Fri, 6 Jun 2008 01:20:32 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2000E012U3AP00@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 05 Jun 2008 10:20:27 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2000CQS2U3KU00@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 05 Jun 2008 10:20:27 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m55HKRAL020974;
 Thu, 05 Jun 2008 10:20:27 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K2000F012FOLN00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 ; Thu, 05 Jun 2008 10:20:26 -0700 (PDT)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K2000JSR2U2Z990@fe-sfbay-10.sun.com>; Thu,
 05 Jun 2008 10:20:26 -0700 (PDT)
Date: Thu, 05 Jun 2008 10:19:55 -0700
From: "Garrett D'Amore" <gdamore@Sun.COM>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <48481B8B.7040004@Sun.COM>
Sender: Garrett.Damore@Sun.COM
To: Bart Smaalders <Bart.Smaalders@Sun.COM>
Cc: Frank Che <Frank.Che@Sun.COM>, PSARC-ext@Sun.COM,
        Lin Guo <Lin.Guo@Sun.COM>, usb-team@Sun.COM
Message-id: <4848203B.6010808@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <48481B8B.7040004@Sun.COM>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 3793

Bart Smaalders wrote:
> Garrett D'Amore wrote:
>>
>> I have a couple of concerns here.
>>
>> 1) What are the dependencies of snack for audio?  Can it support 
>> OSS?  Can it support Sun Audio?  How is the selection made (if any)?  
>> (PSARC 2008/318 specifies a task to introduce OSS into Solaris, and 
>> I'm concerned that adding a new layer of middleware creates more work 
>> for my project.  While this shouldn't act as a show stopper for this 
>> case, it does suggest that we should probably communicate offline.)
>>
>
> Which is of course completely beside the point.  This project will use 
> existing
> Solaris audio APIs; it is just one more consumer of /dev/audio.  I 
> assume your
> project will not remove that interface.

That is correct.

(That said, we may, as part of a future project, look at making it use 
OSS, if it can.  In particular, there may be new audio features 
supported by OSS, such as 7.1 surround, which the Sun audio interfaces 
are simply incapable of expressing.)

I do confess, I have one possible concern here, surrounding phased 
delivery, and autodetection of interfaces.  If the autoconfiguration 
script detects OSS on the build system, then unless we have delivered 
OSS interfaces on all Solaris audio devices, then there could be breakage.

While this isn't a problem for Solaris bundled audio drivers, I'm a bit 
concerned about Sun Ray.  Due to the unbundled nature of Sun Ray, the 
delivery schedule for full OSS support for Sun Ray may lag the initial 
Solaris integration.  I'm not sure there is anything that I can do about 
that.

These are the questions which could be answered by some more 
coordination with my team, which is all I'm asking for.  I don't think 
any of them are show stoppers for the project.

>
> From the web site:
>
>     Multi-platform, same scripts usable on Windows 95/98/NT/2K/XP, Linux,
>     Macintosh, Sun Solaris, HP-UX, FreeBSD, NetBSD, and SGI IRIX.
>
>> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  My 
>> concern here is that this will create problems or conflicts with 
>> other audio middleware?  Can the project team provide more detail 
>> about why this particular name is required?  (It seems like you also 
>> have libsnack.  Is libaudio just a symbolic link to libsnack?  Has 
>> the project team done any survey of other FOSS systems to verify that 
>> a) this libaudio doesn't conflict with any known uses, and b) the 
>> Snack libraries are popular enough to minimize the likelihood of any 
>> new conflicts occurring in the future?
>
> Google gives me 7 hits for this library name, all apparently involving 
> snack.
> I find google to be an effective way of answering these sorts of 
> questions.
>
> Do you feel that only software considered to be sufficiently popular
> may introduce new libraries with names perceived to be generic into 
> /usr/lib?

No, but it doesn't hurt to do the upfront homework to minimize problems 
later.  Particularly when integrating FOSS software with a more 
"limited" review.  (In a more complete review of Sun supplied software, 
we might ask the same questions, and make sure that a generic name 
really isn't going to be a cause for conflict.)

If some oddball FOSS project that hardly anyone uses uses a library name 
which is likely to collide with other more popular FOSS projects, then 
we should at least try to be aware of it.  We can then decide whether 
mitigating actions, if any, should be taken.

Btw, I can think of at least a couple different solutions to namespace 
collision that I think could be taken, none of which necessarily prevent 
this project from delivering or preventing it from being used by FOSS 
code, if we decide that this is a problem we should be concerned about.

    -- Garrett

>
> - Bart
>
>
>


From Lin.Guo@Sun.COM Thu Jun  5 23:36:30 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m566aT9f011689
	for <psarc-ext@sac.sfbay.Sun.COM>; Thu, 5 Jun 2008 23:36:30 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m566aSE2020124
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Fri, 6 Jun 2008 14:36:28 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2100D053OPY300@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Fri, 06 Jun 2008 00:36:25 -0600 (MDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2100BW63OO0620@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Fri,
 06 Jun 2008 00:36:25 -0600 (MDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m566ajh5015723	for
 <PSARC-ext@sun.com>; Fri, 06 Jun 2008 06:36:45 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K21005013DIMS00@mail-apac.sun.com> (original mail from Lin.Guo@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Fri,
 06 Jun 2008 14:34:50 +0800 (SGT)
Received: from [129.158.218.96] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2100BCC3LTRGO1@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Fri, 06 Jun 2008 14:34:42 +0800 (SGT)
Date: Fri, 06 Jun 2008 14:30:20 +0800
From: Lin Guo <Lin.Guo@Sun.COM>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <48480C9E.4010602@sun.com>
Sender: Lin.Guo@Sun.COM
To: "Garrett D'Amore" <gdamore@Sun.COM>
Cc: Frank Che <Frank.Che@Sun.COM>, PSARC-ext@Sun.COM
Message-id: <4848D97C.7020302@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
Status: RO
Content-Length: 10464

Garrett D'Amore wrote:
>
> I have a couple of concerns here.
>
> 1) What are the dependencies of snack for audio?  Can it support OSS?  
> Can it support Sun Audio?  How is the selection made (if any)?  (PSARC 
> 2008/318 specifies a task to introduce OSS into Solaris, and I'm 
> concerned that adding a new layer of middleware creates more work for 
> my project.  While this shouldn't act as a show stopper for this case, 
> it does suggest that we should probably communicate offline.)
Snack supports Sun Audio,  OSS and ALSA. Compiling snack with different 
configure flag may enable different audio support.
Whenever OSS is integrated to Solaris and is stable, I will change snack 
to OSS since OSS has new features that not provided by Sun Audio.
>
> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  My 
> concern here is that this will create problems or conflicts with other 
> audio middleware?  Can the project team provide more detail about why 
> this particular name is required?  (It seems like you also have 
> libsnack.  Is libaudio just a symbolic link to libsnack?  Has the 
> project team done any survey of other FOSS systems to verify that a) 
> this libaudio doesn't conflict with any known uses, and b) the Snack 
> libraries are popular enough to minimize the likelihood of any new 
> conflicts occurring in the future?
It really my concerns when I saw the "awful" name.  libsound is not a 
symbolic link to libsnack, it provides similar functionalities to 
libsnack except graphics support.
I looked into other FOSS systems and found that libsound is in /usr/lib 
too. Google results prove that snack libraries are popular enough to 
prevent conflicts with  other libraries.

>
> 3) Your case describes Python and Tcl/Tk, but your materials include a 
> C API.  Is there a need to make this public at this time (are there 
> any consumers for this now, or anticipated in the future)?
There is no consumers for this C API now. But the C API is a part of 
snack project. Using it, you could write your own snack extensions in 
C/C++. You can also create custom commands that operate on Snack's sound 
objects. That means if snack Tcl/Tk commands are not enough for your 
application. You could create custom commands to extend Snack and then 
use the commands just as any other Snack sound commands in writing your 
application.
>
>
> 4) /usr/share/doc/snack-2.2/ext/aclocal.m4 -- is this snack's actual 
> m4 that it uses for its own configuration, or is this intended as 
> samples for applications to include in their own autoconf scripts to 
> detect snack?  (If only the former, please remove it.  If the latter, 
> then it sounds good to me.)
It is the latter. A whole example of how to write a snack extension is 
in "ext" directory including the m4 file.

Thanks for your comments,
Lin
>
>    -- Garrett
>
> Thanks!
>
>    -- Garrett
>
> Frank Che wrote:
>> I'm sponsoring this fast track case for Lin Guo. The timer is set to
>> 06/12/2008. This case is to integrate an open source package, snack
>> sound toolkit, into Solaris. It requests a minor release binding.
>>
>> Two man page files created by the submitter and those HTML documents
>> provided by snack are placed in the 'material' sub-directory of this 
>> case.
>>
>> A contract with Python is in progress now.
>>
>> -Frank
>>
>> 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:
>>  Integrate Snack into Solaris
>> 1.2. Name of Document Author/Supplier:
>>  Author: Lin Guo
>> 1.3 Date of This Document:
>>  04 June, 2008
>>
>> 4. Technical Description
>>  Summary
>>
>>  This project integrates snack into Solaris.
>>  This project requests a minor binding.
>>
>> 4.1 Proposal
>>
>> The Snack Sound Toolkit is a open source package. It is designed to be
>> used with a scripting language such as Tcl/Tk or Python.  Using Snack
>> you can create powerful multi-platform audio applications with just a
>> few lines of code.
>>
>> With features such as:
>>
>>  * High level sound objects, with flexible storage management and
>>    streaming support.
>>  * Multiple simultaneous playback and recording threads (system
>>    dependent).
>>  * All audio data handled as floating point internally for fast and
>>    accurate computations.
>>  * Multi-platform support.
>>  * Script compilation tool included, for easy deployment using
>>    stand-alone executables.
>>  * Filters which can be used to process sound objects or during
>>    playback for on-the-fly operation.
>>  * Visualization with waveforms, spectrograms, and spectrum sections.
>>    Postscript support.
>>  * Real-time visualization/spectrum analysis.
>>  * Web enabled, possible to run scripts embedded in web pages through
>>    the use of the Tcl Plugins
>>  * Extensible, new commands, filters, and sound file formats can be
>>    added using the Snack C-library.
>>  * Lots of examples included as well as a skeleton C-extension.
>>  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.
>>
>> The first consumer of the library is aMSN -- a free open source MSN
>> Messenger clone which is an Indiana package. AMSN uses snack for voice
>> clips support.
>>
>> 32 and 64 bit libraries will be provided.
>>
>> snack provides detailed documentations in html format and examples
>> describing snack tcl commands and python commands that will be released
>> with the integration.  New man pages will be provided pointing to the
>> html documentations. They are included in case directory.
>>
>> 4.2 Interfaces
>>
>> Exported Interface                          | Stability    |Description
>> --------------------------------------------|--------------|------------------- 
>>
>> SUNWsnack                                   | Uncommitted  | package 
>> name
>> /usr/include/snack/snack.h                  | Uncommitted  | header file
>> /usr/include/snack/snackDecls.h             | Uncommitted  | header file
>> /usr/include/snack/confdefs.h               | Uncommitted  | header file
>> /usr/include/snack/jkAudIO.h                | Uncommitted  | header file
>> /usr/include/snack/jkCanvItems.h            | Uncommitted  | header file
>> /usr/include/snack/jkFormant.h              | Uncommitted  | header file
>> /usr/include/snack/jkFormatMP3.h            | Uncommitted  | header file
>> /usr/include/snack/jkGetFO.h                | Uncommitted  | header file
>> /usr/include/snack/jkSound.h                | Uncommitted  | header file
>> /usr/lib/libsnackstub2.2.a                  | Uncommitted  | stubs 
>> library
>> /usr/lib/64/libsnackstub2.2.a               | Uncommitted  | stubs 
>> library
>> /usr/lib/snackConfig.sh                     | Uncommitted  | snack 
>> extension config script
>> /usr/lib/64/snackConfig.sh                  | Uncommitted  | snack 
>> extension config script
>> /usr/lib/libsnack.so                        | Committed    | snack 
>> library symbolic link
>> /usr/lib/libsnack.so.2                      | Uncommitted  | snack 
>> library symbolic link
>> /usr/lib/libsnack.so.2.2.10                 | Uncommitted  | snack 
>> library
>> /usr/lib/64/libsnack.so                     | Committed    | snack 
>> library symbolic link
>> /usr/lib/64/libsnack.so.2                   | Uncommitted  | snack 
>> library symbolic link
>> /usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | snack 
>> library
>> /usr/lib/libsound.so                        | Committed    | snack 
>> library symbolic link
>> /usr/lib/libsound.so.2                      | Uncommitted  | snack 
>> library symbolic link
>> /usr/lib/libsound.so.2.2.10                 | Uncommitted  | snack 
>> library
>> /usr/lib/64/libsound.so                     | Committed    | snack 
>> library symbolic link
>> /usr/lib/64/libsound.so.2                   | Uncommitted  | snack 
>> library symbolic link
>> /usr/lib/64/libsound.so.2.2.10              | Uncommitted  | snack 
>> library
>> /usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl 
>> package index
>> /usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | snack 
>> script library
>> /usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | python 
>> script
>> /usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | Python 
>> Compiler Script
>> snack APIs                                  | Uncommitted  | C functions
>> ---------------------------------------------|-------------|-------------------- 
>>
>>
>> Documents delivered:
>>
>> /usr/share/man/man1t/snack.1t
>> /usr/share/man/man3/libsnack.3
>> /usr/share/doc/snack-2.2/BSD.txt
>> /usr/share/doc/snack-2.2/COPYING
>> /usr/share/doc/snack-2.2/README
>> /usr/share/doc/snack-2.2/changes
>> /usr/share/doc/snack-2.2/html/AddSubCmd.html
>> /usr/share/doc/snack-2.2/html/Callback.html
>> /usr/share/doc/snack-2.2/html/CreateFilter.html
>> /usr/share/doc/snack-2.2/html/FileFormat.html
>> /usr/share/doc/snack-2.2/html/SampConv.html
>> /usr/share/doc/snack-2.2/html/SnackLib.html
>> /usr/share/doc/snack-2.2/html/SoundData.html
>> /usr/share/doc/snack-2.2/html/SoundObj.html
>> /usr/share/doc/snack-2.2/html/SoundProp.html
>> /usr/share/doc/snack-2.2/html/SoundSamp.html
>> /usr/share/doc/snack-2.2/html/tcl-man.html
>> /usr/share/doc/snack-2.2/html/python-man.html
>> /usr/share/doc/snack-2.2/examples/python/*.py
>> /usr/share/doc/snack-2.2/examples/tcl/*.tcl
>> /usr/share/doc/snack-2.2/ext/Makefile.in
>> /usr/share/doc/snack-2.2/ext/README
>> /usr/share/doc/snack-2.2/ext/aclocal.m4
>> /usr/share/doc/snack-2.2/ext/configure
>> /usr/share/doc/snack-2.2/ext/configure.in
>> /usr/share/doc/snack-2.2/ext/square.c
>> /usr/share/doc/snack-2.2/ext/square.dsp
>> /usr/share/doc/snack-2.2/ext/square.vcproj
>> /usr/share/doc/snack-2.2/ext/test.tcl
>>
>>
>> Imported Interface      | Stability       | Description
>> ------------------------+-----------------+-------------
>> libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
>> Python 2.4.x            | External        | PSARC 2005/532
>> ------------------------+-----------------+-------------
>>
>> 4.3 References
>>
>> [1] http://www.speech.kth.se/snack/
>> [2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
>> [3] PSARC 2005/532 Python 2.4.x
>>
>> 6. Resources and Schedule
>> 6.4. Steering Committee requested information
>> 6.4.1. Consolidation C-team Name:
>>          SFW
>> 6.5. ARC review type: FastTrack
>> 6.6. ARC Exposure: open
>>
>

From gdamore@sun.com Fri Jun  6 00:22:46 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m567Mjc2012986
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 6 Jun 2008 00:22:45 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m567MgZ2000639
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Fri, 6 Jun 2008 08:22:44 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2100H035TVCC00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Fri, 06 Jun 2008 00:22:43 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K21006V05TU8M60@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Fri,
 06 Jun 2008 00:22:42 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m567MgMG028949	for
 <PSARC-ext@sun.com>; Fri, 06 Jun 2008 00:22:42 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K21008015Q03X00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Fri,
 06 Jun 2008 00:22:42 -0700 (PDT)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K2100MRJ5TU6UC0@fe-sfbay-10.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Fri,
 06 Jun 2008 00:22:42 -0700 (PDT)
Date: Fri, 06 Jun 2008 00:22:08 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <4848D97C.7020302@sun.com>
Sender: Garrett.Damore@sun.com
To: Lin Guo <Lin.Guo@sun.com>
Cc: Frank Che <Frank.Che@sun.com>, PSARC-ext@sun.com
Message-id: <4848E5A0.1020408@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 12449

Lin Guo wrote:
> Garrett D'Amore wrote:
>>
>> I have a couple of concerns here.
>>
>> 1) What are the dependencies of snack for audio?  Can it support 
>> OSS?  Can it support Sun Audio?  How is the selection made (if any)?  
>> (PSARC 2008/318 specifies a task to introduce OSS into Solaris, and 
>> I'm concerned that adding a new layer of middleware creates more work 
>> for my project.  While this shouldn't act as a show stopper for this 
>> case, it does suggest that we should probably communicate offline.)
> Snack supports Sun Audio,  OSS and ALSA. Compiling snack with 
> different configure flag may enable different audio support.
> Whenever OSS is integrated to Solaris and is stable, I will change 
> snack to OSS since OSS has new features that not provided by Sun Audio.

Okay, as long as it won't automatically switch to OSS when OSS 
integrates (e.g. by way of autoconf), then we're OK.  We will want to 
switch, but I think we want to control the "when", to make sure we don't 
mess up support for Sun Ray, which will probably be delivered in a 
subsequent phase.

>>
>> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  My 
>> concern here is that this will create problems or conflicts with 
>> other audio middleware?  Can the project team provide more detail 
>> about why this particular name is required?  (It seems like you also 
>> have libsnack.  Is libaudio just a symbolic link to libsnack?  Has 
>> the project team done any survey of other FOSS systems to verify that 
>> a) this libaudio doesn't conflict with any known uses, and b) the 
>> Snack libraries are popular enough to minimize the likelihood of any 
>> new conflicts occurring in the future?
> It really my concerns when I saw the "awful" name.  libsound is not a 
> symbolic link to libsnack, it provides similar functionalities to 
> libsnack except graphics support.
> I looked into other FOSS systems and found that libsound is in 
> /usr/lib too. Google results prove that snack libraries are popular 
> enough to prevent conflicts with  other libraries.

OK.   If you're confident that this won't be an issue, then I'm happy.  
(Can you, off hand, name any distros which have this installed or 
delivered either by default, or as a commonly used add-on?  I did see 
RPMs for it, but I'm not sure if that means it is popular or not.)

>
>>
>> 3) Your case describes Python and Tcl/Tk, but your materials include 
>> a C API.  Is there a need to make this public at this time (are there 
>> any consumers for this now, or anticipated in the future)?
> There is no consumers for this C API now. But the C API is a part of 
> snack project. Using it, you could write your own snack extensions in 
> C/C++. You can also create custom commands that operate on Snack's 
> sound objects. That means if snack Tcl/Tk commands are not enough for 
> your application. You could create custom commands to extend Snack and 
> then use the commands just as any other Snack sound commands in 
> writing your application.

Can I make a suggestion then, that you start with the C/C++ API being 
Project Private for now.  It will be quite easy to uplevel the API 
later, if it proves to be desirable or necessary, but without any 
identified consumers, I prefer to take the safe road and avoid making 
promises.  (Plus, this frees the project team from having to supply 
documentation for those APIs.)

Another way of looking at it is, if you don't have any consumers, then 
you really can't be sure what the stability of the API will be.

Note that this is only a *suggestion*, so take it or leave it at your 
discretion.

>>
>>
>> 4) /usr/share/doc/snack-2.2/ext/aclocal.m4 -- is this snack's actual 
>> m4 that it uses for its own configuration, or is this intended as 
>> samples for applications to include in their own autoconf scripts to 
>> detect snack?  (If only the former, please remove it.  If the latter, 
>> then it sounds good to me.)
> It is the latter. A whole example of how to write a snack extension is 
> in "ext" directory including the m4 file.

Ah, so that's what the ext is.  Are such extensions C/C++, or are they 
are written in some other language?  (Again, while this sounds possibly 
interesting, I think it leads into the questions in 3 above -- if there 
are no known consumers, might be better to add the work to make it 
public in a following case, when at least one consumer is identified.)

>
> Thanks for your comments,

Sure.  I appreciate your answers to my questions.  It sounds like your 
project is right on track.

    - -Garrett

> Lin
>>
>>    -- Garrett
>>
>> Thanks!
>>
>>    -- Garrett
>>
>> Frank Che wrote:
>>> I'm sponsoring this fast track case for Lin Guo. The timer is set to
>>> 06/12/2008. This case is to integrate an open source package, snack
>>> sound toolkit, into Solaris. It requests a minor release binding.
>>>
>>> Two man page files created by the submitter and those HTML documents
>>> provided by snack are placed in the 'material' sub-directory of this 
>>> case.
>>>
>>> A contract with Python is in progress now.
>>>
>>> -Frank
>>>
>>> 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:
>>>  Integrate Snack into Solaris
>>> 1.2. Name of Document Author/Supplier:
>>>  Author: Lin Guo
>>> 1.3 Date of This Document:
>>>  04 June, 2008
>>>
>>> 4. Technical Description
>>>  Summary
>>>
>>>  This project integrates snack into Solaris.
>>>  This project requests a minor binding.
>>>
>>> 4.1 Proposal
>>>
>>> The Snack Sound Toolkit is a open source package. It is designed to be
>>> used with a scripting language such as Tcl/Tk or Python.  Using Snack
>>> you can create powerful multi-platform audio applications with just a
>>> few lines of code.
>>>
>>> With features such as:
>>>
>>>  * High level sound objects, with flexible storage management and
>>>    streaming support.
>>>  * Multiple simultaneous playback and recording threads (system
>>>    dependent).
>>>  * All audio data handled as floating point internally for fast and
>>>    accurate computations.
>>>  * Multi-platform support.
>>>  * Script compilation tool included, for easy deployment using
>>>    stand-alone executables.
>>>  * Filters which can be used to process sound objects or during
>>>    playback for on-the-fly operation.
>>>  * Visualization with waveforms, spectrograms, and spectrum sections.
>>>    Postscript support.
>>>  * Real-time visualization/spectrum analysis.
>>>  * Web enabled, possible to run scripts embedded in web pages through
>>>    the use of the Tcl Plugins
>>>  * Extensible, new commands, filters, and sound file formats can be
>>>    added using the Snack C-library.
>>>  * Lots of examples included as well as a skeleton C-extension.
>>>  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.
>>>
>>> The first consumer of the library is aMSN -- a free open source MSN
>>> Messenger clone which is an Indiana package. AMSN uses snack for voice
>>> clips support.
>>>
>>> 32 and 64 bit libraries will be provided.
>>>
>>> snack provides detailed documentations in html format and examples
>>> describing snack tcl commands and python commands that will be released
>>> with the integration.  New man pages will be provided pointing to the
>>> html documentations. They are included in case directory.
>>>
>>> 4.2 Interfaces
>>>
>>> Exported Interface                          | Stability    |Description
>>> --------------------------------------------|--------------|------------------- 
>>>
>>> SUNWsnack                                   | Uncommitted  | package 
>>> name
>>> /usr/include/snack/snack.h                  | Uncommitted  | header 
>>> file
>>> /usr/include/snack/snackDecls.h             | Uncommitted  | header 
>>> file
>>> /usr/include/snack/confdefs.h               | Uncommitted  | header 
>>> file
>>> /usr/include/snack/jkAudIO.h                | Uncommitted  | header 
>>> file
>>> /usr/include/snack/jkCanvItems.h            | Uncommitted  | header 
>>> file
>>> /usr/include/snack/jkFormant.h              | Uncommitted  | header 
>>> file
>>> /usr/include/snack/jkFormatMP3.h            | Uncommitted  | header 
>>> file
>>> /usr/include/snack/jkGetFO.h                | Uncommitted  | header 
>>> file
>>> /usr/include/snack/jkSound.h                | Uncommitted  | header 
>>> file
>>> /usr/lib/libsnackstub2.2.a                  | Uncommitted  | stubs 
>>> library
>>> /usr/lib/64/libsnackstub2.2.a               | Uncommitted  | stubs 
>>> library
>>> /usr/lib/snackConfig.sh                     | Uncommitted  | snack 
>>> extension config script
>>> /usr/lib/64/snackConfig.sh                  | Uncommitted  | snack 
>>> extension config script
>>> /usr/lib/libsnack.so                        | Committed    | snack 
>>> library symbolic link
>>> /usr/lib/libsnack.so.2                      | Uncommitted  | snack 
>>> library symbolic link
>>> /usr/lib/libsnack.so.2.2.10                 | Uncommitted  | snack 
>>> library
>>> /usr/lib/64/libsnack.so                     | Committed    | snack 
>>> library symbolic link
>>> /usr/lib/64/libsnack.so.2                   | Uncommitted  | snack 
>>> library symbolic link
>>> /usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | snack 
>>> library
>>> /usr/lib/libsound.so                        | Committed    | snack 
>>> library symbolic link
>>> /usr/lib/libsound.so.2                      | Uncommitted  | snack 
>>> library symbolic link
>>> /usr/lib/libsound.so.2.2.10                 | Uncommitted  | snack 
>>> library
>>> /usr/lib/64/libsound.so                     | Committed    | snack 
>>> library symbolic link
>>> /usr/lib/64/libsound.so.2                   | Uncommitted  | snack 
>>> library symbolic link
>>> /usr/lib/64/libsound.so.2.2.10              | Uncommitted  | snack 
>>> library
>>> /usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl 
>>> package index
>>> /usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | snack 
>>> script library
>>> /usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | python 
>>> script
>>> /usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | Python 
>>> Compiler Script
>>> snack APIs                                  | Uncommitted  | C 
>>> functions
>>> ---------------------------------------------|-------------|-------------------- 
>>>
>>>
>>> Documents delivered:
>>>
>>> /usr/share/man/man1t/snack.1t
>>> /usr/share/man/man3/libsnack.3
>>> /usr/share/doc/snack-2.2/BSD.txt
>>> /usr/share/doc/snack-2.2/COPYING
>>> /usr/share/doc/snack-2.2/README
>>> /usr/share/doc/snack-2.2/changes
>>> /usr/share/doc/snack-2.2/html/AddSubCmd.html
>>> /usr/share/doc/snack-2.2/html/Callback.html
>>> /usr/share/doc/snack-2.2/html/CreateFilter.html
>>> /usr/share/doc/snack-2.2/html/FileFormat.html
>>> /usr/share/doc/snack-2.2/html/SampConv.html
>>> /usr/share/doc/snack-2.2/html/SnackLib.html
>>> /usr/share/doc/snack-2.2/html/SoundData.html
>>> /usr/share/doc/snack-2.2/html/SoundObj.html
>>> /usr/share/doc/snack-2.2/html/SoundProp.html
>>> /usr/share/doc/snack-2.2/html/SoundSamp.html
>>> /usr/share/doc/snack-2.2/html/tcl-man.html
>>> /usr/share/doc/snack-2.2/html/python-man.html
>>> /usr/share/doc/snack-2.2/examples/python/*.py
>>> /usr/share/doc/snack-2.2/examples/tcl/*.tcl
>>> /usr/share/doc/snack-2.2/ext/Makefile.in
>>> /usr/share/doc/snack-2.2/ext/README
>>> /usr/share/doc/snack-2.2/ext/aclocal.m4
>>> /usr/share/doc/snack-2.2/ext/configure
>>> /usr/share/doc/snack-2.2/ext/configure.in
>>> /usr/share/doc/snack-2.2/ext/square.c
>>> /usr/share/doc/snack-2.2/ext/square.dsp
>>> /usr/share/doc/snack-2.2/ext/square.vcproj
>>> /usr/share/doc/snack-2.2/ext/test.tcl
>>>
>>>
>>> Imported Interface      | Stability       | Description
>>> ------------------------+-----------------+-------------
>>> libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
>>> Python 2.4.x            | External        | PSARC 2005/532
>>> ------------------------+-----------------+-------------
>>>
>>> 4.3 References
>>>
>>> [1] http://www.speech.kth.se/snack/
>>> [2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
>>> [3] PSARC 2005/532 Python 2.4.x
>>>
>>> 6. Resources and Schedule
>>> 6.4. Steering Committee requested information
>>> 6.4.1. Consolidation C-team Name:
>>>          SFW
>>> 6.5. ARC review type: FastTrack
>>> 6.6. ARC Exposure: open
>>>
>>


From Lin.Guo@sun.com Tue Jun 10 05:56:48 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5ACulIX020039
	for <psarc-ext@sac.sfbay.Sun.COM>; Tue, 10 Jun 2008 05:56:48 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5ACuji1014597
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 10 Jun 2008 20:56:46 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2800701ZYLWA00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 10 Jun 2008 05:56:45 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K28000P5ZYKHGE0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 10 Jun 2008 05:56:45 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5ACvZ6r029194	for
 <PSARC-ext@sun.com>; Tue, 10 Jun 2008 12:57:36 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2800F01ZRZEV00@mail-apac.sun.com> (original mail from Lin.Guo@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 10 Jun 2008 20:56:23 +0800 (SGT)
Received: from [129.158.218.96] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K28007UIZXYXJY8@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 10 Jun 2008 20:56:23 +0800 (SGT)
Date: Tue, 10 Jun 2008 20:50:46 +0800
From: Lin Guo <Lin.Guo@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <4848E5A0.1020408@sun.com>
Sender: Lin.Guo@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Frank Che <Frank.Che@sun.com>, PSARC-ext@sun.com
Message-id: <484E78A6.8080104@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com> <4848E5A0.1020408@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
Status: RO
Content-Length: 13701

Hi Garrett,

Thanks for your comments.

Please don't worry about the audio interface. I will ask for your 
comment before switching to OSS to make sure everything is OK and 
nothing will be broken.
As for the C API and the location of the libraries and the "ext" 
example, they are the same issue: Whether the project should export the 
C/C++ API at this moment.
You know, now the only consumer of snack is "aMSN" which uses snack as a 
Tcl/Tk extension.
I am considering just export the Tcl/Tk related interfaces , leaving 
others in the following case when a consumer is identified.(As you 
suggested)
In that case, I will put the libraries to /usr/lib/tcl8.4/snack2.2 
directory since only "pkgindex.tcl" script will use them. The "ext" 
directory will not be delivered.
I will modify the proposal based on above description. Any comments will 
be greatly appreciated.

Thanks,
Lin

Garrett D'Amore wrote:
> Lin Guo wrote:
>> Garrett D'Amore wrote:
>>>
>>> I have a couple of concerns here.
>>>
>>> 1) What are the dependencies of snack for audio?  Can it support 
>>> OSS?  Can it support Sun Audio?  How is the selection made (if 
>>> any)?  (PSARC 2008/318 specifies a task to introduce OSS into 
>>> Solaris, and I'm concerned that adding a new layer of middleware 
>>> creates more work for my project.  While this shouldn't act as a 
>>> show stopper for this case, it does suggest that we should probably 
>>> communicate offline.)
>> Snack supports Sun Audio,  OSS and ALSA. Compiling snack with 
>> different configure flag may enable different audio support.
>> Whenever OSS is integrated to Solaris and is stable, I will change 
>> snack to OSS since OSS has new features that not provided by Sun Audio.
>
> Okay, as long as it won't automatically switch to OSS when OSS 
> integrates (e.g. by way of autoconf), then we're OK.  We will want to 
> switch, but I think we want to control the "when", to make sure we 
> don't mess up support for Sun Ray, which will probably be delivered in 
> a subsequent phase.
>
>>>
>>> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  My 
>>> concern here is that this will create problems or conflicts with 
>>> other audio middleware?  Can the project team provide more detail 
>>> about why this particular name is required?  (It seems like you also 
>>> have libsnack.  Is libaudio just a symbolic link to libsnack?  Has 
>>> the project team done any survey of other FOSS systems to verify 
>>> that a) this libaudio doesn't conflict with any known uses, and b) 
>>> the Snack libraries are popular enough to minimize the likelihood of 
>>> any new conflicts occurring in the future?
>> It really my concerns when I saw the "awful" name.  libsound is not a 
>> symbolic link to libsnack, it provides similar functionalities to 
>> libsnack except graphics support.
>> I looked into other FOSS systems and found that libsound is in 
>> /usr/lib too. Google results prove that snack libraries are popular 
>> enough to prevent conflicts with  other libraries.
>
> OK.   If you're confident that this won't be an issue, then I'm 
> happy.  (Can you, off hand, name any distros which have this installed 
> or delivered either by default, or as a commonly used add-on?  I did 
> see RPMs for it, but I'm not sure if that means it is popular or not.)
>
>>
>>>
>>> 3) Your case describes Python and Tcl/Tk, but your materials include 
>>> a C API.  Is there a need to make this public at this time (are 
>>> there any consumers for this now, or anticipated in the future)?
>> There is no consumers for this C API now. But the C API is a part of 
>> snack project. Using it, you could write your own snack extensions in 
>> C/C++. You can also create custom commands that operate on Snack's 
>> sound objects. That means if snack Tcl/Tk commands are not enough for 
>> your application. You could create custom commands to extend Snack 
>> and then use the commands just as any other Snack sound commands in 
>> writing your application.
>
> Can I make a suggestion then, that you start with the C/C++ API being 
> Project Private for now.  It will be quite easy to uplevel the API 
> later, if it proves to be desirable or necessary, but without any 
> identified consumers, I prefer to take the safe road and avoid making 
> promises.  (Plus, this frees the project team from having to supply 
> documentation for those APIs.)
>
> Another way of looking at it is, if you don't have any consumers, then 
> you really can't be sure what the stability of the API will be.
>
> Note that this is only a *suggestion*, so take it or leave it at your 
> discretion.
>
>>>
>>>
>>> 4) /usr/share/doc/snack-2.2/ext/aclocal.m4 -- is this snack's actual 
>>> m4 that it uses for its own configuration, or is this intended as 
>>> samples for applications to include in their own autoconf scripts to 
>>> detect snack?  (If only the former, please remove it.  If the 
>>> latter, then it sounds good to me.)
>> It is the latter. A whole example of how to write a snack extension 
>> is in "ext" directory including the m4 file.
>
> Ah, so that's what the ext is.  Are such extensions C/C++, or are they 
> are written in some other language?  (Again, while this sounds 
> possibly interesting, I think it leads into the questions in 3 above 
> -- if there are no known consumers, might be better to add the work to 
> make it public in a following case, when at least one consumer is 
> identified.)
>
>>
>> Thanks for your comments,
>
> Sure.  I appreciate your answers to my questions.  It sounds like your 
> project is right on track.
>
>    - -Garrett
>
>> Lin
>>>
>>>    -- Garrett
>>>
>>> Thanks!
>>>
>>>    -- Garrett
>>>
>>> Frank Che wrote:
>>>> I'm sponsoring this fast track case for Lin Guo. The timer is set to
>>>> 06/12/2008. This case is to integrate an open source package, snack
>>>> sound toolkit, into Solaris. It requests a minor release binding.
>>>>
>>>> Two man page files created by the submitter and those HTML documents
>>>> provided by snack are placed in the 'material' sub-directory of 
>>>> this case.
>>>>
>>>> A contract with Python is in progress now.
>>>>
>>>> -Frank
>>>>
>>>> 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:
>>>>  Integrate Snack into Solaris
>>>> 1.2. Name of Document Author/Supplier:
>>>>  Author: Lin Guo
>>>> 1.3 Date of This Document:
>>>>  04 June, 2008
>>>>
>>>> 4. Technical Description
>>>>  Summary
>>>>
>>>>  This project integrates snack into Solaris.
>>>>  This project requests a minor binding.
>>>>
>>>> 4.1 Proposal
>>>>
>>>> The Snack Sound Toolkit is a open source package. It is designed to be
>>>> used with a scripting language such as Tcl/Tk or Python.  Using Snack
>>>> you can create powerful multi-platform audio applications with just a
>>>> few lines of code.
>>>>
>>>> With features such as:
>>>>
>>>>  * High level sound objects, with flexible storage management and
>>>>    streaming support.
>>>>  * Multiple simultaneous playback and recording threads (system
>>>>    dependent).
>>>>  * All audio data handled as floating point internally for fast and
>>>>    accurate computations.
>>>>  * Multi-platform support.
>>>>  * Script compilation tool included, for easy deployment using
>>>>    stand-alone executables.
>>>>  * Filters which can be used to process sound objects or during
>>>>    playback for on-the-fly operation.
>>>>  * Visualization with waveforms, spectrograms, and spectrum sections.
>>>>    Postscript support.
>>>>  * Real-time visualization/spectrum analysis.
>>>>  * Web enabled, possible to run scripts embedded in web pages through
>>>>    the use of the Tcl Plugins
>>>>  * Extensible, new commands, filters, and sound file formats can be
>>>>    added using the Snack C-library.
>>>>  * Lots of examples included as well as a skeleton C-extension.
>>>>  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.
>>>>
>>>> The first consumer of the library is aMSN -- a free open source MSN
>>>> Messenger clone which is an Indiana package. AMSN uses snack for voice
>>>> clips support.
>>>>
>>>> 32 and 64 bit libraries will be provided.
>>>>
>>>> snack provides detailed documentations in html format and examples
>>>> describing snack tcl commands and python commands that will be 
>>>> released
>>>> with the integration.  New man pages will be provided pointing to the
>>>> html documentations. They are included in case directory.
>>>>
>>>> 4.2 Interfaces
>>>>
>>>> Exported Interface                          | Stability    
>>>> |Description
>>>> --------------------------------------------|--------------|------------------- 
>>>>
>>>> SUNWsnack                                   | Uncommitted  | 
>>>> package name
>>>> /usr/include/snack/snack.h                  | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/snackDecls.h             | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/confdefs.h               | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/jkAudIO.h                | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/jkCanvItems.h            | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/jkFormant.h              | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/jkFormatMP3.h            | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/jkGetFO.h                | Uncommitted  | header 
>>>> file
>>>> /usr/include/snack/jkSound.h                | Uncommitted  | header 
>>>> file
>>>> /usr/lib/libsnackstub2.2.a                  | Uncommitted  | stubs 
>>>> library
>>>> /usr/lib/64/libsnackstub2.2.a               | Uncommitted  | stubs 
>>>> library
>>>> /usr/lib/snackConfig.sh                     | Uncommitted  | snack 
>>>> extension config script
>>>> /usr/lib/64/snackConfig.sh                  | Uncommitted  | snack 
>>>> extension config script
>>>> /usr/lib/libsnack.so                        | Committed    | snack 
>>>> library symbolic link
>>>> /usr/lib/libsnack.so.2                      | Uncommitted  | snack 
>>>> library symbolic link
>>>> /usr/lib/libsnack.so.2.2.10                 | Uncommitted  | snack 
>>>> library
>>>> /usr/lib/64/libsnack.so                     | Committed    | snack 
>>>> library symbolic link
>>>> /usr/lib/64/libsnack.so.2                   | Uncommitted  | snack 
>>>> library symbolic link
>>>> /usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | snack 
>>>> library
>>>> /usr/lib/libsound.so                        | Committed    | snack 
>>>> library symbolic link
>>>> /usr/lib/libsound.so.2                      | Uncommitted  | snack 
>>>> library symbolic link
>>>> /usr/lib/libsound.so.2.2.10                 | Uncommitted  | snack 
>>>> library
>>>> /usr/lib/64/libsound.so                     | Committed    | snack 
>>>> library symbolic link
>>>> /usr/lib/64/libsound.so.2                   | Uncommitted  | snack 
>>>> library symbolic link
>>>> /usr/lib/64/libsound.so.2.2.10              | Uncommitted  | snack 
>>>> library
>>>> /usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl 
>>>> package index
>>>> /usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | snack 
>>>> script library
>>>> /usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | python 
>>>> script
>>>> /usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | Python 
>>>> Compiler Script
>>>> snack APIs                                  | Uncommitted  | C 
>>>> functions
>>>> ---------------------------------------------|-------------|-------------------- 
>>>>
>>>>
>>>> Documents delivered:
>>>>
>>>> /usr/share/man/man1t/snack.1t
>>>> /usr/share/man/man3/libsnack.3
>>>> /usr/share/doc/snack-2.2/BSD.txt
>>>> /usr/share/doc/snack-2.2/COPYING
>>>> /usr/share/doc/snack-2.2/README
>>>> /usr/share/doc/snack-2.2/changes
>>>> /usr/share/doc/snack-2.2/html/AddSubCmd.html
>>>> /usr/share/doc/snack-2.2/html/Callback.html
>>>> /usr/share/doc/snack-2.2/html/CreateFilter.html
>>>> /usr/share/doc/snack-2.2/html/FileFormat.html
>>>> /usr/share/doc/snack-2.2/html/SampConv.html
>>>> /usr/share/doc/snack-2.2/html/SnackLib.html
>>>> /usr/share/doc/snack-2.2/html/SoundData.html
>>>> /usr/share/doc/snack-2.2/html/SoundObj.html
>>>> /usr/share/doc/snack-2.2/html/SoundProp.html
>>>> /usr/share/doc/snack-2.2/html/SoundSamp.html
>>>> /usr/share/doc/snack-2.2/html/tcl-man.html
>>>> /usr/share/doc/snack-2.2/html/python-man.html
>>>> /usr/share/doc/snack-2.2/examples/python/*.py
>>>> /usr/share/doc/snack-2.2/examples/tcl/*.tcl
>>>> /usr/share/doc/snack-2.2/ext/Makefile.in
>>>> /usr/share/doc/snack-2.2/ext/README
>>>> /usr/share/doc/snack-2.2/ext/aclocal.m4
>>>> /usr/share/doc/snack-2.2/ext/configure
>>>> /usr/share/doc/snack-2.2/ext/configure.in
>>>> /usr/share/doc/snack-2.2/ext/square.c
>>>> /usr/share/doc/snack-2.2/ext/square.dsp
>>>> /usr/share/doc/snack-2.2/ext/square.vcproj
>>>> /usr/share/doc/snack-2.2/ext/test.tcl
>>>>
>>>>
>>>> Imported Interface      | Stability       | Description
>>>> ------------------------+-----------------+-------------
>>>> libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
>>>> Python 2.4.x            | External        | PSARC 2005/532
>>>> ------------------------+-----------------+-------------
>>>>
>>>> 4.3 References
>>>>
>>>> [1] http://www.speech.kth.se/snack/
>>>> [2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
>>>> [3] PSARC 2005/532 Python 2.4.x
>>>>
>>>> 6. Resources and Schedule
>>>> 6.4. Steering Committee requested information
>>>> 6.4.1. Consolidation C-team Name:
>>>>          SFW
>>>> 6.5. ARC review type: FastTrack
>>>> 6.6. ARC Exposure: open
>>>>
>>>
>

From gdamore@sun.com Tue Jun 10 08:31:29 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5AFVSZf023554
	for <psarc-ext@sac.sfbay.Sun.COM>; Tue, 10 Jun 2008 08:31:29 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5AFVR29013776
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 10 Jun 2008 23:31:27 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K290070574ES100@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 10 Jun 2008 08:31:26 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2900MX8746YE60@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 10 Jun 2008 08:31:18 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m5AFVI8N028530	for
 <PSARC-ext@sun.com>; Tue, 10 Jun 2008 08:31:18 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K2900M016RJBO00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 10 Jun 2008 08:31:18 -0700 (PDT)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K29009C5742WA70@fe-sfbay-10.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 10 Jun 2008 08:31:14 -0700 (PDT)
Date: Tue, 10 Jun 2008 08:30:23 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <484E78A6.8080104@sun.com>
Sender: Garrett.Damore@sun.com
To: Lin Guo <Lin.Guo@sun.com>
Cc: Frank Che <Frank.Che@sun.com>, PSARC-ext@sun.com
Message-id: <484E9E0F.6070302@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com> <4848E5A0.1020408@sun.com>
 <484E78A6.8080104@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 14144

Lin Guo wrote:
> Hi Garrett,
>
> Thanks for your comments.
>
> Please don't worry about the audio interface. I will ask for your 
> comment before switching to OSS to make sure everything is OK and 
> nothing will be broken.
> As for the C API and the location of the libraries and the "ext" 
> example, they are the same issue: Whether the project should export 
> the C/C++ API at this moment.
> You know, now the only consumer of snack is "aMSN" which uses snack as 
> a Tcl/Tk extension.
> I am considering just export the Tcl/Tk related interfaces , leaving 
> others in the following case when a consumer is identified.(As you 
> suggested)
> In that case, I will put the libraries to /usr/lib/tcl8.4/snack2.2 
> directory since only "pkgindex.tcl" script will use them. The "ext" 
> directory will not be delivered.
> I will modify the proposal based on above description. Any comments 
> will be greatly appreciated.

This sounds like a great plan to me.  Thanks.

    -- Garrett
>
> Thanks,
> Lin
>
> Garrett D'Amore wrote:
>> Lin Guo wrote:
>>> Garrett D'Amore wrote:
>>>>
>>>> I have a couple of concerns here.
>>>>
>>>> 1) What are the dependencies of snack for audio?  Can it support 
>>>> OSS?  Can it support Sun Audio?  How is the selection made (if 
>>>> any)?  (PSARC 2008/318 specifies a task to introduce OSS into 
>>>> Solaris, and I'm concerned that adding a new layer of middleware 
>>>> creates more work for my project.  While this shouldn't act as a 
>>>> show stopper for this case, it does suggest that we should probably 
>>>> communicate offline.)
>>> Snack supports Sun Audio,  OSS and ALSA. Compiling snack with 
>>> different configure flag may enable different audio support.
>>> Whenever OSS is integrated to Solaris and is stable, I will change 
>>> snack to OSS since OSS has new features that not provided by Sun Audio.
>>
>> Okay, as long as it won't automatically switch to OSS when OSS 
>> integrates (e.g. by way of autoconf), then we're OK.  We will want to 
>> switch, but I think we want to control the "when", to make sure we 
>> don't mess up support for Sun Ray, which will probably be delivered 
>> in a subsequent phase.
>>
>>>>
>>>> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  
>>>> My concern here is that this will create problems or conflicts with 
>>>> other audio middleware?  Can the project team provide more detail 
>>>> about why this particular name is required?  (It seems like you 
>>>> also have libsnack.  Is libaudio just a symbolic link to libsnack?  
>>>> Has the project team done any survey of other FOSS systems to 
>>>> verify that a) this libaudio doesn't conflict with any known uses, 
>>>> and b) the Snack libraries are popular enough to minimize the 
>>>> likelihood of any new conflicts occurring in the future?
>>> It really my concerns when I saw the "awful" name.  libsound is not 
>>> a symbolic link to libsnack, it provides similar functionalities to 
>>> libsnack except graphics support.
>>> I looked into other FOSS systems and found that libsound is in 
>>> /usr/lib too. Google results prove that snack libraries are popular 
>>> enough to prevent conflicts with  other libraries.
>>
>> OK.   If you're confident that this won't be an issue, then I'm 
>> happy.  (Can you, off hand, name any distros which have this 
>> installed or delivered either by default, or as a commonly used 
>> add-on?  I did see RPMs for it, but I'm not sure if that means it is 
>> popular or not.)
>>
>>>
>>>>
>>>> 3) Your case describes Python and Tcl/Tk, but your materials 
>>>> include a C API.  Is there a need to make this public at this time 
>>>> (are there any consumers for this now, or anticipated in the future)?
>>> There is no consumers for this C API now. But the C API is a part of 
>>> snack project. Using it, you could write your own snack extensions 
>>> in C/C++. You can also create custom commands that operate on 
>>> Snack's sound objects. That means if snack Tcl/Tk commands are not 
>>> enough for your application. You could create custom commands to 
>>> extend Snack and then use the commands just as any other Snack sound 
>>> commands in writing your application.
>>
>> Can I make a suggestion then, that you start with the C/C++ API being 
>> Project Private for now.  It will be quite easy to uplevel the API 
>> later, if it proves to be desirable or necessary, but without any 
>> identified consumers, I prefer to take the safe road and avoid making 
>> promises.  (Plus, this frees the project team from having to supply 
>> documentation for those APIs.)
>>
>> Another way of looking at it is, if you don't have any consumers, 
>> then you really can't be sure what the stability of the API will be.
>>
>> Note that this is only a *suggestion*, so take it or leave it at your 
>> discretion.
>>
>>>>
>>>>
>>>> 4) /usr/share/doc/snack-2.2/ext/aclocal.m4 -- is this snack's 
>>>> actual m4 that it uses for its own configuration, or is this 
>>>> intended as samples for applications to include in their own 
>>>> autoconf scripts to detect snack?  (If only the former, please 
>>>> remove it.  If the latter, then it sounds good to me.)
>>> It is the latter. A whole example of how to write a snack extension 
>>> is in "ext" directory including the m4 file.
>>
>> Ah, so that's what the ext is.  Are such extensions C/C++, or are 
>> they are written in some other language?  (Again, while this sounds 
>> possibly interesting, I think it leads into the questions in 3 above 
>> -- if there are no known consumers, might be better to add the work 
>> to make it public in a following case, when at least one consumer is 
>> identified.)
>>
>>>
>>> Thanks for your comments,
>>
>> Sure.  I appreciate your answers to my questions.  It sounds like 
>> your project is right on track.
>>
>>    - -Garrett
>>
>>> Lin
>>>>
>>>>    -- Garrett
>>>>
>>>> Thanks!
>>>>
>>>>    -- Garrett
>>>>
>>>> Frank Che wrote:
>>>>> I'm sponsoring this fast track case for Lin Guo. The timer is set to
>>>>> 06/12/2008. This case is to integrate an open source package, snack
>>>>> sound toolkit, into Solaris. It requests a minor release binding.
>>>>>
>>>>> Two man page files created by the submitter and those HTML documents
>>>>> provided by snack are placed in the 'material' sub-directory of 
>>>>> this case.
>>>>>
>>>>> A contract with Python is in progress now.
>>>>>
>>>>> -Frank
>>>>>
>>>>> 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:
>>>>>  Integrate Snack into Solaris
>>>>> 1.2. Name of Document Author/Supplier:
>>>>>  Author: Lin Guo
>>>>> 1.3 Date of This Document:
>>>>>  04 June, 2008
>>>>>
>>>>> 4. Technical Description
>>>>>  Summary
>>>>>
>>>>>  This project integrates snack into Solaris.
>>>>>  This project requests a minor binding.
>>>>>
>>>>> 4.1 Proposal
>>>>>
>>>>> The Snack Sound Toolkit is a open source package. It is designed 
>>>>> to be
>>>>> used with a scripting language such as Tcl/Tk or Python.  Using Snack
>>>>> you can create powerful multi-platform audio applications with just a
>>>>> few lines of code.
>>>>>
>>>>> With features such as:
>>>>>
>>>>>  * High level sound objects, with flexible storage management and
>>>>>    streaming support.
>>>>>  * Multiple simultaneous playback and recording threads (system
>>>>>    dependent).
>>>>>  * All audio data handled as floating point internally for fast and
>>>>>    accurate computations.
>>>>>  * Multi-platform support.
>>>>>  * Script compilation tool included, for easy deployment using
>>>>>    stand-alone executables.
>>>>>  * Filters which can be used to process sound objects or during
>>>>>    playback for on-the-fly operation.
>>>>>  * Visualization with waveforms, spectrograms, and spectrum sections.
>>>>>    Postscript support.
>>>>>  * Real-time visualization/spectrum analysis.
>>>>>  * Web enabled, possible to run scripts embedded in web pages through
>>>>>    the use of the Tcl Plugins
>>>>>  * Extensible, new commands, filters, and sound file formats can be
>>>>>    added using the Snack C-library.
>>>>>  * Lots of examples included as well as a skeleton C-extension.
>>>>>  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.
>>>>>
>>>>> The first consumer of the library is aMSN -- a free open source MSN
>>>>> Messenger clone which is an Indiana package. AMSN uses snack for 
>>>>> voice
>>>>> clips support.
>>>>>
>>>>> 32 and 64 bit libraries will be provided.
>>>>>
>>>>> snack provides detailed documentations in html format and examples
>>>>> describing snack tcl commands and python commands that will be 
>>>>> released
>>>>> with the integration.  New man pages will be provided pointing to the
>>>>> html documentations. They are included in case directory.
>>>>>
>>>>> 4.2 Interfaces
>>>>>
>>>>> Exported Interface                          | Stability    
>>>>> |Description
>>>>> --------------------------------------------|--------------|------------------- 
>>>>>
>>>>> SUNWsnack                                   | Uncommitted  | 
>>>>> package name
>>>>> /usr/include/snack/snack.h                  | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/snackDecls.h             | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/confdefs.h               | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/jkAudIO.h                | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/jkCanvItems.h            | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/jkFormant.h              | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/jkFormatMP3.h            | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/jkGetFO.h                | Uncommitted  | 
>>>>> header file
>>>>> /usr/include/snack/jkSound.h                | Uncommitted  | 
>>>>> header file
>>>>> /usr/lib/libsnackstub2.2.a                  | Uncommitted  | stubs 
>>>>> library
>>>>> /usr/lib/64/libsnackstub2.2.a               | Uncommitted  | stubs 
>>>>> library
>>>>> /usr/lib/snackConfig.sh                     | Uncommitted  | snack 
>>>>> extension config script
>>>>> /usr/lib/64/snackConfig.sh                  | Uncommitted  | snack 
>>>>> extension config script
>>>>> /usr/lib/libsnack.so                        | Committed    | snack 
>>>>> library symbolic link
>>>>> /usr/lib/libsnack.so.2                      | Uncommitted  | snack 
>>>>> library symbolic link
>>>>> /usr/lib/libsnack.so.2.2.10                 | Uncommitted  | snack 
>>>>> library
>>>>> /usr/lib/64/libsnack.so                     | Committed    | snack 
>>>>> library symbolic link
>>>>> /usr/lib/64/libsnack.so.2                   | Uncommitted  | snack 
>>>>> library symbolic link
>>>>> /usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | snack 
>>>>> library
>>>>> /usr/lib/libsound.so                        | Committed    | snack 
>>>>> library symbolic link
>>>>> /usr/lib/libsound.so.2                      | Uncommitted  | snack 
>>>>> library symbolic link
>>>>> /usr/lib/libsound.so.2.2.10                 | Uncommitted  | snack 
>>>>> library
>>>>> /usr/lib/64/libsound.so                     | Committed    | snack 
>>>>> library symbolic link
>>>>> /usr/lib/64/libsound.so.2                   | Uncommitted  | snack 
>>>>> library symbolic link
>>>>> /usr/lib/64/libsound.so.2.2.10              | Uncommitted  | snack 
>>>>> library
>>>>> /usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl 
>>>>> package index
>>>>> /usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | snack 
>>>>> script library
>>>>> /usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | 
>>>>> python script
>>>>> /usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | 
>>>>> Python Compiler Script
>>>>> snack APIs                                  | Uncommitted  | C 
>>>>> functions
>>>>> ---------------------------------------------|-------------|-------------------- 
>>>>>
>>>>>
>>>>> Documents delivered:
>>>>>
>>>>> /usr/share/man/man1t/snack.1t
>>>>> /usr/share/man/man3/libsnack.3
>>>>> /usr/share/doc/snack-2.2/BSD.txt
>>>>> /usr/share/doc/snack-2.2/COPYING
>>>>> /usr/share/doc/snack-2.2/README
>>>>> /usr/share/doc/snack-2.2/changes
>>>>> /usr/share/doc/snack-2.2/html/AddSubCmd.html
>>>>> /usr/share/doc/snack-2.2/html/Callback.html
>>>>> /usr/share/doc/snack-2.2/html/CreateFilter.html
>>>>> /usr/share/doc/snack-2.2/html/FileFormat.html
>>>>> /usr/share/doc/snack-2.2/html/SampConv.html
>>>>> /usr/share/doc/snack-2.2/html/SnackLib.html
>>>>> /usr/share/doc/snack-2.2/html/SoundData.html
>>>>> /usr/share/doc/snack-2.2/html/SoundObj.html
>>>>> /usr/share/doc/snack-2.2/html/SoundProp.html
>>>>> /usr/share/doc/snack-2.2/html/SoundSamp.html
>>>>> /usr/share/doc/snack-2.2/html/tcl-man.html
>>>>> /usr/share/doc/snack-2.2/html/python-man.html
>>>>> /usr/share/doc/snack-2.2/examples/python/*.py
>>>>> /usr/share/doc/snack-2.2/examples/tcl/*.tcl
>>>>> /usr/share/doc/snack-2.2/ext/Makefile.in
>>>>> /usr/share/doc/snack-2.2/ext/README
>>>>> /usr/share/doc/snack-2.2/ext/aclocal.m4
>>>>> /usr/share/doc/snack-2.2/ext/configure
>>>>> /usr/share/doc/snack-2.2/ext/configure.in
>>>>> /usr/share/doc/snack-2.2/ext/square.c
>>>>> /usr/share/doc/snack-2.2/ext/square.dsp
>>>>> /usr/share/doc/snack-2.2/ext/square.vcproj
>>>>> /usr/share/doc/snack-2.2/ext/test.tcl
>>>>>
>>>>>
>>>>> Imported Interface      | Stability       | Description
>>>>> ------------------------+-----------------+-------------
>>>>> libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
>>>>> Python 2.4.x            | External        | PSARC 2005/532
>>>>> ------------------------+-----------------+-------------
>>>>>
>>>>> 4.3 References
>>>>>
>>>>> [1] http://www.speech.kth.se/snack/
>>>>> [2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
>>>>> [3] PSARC 2005/532 Python 2.4.x
>>>>>
>>>>> 6. Resources and Schedule
>>>>> 6.4. Steering Committee requested information
>>>>> 6.4.1. Consolidation C-team Name:
>>>>>          SFW
>>>>> 6.5. ARC review type: FastTrack
>>>>> 6.6. ARC Exposure: open
>>>>>
>>>>
>>


From Jyri.Virkki@sun.com Tue Jun 10 13:54:26 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5AKsQ7C010912
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 10 Jun 2008 13:54:26 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m5AKsNs7009111;
	Tue, 10 Jun 2008 13:54:24 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2900F0PM2MWT00@brm-avmta-1.central.sun.com>; Tue,
 10 Jun 2008 14:54:22 -0600 (MDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K290084XM2MBC60@brm-avmta-1.central.sun.com>; Tue,
 10 Jun 2008 14:54:22 -0600 (MDT)
Received: from dm-usca19-13.red.iplanet.com
 (host-179-56-18-192.iplanet.com [192.18.56.179] (may be forged))
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5AKsMmE026710; Tue,
 10 Jun 2008 20:54:22 +0000 (GMT)
Received: from buye.red.iplanet.com (buye [192.18.65.224])
	by dm-usca19-13.red.iplanet.com (8.11.7p1+Sun/8.11.7/IPLANET,v1.2)
 with ESMTP id m5AKsLs11659; Tue, 10 Jun 2008 13:54:21 -0700 (PDT)
Received: from buye.red.iplanet.com (localhost [127.0.0.1])
	by buye.red.iplanet.com (8.13.7+Sun/8.13.7) with ESMTP id m5AKsLV3004588; Tue,
 10 Jun 2008 13:54:21 -0700 (PDT)
Received: (from jyri@localhost)
	by buye.red.iplanet.com (8.13.7+Sun/8.13.7/Submit) id m5AKsLeh004587; Tue,
 10 Jun 2008 13:54:21 -0700 (PDT)
Date: Tue, 10 Jun 2008 13:54:21 -0700
From: Jyri Virkki <Jyri.Virkki@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <484E78A6.8080104@sun.com>
To: Lin Guo <Lin.Guo@sun.com>
Cc: "Garrett D'Amore" <gdamore@sun.com>, Frank Che <Frank.Che@sun.com>,
        PSARC-ext@sun.com
Message-id: <20080610205421.GH3812@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com> <4848E5A0.1020408@sun.com>
 <484E78A6.8080104@sun.com>
User-Agent: Mutt/1.5.11
Status: RO
Content-Length: 629

Lin Guo wrote:
>
> You know, now the only consumer of snack is "aMSN" which uses snack as a 
> Tcl/Tk extension.
> I am considering just export the Tcl/Tk related interfaces , leaving 
> others in the following case when a consumer is identified.(As you 
> suggested)

I don't know anything about "snack" so possibly a Not Applicable question:

How would you know someone wants to consume these interfaces outside a
Sun project?

e.g. customer wants to compile app SomeRandomSnackConsumerApp on their
machine, linking against these APIs. Why are they not allowed to?


-- 
Jyri J. Virkki - jyri.virkki@sun.com - Sun Microsystems

From Lin.Guo@sun.com Tue Jun 10 19:40:18 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5B2eHMp025630
	for <psarc-ext@sac.sfbay.Sun.COM>; Tue, 10 Jun 2008 19:40:17 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5B2eA67009686
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 11 Jun 2008 10:40:16 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2A00J0J2324O00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 10 Jun 2008 19:40:15 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2A00F1U2312F30@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 10 Jun 2008 19:40:14 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5B2eYf2004554	for
 <PSARC-ext@sun.com>; Wed, 11 Jun 2008 02:40:34 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2A000011ZRU100@mail-apac.sun.com> (original mail from Lin.Guo@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 11 Jun 2008 10:39:50 +0800 (SGT)
Received: from [129.158.218.96] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2A007O322CXJBC@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 11 Jun 2008 10:39:49 +0800 (SGT)
Date: Wed, 11 Jun 2008 10:34:08 +0800
From: Lin Guo <Lin.Guo@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <20080610205421.GH3812@sun.com>
Sender: Lin.Guo@sun.com
To: Jyri Virkki <Jyri.Virkki@sun.com>
Cc: "Garrett D'Amore" <gdamore@sun.com>, Frank Che <Frank.Che@sun.com>,
        PSARC-ext@sun.com
Message-id: <484F39A0.1080008@sun.com>
MIME-version: 1.0
Content-type: text/html; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com> <4848E5A0.1020408@sun.com>
 <484E78A6.8080104@sun.com> <20080610205421.GH3812@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
Status: RO
Content-Length: 1855

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Jyri Virkki wrote:
<blockquote cite="mid:20080610205421.GH3812@sun.com" type="cite">
  <pre wrap="">Lin Guo wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">You know, now the only consumer of snack is "aMSN" which uses snack as a 
Tcl/Tk extension.
I am considering just export the Tcl/Tk related interfaces , leaving 
others in the following case when a consumer is identified.(As you 
suggested)
    </pre>
  </blockquote>
  <pre wrap=""><!---->
I don't know anything about "snack" so possibly a Not Applicable question:

How would you know someone wants to consume these interfaces outside a
Sun project?

e.g. customer wants to compile app SomeRandomSnackConsumerApp on their
machine, linking against these APIs. Why are they not allowed to?
  </pre>
</blockquote>
Snack is a Tcl/Tk extension. SomeRandomSnackConsumerApp is Tcl/Tk
script which uses tcl commands<br>
exported by snack to operate sound object. So there is no need to
compile the app and link against APIs.<br>
All the Tcl/Tk extension has a script named "pkgIndex.tcl" which will
locate the libraries.<br>
<br>
The C/C++ API that Snack exported is for extending Snack itself. That
means if Tcl/Tk commands that Snack<br>
has been exported are not enough for SomeRandomSnackConsumerApp.
Customer can write C "program"<br>
to create custom Tcl/Tk commands. That "program" needs to compile and
link against thess APIs. And then<br>
SomeRandomSnackConsumerApp can use the custom commands just as any
other Snack sound commands.<br>
<br>
Thanks,<br>
Lin<br>
<blockquote cite="mid:20080610205421.GH3812@sun.com" type="cite">
  <pre wrap="">

  </pre>
</blockquote>
</body>
</html>

From Frank.Che@sun.com Wed Jun 11 00:56:09 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5B7u8HO001783
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 11 Jun 2008 00:56:08 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m5B7u5M1016763
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 11 Jun 2008 08:56:07 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2A00205GPHEY00@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 11 Jun 2008 00:56:05 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2A00LO8GPF36C0@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 11 Jun 2008 00:56:04 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5B7uvjC015946	for
 <PSARC-ext@sun.com>; Wed, 11 Jun 2008 07:56:57 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2A00M01G2QWI00@mail-apac.sun.com> (original mail from Frank.Che@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 11 Jun 2008 15:54:23 +0800 (SGT)
Received: from [129.158.218.60] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2A00FX2GMIR1Y3@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 11 Jun 2008 15:54:20 +0800 (SGT)
Date: Wed, 11 Jun 2008 15:56:06 +0800
From: Frank Che <Frank.Che@sun.com>
Subject: Re: PSARC 2008/364 Integrate Snack into Solaris
In-reply-to: <484E9E0F.6070302@sun.com>
Sender: Frank.Che@sun.com
To: PSARC-ext@sun.com
Cc: "Garrett D'Amore" <gdamore@sun.com>, Lin Guo <Lin.Guo@sun.com>
Message-id: <484F8516.6010106@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com> <4848E5A0.1020408@sun.com>
 <484E78A6.8080104@sun.com> <484E9E0F.6070302@sun.com>
User-Agent: Thunderbird 2.0.0.4 (X11/20070622)
Status: RO
Content-Length: 15067

Case material updated:

1. Updated the case proposal to integrate the Tcl/Tk extension only. 
Removed the support for Python and those C/C++ APIs. Propose to put the 
libraries to /usr/lib/tcl8.4/snack2.2.10 instead of /usr/lib/. New 
proposal was saved as spec.txt in case directory.
2. Updated the 'Snack.1t' man page file according to proposed changed, 
new file saved as 'Snack.1t.update1' in the 'material' sub-directory.
3. Removed those HTML documents on C/C++ APIs from the 'material' 
sub-directory.

Frank.

Garrett D'Amore wrote:
> Lin Guo wrote:
>> Hi Garrett,
>>
>> Thanks for your comments.
>>
>> Please don't worry about the audio interface. I will ask for your 
>> comment before switching to OSS to make sure everything is OK and 
>> nothing will be broken.
>> As for the C API and the location of the libraries and the "ext" 
>> example, they are the same issue: Whether the project should export 
>> the C/C++ API at this moment.
>> You know, now the only consumer of snack is "aMSN" which uses snack 
>> as a Tcl/Tk extension.
>> I am considering just export the Tcl/Tk related interfaces , leaving 
>> others in the following case when a consumer is identified.(As you 
>> suggested)
>> In that case, I will put the libraries to /usr/lib/tcl8.4/snack2.2 
>> directory since only "pkgindex.tcl" script will use them. The "ext" 
>> directory will not be delivered.
>> I will modify the proposal based on above description. Any comments 
>> will be greatly appreciated.
>
> This sounds like a great plan to me.  Thanks.
>
>    -- Garrett
>>
>> Thanks,
>> Lin
>>
>> Garrett D'Amore wrote:
>>> Lin Guo wrote:
>>>> Garrett D'Amore wrote:
>>>>>
>>>>> I have a couple of concerns here.
>>>>>
>>>>> 1) What are the dependencies of snack for audio?  Can it support 
>>>>> OSS?  Can it support Sun Audio?  How is the selection made (if 
>>>>> any)?  (PSARC 2008/318 specifies a task to introduce OSS into 
>>>>> Solaris, and I'm concerned that adding a new layer of middleware 
>>>>> creates more work for my project.  While this shouldn't act as a 
>>>>> show stopper for this case, it does suggest that we should 
>>>>> probably communicate offline.)
>>>> Snack supports Sun Audio,  OSS and ALSA. Compiling snack with 
>>>> different configure flag may enable different audio support.
>>>> Whenever OSS is integrated to Solaris and is stable, I will change 
>>>> snack to OSS since OSS has new features that not provided by Sun 
>>>> Audio.
>>>
>>> Okay, as long as it won't automatically switch to OSS when OSS 
>>> integrates (e.g. by way of autoconf), then we're OK.  We will want 
>>> to switch, but I think we want to control the "when", to make sure 
>>> we don't mess up support for Sun Ray, which will probably be 
>>> delivered in a subsequent phase.
>>>
>>>>>
>>>>> 2) /usr/lib/libsound.so seems *awfully* generic as a name to me.  
>>>>> My concern here is that this will create problems or conflicts 
>>>>> with other audio middleware?  Can the project team provide more 
>>>>> detail about why this particular name is required?  (It seems like 
>>>>> you also have libsnack.  Is libaudio just a symbolic link to 
>>>>> libsnack?  Has the project team done any survey of other FOSS 
>>>>> systems to verify that a) this libaudio doesn't conflict with any 
>>>>> known uses, and b) the Snack libraries are popular enough to 
>>>>> minimize the likelihood of any new conflicts occurring in the future?
>>>> It really my concerns when I saw the "awful" name.  libsound is not 
>>>> a symbolic link to libsnack, it provides similar functionalities to 
>>>> libsnack except graphics support.
>>>> I looked into other FOSS systems and found that libsound is in 
>>>> /usr/lib too. Google results prove that snack libraries are popular 
>>>> enough to prevent conflicts with  other libraries.
>>>
>>> OK.   If you're confident that this won't be an issue, then I'm 
>>> happy.  (Can you, off hand, name any distros which have this 
>>> installed or delivered either by default, or as a commonly used 
>>> add-on?  I did see RPMs for it, but I'm not sure if that means it is 
>>> popular or not.)
>>>
>>>>
>>>>>
>>>>> 3) Your case describes Python and Tcl/Tk, but your materials 
>>>>> include a C API.  Is there a need to make this public at this time 
>>>>> (are there any consumers for this now, or anticipated in the future)?
>>>> There is no consumers for this C API now. But the C API is a part 
>>>> of snack project. Using it, you could write your own snack 
>>>> extensions in C/C++. You can also create custom commands that 
>>>> operate on Snack's sound objects. That means if snack Tcl/Tk 
>>>> commands are not enough for your application. You could create 
>>>> custom commands to extend Snack and then use the commands just as 
>>>> any other Snack sound commands in writing your application.
>>>
>>> Can I make a suggestion then, that you start with the C/C++ API 
>>> being Project Private for now.  It will be quite easy to uplevel the 
>>> API later, if it proves to be desirable or necessary, but without 
>>> any identified consumers, I prefer to take the safe road and avoid 
>>> making promises.  (Plus, this frees the project team from having to 
>>> supply documentation for those APIs.)
>>>
>>> Another way of looking at it is, if you don't have any consumers, 
>>> then you really can't be sure what the stability of the API will be.
>>>
>>> Note that this is only a *suggestion*, so take it or leave it at 
>>> your discretion.
>>>
>>>>>
>>>>>
>>>>> 4) /usr/share/doc/snack-2.2/ext/aclocal.m4 -- is this snack's 
>>>>> actual m4 that it uses for its own configuration, or is this 
>>>>> intended as samples for applications to include in their own 
>>>>> autoconf scripts to detect snack?  (If only the former, please 
>>>>> remove it.  If the latter, then it sounds good to me.)
>>>> It is the latter. A whole example of how to write a snack extension 
>>>> is in "ext" directory including the m4 file.
>>>
>>> Ah, so that's what the ext is.  Are such extensions C/C++, or are 
>>> they are written in some other language?  (Again, while this sounds 
>>> possibly interesting, I think it leads into the questions in 3 above 
>>> -- if there are no known consumers, might be better to add the work 
>>> to make it public in a following case, when at least one consumer is 
>>> identified.)
>>>
>>>>
>>>> Thanks for your comments,
>>>
>>> Sure.  I appreciate your answers to my questions.  It sounds like 
>>> your project is right on track.
>>>
>>>    - -Garrett
>>>
>>>> Lin
>>>>>
>>>>>    -- Garrett
>>>>>
>>>>> Thanks!
>>>>>
>>>>>    -- Garrett
>>>>>
>>>>> Frank Che wrote:
>>>>>> I'm sponsoring this fast track case for Lin Guo. The timer is set to
>>>>>> 06/12/2008. This case is to integrate an open source package, snack
>>>>>> sound toolkit, into Solaris. It requests a minor release binding.
>>>>>>
>>>>>> Two man page files created by the submitter and those HTML documents
>>>>>> provided by snack are placed in the 'material' sub-directory of 
>>>>>> this case.
>>>>>>
>>>>>> A contract with Python is in progress now.
>>>>>>
>>>>>> -Frank
>>>>>>
>>>>>> 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:
>>>>>>  Integrate Snack into Solaris
>>>>>> 1.2. Name of Document Author/Supplier:
>>>>>>  Author: Lin Guo
>>>>>> 1.3 Date of This Document:
>>>>>>  04 June, 2008
>>>>>>
>>>>>> 4. Technical Description
>>>>>>  Summary
>>>>>>
>>>>>>  This project integrates snack into Solaris.
>>>>>>  This project requests a minor binding.
>>>>>>
>>>>>> 4.1 Proposal
>>>>>>
>>>>>> The Snack Sound Toolkit is a open source package. It is designed 
>>>>>> to be
>>>>>> used with a scripting language such as Tcl/Tk or Python.  Using 
>>>>>> Snack
>>>>>> you can create powerful multi-platform audio applications with 
>>>>>> just a
>>>>>> few lines of code.
>>>>>>
>>>>>> With features such as:
>>>>>>
>>>>>>  * High level sound objects, with flexible storage management and
>>>>>>    streaming support.
>>>>>>  * Multiple simultaneous playback and recording threads (system
>>>>>>    dependent).
>>>>>>  * All audio data handled as floating point internally for fast and
>>>>>>    accurate computations.
>>>>>>  * Multi-platform support.
>>>>>>  * Script compilation tool included, for easy deployment using
>>>>>>    stand-alone executables.
>>>>>>  * Filters which can be used to process sound objects or during
>>>>>>    playback for on-the-fly operation.
>>>>>>  * Visualization with waveforms, spectrograms, and spectrum 
>>>>>> sections.
>>>>>>    Postscript support.
>>>>>>  * Real-time visualization/spectrum analysis.
>>>>>>  * Web enabled, possible to run scripts embedded in web pages 
>>>>>> through
>>>>>>    the use of the Tcl Plugins
>>>>>>  * Extensible, new commands, filters, and sound file formats can be
>>>>>>    added using the Snack C-library.
>>>>>>  * Lots of examples included as well as a skeleton C-extension.
>>>>>>  * Supported sound file formats: WAV, AU, AIFF, MP3, CSL, SD, SMP.
>>>>>>
>>>>>> The first consumer of the library is aMSN -- a free open source MSN
>>>>>> Messenger clone which is an Indiana package. AMSN uses snack for 
>>>>>> voice
>>>>>> clips support.
>>>>>>
>>>>>> 32 and 64 bit libraries will be provided.
>>>>>>
>>>>>> snack provides detailed documentations in html format and examples
>>>>>> describing snack tcl commands and python commands that will be 
>>>>>> released
>>>>>> with the integration.  New man pages will be provided pointing to 
>>>>>> the
>>>>>> html documentations. They are included in case directory.
>>>>>>
>>>>>> 4.2 Interfaces
>>>>>>
>>>>>> Exported Interface                          | Stability    
>>>>>> |Description
>>>>>> --------------------------------------------|--------------|------------------- 
>>>>>>
>>>>>> SUNWsnack                                   | Uncommitted  | 
>>>>>> package name
>>>>>> /usr/include/snack/snack.h                  | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/snackDecls.h             | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/confdefs.h               | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/jkAudIO.h                | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/jkCanvItems.h            | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/jkFormant.h              | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/jkFormatMP3.h            | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/jkGetFO.h                | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/include/snack/jkSound.h                | Uncommitted  | 
>>>>>> header file
>>>>>> /usr/lib/libsnackstub2.2.a                  | Uncommitted  | 
>>>>>> stubs library
>>>>>> /usr/lib/64/libsnackstub2.2.a               | Uncommitted  | 
>>>>>> stubs library
>>>>>> /usr/lib/snackConfig.sh                     | Uncommitted  | 
>>>>>> snack extension config script
>>>>>> /usr/lib/64/snackConfig.sh                  | Uncommitted  | 
>>>>>> snack extension config script
>>>>>> /usr/lib/libsnack.so                        | Committed    | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/libsnack.so.2                      | Uncommitted  | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/libsnack.so.2.2.10                 | Uncommitted  | 
>>>>>> snack library
>>>>>> /usr/lib/64/libsnack.so                     | Committed    | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/64/libsnack.so.2                   | Uncommitted  | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/64/libsnack.so.2.2.10              | Uncommitted  | 
>>>>>> snack library
>>>>>> /usr/lib/libsound.so                        | Committed    | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/libsound.so.2                      | Uncommitted  | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/libsound.so.2.2.10                 | Uncommitted  | 
>>>>>> snack library
>>>>>> /usr/lib/64/libsound.so                     | Committed    | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/64/libsound.so.2                   | Uncommitted  | 
>>>>>> snack library symbolic link
>>>>>> /usr/lib/64/libsound.so.2.2.10              | Uncommitted  | 
>>>>>> snack library
>>>>>> /usr/lib/tcl8.4/snack2.2/pkgIndex.tcl       | Uncommitted  | tcl 
>>>>>> package index
>>>>>> /usr/lib/tcl8.4/snack2.2/snack.tcl          | Uncommitted  | 
>>>>>> snack script library
>>>>>> /usr/lib/python2.4/site-packages/tkSnack.py | Uncommitted  | 
>>>>>> python script
>>>>>> /usr/lib/python2.4/site-packages/tkSnack.pyc| Uncommitted  | 
>>>>>> Python Compiler Script
>>>>>> snack APIs                                  | Uncommitted  | C 
>>>>>> functions
>>>>>> ---------------------------------------------|-------------|-------------------- 
>>>>>>
>>>>>>
>>>>>> Documents delivered:
>>>>>>
>>>>>> /usr/share/man/man1t/snack.1t
>>>>>> /usr/share/man/man3/libsnack.3
>>>>>> /usr/share/doc/snack-2.2/BSD.txt
>>>>>> /usr/share/doc/snack-2.2/COPYING
>>>>>> /usr/share/doc/snack-2.2/README
>>>>>> /usr/share/doc/snack-2.2/changes
>>>>>> /usr/share/doc/snack-2.2/html/AddSubCmd.html
>>>>>> /usr/share/doc/snack-2.2/html/Callback.html
>>>>>> /usr/share/doc/snack-2.2/html/CreateFilter.html
>>>>>> /usr/share/doc/snack-2.2/html/FileFormat.html
>>>>>> /usr/share/doc/snack-2.2/html/SampConv.html
>>>>>> /usr/share/doc/snack-2.2/html/SnackLib.html
>>>>>> /usr/share/doc/snack-2.2/html/SoundData.html
>>>>>> /usr/share/doc/snack-2.2/html/SoundObj.html
>>>>>> /usr/share/doc/snack-2.2/html/SoundProp.html
>>>>>> /usr/share/doc/snack-2.2/html/SoundSamp.html
>>>>>> /usr/share/doc/snack-2.2/html/tcl-man.html
>>>>>> /usr/share/doc/snack-2.2/html/python-man.html
>>>>>> /usr/share/doc/snack-2.2/examples/python/*.py
>>>>>> /usr/share/doc/snack-2.2/examples/tcl/*.tcl
>>>>>> /usr/share/doc/snack-2.2/ext/Makefile.in
>>>>>> /usr/share/doc/snack-2.2/ext/README
>>>>>> /usr/share/doc/snack-2.2/ext/aclocal.m4
>>>>>> /usr/share/doc/snack-2.2/ext/configure
>>>>>> /usr/share/doc/snack-2.2/ext/configure.in
>>>>>> /usr/share/doc/snack-2.2/ext/square.c
>>>>>> /usr/share/doc/snack-2.2/ext/square.dsp
>>>>>> /usr/share/doc/snack-2.2/ext/square.vcproj
>>>>>> /usr/share/doc/snack-2.2/ext/test.tcl
>>>>>>
>>>>>>
>>>>>> Imported Interface      | Stability       | Description
>>>>>> ------------------------+-----------------+-------------
>>>>>> libtcl/libtk 8.4.14     | Uncommitted     | PSARC 2007/317
>>>>>> Python 2.4.x            | External        | PSARC 2005/532
>>>>>> ------------------------+-----------------+-------------
>>>>>>
>>>>>> 4.3 References
>>>>>>
>>>>>> [1] http://www.speech.kth.se/snack/
>>>>>> [2] PSARC 2007/317 Tcl/Tk upgrade to 8.4.14
>>>>>> [3] PSARC 2005/532 Python 2.4.x
>>>>>>
>>>>>> 6. Resources and Schedule
>>>>>> 6.4. Steering Committee requested information
>>>>>> 6.4.1. Consolidation C-team Name:
>>>>>>          SFW
>>>>>> 6.5. ARC review type: FastTrack
>>>>>> 6.6. ARC Exposure: open
>>>>>>
>>>>>
>>>
>

From Frank.Che@sun.com Wed Jun 11 19:22:30 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5C2MTkL018376
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 11 Jun 2008 19:22:30 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5C2MNDR001613
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 12 Jun 2008 10:22:28 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2B00603VXG4O00@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 11 Jun 2008 19:22:28 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2B00221VXFQA10@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 11 Jun 2008 19:22:28 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5C2NKEO022723	for
 <PSARC-ext@sun.com>; Thu, 12 Jun 2008 02:23:20 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2B00401VVFAS00@mail-apac.sun.com> (original mail from Frank.Che@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Thu,
 12 Jun 2008 10:22:04 +0800 (SGT)
Received: from [129.158.218.60] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2B00MQHVWN9MZ5@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 12 Jun 2008 10:22:04 +0800 (SGT)
Date: Thu, 12 Jun 2008 10:22:29 +0800
From: Frank Che <Frank.Che@sun.com>
Subject: PSARC 2008/364 Integrate Snack into Solaris [approved and closed]
In-reply-to: <484F8516.6010106@sun.com>
Sender: Frank.Che@sun.com
To: PSARC-ext@sun.com
Cc: Lin Guo <Lin.Guo@sun.com>
Message-id: <48508865.2050605@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4847B9D1.7030809@sun.com> <48480C9E.4010602@sun.com>
 <4848D97C.7020302@sun.com> <4848E5A0.1020408@sun.com>
 <484E78A6.8080104@sun.com> <484E9E0F.6070302@sun.com>
 <484F8516.6010106@sun.com>
User-Agent: Thunderbird 2.0.0.4 (X11/20070622)
Status: RO
Content-Length: 49

This case was approved in today's PSARC meeting.

