WAComponentClient *the = &wac;\r
\r
#include "studio/services/servicei.h"\r
-static waServiceT<svc_mediaConverter, FlacPcm> flacpcm;\r
\r
// {683FA153-4055-467c-ABEE-5E35FA03C51E}\r
static const GUID guid = \r
{ 0x683fa153, 0x4055, 0x467c, { 0xab, 0xee, 0x5e, 0x35, 0xfa, 0x3, 0xc5, 0x1e } };\r
\r
-_int nch;\r
-_int samplerate;\r
-_int bps;\r
+_int nch("# of channels", 2);\r
+_int samplerate("Sample rate", 44100);\r
+_int bps("Bits per second", 16);\r
\r
-WACNAME::WACNAME() : CfgItemI("RAW files support") {\r
-#ifdef FORTIFY\r
- FortifySetName("cnv_flacpcm.wac");\r
- FortifyEnterScope();\r
-#endif\r
+WACNAME::WACNAME() : WAComponentClient("RAW files support") {\r
+ registerService(new waServiceT<svc_mediaConverter, FlacPcm>);\r
}\r
\r
WACNAME::~WACNAME() {\r
-#ifdef FORTIFY\r
- FortifyLeaveScope();\r
-#endif\r
}\r
\r
GUID WACNAME::getGUID() {\r
}\r
\r
void WACNAME::onRegisterServices() {\r
- api->service_register(&flacpcm);\r
api->core_registerExtension("*.flac","FLAC Files");\r
\r
- nch.setName("# of channels");\r
- nch=2;\r
registerAttribute(&nch);\r
- samplerate.setName("Sample rate");\r
- samplerate=44100;\r
registerAttribute(&samplerate);\r
- bps.setName("Bits per second");\r
- bps=16;\r
registerAttribute(&bps);\r
}\r
-\r
-void WACNAME::onDestroy() {\r
- api->service_deregister(&flacpcm);\r
- WAComponentClient::onDestroy();\r
-}\r
# PROP Ignore_Export_Lib 0\r
# PROP Target_Dir ""\r
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "cnv_flacpcm_EXPORTS" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /I "\Wasabi SDK\studio" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "cnv_flacpcm_EXPORTS" /D "USE_ASM" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /I "\Wasabi SDK\studio" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "cnv_flacpcm_EXPORTS" /D "USE_ASM" /D "WACLIENT_NOICONSUPPORT" /YX /FD /c\r
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
# End Source File\r
# Begin Source File\r
\r
-SOURCE="\Wasabi SDK\studio\attribs\attrint.cpp"\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE="\Wasabi SDK\studio\common\bitmap.cpp"\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE="\Wasabi SDK\studio\common\blending.cpp"\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE="\Wasabi SDK\studio\common\canvas.cpp"\r
-# End Source File\r
-# Begin Source File\r
-\r
SOURCE="\Wasabi SDK\studio\attribs\cfgitemi.cpp"\r
# End Source File\r
# Begin Source File\r
# End Source File\r
# Begin Source File\r
\r
-SOURCE="\Wasabi SDK\studio\common\nsGUID.cpp"\r
+SOURCE="\Wasabi SDK\studio\common\memblock.cpp"\r
# End Source File\r
# Begin Source File\r
\r
-SOURCE="\Wasabi SDK\studio\common\pathparse.cpp"\r
+SOURCE="\Wasabi SDK\studio\common\nsGUID.cpp"\r
# End Source File\r
# Begin Source File\r
\r
-SOURCE="\Wasabi SDK\studio\common\ptrlist.cpp"\r
+SOURCE="\Wasabi SDK\studio\common\pathparse.cpp"\r
# End Source File\r
# Begin Source File\r
\r
-SOURCE="\Wasabi SDK\studio\common\region.cpp"\r
+SOURCE="\Wasabi SDK\studio\common\ptrlist.cpp"\r
# End Source File\r
# Begin Source File\r
\r
\r
#define WACNAME WACcnv_flacpcm\r
\r
-class WACNAME : public WAComponentClient, public CfgItemI {\r
+class WACNAME : public WAComponentClient {\r
public:\r
WACNAME();\r
virtual ~WACNAME();\r
\r
- virtual const char *getName() { return "FLAC to PCM converter"; };\r
virtual GUID getGUID();\r
\r
virtual void onRegisterServices();\r
- virtual void onDestroy();\r
-\r
- virtual int getDisplayComponent() { return FALSE; };\r
-\r
- virtual CfgItem *getCfgInterface(int n) { return this; }\r
};\r
\r
#endif\r
return instance->reader->getPos() == instance->reader->getLength();\r
}\r
\r
-FLAC__StreamDecoderWriteStatus FlacPcm::writeCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data)\r
+FLAC__StreamDecoderWriteStatus FlacPcm::writeCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)\r
{\r
FlacPcm *instance = (FlacPcm*)client_data;\r
const unsigned bps = instance->streaminfo.data.stream_info.bits_per_sample, channels = instance->streaminfo.data.stream_info.channels, wide_samples = frame->header.blocksize;\r
FlacPcm *instance = (FlacPcm*)client_data;\r
(void)decoder;\r
if(metadata->type == FLAC__METADATA_TYPE_STREAMINFO) {\r
- instance->streaminfo.data.stream_info = *metadata;\r
+ instance->streaminfo = *metadata;\r
\r
if(instance->streaminfo.data.stream_info.bits_per_sample != 16) {\r
//@@@ how to do this? MessageBox(mod.hMainWindow, "ERROR: plugin can only handle 16-bit samples\n", "ERROR: plugin can only handle 16-bit samples", 0);\r
static FLAC__SeekableStreamDecoderTellStatus tellCallback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data);\r
static FLAC__SeekableStreamDecoderLengthStatus lengthCallback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data);\r
static FLAC__bool eofCallback_(const FLAC__SeekableStreamDecoder *decoder, void *client_data);\r
- static FLAC__StreamDecoderWriteStatus writeCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data);\r
+ static FLAC__StreamDecoderWriteStatus writeCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);\r
static void metadataCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);\r
static void errorCallback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);\r
};\r