dev128 - prepare for SN noise and hard fix fp b
file picker bug...
This commit is contained in:
		
							parent
							
								
									7841c3d0b6
								
							
						
					
					
						commit
						7709a9c3f6
					
				| 
						 | 
					@ -47,8 +47,8 @@
 | 
				
			||||||
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
 | 
					#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
 | 
				
			||||||
#define BUSY_END isBusy.unlock(); softLocked=false;
 | 
					#define BUSY_END isBusy.unlock(); softLocked=false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DIV_VERSION "dev127"
 | 
					#define DIV_VERSION "dev128"
 | 
				
			||||||
#define DIV_ENGINE_VERSION 127
 | 
					#define DIV_ENGINE_VERSION 128
 | 
				
			||||||
// for imports
 | 
					// for imports
 | 
				
			||||||
#define DIV_VERSION_MOD 0xff01
 | 
					#define DIV_VERSION_MOD 0xff01
 | 
				
			||||||
#define DIV_VERSION_FC 0xff02
 | 
					#define DIV_VERSION_FC 0xff02
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -208,7 +208,9 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
 | 
				
			||||||
    }*/
 | 
					    }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Game Boy arp+soundLen screwery
 | 
					    // Game Boy arp+soundLen screwery
 | 
				
			||||||
    ds.systemFlags[0].set("enoughAlready",true);
 | 
					    if (ds.system[0]==DIV_SYSTEM_GB) {
 | 
				
			||||||
 | 
					      ds.systemFlags[0].set("enoughAlready",true);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logI("reading module data...");
 | 
					    logI("reading module data...");
 | 
				
			||||||
    if (ds.version>0x0c) {
 | 
					    if (ds.version>0x0c) {
 | 
				
			||||||
| 
						 | 
					@ -966,6 +968,11 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
 | 
				
			||||||
      ds.system[1]=DIV_SYSTEM_FDS;
 | 
					      ds.system[1]=DIV_SYSTEM_FDS;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // SMS noise freq
 | 
				
			||||||
 | 
					    if (ds.system[0]==DIV_SYSTEM_SMS) {
 | 
				
			||||||
 | 
					      ds.systemFlags[0].set("noEasyNoise",true);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ds.systemName=getSongSystemLegacyName(ds,!getConfInt("noMultiSystem",0));
 | 
					    ds.systemName=getSongSystemLegacyName(ds,!getConfInt("noMultiSystem",0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (active) quitDispatch();
 | 
					    if (active) quitDispatch();
 | 
				
			||||||
| 
						 | 
					@ -2513,6 +2520,16 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // SN noise compat
 | 
				
			||||||
 | 
					    if (ds.version<128) {
 | 
				
			||||||
 | 
					      for (int i=0; i<ds.systemLen; i++) {
 | 
				
			||||||
 | 
					        if (ds.system[i]==DIV_SYSTEM_SMS ||
 | 
				
			||||||
 | 
					            ds.system[i]==DIV_SYSTEM_T6W28) {
 | 
				
			||||||
 | 
					          ds.systemFlags[i].set("noEasyNoise",true);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (active) quitDispatch();
 | 
					    if (active) quitDispatch();
 | 
				
			||||||
    BUSY_BEGIN_SOFT;
 | 
					    BUSY_BEGIN_SOFT;
 | 
				
			||||||
    saveLock.lock();
 | 
					    saveLock.lock();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -467,6 +467,7 @@ void DivPlatformSMS::setFlags(const DivConfig& flags) {
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  resetPhase=!flags.getBool("noPhaseReset",false);
 | 
					  resetPhase=!flags.getBool("noPhaseReset",false);
 | 
				
			||||||
 | 
					  easyNoise=!flags.getBool("noEasyNoise",false);
 | 
				
			||||||
  divider=16;
 | 
					  divider=16;
 | 
				
			||||||
  toneDivider=64.0;
 | 
					  toneDivider=64.0;
 | 
				
			||||||
  noiseDivider=64.0;
 | 
					  noiseDivider=64.0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,6 +70,7 @@ class DivPlatformSMS: public DivDispatch {
 | 
				
			||||||
  bool isRealSN;
 | 
					  bool isRealSN;
 | 
				
			||||||
  bool stereo;
 | 
					  bool stereo;
 | 
				
			||||||
  bool nuked;
 | 
					  bool nuked;
 | 
				
			||||||
 | 
					  bool easyNoise;
 | 
				
			||||||
  sn76496_base_device* sn;
 | 
					  sn76496_base_device* sn;
 | 
				
			||||||
  ympsg_t sn_nuked;
 | 
					  ympsg_t sn_nuked;
 | 
				
			||||||
  struct QueuedWrite {
 | 
					  struct QueuedWrite {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -330,6 +330,7 @@ void DivPlatformT6W28::setFlags(const DivConfig& flags) {
 | 
				
			||||||
  for (int i=0; i<4; i++) {
 | 
					  for (int i=0; i<4; i++) {
 | 
				
			||||||
    oscBuf[i]->rate=rate;
 | 
					    oscBuf[i]->rate=rate;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  easyNoise=!flags.getBool("noEasyNoise",false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (t6w!=NULL) {
 | 
					  if (t6w!=NULL) {
 | 
				
			||||||
    delete t6w;
 | 
					    delete t6w;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,6 +60,7 @@ class DivPlatformT6W28: public DivDispatch {
 | 
				
			||||||
  DivDispatchOscBuffer* oscBuf[4];
 | 
					  DivDispatchOscBuffer* oscBuf[4];
 | 
				
			||||||
  bool isMuted[4];
 | 
					  bool isMuted[4];
 | 
				
			||||||
  bool antiClickEnabled;
 | 
					  bool antiClickEnabled;
 | 
				
			||||||
 | 
					  bool easyNoise;
 | 
				
			||||||
  struct QueuedWrite {
 | 
					  struct QueuedWrite {
 | 
				
			||||||
      unsigned char addr;
 | 
					      unsigned char addr;
 | 
				
			||||||
      unsigned char val;
 | 
					      unsigned char val;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,6 +80,14 @@ bool FurnaceGUIFileDialog::openLoad(String header, std::vector<String> filter, c
 | 
				
			||||||
  if (opened) return false;
 | 
					  if (opened) return false;
 | 
				
			||||||
  saving=false;
 | 
					  saving=false;
 | 
				
			||||||
  curPath=path;
 | 
					  curPath=path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // strip excess directory separators
 | 
				
			||||||
 | 
					  while (!curPath.empty()) {
 | 
				
			||||||
 | 
					    if (curPath[curPath.size()-1]!=DIR_SEPARATOR) break;
 | 
				
			||||||
 | 
					    curPath.erase(curPath.size()-1);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  curPath+=DIR_SEPARATOR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  logD("opening load file dialog with curPath %s",curPath.c_str());
 | 
					  logD("opening load file dialog with curPath %s",curPath.c_str());
 | 
				
			||||||
  if (sysDialog) {
 | 
					  if (sysDialog) {
 | 
				
			||||||
#ifdef USE_NFD
 | 
					#ifdef USE_NFD
 | 
				
			||||||
| 
						 | 
					@ -145,6 +153,14 @@ bool FurnaceGUIFileDialog::openSave(String header, std::vector<String> filter, c
 | 
				
			||||||
  if (opened) return false;
 | 
					  if (opened) return false;
 | 
				
			||||||
  saving=true;
 | 
					  saving=true;
 | 
				
			||||||
  curPath=path;
 | 
					  curPath=path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // strip excess directory separators
 | 
				
			||||||
 | 
					  while (!curPath.empty()) {
 | 
				
			||||||
 | 
					    if (curPath[curPath.size()-1]!=DIR_SEPARATOR) break;
 | 
				
			||||||
 | 
					    curPath.erase(curPath.size()-1);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  curPath+=DIR_SEPARATOR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  logD("opening save file dialog with curPath %s",curPath.c_str());
 | 
					  logD("opening save file dialog with curPath %s",curPath.c_str());
 | 
				
			||||||
  if (sysDialog) {
 | 
					  if (sysDialog) {
 | 
				
			||||||
#ifdef USE_NFD
 | 
					#ifdef USE_NFD
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue