Address comments
This commit is contained in:
parent
03e0c8d8ee
commit
2c5dc0875a
|
|
@ -55,7 +55,7 @@ template<typename T> struct SharedChannel {
|
||||||
freqChanged=true;
|
freqChanged=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
virtual void macroInit(DivInstrument* which) {
|
void macroInit(DivInstrument* which) {
|
||||||
std.init(which);
|
std.init(which);
|
||||||
pitch2=0;
|
pitch2=0;
|
||||||
arpOff=0;
|
arpOff=0;
|
||||||
|
|
|
||||||
|
|
@ -185,17 +185,6 @@ class DivPlatformES5506: public DivDispatch, public es550x_intf {
|
||||||
signed int oscOut;
|
signed int oscOut;
|
||||||
DivInstrumentES5506::Filter filter;
|
DivInstrumentES5506::Filter filter;
|
||||||
DivInstrumentES5506::Envelope envelope;
|
DivInstrumentES5506::Envelope envelope;
|
||||||
virtual void macroInit(DivInstrument* which) override {
|
|
||||||
SharedChannel<unsigned int>::macroInit(which);
|
|
||||||
if (std.ex1.mode==2) {
|
|
||||||
k1Offs=0;
|
|
||||||
}
|
|
||||||
if (std.ex1.mode==2) {
|
|
||||||
k2Offs=0;
|
|
||||||
}
|
|
||||||
k1Prev=0xffff;
|
|
||||||
k2Prev=0xffff;
|
|
||||||
}
|
|
||||||
Channel():
|
Channel():
|
||||||
SharedChannel<unsigned int>(0xff),
|
SharedChannel<unsigned int>(0xff),
|
||||||
pcm(PCM()),
|
pcm(PCM()),
|
||||||
|
|
|
||||||
|
|
@ -820,7 +820,7 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(chan[c.chan].sample);
|
DivSample* s=parent->getSample(chan[c.chan].sample);
|
||||||
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffB[chan[c.chan].sample]+s->lengthB+0xff)&~0xff)-1;
|
int end=sampleOffB[chan[c.chan].sample]+s->lengthB-1;
|
||||||
immWrite(0x14,(end>>8)&0xff);
|
immWrite(0x14,(end>>8)&0xff);
|
||||||
immWrite(0x15,end>>16);
|
immWrite(0x15,end>>16);
|
||||||
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
||||||
|
|
@ -851,7 +851,7 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
||||||
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffB[chan[c.chan].sample]+s->lengthB+0xff)&~0xff)-1;
|
int end=sampleOffB[chan[c.chan].sample]+s->lengthB-1;
|
||||||
immWrite(0x14,(end>>8)&0xff);
|
immWrite(0x14,(end>>8)&0xff);
|
||||||
immWrite(0x15,end>>16);
|
immWrite(0x15,end>>16);
|
||||||
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
||||||
|
|
@ -891,7 +891,7 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(chan[c.chan].sample);
|
DivSample* s=parent->getSample(chan[c.chan].sample);
|
||||||
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffA[chan[c.chan].sample]+s->lengthA+0xff)&~0xff)-1;
|
int end=sampleOffA[chan[c.chan].sample]+s->lengthA-1;
|
||||||
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
||||||
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
||||||
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
||||||
|
|
@ -922,7 +922,7 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
||||||
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffA[chan[c.chan].sample]+s->lengthA+0xff)&~0xff)-1;
|
int end=sampleOffA[chan[c.chan].sample]+s->lengthA-1;
|
||||||
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
||||||
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
||||||
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
||||||
|
|
|
||||||
|
|
@ -887,7 +887,7 @@ int DivPlatformYM2610B::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(chan[c.chan].sample);
|
DivSample* s=parent->getSample(chan[c.chan].sample);
|
||||||
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffB[chan[c.chan].sample]+s->lengthB+0xff)&~0xff)-1;
|
int end=sampleOffB[chan[c.chan].sample]+s->lengthB-1;
|
||||||
immWrite(0x14,(end>>8)&0xff);
|
immWrite(0x14,(end>>8)&0xff);
|
||||||
immWrite(0x15,end>>16);
|
immWrite(0x15,end>>16);
|
||||||
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
||||||
|
|
@ -918,7 +918,7 @@ int DivPlatformYM2610B::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
||||||
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x12,(sampleOffB[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
immWrite(0x13,sampleOffB[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffB[chan[c.chan].sample]+s->lengthB+0xff)&~0xff)-1;
|
int end=sampleOffB[chan[c.chan].sample]+s->lengthB-1;
|
||||||
immWrite(0x14,(end>>8)&0xff);
|
immWrite(0x14,(end>>8)&0xff);
|
||||||
immWrite(0x15,end>>16);
|
immWrite(0x15,end>>16);
|
||||||
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
immWrite(0x11,isMuted[c.chan]?0:(chan[c.chan].pan<<6));
|
||||||
|
|
@ -958,7 +958,7 @@ int DivPlatformYM2610B::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(chan[c.chan].sample);
|
DivSample* s=parent->getSample(chan[c.chan].sample);
|
||||||
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffA[chan[c.chan].sample]+s->lengthA+0xff)&~0xff)-1;
|
int end=sampleOffA[chan[c.chan].sample]+s->lengthA-1;
|
||||||
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
||||||
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
||||||
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
||||||
|
|
@ -989,7 +989,7 @@ int DivPlatformYM2610B::dispatch(DivCommand c) {
|
||||||
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
DivSample* s=parent->getSample(12*sampleBank+c.value%12);
|
||||||
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
immWrite(0x110+c.chan-adpcmAChanOffs,(sampleOffA[chan[c.chan].sample]>>8)&0xff);
|
||||||
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
immWrite(0x118+c.chan-adpcmAChanOffs,sampleOffA[chan[c.chan].sample]>>16);
|
||||||
int end=((sampleOffA[chan[c.chan].sample]+s->lengthA+0xff)&~0xff)-1;
|
int end=sampleOffA[chan[c.chan].sample]+s->lengthA-1;
|
||||||
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
immWrite(0x120+c.chan-adpcmAChanOffs,(end>>8)&0xff);
|
||||||
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
immWrite(0x128+c.chan-adpcmAChanOffs,end>>16);
|
||||||
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
immWrite(0x108+c.chan-adpcmAChanOffs,isMuted[c.chan]?0:((chan[c.chan].pan<<6)|chan[c.chan].outVol));
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,7 @@ enum DivResampleFilters {
|
||||||
DIV_RESAMPLE_CUBIC,
|
DIV_RESAMPLE_CUBIC,
|
||||||
DIV_RESAMPLE_BLEP,
|
DIV_RESAMPLE_BLEP,
|
||||||
DIV_RESAMPLE_SINC,
|
DIV_RESAMPLE_SINC,
|
||||||
DIV_RESAMPLE_BEST,
|
DIV_RESAMPLE_BEST
|
||||||
DIV_RESAMPLE_MAX // for identify boundary
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DivSampleHistory {
|
struct DivSampleHistory {
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@ const char* sampleDepths[DIV_SAMPLE_DEPTH_MAX]={
|
||||||
"16-bit PCM"
|
"16-bit PCM"
|
||||||
};
|
};
|
||||||
|
|
||||||
const char* resampleStrats[DIV_RESAMPLE_MAX]={
|
const char* resampleStrats[]={
|
||||||
"none",
|
"none",
|
||||||
"linear",
|
"linear",
|
||||||
"cubic spline",
|
"cubic spline",
|
||||||
|
|
|
||||||
|
|
@ -4384,7 +4384,7 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
sName=e->song.sample[sampleMap.map]->name;
|
sName=e->song.sample[sampleMap.map]->name;
|
||||||
}
|
}
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
if (ImGui::BeginCombo(fmt::sprintf("##SampleMap_Index_%d",i).c_str(),sName.c_str())) {
|
if (ImGui::BeginCombo("##SM",sName.c_str())) {
|
||||||
String id;
|
String id;
|
||||||
if (ImGui::Selectable("-- empty --",sampleMap.map==-1)) { PARAMETER
|
if (ImGui::Selectable("-- empty --",sampleMap.map==-1)) { PARAMETER
|
||||||
sampleMap.map=-1;
|
sampleMap.map=-1;
|
||||||
|
|
@ -4400,11 +4400,10 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
}
|
}
|
||||||
/*ImGui::TableNextColumn();
|
/*ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
if (ImGui::InputInt(fmt::sprintf("##SampleMap_Freq_%d",i).c_str(),&sampleMap.freq,50,500)) { PARAMETER
|
if (ImGui::InputInt("##SF",&sampleMap.freq,50,500)) { PARAMETER
|
||||||
if (sampleMap.freq<0) sampleMap.freq=0;
|
if (sampleMap.freq<0) sampleMap.freq=0;
|
||||||
if (sampleMap.freq>262144) sampleMap.freq=262144;
|
if (sampleMap.freq>262144) sampleMap.freq=262144;
|
||||||
}
|
}*/
|
||||||
*/
|
|
||||||
ImGui::PopID();
|
ImGui::PopID();
|
||||||
}
|
}
|
||||||
ImGui::EndTable();
|
ImGui::EndTable();
|
||||||
|
|
@ -5146,23 +5145,6 @@ void FurnaceGUI::drawInsEdit() {
|
||||||
if (ins->type==DIV_INS_SAA1099) waveMax=2;
|
if (ins->type==DIV_INS_SAA1099) waveMax=2;
|
||||||
if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPL || ins->type==DIV_INS_OPL_DRUMS || ins->type==DIV_INS_OPZ || ins->type==DIV_INS_OPM) waveMax=0;
|
if (ins->type==DIV_INS_FM || ins->type==DIV_INS_OPL || ins->type==DIV_INS_OPL_DRUMS || ins->type==DIV_INS_OPZ || ins->type==DIV_INS_OPM) waveMax=0;
|
||||||
if (ins->type==DIV_INS_MIKEY) waveMax=0;
|
if (ins->type==DIV_INS_MIKEY) waveMax=0;
|
||||||
if ((ins->type==DIV_INS_AMIGA && !ins->amiga.useWave) || ins->type==DIV_INS_ES5506) {
|
|
||||||
if (!ins->amiga.useWave) {
|
|
||||||
waveLabel="Sample index";
|
|
||||||
waveMax=ins->amiga.useNoteMap?120:MAX(0,(int)(e->song.sampleLen)-1);
|
|
||||||
} else {
|
|
||||||
waveMax=MAX(0,(int)(e->song.waveLen)-1);
|
|
||||||
}
|
|
||||||
} else if (ins->type==DIV_INS_GB ||
|
|
||||||
(ins->type==DIV_INS_AMIGA && ins->amiga.useWave) ||
|
|
||||||
ins->type==DIV_INS_X1_010 ||
|
|
||||||
ins->type==DIV_INS_N163 ||
|
|
||||||
ins->type==DIV_INS_FDS ||
|
|
||||||
ins->type==DIV_INS_SWAN ||
|
|
||||||
ins->type==DIV_INS_PCE ||
|
|
||||||
ins->type==DIV_INS_SCC) {
|
|
||||||
waveMax=MAX(0,(int)(e->song.waveLen)-1);
|
|
||||||
}
|
|
||||||
if (ins->type==DIV_INS_MULTIPCM) waveMax=0;
|
if (ins->type==DIV_INS_MULTIPCM) waveMax=0;
|
||||||
if (ins->type==DIV_INS_ADPCMA) waveMax=0;
|
if (ins->type==DIV_INS_ADPCMA) waveMax=0;
|
||||||
if (ins->type==DIV_INS_ADPCMB) waveMax=0;
|
if (ins->type==DIV_INS_ADPCMB) waveMax=0;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue