When I try to transcode any of my collection of lossless audio files from Monkey's Audio (.ape) to FLAC, I'm getting one of two problems, depending on settings.
1) If I set "Use OGG as transport layer" to off (the default), I get a successful transcode of the audio, but the metadata tags are all Null-terminated strings.
This is counter to the "FLAC Tags"/"Vorbis Comments" spec (
http://www.xiph.org/vorbis/doc/v-comment.html) which states that:
The comment header logically is a list of eight-bit-clean vectors; [...]. The vector length is encoded; the vector contents themselves are not null terminated.
Unfortunately this breaks or confuses some of the other tag reading/editing software that I want to use (such as Jaikoz), and makes moving the files to other platforms a problem.
If I convert the files using the standard FLAC 1.2.1b release, I get clean tags, but this doesn't give me the full set of metadata that MC passes through to other formats.
2) If I set "Use OGG as transport layer" to off (in an attempt to avoid the null-terminated tags problem), the conversions break entirely.
A relevant log file extract is:
Media Center; Version: 17.0.106; Types: 1537
0037625: 3164: General: CMCUICore::GetEnableMonitorChange: Start
0037625: 3164: General: CMCUICore::GetEnableMonitorChange: Change: 1; UI Mode: -999
0037625: 3164: General: CMCUICore::GetEnableMonitorChange: Finish (result: 1) (0 ms)
0040282: 3164: General: CMCResourceHelper::GetIsModalPopupShowing: Menu showing
0042188: 3164: General: CMCUICore::GetPopupShowing: popup showing=TRUE, window class name=#32770
0043657: 3164: General: CMCUICore::GetPopupShowing: popup showing=TRUE, window class name=#32770
0043672: 1056: Encoders: CFlacEncoder::CFlacEncoder: Start
0043672: 1056: Encoders: CFlacEncoder::CFlacEncoder: Finish (0 ms)
0043672: 1056: Encoders: CFlacEncoder::CFlacEncoder: Start
0043672: 1056: Encoders: CFlacEncoder::CFlacEncoder: Finish (0 ms)
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Start
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: m_nFileSize is now 81602640
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Passed WaveFormatEx valid
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: nSamples is now 20400660
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Successfully completed Encoder setup
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Setting up MetaData blocks
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Adding SeekTable
0043719: 256: Encoders: EncoderImpl::SetSeekTable(&st, 20400660, 0)
: Start
0043719: 256: Encoders: EncoderImpl::SetSeekTable(&st, 20400660, 0)
: Finish (0 ms)
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Adding Padding Block
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Initializing the encoder with the following settings:
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: bits per sample = 16
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: verify = True
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: ERROR - Failed to init
0043719: 256: Encoders: CFlacEncoder::StartBufferBased: Finish (0 ms)
0043719: 1056: Encoders: CFlacEncoder::~CFlacEncoder: Start
0043719: 1056: Encoders: CFlacEncoder::~CFlacEncoder: Finish (0 ms)
0043719: 1056: Encoders: CFlacEncoder::~CFlacEncoder: Start
0043719: 1056: Encoders: CFlacEncoder::~CFlacEncoder: Finish (0 ms)
I'm running Windows 7, 64-bit.
Regards
Brian