Имеется библиотека на C++ (adplug) , необходимо написать программу на C, использующую эту библиотеку. Основной фрагмент кода выглядит следующим образом:
bool play(const char *filename, const char *output)
{
CEmuopl opl(RATE, BIT16, STEREO);
CPlayer *p = CAdPlug::factory(filename, &opl);
FILE *f;
short buf[BUFSIZE];
unsigned long towrite, write;
if(!p) return false; // File couldn't be loaded
f = fopen(output, "wb");
while(p->update())
for(towrite = RATE / p->getrefresh(); towrite; towrite -= write) {
write = (towrite > BUFSIZE ? BUFSIZE : towrite);
opl.update(buf, write);
fwrite(buf, write, 2, f);
}
fclose(f);
return true;
}
Вопрос можно ли это сделать, или придеться править adplug.
Вопрос конечно глупый, но я раньше с такой ситуацией не сталкивался.