~ubuntu-branches/ubuntu/raring/flac/raring

« back to all changes in this revision

Viewing changes to doc/html/developers.html

  • Committer: Bazaar Package Importer
  • Author(s): Joshua Kwan
  • Date: 2007-05-29 22:56:36 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070529225636-ljeff8xxip09qaap
Tags: 1.1.4-1
* New upstream release. closes: #405167, #411311
  - libOggFLAC and libOggFLAC++ have been merged into libFLAC, so
    remove their corresponding packages.
  - Because of the API changes required to effect the above, there has
    been yet another soname bump. libflac7 -> libflac8 and
    libflac++5 -> libflac++6. Emails have been dispatched to the
    maintainers of dependent packages.
* Some notes on patches that were removed:
  - 02_stdin_stdout, 06_manpage_mention_utf8_convert: merged upstream
  - 08_manpage_warnings: Upstream has changed the manpage so it defintely
    can't fit in in 80 cols, so just forget about it. We'll live.
  - 05_eof_warnings_are_errors: Upstream decided to add a -w option to
    flac to treat all warnings as errors. I am going to defer to that
    for now, but if people think it's stupid let me know and I'll port
    the patch forward.
  - 04_stack_smasher: was a backport from 1.1.3, so it's obsolete.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
 
<!-- Copyright (c)  2000,2001,2002,2003,2004,2005  Josh Coalson -->
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson -->
3
3
<!-- Permission is granted to copy, distribute and/or modify this document -->
4
4
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
5
5
<!-- or any later version published by the Free Software Foundation; -->
6
6
<!-- with no invariant sections. -->
7
7
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
8
 
<HTML>
9
 
<HEAD>
10
 
        <TITLE>FLAC - developers</TITLE>
11
 
</HEAD>
12
 
 
13
 
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
14
 
 
15
 
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
16
 
        <TR>
17
 
                <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
18
 
        </TR>
19
 
</TABLE>
20
 
 
21
 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
22
 
 
23
 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
24
 
 
25
 
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
26
 
        <TR>
27
 
                <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
28
 
                        <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
29
 
                                <TR>
30
 
                                        <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
31
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
32
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
33
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
34
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
35
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
36
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
37
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
38
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
39
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
40
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
41
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
42
 
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;developers&nbsp;&nbsp;</TD>
43
 
                                </TR>
44
 
                        </TABLE>
45
 
                </TD>
46
 
        </TR>
47
 
</TABLE>
48
 
 
49
 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
50
 
 
51
 
<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
52
 
        <TR>
53
 
                <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
54
 
                        <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
55
 
                                <TR>
56
 
                                        <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
57
 
                                        <TD           BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/developers.html">russian</A>&nbsp;&nbsp;</TD>
58
 
                                </TR>
59
 
                        </TABLE>
60
 
                </TD>
61
 
        </TR>
62
 
</TABLE>
63
 
 
64
 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
65
 
 
66
 
<CENTER>
67
 
 
68
 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
69
 
 
70
 
 
71
 
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
72
 
<TR><TD>
73
 
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
74
 
        <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
75
 
                <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
76
 
                <B><FONT SIZE="+2">FLAC developers</FONT></B>
77
 
                </FONT></TD></TR>
78
 
        </TABLE>
79
 
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
80
 
        <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
81
 
        <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
82
 
        <P>
83
 
                FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute.  The preferred method for transmitting improvements is patch files (in "diff -c" format) sent to the <A HREF="http://sourceforge.net/mail/?group_id=13478">developer mailing list</A>, but zipped up sources are OK.  Make sure to read the <A HREF="goals.html">FLAC goals</A> first; there are some thing the we <B>don't</B> want added to FLAC, like copy protection and lossy compression.
84
 
        </P>
85
 
        <P>
86
 
                High priority items are:
87
 
        </P>
88
 
        <P>
89
 
        <UL>
90
 
                <LI>
91
 
                        Support in the plugins for using the CUESHEET metadata block.  The plugin should be able to see a CUESHEET in a FLAC file and present the individual tracks in the player, and fetch metadata from CDDB or CDindex by computing the hash from the CUESHEET and looking up either in a local database or over the net.
92
 
                </LI>
93
 
        </UL>
94
 
        </P>
95
 
        <P>
96
 
                Some other "nice-to-haves":
97
 
        </P>
98
 
        <P>
99
 
        <UL>
100
 
                <LI>
101
 
                        FLAC module for <A HREF="http://www.68k.org/~michael/audiofile/">Audiofile</A>.
102
 
                </LI>
103
 
                <LI>
104
 
                        <A HREF="http://java.sun.com/products/java-media/jmf/">JMF</A> plugin.
105
 
                </LI>
106
 
                <LI>
107
 
                        Streaming support in the Winamp plugin.
108
 
                </LI>
109
 
        </UL>
110
 
        </P>
111
 
        <P>
112
 
                See also the <A HREF="http://sourceforge.net/projects/flac">FLAC project page</A> on Sourceforge.net.
113
 
        </P>
114
 
        </FONT>
115
 
        </TD></TR>
116
 
        </TABLE>
117
 
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
118
 
</TD></TR>
119
 
</TABLE>
120
 
 
121
 
 
122
 
<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
123
 
<TR><TD>
124
 
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
125
 
        <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
126
 
                <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
127
 
                <B><FONT SIZE="+2">third-party developers</FONT></B>
128
 
                </FONT></TD></TR>
129
 
        </TABLE>
130
 
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
131
 
        <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
132
 
        <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
133
 
        <P>
134
 
                FLAC is open to third-party developers who want to add support for FLAC into their programs.  All the necessary functionality is contained the lib*FLAC libraries which are licensed under Xiph.org's BSD license.  The relevant documentation here is:
135
 
                <UL>
136
 
                        <LI>The <A HREF="license.html">license page</A>.</LI>
137
 
                        <LI>The <A HREF="api/index.html">API documentation</A>.</LI>
138
 
                        <LI>The <A HREF="format.html">formal description</A> of the FLAC format.</LI>
139
 
                        <LI>The <A HREF="ogg_mapping.html">Ogg FLAC mapping</A> document.</LI>
140
 
                        <LI>The <A HREF="id.html">ID registration page</A> for registering an ID if you need to write custom metadata.</LI>
141
 
                </UL>
142
 
        </P>
143
 
        <P>
144
 
                There also are several examples in the FLAC code base of API usage that may also be helpful.  Visit the <A HREF="download.html">download page</A> for instructions on how to get the source.
145
 
        </P>
146
 
        </FONT>
147
 
        </TD></TR>
148
 
        </TABLE>
149
 
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
150
 
</TD></TR>
151
 
</TABLE>
152
 
 
153
 
 
154
 
</CENTER>
155
 
 
156
 
<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005  Josh Coalson</P>
157
 
 
158
 
</BODY>
159
 
</HTML>
 
8
<html>
 
9
<head>
 
10
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 
11
        <meta name="author" content="Josh Coalson" />
 
12
        <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
 
13
        <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
 
14
        <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
 
15
        <link rel="stylesheet" type="text/css" href="flac.css" />
 
16
        <title>FLAC - developers</title>
 
17
</head>
 
18
 
 
19
<body>
 
20
 
 
21
<div class="logo">
 
22
        <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
 
23
</div>
 
24
 
 
25
<div class="above_nav"></div>
 
26
 
 
27
<div class="navbar">
 
28
        &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
 
29
        &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
 
30
        &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
 
31
        &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
 
32
        &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
 
33
        &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
 
34
        &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
 
35
        &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
 
36
        &nbsp;developers&nbsp;
 
37
</div>
 
38
 
 
39
<div class="langbar">
 
40
        &nbsp;english&nbsp;&nbsp;|
 
41
        &nbsp;<a href="ru/developers.html">russian</a>&nbsp;
 
42
</div>
 
43
 
 
44
<div class="below_nav"></div>
 
45
 
 
46
<div class="box">
 
47
        <div class="box_title">
 
48
                developers
 
49
        </div>
 
50
        <div class="box_header"></div>
 
51
        <div class="box_body">
 
52
                FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute, or to help with FLAC support in other programs and devices.  The preferred method of communication is the <a href="http://lists.xiph.org/mailman/listinfo/flac-dev">developer mailing list</a>.<br />
 
53
                <br />
 
54
                FLAC is open to third-party developers who want to add support for FLAC into their programs.  All the necessary functionality is contained the libFLAC libraries which are licensed under <a href="license.html">Xiph.org's BSD license</a>.<br />
 
55
                <br />
 
56
                Some pointers to developer documentation and code:<br />
 
57
                <ul>
 
58
                        <li><a href="license.html">License</a> - The license under which the official tools are distributed.</li>
 
59
                        <li><a href="api/index.html">libFLAC and libFLAC++ APIs</a> - Complete library documentation.</li>
 
60
                        <li><a href="format.html">FLAC Format Specification</a> - The formal specification.</li>
 
61
                        <li><a href="ogg_mapping.html">Ogg FLAC Mapping</a> - How FLAC should be embedded in an Ogg container.</li>
 
62
                        <li><a href="id.html">ID Registration</a> - Register an ID if you need to write custom metadata.</li>
 
63
                        <li><a href="http://sourceforge.net/cvs/?group_id=13478">CVS Access</a> - instructions for checking out the source code.</li>
 
64
                        <li><a href="http://flac.cvs.sourceforge.net/flac">Browse the CVS repository</a> from your web browser.</li>
 
65
                </ul>
 
66
                There also are several examples in the FLAC code base of API usage that may also be helpful.  Visit the <a href="download.html">download page</a> for instructions on how to get the source code.
 
67
                <br />
 
68
                Finally, more resources are available on the <a href="http://sourceforge.net/projects/flac">FLAC project page</a> on Sourceforge.net.
 
69
        </div>
 
70
        <div class="box_footer"></div>
 
71
</div>
 
72
 
 
73
<br />
 
74
 
 
75
<div class="box">
 
76
        <div class="box_title">
 
77
                goals
 
78
        </div>
 
79
        <div class="box_header"></div>
 
80
        <div class="box_body">
 
81
                Since FLAC is an open-source project, it's important to have a set of goals that everyone works to.  They may change slightly from time to time but they're a good guideline.  Changes should be in line with the goals and should not attempt to embrace any of the anti-goals.<br />
 
82
                <br />
 
83
                <b>Goals</b>
 
84
                <ul>
 
85
                        <li>
 
86
                                FLAC should be and stay an open format with an open-source reference implementation.
 
87
                        </li>
 
88
                        <li>
 
89
                                FLAC should be lossless.  This seems obvious but lossy compression seems to creep into every audio codec.  This goal also means that <span class="commandname">flac</span> should stay archival quality and be truly lossless for all input.  Testing of releases should be thorough.
 
90
                        </li>
 
91
                        <li>
 
92
                                FLAC should yield respectable compression, on par or better than other lossless codecs.
 
93
                        </li>
 
94
                        <li>
 
95
                                FLAC should allow at least realtime decoding on even modest hardware.
 
96
                        </li>
 
97
                        <li>
 
98
                                FLAC should support fast sample-accurate seeking.
 
99
                        </li>
 
100
                        <li>
 
101
                                FLAC should allow gapless playback of consecutive streams.  This follows from the lossless goal.
 
102
                        </li>
 
103
                        <li>
 
104
                                The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas.
 
105
                        </li>
 
106
                </ul>
 
107
                <b>Anti-goals</b><br />
 
108
                <ul>
 
109
                        <li>
 
110
                                Lossy compression.  There are already many suitable lossy formats (<a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a>, <a href="http://www.mp3-tech.org/">MP3</a>, etc.).
 
111
                        </li>
 
112
                        <li>
 
113
                                Copy prevention, DRM, etc.  There is no intention to add any copy prevention methods.  Of course, we can't stop someone from encrypting a FLAC stream in another container (e.g. the way Apple encrypts AAC in MP4 with FairPlay), that is the choice of the user.
 
114
                        </li>
 
115
                </ul>
 
116
        </div>
 
117
        <div class="box_footer"></div>
 
118
</div>
 
119
 
 
120
 
 
121
<div class="copyright">
 
122
        <!-- @@@ oh so hacky -->
 
123
        <table>
 
124
                <tr>
 
125
                        <td align="left">
 
126
                                Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
 
127
                        </td>
 
128
                        <td width="1%" align="right">
 
129
                                <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
 
130
                        </td>
 
131
                        <td width="1%" align="right">
 
132
                                <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
 
133
                        </td>
 
134
                        <td width="1%" align="right">
 
135
                                <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
 
136
                        </td>
 
137
                </tr>
 
138
        </table>
 
139
</div>
 
140
 
 
141
</body>
 
142
</html>