pxtone-source-code 170212a に対する修正箇所
修正前のファイルは元ファイルの拡張子に .original を付加して残してある

・pxtnService.cpp
bool pxtnService::set_destination_quality( int32_t ch_num, int32_t sps )

dst_byte_per_smp = pxtnBITPERSAMPLE / 8 * ch_num;
=>	_dst_byte_per_smp = 64 / 8 * ch_num;

64bit float で出力するように修正

-------------------------------------------------------------------------------

・pxtnService_moo.cpp
bool pxtnService::_moo_PXTONE_SAMPLE( void *p_data )
bool pxtnService::Moo( void* p_buf, int32_t  size )

64bit float で出力するように修正

-------------------------------------------------------------------------------

・pxtnPulse_Oggv.h

//#define pxINCLUDE_OGGVORBIS 1
=> #define pxINCLUDE_OGGVORBIS 1

コメントアウトを外す

-------------------------------------------------------------------------------

・pxtnPulse_Oggv.cpp
static long _mtell( void* p_void )

static long _mtell( void* p_void )
=> static _int64 _mtell( void* p_void )

kbvorbis.kpi の libvorbis を利用するのに、vorbisfile.h の ov_callbacks を

typedef struct {
  size_t (*read_func)  (void *ptr, size_t size, size_t nmemb, void *datasource);
  int    (*seek_func)  (void *datasource, ogg_int64_t offset, int whence);
  int    (*close_func) (void *datasource);
/*  long   (*tell_func)  (void *datasource); */
/* ↑を↓に修正 */
  ogg_int64_t   (*tell_func)  (void *datasource);
} ov_callbacks;

のように修正したため。

libvorbis を改変せずに使う分には修正不要。
