libFLAC++: all metadata object operator=() funcs now return *this; add Metadata:...
[flac.git] / doc / html / changelog.html
index 8a7b1b0..0a087db 100644 (file)
        </P>
 
        <P>
+               <A NAME="flac_@@@@@@"><B>@@@@@@</B></A>
+       </P>
+       <P>
+       <UL>
+               <LI>
+                       General:
+                       <UL>
+                               <LI>Sped up encoding when not using LPC (i.e. when using <TT>flac</TT> options <TT>-0</TT>, <TT>-1</TT>, <TT>-2</TT>, or <TT>-l 0</TT>).</LI>
+                       </UL>
+               </LI>
+               <LI>
+                       FLAC format:
+                       <UL>
+                       </UL>
+               </LI>
+               <LI>
+                       Ogg FLAC format:
+                       <UL>
+                       </UL>
+               </LI>
+               <LI>
+                       flac:
+                       <UL>
+                               <LI>New option <A HREF="documentation.html#flac_options_input_size"><TT>--input-size</TT></A> to manually specify the input size when encoding raw samples from stdin.</LI>
+                       </UL>
+               </LI>
+               <LI>
+                       metaflac:
+                       <UL>
+                       </UL>
+               </LI>
+               <LI>
+                       plugins:
+                       <UL>
+                               <LI>Added support for HTTP streaming in XMMS plugin.</LI>
+                       </UL>
+               </LI>
+               <LI>
+                       build system:
+                       <UL>
+                       </UL>
+               </LI>
+               <LI>
+                       libraries:
+                       <UL>
+                               <LI>libFLAC: Sped up encoding when not using LPC (i.e. <TT>max_lpc_order == 0</TT>).</LI>
+                               <LI>libFLAC, libOggFLAC: Can now be compiled to use only integer instructions, including encoding.  The decoder is almost completely integer anyway but there were a couple places that needed a fixed-point replacement.  There is no fixed-point version of LPC analysis yet, so if libFLAC is compiled integer-only, the encoder will behave as if the max LPC order is 0 (i.e. used fixed predictors only).  LPC decoding is supported in all cases as it always was integer-only.</LI>
+                       </UL>
+               </LI>
+               <LI>
+                       Interface changes:
+                       <UL>
+                               <LI>
+                                       libFLAC:
+                                       <UL>
+                                               <LI><B>Changed:</B> Metadata object interface now maintains a trailing NULL on Vorbis comment entries for convenience.</LI>
+                                               <LI><B>Changed:</B> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</LI>
+                                               <LI><B>Added</B> FLAC__format_vorbiscomment_entry_name_is_legal()</LI>
+                                               <LI><B>Added</B> FLAC__format_vorbiscomment_entry_value_is_legal()</LI>
+                                               <LI><B>Added</B> FLAC__format_vorbiscomment_entry_is_legal()</LI>
+                                               <LI><B>Added</B> FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()</LI>
+                                               <LI><B>Added</B> FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()</LI>
+                                               <LI><B>Changed</B> the signature of FLAC__metadata_object_vorbiscomment_entry_matches(): the first argument is now <TT>FLAC__StreamMetadata_VorbisComment_Entry entry</TT> (was <TT>const FLAC__StreamMetadata_VorbisComment_Entry *entry</TT>), i.e. <TT>entry</TT> is now pass-by-value.</LI>
+                                       </UL>
+                               </LI>
+                               <LI>
+                                       libFLAC++:
+                                       <UL>
+                                               <LI><B>Changed:</B> Metadata object interface now maintains a trailing NULL on Vorbis comment values for convenience.</LI>
+                                               <LI><B>Changed:</B> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</LI>
+                                               <LI><B>Changed:</B> All Metadata objects' operator=() methods now return a reference to themselves.</LI>
+                                               <LI><B>Added</B> methods to FLAC::Metadata::VorbisComment::Entry for setting comment values from null-terminated strings:
+                                                       <UL>
+                                                               <LI>Entry(const char *field)</LI>
+                                                               <LI>Entry(const char *field_name, const char *field_value)</LI>
+                                                               <LI>bool set_field(const char *field)</LI>
+                                                               <LI>bool set_field_value(const char *field_value)</LI>
+                                                       </UL>
+                                               </LI>
+                                               <LI><B>Changed</B> the signature of FLAC::Metadata::VorbisComment::get_vendor_string() and FLAC::Metadata::VorbisComment::set_vendor_string() to use a UTF-8, NUL-terminated string <TT>const FLAC__byte *</TT> for the vendor string instead of <TT>FLAC::Metadata::VorbisComment::Entry</TT>.</LI>
+                                               <LI><B>Added</B> FLAC::Metadata::*::assign() to all Metadata objects.</LI>
+                                               <LI><B>Added</B> bool FLAC::Metadata::get_tags(const char *filename, VorbisComment &tags)</LI>
+                                       </UL>
+                               </LI>
+                               <LI>
+                                       libOggFLAC:
+                                       <UL>
+                                       </UL>
+                               </LI>
+                               <LI>
+                                       libOggFLAC++:
+                                       <UL>
+                                       </UL>
+                               </LI>
+                       </UL>
+               </LI>
+       </UL>
+       </P>
+
+       <P>
                <A NAME="flac_1_1_1"><B>FLAC 1.1.1</B></A>
        </P>
        <P>
                                <LI>Write more common representation of SANE numbers in AIFF files.</LI>
                                <LI>Bug fix: calculating ReplayGain on 48kHz streams.</LI>
                                <LI>Bug fix: check for supported block alignments in WAVE files.</LI>
+                               <LI>Bug fix: "offset" field in AIFF SSND chunk properly handled.</LI>
                                <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=679166&group_id=13478&atid=113478">#679166</A>: flac doesn't respect RIFF subchunk padding byte.</LI>
                                <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=828391&group_id=13478&atid=113478">#828391</A>: --add-replay-gain segfaults.</LI>
                                <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=851155&group_id=13478&atid=113478">#851155</A>: Can't seek to position in flac file.</LI>
                                <LI>Speed optimization in ReplayGain synthesis.</LI>
                                <LI>Speed optimization in XMMS playback.</LI>
                                <LI>Support for big-endian architectures in XMMS plugin.</LI>
+                               <LI>Removed support for ID3 tags.</LI>
                                <LI>Bug fix: make hard limiter default to off in XMMS plugin.</LI>
                                <LI>Bug fix: stream length calculation bug in XMMS plugin, debian bug #200435; <A HREF="http://sourceforge.net/mailarchive/forum.php?thread_id=2733072&forum_id=6312">see also</A>.</LI>
                                <LI>Bug fix: small memory leak in XMMS plugin.</LI>