add getWantPreNote()
currently only C64 system requires this
This commit is contained in:
parent
53120edd99
commit
52c3b10373
|
@ -399,6 +399,12 @@ class DivDispatch {
|
||||||
*/
|
*/
|
||||||
virtual bool getDCOffRequired();
|
virtual bool getDCOffRequired();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* check whether PRE_NOTE command is desired.
|
||||||
|
* @return truth.
|
||||||
|
*/
|
||||||
|
virtual bool getWantPreNote();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get a description of a dispatch-specific effect.
|
* get a description of a dispatch-specific effect.
|
||||||
* @param effect the effect.
|
* @param effect the effect.
|
||||||
|
|
|
@ -90,6 +90,10 @@ bool DivDispatch::getDCOffRequired() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DivDispatch::getWantPreNote() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const char* DivDispatch::getEffectName(unsigned char effect) {
|
const char* DivDispatch::getEffectName(unsigned char effect) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -513,6 +513,10 @@ bool DivPlatformC64::getDCOffRequired() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DivPlatformC64::getWantPreNote() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void DivPlatformC64::reset() {
|
void DivPlatformC64::reset() {
|
||||||
for (int i=0; i<3; i++) {
|
for (int i=0; i<3; i++) {
|
||||||
chan[i]=DivPlatformC64::Channel();
|
chan[i]=DivPlatformC64::Channel();
|
||||||
|
|
|
@ -97,6 +97,7 @@ class DivPlatformC64: public DivDispatch {
|
||||||
void setFlags(unsigned int flags);
|
void setFlags(unsigned int flags);
|
||||||
void notifyInsChange(int ins);
|
void notifyInsChange(int ins);
|
||||||
bool getDCOffRequired();
|
bool getDCOffRequired();
|
||||||
|
bool getWantPreNote();
|
||||||
DivMacroInt* getChanMacroInt(int ch);
|
DivMacroInt* getChanMacroInt(int ch);
|
||||||
void notifyInsDeletion(void* ins);
|
void notifyInsDeletion(void* ins);
|
||||||
void poke(unsigned int addr, unsigned short val);
|
void poke(unsigned int addr, unsigned short val);
|
||||||
|
|
|
@ -866,7 +866,9 @@ void DivEngine::nextRow() {
|
||||||
if (!(pat->data[curRow][0]==0 && pat->data[curRow][1]==0)) {
|
if (!(pat->data[curRow][0]==0 && pat->data[curRow][1]==0)) {
|
||||||
if (pat->data[curRow][0]!=100 && pat->data[curRow][0]!=101 && pat->data[curRow][0]!=102) {
|
if (pat->data[curRow][0]!=100 && pat->data[curRow][0]!=101 && pat->data[curRow][0]!=102) {
|
||||||
if (!chan[i].legato) {
|
if (!chan[i].legato) {
|
||||||
dispatchCmd(DivCommand(DIV_CMD_PRE_NOTE,i,ticks));
|
if (disCont[dispatchOfChan[i]].dispatch!=NULL) {
|
||||||
|
if (disCont[dispatchOfChan[i]].dispatch->getWantPreNote()) dispatchCmd(DivCommand(DIV_CMD_PRE_NOTE,i,ticks));
|
||||||
|
}
|
||||||
|
|
||||||
if (song.oneTickCut) {
|
if (song.oneTickCut) {
|
||||||
bool doPrepareCut=true;
|
bool doPrepareCut=true;
|
||||||
|
|
Loading…
Reference in a new issue