Add notifySampleChanged in dispatch and engine:

This method/variables are for notify sample is changed/altered/added/removed.  can be called together with updateSampleTex for sample update.

multipcm: Fix possible desync with instrument and sample parameter

opl4: Split sample table render and sample data render, Add notifySampleChange for refresh sample parameters
This commit is contained in:
cam900 2025-09-22 15:54:48 +09:00 committed by freq-mod
parent 7253bf66cd
commit 1b712e03ee
15 changed files with 146 additions and 52 deletions

View file

@ -516,6 +516,10 @@ void DivPlatformMultiPCM::notifyInsChange(int ins) {
}
}
void DivPlatformMultiPCM::notifySampleChange(int sample) {
renderInstruments();
}
void DivPlatformMultiPCM::notifyInsAddition(int sysID) {
renderInstruments();
}
@ -654,8 +658,6 @@ void DivPlatformMultiPCM::renderSamples(int sysID) {
memCompo=DivMemoryComposition();
memCompo.name="Sample Memory";
renderInstruments();
size_t memPos=0x1800;
int sampleCount=parent->song.sampleLen;
if (sampleCount>512) {
@ -709,6 +711,7 @@ void DivPlatformMultiPCM::renderSamples(int sysID) {
pcmMemLen=memPos+256;
memCompo.used=pcmMemLen;
}
renderInstruments();
memCompo.capacity=getSampleMemCapacity(0);
}