[Scummvm-cvs-logs] CVS: scummvm/scumm player_v2.h,2.7,2.8 player_v2.cpp,2.16,2.17

Max Horn fingolfin at users.sourceforge.net
Tue Aug 5 10:53:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv26653

Modified Files:
	player_v2.h player_v2.cpp 
Log Message:
added support for output sample rates > 32767 (still limited to a max of 65535, but all we care about are 44100 and 48000 anyway)

Index: player_v2.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/player_v2.h,v
retrieving revision 2.7
retrieving revision 2.8
diff -u -d -r2.7 -r2.8
--- player_v2.h	5 Jul 2003 15:19:11 -0000	2.7
+++ player_v2.h	5 Aug 2003 17:52:47 -0000	2.8
@@ -92,9 +92,9 @@
 	bool _pcjr;
 	int _header_len;
 
-	int _sample_rate;
-	int _next_tick;
-	int _tick_len;
+	uint32 _sample_rate;
+	uint32 _next_tick;
+	uint32 _tick_len;
 	unsigned int _update_step;
 	unsigned int _decay;
 	unsigned int _level;
@@ -129,13 +129,13 @@
 	void chainNextSound();
 
 	static void premix_proc(void *param, int16 *buf, uint len);
-	void do_mix (int16 *buf, int len);
+	void do_mix (int16 *buf, uint len);
 
-	void lowPassFilter(int16 *data, int len);
+	void lowPassFilter(int16 *data, uint len);
 	void squareGenerator(int channel, int freq, int vol,
-	                     int noiseFeedback, int16 *sample, int len);
-	void generateSpkSamples(int16 *data, int len);
-	void generatePCjrSamples(int16 *data, int len);
+	                     int noiseFeedback, int16 *sample, uint len);
+	void generateSpkSamples(int16 *data, uint len);
+	void generatePCjrSamples(int16 *data, uint len);
     
 };
 

Index: player_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/player_v2.cpp,v
retrieving revision 2.16
retrieving revision 2.17
diff -u -d -r2.16 -r2.17
--- player_v2.cpp	27 Jun 2003 00:10:17 -0000	2.16
+++ player_v2.cpp	5 Aug 2003 17:52:47 -0000	2.17
@@ -801,15 +801,14 @@
 	}
 }
 
-void Player_V2::do_mix (int16 *data, int len) {
+void Player_V2::do_mix (int16 *data, uint len) {
 	mutex_up();
-	int step;
+	uint step;
 
 	do {
 		step = len;
 		if (step > (_next_tick >> FIXP_SHIFT))
 			step = (_next_tick >> FIXP_SHIFT);
-
 		if (_pcjr)
 			generatePCjrSamples(data, step);
 		else
@@ -833,8 +832,8 @@
 	mutex_down();
 }
 
-void Player_V2::lowPassFilter(int16 *sample, int len) {
-	for (int i = 0; i < len; i++) {
+void Player_V2::lowPassFilter(int16 *sample, uint len) {
+	for (uint i = 0; i < len; i++) {
 		_level = (_level * _decay
 			 + (unsigned int)sample[i] * (0x10000-_decay)) >> 16;
 		sample[i] = _level;
@@ -842,12 +841,12 @@
 }
 
 void Player_V2::squareGenerator(int channel, int freq, int vol,
-                                int noiseFeedback, int16 *sample, int len) {
+                                int noiseFeedback, int16 *sample, uint len) {
 	int period = _update_step * freq;
 	if (period == 0)
 		period = _update_step;
 
-	for (int i = 0; i < len; i++) {
+	for (uint i = 0; i < len; i++) {
 		unsigned int duration = 0;
 		
 		if (_timer_output & (1 << channel))
@@ -883,7 +882,7 @@
 	}
 }
 
-void Player_V2::generateSpkSamples(int16 *data, int len) {
+void Player_V2::generateSpkSamples(int16 *data, uint len) {
 	int winning_channel = -1;
 	for (int i = 0; i < 4; i++) {
 		if (winning_channel == -1
@@ -904,7 +903,7 @@
 	lowPassFilter(data, len);
 }
 
-void Player_V2::generatePCjrSamples(int16 *data, int len) {
+void Player_V2::generatePCjrSamples(int16 *data, uint len) {
 	int i, j;
 	int freq, vol;
 





More information about the Scummvm-git-logs mailing list