Audio: Make cheap OpenAL pitch shifting a config option
This commit is contained in:
		
							parent
							
								
									47d96bd21e
								
							
						
					
					
						commit
						ac35d4214e
					
				
					 4 changed files with 14 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -82,6 +82,8 @@ mkxp reads configuration data from the file "mkxp.conf" contained in the current
 | 
			
		|||
| defScreenH       | int         | 480     | Height the game window starts in                                                |
 | 
			
		||||
| fixedFramerate   | int         | 0       | FPS will be fixed to this amount. Ignored if 0.                                 |
 | 
			
		||||
| solidFonts       | bool        | false   | Don't use alpha blending for fonts                                              |
 | 
			
		||||
| fastSoundPitch   | bool        | true    | Use cheap OpenAL pitch shifting for sounds (SE)                                 |
 | 
			
		||||
| fastMusicPitch   | bool        | false   | Use cheap OpenAL pitch shifting for music (BGM/BGS/ME)                          |
 | 
			
		||||
| gameFolder       | string      | "."     | mkxp will look for all game related files here                                  |
 | 
			
		||||
| allowSymlinks    | bool        | false   | Allow symlinks to be followed in the game folder.                               |
 | 
			
		||||
| customScript     | string      | ""      | Execute a raw ruby script file instead of an RPG Maker game.                    |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
#include "intrulist.h"
 | 
			
		||||
#include "filesystem.h"
 | 
			
		||||
#include "exception.h"
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#include "al-util.h"
 | 
			
		||||
 | 
			
		||||
#include <QByteArray>
 | 
			
		||||
| 
						 | 
				
			
			@ -300,7 +301,8 @@ struct SoundEmitter
 | 
			
		|||
		AL::Source::setVolume(src, _volume);
 | 
			
		||||
 | 
			
		||||
#ifndef RUBBERBAND
 | 
			
		||||
		AL::Source::setPitch(src, clamp<int>(pitch, 50, 150) / 100.f);
 | 
			
		||||
		if (shState->config().fastSoundPitch)
 | 
			
		||||
			AL::Source::setPitch(src, clamp<int>(pitch, 50, 150) / 100.f);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		AL::Source::play(src);
 | 
			
		||||
| 
						 | 
				
			
			@ -761,7 +763,8 @@ private:
 | 
			
		|||
		needsRewind = false;
 | 
			
		||||
 | 
			
		||||
#ifndef RUBBERBAND
 | 
			
		||||
		AL::Source::setPitch(alSrc, pitch);
 | 
			
		||||
		if (shState->config().fastMusicPitch)
 | 
			
		||||
			AL::Source::setPitch(alSrc, pitch);
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,8 @@ Config::Config()
 | 
			
		|||
      defScreenH(480),
 | 
			
		||||
      fixedFramerate(0),
 | 
			
		||||
      solidFonts(false),
 | 
			
		||||
      fastSoundPitch(true),
 | 
			
		||||
      fastMusicPitch(false),
 | 
			
		||||
      gameFolder("."),
 | 
			
		||||
      allowSymlinks(false)
 | 
			
		||||
{}
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +61,8 @@ void Config::read()
 | 
			
		|||
	READ_VAL(defScreenH, Int);
 | 
			
		||||
	READ_VAL(fixedFramerate, Int);
 | 
			
		||||
	READ_VAL(solidFonts,  Bool);
 | 
			
		||||
	READ_VAL(fastSoundPitch, Bool);
 | 
			
		||||
	READ_VAL(fastMusicPitch, Bool);
 | 
			
		||||
	READ_VAL(gameFolder, ByteArray);
 | 
			
		||||
	READ_VAL(allowSymlinks, Bool);
 | 
			
		||||
	READ_VAL(customScript, ByteArray);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,9 @@ struct Config
 | 
			
		|||
 | 
			
		||||
	bool solidFonts;
 | 
			
		||||
 | 
			
		||||
	bool fastSoundPitch;
 | 
			
		||||
	bool fastMusicPitch;
 | 
			
		||||
 | 
			
		||||
	QByteArray gameFolder;
 | 
			
		||||
	bool allowSymlinks;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue