1. OPN.dll have 2 chips support, but i cant to correct use it. if i set OpenOPNDriver(1) - all work fine. but i need 2 chips. i am trying to set OpenOPNDriver(2) - but it is some how increases frequency of first chip. sounds start play higher. if i set OpenOPNDriver(3) - it will be more high. and etc... this second chip will allow for me use full GEMS tracks playing. now i am play only 6 of them and ignore others. to recreate dinamical allocation is a little harder. so my plan was use second chip and play another channels with this second chip.
i read this visual studio code... understand only small part... but probably i need SetOPNOptions command. when it is SetOPNOptions(44100, 0, 0, 0) - OpenOPNDriver(1) is play fine. OpenOPNDriver(2) - same higher sound. but when i am set SetOPNOptions(88200, 0, 0, 0) - it looks like OpenOPNDriver(2) is playing fine speed. but probably a much louder and it have invalid memory access when finish.
2. when you use PlayDACSample - it plays samples. it have size and frequency settings. but if this sample is have silence in a begining for 1-2 seconds - this functuon not wants to play this samples. probably i am found place, where it is sets - void FillBuffer(WAVE_16BS* Buffer, UINT32 BufferSize) function. i am make comment this part:
Code: Select all
//if (NullSamples >= SampleRate)
//{
//NullSamples = 0xFFFFFFFF;
//PauseStream(true); // stop the stream if chip isn't used
//}
so any fix code for first case? any visual studio 6.0 specialist here?