bool set_max_residual_partition_order(unsigned value);
bool set_rice_parameter_search_dist(unsigned value);
bool set_total_samples_estimate(FLAC__uint64 value);
- bool set_seek_table(const FLAC__StreamMetaData_SeekTable *value);
- bool set_padding(int value);
- bool set_last_metadata_is_last(bool value);
+ bool set_metadata(FLAC__StreamMetaData **metadata, unsigned num_blocks);
State get_state() const;
bool get_streamable_subset() const;
\r
!include <win32.mak>\r
\r
+SUFFIXES = .cpp\r
+\r
!IFDEF DEBUG\r
.cc.obj:\r
- $(ccc) /D "_LIB" /GX $(cdebug) $(cflags) /I "..\..\include" -DSTRICT -YX /Od /D "_DEBUG" $<\r
+ $(cc) /D "_LIB" /GX $(cdebug) $(cflags) /I "..\..\include" -DSTRICT -YX /Od /D "_DEBUG" $<\r
!else\r
.cc.obj:\r
- $(ccc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG $<\r
+ $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG $<\r
!endif\r
\r
CC_FILES= \\r
libFLAC++.lib: $(OBJS)\r
link.exe -lib /nodefaultlib -out:../../obj/lib/$*.lib $(OBJS)\r
\r
+# can't figure out how to get it to take .cc so we just hack it for now:\r
+file_decoder.obj: file_decoder.cc\r
+ $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP file_decoder.cc\r
+metadata.obj: metadata.cc\r
+ $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP metadata.cc\r
+seekable_stream_decoder.obj: seekable_stream_decoder.cc\r
+ $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP seekable_stream_decoder.cc\r
+stream_decoder.obj: stream_decoder.cc\r
+ $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP stream_decoder.cc\r
+stream_encoder.obj: stream_encoder.cc\r
+ $(cc) /D "_LIB" /O2 $(crelease) $(cflags) /I "..\..\include" -DSTRICT -YX -DNODEBUG /TP stream_encoder.cc\r
+\r
clean:\r
- -del *.obj ia32\*.obj *.pch\r
+ -del *.obj *.pch\r
-del ..\..\obj\lib\libFLAC++.lib ..\..\obj\lib\libFLAC++.pdb\r
bool File::set_md5_checking(bool value)
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_md5_checking(decoder_, value);
+ return (bool)::FLAC__file_decoder_set_md5_checking(decoder_, value);
}
bool File::set_filename(const char *value)
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_filename(decoder_, value);
+ return (bool)::FLAC__file_decoder_set_filename(decoder_, value);
}
bool File::set_metadata_respond(::FLAC__MetaDataType type)
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_metadata_respond(decoder_, type);
+ return (bool)::FLAC__file_decoder_set_metadata_respond(decoder_, type);
}
bool File::set_metadata_respond_application(const FLAC__byte id[4])
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_metadata_respond_application(decoder_, id);
+ return (bool)::FLAC__file_decoder_set_metadata_respond_application(decoder_, id);
}
bool File::set_metadata_respond_all()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_metadata_respond_all(decoder_);
+ return (bool)::FLAC__file_decoder_set_metadata_respond_all(decoder_);
}
bool File::set_metadata_ignore(::FLAC__MetaDataType type)
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_metadata_ignore(decoder_, type);
+ return (bool)::FLAC__file_decoder_set_metadata_ignore(decoder_, type);
}
bool File::set_metadata_ignore_application(const FLAC__byte id[4])
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_metadata_ignore_application(decoder_, id);
+ return (bool)::FLAC__file_decoder_set_metadata_ignore_application(decoder_, id);
}
bool File::set_metadata_ignore_all()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_set_metadata_ignore_all(decoder_);
+ return (bool)::FLAC__file_decoder_set_metadata_ignore_all(decoder_);
}
File::State File::get_state() const
bool File::get_md5_checking() const
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_get_md5_checking(decoder_);
+ return (bool)::FLAC__file_decoder_get_md5_checking(decoder_);
}
File::State File::init()
bool File::finish()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_finish(decoder_);
+ return (bool)::FLAC__file_decoder_finish(decoder_);
}
bool File::process_whole_file()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_process_whole_file(decoder_);
+ return (bool)::FLAC__file_decoder_process_whole_file(decoder_);
}
bool File::process_metadata()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_process_metadata(decoder_);
+ return (bool)::FLAC__file_decoder_process_metadata(decoder_);
}
bool File::process_one_frame()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_process_one_frame(decoder_);
+ return (bool)::FLAC__file_decoder_process_one_frame(decoder_);
}
bool File::process_remaining_frames()
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_process_remaining_frames(decoder_);
+ return (bool)::FLAC__file_decoder_process_remaining_frames(decoder_);
}
bool File::seek_absolute(FLAC__uint64 sample)
{
FLAC__ASSERT(0 != decoder_);
- return ::FLAC__file_decoder_seek_absolute(decoder_, sample);
+ return (bool)::FLAC__file_decoder_seek_absolute(decoder_, sample);
}
::FLAC__StreamDecoderWriteStatus File::write_callback_(const ::FLAC__FileDecoder *decoder, const ::FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data)
bool Prototype::get_is_last() const
{
FLAC__ASSERT(is_valid());
- return object_->is_last;
+ return (bool)object_->is_last;
}
FLAC__MetaDataType Prototype::get_type() const
bool Application::set_data(FLAC__byte *data, unsigned length, bool copy)
{
FLAC__ASSERT(is_valid());
- return FLAC__metadata_object_application_set_data(object_, data, length, copy);
+ return (bool)::FLAC__metadata_object_application_set_data(object_, data, length, copy);
}
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index <= object_->data.seek_table.num_points);
- return ::FLAC__metadata_object_seektable_insert_point(object_, index, point);
+ return (bool)::FLAC__metadata_object_seektable_insert_point(object_, index, point);
}
bool SeekTable::delete_point(unsigned index)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index < object_->data.seek_table.num_points);
- return ::FLAC__metadata_object_seektable_delete_point(object_, index);
+ return (bool)::FLAC__metadata_object_seektable_delete_point(object_, index);
}
bool VorbisComment::set_vendor_string(const VorbisComment::Entry &entry)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_object_vorbiscomment_set_vendor_string(object_, entry.get_entry(), /*copy=*/true);
+ return (bool)::FLAC__metadata_object_vorbiscomment_set_vendor_string(object_, entry.get_entry(), /*copy=*/true);
}
bool VorbisComment::set_comment(unsigned index, const VorbisComment::Entry &entry)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index < object_->data.vorbis_comment.num_comments);
- return ::FLAC__metadata_object_vorbiscomment_set_comment(object_, index, entry.get_entry(), /*copy=*/true);
+ return (bool)::FLAC__metadata_object_vorbiscomment_set_comment(object_, index, entry.get_entry(), /*copy=*/true);
}
bool VorbisComment::insert_comment(unsigned index, const VorbisComment::Entry &entry)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index <= object_->data.vorbis_comment.num_comments);
- return ::FLAC__metadata_object_vorbiscomment_insert_comment(object_, index, entry.get_entry(), /*copy=*/true);
+ return (bool)::FLAC__metadata_object_vorbiscomment_insert_comment(object_, index, entry.get_entry(), /*copy=*/true);
}
bool VorbisComment::delete_comment(unsigned index)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index < object_->data.vorbis_comment.num_comments);
- return ::FLAC__metadata_object_vorbiscomment_delete_comment(object_, index);
+ return (bool)::FLAC__metadata_object_vorbiscomment_delete_comment(object_, index);
}
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_init(iterator_, filename, preserve_file_stats);
+ return (bool)::FLAC__metadata_simple_iterator_init(iterator_, filename, preserve_file_stats);
}
bool SimpleIterator::is_valid() const
bool SimpleIterator::is_writable() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_is_writable(iterator_);
+ return (bool)::FLAC__metadata_simple_iterator_is_writable(iterator_);
}
bool SimpleIterator::next()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_next(iterator_);
+ return (bool)::FLAC__metadata_simple_iterator_next(iterator_);
}
bool SimpleIterator::prev()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_prev(iterator_);
+ return (bool)::FLAC__metadata_simple_iterator_prev(iterator_);
}
::FLAC__MetaDataType SimpleIterator::get_block_type() const
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_set_block(iterator_, block->object_, use_padding);
+ return (bool)::FLAC__metadata_simple_iterator_set_block(iterator_, block->object_, use_padding);
}
bool SimpleIterator::insert_block_after(Prototype *block, bool use_padding)
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_insert_block_after(iterator_, block->object_, use_padding);
+ return (bool)::FLAC__metadata_simple_iterator_insert_block_after(iterator_, block->object_, use_padding);
}
bool SimpleIterator::delete_block(bool use_padding)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_simple_iterator_delete_block(iterator_, use_padding);
+ return (bool)::FLAC__metadata_simple_iterator_delete_block(iterator_, use_padding);
}
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_chain_read(chain_, filename);
+ return (bool)::FLAC__metadata_chain_read(chain_, filename);
}
bool Chain::write(bool use_padding, bool preserve_file_stats)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_chain_write(chain_, use_padding, preserve_file_stats);
+ return (bool)::FLAC__metadata_chain_write(chain_, use_padding, preserve_file_stats);
}
void Chain::merge_padding()
bool Iterator::next()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_iterator_next(iterator_);
+ return (bool)::FLAC__metadata_iterator_next(iterator_);
}
bool Iterator::prev()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_iterator_prev(iterator_);
+ return (bool)::FLAC__metadata_iterator_prev(iterator_);
}
::FLAC__MetaDataType Iterator::get_block_type() const
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- bool ret = ::FLAC__metadata_iterator_set_block(iterator_, block->object_);
+ bool ret = (bool)::FLAC__metadata_iterator_set_block(iterator_, block->object_);
if(ret) {
block->set_reference(true);
delete block;
bool Iterator::delete_block(bool replace_with_padding)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__metadata_iterator_delete_block(iterator_, replace_with_padding);
+ return (bool)::FLAC__metadata_iterator_delete_block(iterator_, replace_with_padding);
}
bool Iterator::insert_block_before(Prototype *block)
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- bool ret = ::FLAC__metadata_iterator_insert_block_before(iterator_, block->object_);
+ bool ret = (bool)::FLAC__metadata_iterator_insert_block_before(iterator_, block->object_);
if(ret) {
block->set_reference(true);
delete block;
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- bool ret = ::FLAC__metadata_iterator_insert_block_after(iterator_, block->object_);
+ bool ret = (bool)::FLAC__metadata_iterator_insert_block_after(iterator_, block->object_);
if(ret) {
block->set_reference(true);
delete block;
bool SeekableStream::set_md5_checking(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_md5_checking(decoder_, value);
+ return (bool)::FLAC__seekable_stream_decoder_set_md5_checking(decoder_, value);
}
bool SeekableStream::set_metadata_respond(::FLAC__MetaDataType type)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_metadata_respond(decoder_, type);
+ return (bool)::FLAC__seekable_stream_decoder_set_metadata_respond(decoder_, type);
}
bool SeekableStream::set_metadata_respond_application(const FLAC__byte id[4])
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_metadata_respond_application(decoder_, id);
+ return (bool)::FLAC__seekable_stream_decoder_set_metadata_respond_application(decoder_, id);
}
bool SeekableStream::set_metadata_respond_all()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_metadata_respond_all(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_set_metadata_respond_all(decoder_);
}
bool SeekableStream::set_metadata_ignore(::FLAC__MetaDataType type)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_metadata_ignore(decoder_, type);
+ return (bool)::FLAC__seekable_stream_decoder_set_metadata_ignore(decoder_, type);
}
bool SeekableStream::set_metadata_ignore_application(const FLAC__byte id[4])
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_metadata_ignore_application(decoder_, id);
+ return (bool)::FLAC__seekable_stream_decoder_set_metadata_ignore_application(decoder_, id);
}
bool SeekableStream::set_metadata_ignore_all()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_set_metadata_ignore_all(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_set_metadata_ignore_all(decoder_);
}
SeekableStream::State SeekableStream::get_state() const
bool SeekableStream::get_md5_checking() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_get_md5_checking(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_get_md5_checking(decoder_);
}
SeekableStream::State SeekableStream::init()
bool SeekableStream::finish()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_finish(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_finish(decoder_);
}
bool SeekableStream::process_whole_stream()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_process_whole_stream(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_process_whole_stream(decoder_);
}
bool SeekableStream::process_metadata()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_process_metadata(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_process_metadata(decoder_);
}
bool SeekableStream::process_one_frame()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_process_one_frame(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_process_one_frame(decoder_);
}
bool SeekableStream::process_remaining_frames()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_process_remaining_frames(decoder_);
+ return (bool)::FLAC__seekable_stream_decoder_process_remaining_frames(decoder_);
}
bool SeekableStream::seek_absolute(FLAC__uint64 sample)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__seekable_stream_decoder_seek_absolute(decoder_, sample);
+ return (bool)::FLAC__seekable_stream_decoder_seek_absolute(decoder_, sample);
}
FLAC__SeekableStreamDecoderReadStatus SeekableStream::read_callback_(const ::FLAC__SeekableStreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
bool Stream::set_metadata_respond(::FLAC__MetaDataType type)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_set_metadata_respond(decoder_, type);
+ return (bool)::FLAC__stream_decoder_set_metadata_respond(decoder_, type);
}
bool Stream::set_metadata_respond_application(const FLAC__byte id[4])
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_set_metadata_respond_application(decoder_, id);
+ return (bool)::FLAC__stream_decoder_set_metadata_respond_application(decoder_, id);
}
bool Stream::set_metadata_respond_all()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_set_metadata_respond_all(decoder_);
+ return (bool)::FLAC__stream_decoder_set_metadata_respond_all(decoder_);
}
bool Stream::set_metadata_ignore(::FLAC__MetaDataType type)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_set_metadata_ignore(decoder_, type);
+ return (bool)::FLAC__stream_decoder_set_metadata_ignore(decoder_, type);
}
bool Stream::set_metadata_ignore_application(const FLAC__byte id[4])
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_set_metadata_ignore_application(decoder_, id);
+ return (bool)::FLAC__stream_decoder_set_metadata_ignore_application(decoder_, id);
}
bool Stream::set_metadata_ignore_all()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_set_metadata_ignore_all(decoder_);
+ return (bool)::FLAC__stream_decoder_set_metadata_ignore_all(decoder_);
}
Stream::State Stream::get_state() const
bool Stream::flush()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_flush(decoder_);
+ return (bool)::FLAC__stream_decoder_flush(decoder_);
}
bool Stream::reset()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_reset(decoder_);
+ return (bool)::FLAC__stream_decoder_reset(decoder_);
}
bool Stream::process_whole_stream()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_process_whole_stream(decoder_);
+ return (bool)::FLAC__stream_decoder_process_whole_stream(decoder_);
}
bool Stream::process_metadata()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_process_metadata(decoder_);
+ return (bool)::FLAC__stream_decoder_process_metadata(decoder_);
}
bool Stream::process_one_frame()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_process_one_frame(decoder_);
+ return (bool)::FLAC__stream_decoder_process_one_frame(decoder_);
}
bool Stream::process_remaining_frames()
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_decoder_process_remaining_frames(decoder_);
+ return (bool)::FLAC__stream_decoder_process_remaining_frames(decoder_);
}
::FLAC__StreamDecoderReadStatus Stream::read_callback_(const ::FLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
bool Stream::set_streamable_subset(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_streamable_subset(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_streamable_subset(encoder_, value);
}
bool Stream::set_do_mid_side_stereo(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_do_mid_side_stereo(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_do_mid_side_stereo(encoder_, value);
}
bool Stream::set_loose_mid_side_stereo(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_loose_mid_side_stereo(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_loose_mid_side_stereo(encoder_, value);
}
bool Stream::set_channels(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_channels(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_channels(encoder_, value);
}
bool Stream::set_bits_per_sample(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_bits_per_sample(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_bits_per_sample(encoder_, value);
}
bool Stream::set_sample_rate(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_sample_rate(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_sample_rate(encoder_, value);
}
bool Stream::set_blocksize(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_blocksize(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_blocksize(encoder_, value);
}
bool Stream::set_max_lpc_order(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_max_lpc_order(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_max_lpc_order(encoder_, value);
}
bool Stream::set_qlp_coeff_precision(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_qlp_coeff_precision(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_qlp_coeff_precision(encoder_, value);
}
bool Stream::set_do_qlp_coeff_prec_search(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder_, value);
}
bool Stream::set_do_escape_coding(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_do_escape_coding(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_do_escape_coding(encoder_, value);
}
bool Stream::set_do_exhaustive_model_search(bool value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_do_exhaustive_model_search(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_do_exhaustive_model_search(encoder_, value);
}
bool Stream::set_min_residual_partition_order(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_min_residual_partition_order(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_min_residual_partition_order(encoder_, value);
}
bool Stream::set_max_residual_partition_order(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_max_residual_partition_order(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_max_residual_partition_order(encoder_, value);
}
bool Stream::set_rice_parameter_search_dist(unsigned value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_rice_parameter_search_dist(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_rice_parameter_search_dist(encoder_, value);
}
bool Stream::set_total_samples_estimate(FLAC__uint64 value)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_total_samples_estimate(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_total_samples_estimate(encoder_, value);
}
- bool Stream::set_seek_table(const FLAC__StreamMetaData_SeekTable *value)
+ bool Stream::set_metadata(FLAC__StreamMetaData **metadata, unsigned num_blocks)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_seek_table(encoder_, value);
- }
-
- bool Stream::set_padding(int value)
- {
- FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_padding(encoder_, value);
- }
-
- bool Stream::set_last_metadata_is_last(bool value)
- {
- FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_set_last_metadata_is_last(encoder_, value);
+ return (bool)::FLAC__stream_encoder_set_metadata(encoder_, metadata, num_blocks);
}
Stream::State Stream::get_state() const
bool Stream::get_streamable_subset() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_get_streamable_subset(encoder_);
+ return (bool)::FLAC__stream_encoder_get_streamable_subset(encoder_);
}
bool Stream::get_do_mid_side_stereo() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_get_do_mid_side_stereo(encoder_);
+ return (bool)::FLAC__stream_encoder_get_do_mid_side_stereo(encoder_);
}
bool Stream::get_loose_mid_side_stereo() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_get_loose_mid_side_stereo(encoder_);
+ return (bool)::FLAC__stream_encoder_get_loose_mid_side_stereo(encoder_);
}
unsigned Stream::get_channels() const
bool Stream::get_do_qlp_coeff_prec_search() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_get_do_qlp_coeff_prec_search(encoder_);
+ return (bool)::FLAC__stream_encoder_get_do_qlp_coeff_prec_search(encoder_);
}
bool Stream::get_do_escape_coding() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_get_do_escape_coding(encoder_);
+ return (bool)::FLAC__stream_encoder_get_do_escape_coding(encoder_);
}
bool Stream::get_do_exhaustive_model_search() const
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_get_do_exhaustive_model_search(encoder_);
+ return (bool)::FLAC__stream_encoder_get_do_exhaustive_model_search(encoder_);
}
unsigned Stream::get_min_residual_partition_order() const
bool Stream::process(const FLAC__int32 *buf[], unsigned samples)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_process(encoder_, buf, samples);
+ return (bool)::FLAC__stream_encoder_process(encoder_, buf, samples);
}
bool Stream::process_interleaved(const FLAC__int32 buf[], unsigned samples)
{
FLAC__ASSERT(is_valid());
- return ::FLAC__stream_encoder_process_interleaved(encoder_, buf, samples);
+ return (bool)::FLAC__stream_encoder_process_interleaved(encoder_, buf, samples);
}
::FLAC__StreamEncoderWriteStatus Stream::write_callback_(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame, void *client_data)
FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_(FILE *file, FLAC__StreamMetaData_VorbisComment_Entry *entry)
{
const unsigned entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
- FLAC__byte buffer[FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8];
+ FLAC__byte buffer[4]; /* magic number is asserted below */
+ FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8 == 4);
FLAC__ASSERT(0 != file);
if(fread(buffer, 1, entry_length_len, file) != entry_length_len)
unsigned i;
FLAC__MetaData_SimpleIteratorStatus status;
const unsigned num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
- FLAC__byte buffer[FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8];
+ FLAC__byte buffer[4]; /* magic number is asserted below */
+ FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8 == 4);
FLAC__ASSERT(0 != file);
if(FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK != (status = read_metadata_block_data_vorbis_comment_entry_(file, &(block->vendor_string))))
buffer[10] = (block->sample_rate >> 12) & 0xff;
buffer[11] = (block->sample_rate >> 4) & 0xff;
buffer[12] = ((block->sample_rate & 0x0f) << 4) | (channels1 << 1) | (bps1 >> 4);
- buffer[13] = ((bps1 & 0x0f) << 4) | ((block->total_samples >> 32) & 0x0f);
+ buffer[13] = (FLAC__byte)(((bps1 & 0x0f) << 4) | ((block->total_samples >> 32) & 0x0f));
pack_uint32_((FLAC__uint32)block->total_samples, buffer+14, 4);
memcpy(buffer+18, block->md5sum, 16);
unsigned i;
const unsigned entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
const unsigned num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
- FLAC__byte buffer[max(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN, FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN) / 8];
+ FLAC__byte buffer[4]; /* magic number is asserted below */
+ FLAC__ASSERT(max(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN, FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN) / 8 == 4);
FLAC__ASSERT(0 != file);
pack_uint32_little_endian_(block->vendor_string.length, buffer, entry_length_len);
all: metaflac.exe\r
\r
metaflac.exe: $(OBJS)\r
- link.exe /libpath:"..\..\obj\lib" -out:../../obj/bin/$*.exe $(OBJS)\r
+ link.exe /libpath:"..\..\obj\lib" -out:../../obj/bin/$*.exe $(OBJS) libFLAC.lib getopt.lib\r
\r
clean:\r
-del *.obj *.pch\r
unsigned capacity;
} args;
unsigned num_files;
- const char **filenames;
+ char **filenames;
} CommandLineOptions;
static void die(const char *message);
struct stat stats;
if(0 == stat(filename, &stats)) {
+#if !defined _MSC_VER && !defined __MINGW32__
if(read_only) {
stats.st_mode &= ~S_IWUSR;
stats.st_mode &= ~S_IWGRP;
stats.st_mode |= S_IWGRP;
stats.st_mode |= S_IWOTH;
}
+#else
+ if(read_only)
+ stats.st_mode &= ~S_IWRITE;
+ else
+ stats.st_mode |= S_IWRITE;
+#endif
if(0 != chmod(filename, stats.st_mode))
return false;
}