mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	1. Turned off debugging messages in start_threads.c, audio_init.f90.
2. Tweaked code that measures sampling rates (in fivehz and fivehztx) so that it works well with both PortAudio and bare ALSA. 3. Added a "Using PortAudio" message to a2d.f90. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@84 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									afeb1cf2cf
								
							
						
					
					
						commit
						624bcc3cbd
					
				
							
								
								
									
										2
									
								
								a2d.f90
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								a2d.f90
									
									
									
									
									
								
							| @ -11,6 +11,8 @@ subroutine a2d(iarg) | ||||
| ! This call does not normally return, as the background portion of | ||||
| ! JTaudio goes into a test-and-sleep loop. | ||||
| 
 | ||||
|   write(*,1000) | ||||
| 1000 format('Using PortAudio.') | ||||
|   idevin=ndevin | ||||
|   idevout=ndevout | ||||
|   call padevsub(numdevs,ndefin,ndefout,nchin,nchout) | ||||
|  | ||||
| @ -60,7 +60,7 @@ subroutine audio_init(ndin,ndout) | ||||
|   m3=SetThreadPriority(Thread2,THREAD_PRIORITY_BELOW_NORMAL) | ||||
|   m4=ResumeThread(Thread2) | ||||
| #else | ||||
|   print*,'Audio INIT called.' | ||||
| !  print*,'Audio INIT called.' | ||||
|   ierr=start_threads(ndevin,ndevout,y1,y2,nmax,iwrite,iwave,nwave,    & | ||||
|        11025,NSPB,TRPeriod,TxOK,ndebug,Transmitting,            & | ||||
|        Tsec,ngo,nmode,tbuf,ibuf,ndsec) | ||||
|  | ||||
							
								
								
									
										17
									
								
								fivehz.f90
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								fivehz.f90
									
									
									
									
									
								
							| @ -40,7 +40,7 @@ subroutine fivehz | ||||
|      ibuf00=-99 | ||||
|      ncall=-1 | ||||
|      tt0=tt | ||||
|      u=0.05d0 | ||||
|      u=0.1d0 | ||||
|      fsample=11025.d0 | ||||
|      maxms=0 | ||||
|      mfsample=110250 | ||||
| @ -51,8 +51,9 @@ subroutine fivehz | ||||
| ! Measure average sampling frequency over a recent interval | ||||
| 
 | ||||
|   ncall=ncall+1 | ||||
|   if(ncall.gt.0) then | ||||
|      fs=ncall*2048.d0/(tt-tt0) | ||||
|   if(ncall.eq.9) tt0=tt | ||||
|   if(ncall.ge.10 .and. mod(ncall,2).eq.1) then | ||||
|      fs=(ncall-9)*2048.d0/(tt-tt0) | ||||
|      fsample=u*fs + (1.d0-u)*fsample | ||||
|      mfsample=nint(10.d0*fsample) | ||||
|   endif | ||||
| @ -192,17 +193,17 @@ subroutine fivehztx | ||||
|      ncall=-1 | ||||
|      fsample=11025.d0 | ||||
|      nsec0=-999 | ||||
|      u=0.05d0 | ||||
|      u=0.1d0 | ||||
|      mfsample2=110250 | ||||
|      tt0=tt | ||||
|   endif | ||||
| 
 | ||||
|   ncall=ncall+1 | ||||
|   if(ncall.eq.8) tt0=tt | ||||
|   if(ncall.gt.8) then | ||||
|      fs=(ncall-8)*2048.d0/(tt-tt0) | ||||
|   if(ncall.eq.9) tt0=tt | ||||
|   if(ncall.ge.10 .and. mod(ncall,2).eq.1) then | ||||
|      fs=(ncall-9)*2048.d0/(tt-tt0) | ||||
|      fsample=u*fs + (1.d0-u)*fsample | ||||
|      mfsample2=nint(10.d0*fsample) | ||||
|   endif | ||||
| 
 | ||||
|   return | ||||
| end subroutine fivehztx | ||||
|  | ||||
| @ -341,7 +341,7 @@ int padevsub_(int *numdev, int *ndefin, int *ndefout, | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   printf("\n Audio    Input    Output     Device Name\n"); | ||||
|   printf("\nAudio     Input    Output     Device Name\n"); | ||||
|   printf("Device  Channels  Channels\n"); | ||||
|   printf("------------------------------------------------------------------\n"); | ||||
| 
 | ||||
|  | ||||
| @ -17,7 +17,7 @@ extern void a2d_(int *iarg); | ||||
| 
 | ||||
| #ifdef USE_ALSA | ||||
| 
 | ||||
| #if 1 | ||||
| #if 0 | ||||
| #define ALSA_LOG | ||||
| #define ALSA_LOG_BUFFERS | ||||
| #endif | ||||
| @ -266,7 +266,7 @@ static int ao_alsa_open(alsa_driver_t *this_gen, int32_t *input_rate, snd_pcm_st | ||||
|   /* Check for pause/resume support */ | ||||
|   this->has_pause_resume = ( snd_pcm_hw_params_can_pause (params) | ||||
| 			    && snd_pcm_hw_params_can_resume (params) ); | ||||
|   printf( "audio_alsa_out:open pause_resume=%d\n", this->has_pause_resume); | ||||
|   //  printf( "audio_alsa_out:open pause_resume=%d\n", this->has_pause_resume);
 | ||||
|   this->sample_rate_factor = (double) this->output_sample_rate / (double) this->input_sample_rate; | ||||
|   this->bytes_per_frame = snd_pcm_frames_to_bytes (this->audio_fd, 1); | ||||
|   /*
 | ||||
| @ -534,10 +534,10 @@ int start_threads_(int *ndevin, int *ndevout, short y1[], short y2[], | ||||
|   alsa_driver_playback.nmode = nmode; | ||||
|   alsa_driver_playback.transmitting = Transmitting; | ||||
|   alsa_driver_playback.ndsec = ndsec; | ||||
|   printf("start_threads creating thread for decode1\n"); | ||||
|   //  printf("start_threads: creating thread for decode1\n");
 | ||||
|   iret1 = pthread_create(&thread1,NULL,decode1_,&iarg1); | ||||
| /* Open audio card. */ | ||||
|   printf("Starting alsa routines\n"); | ||||
|   printf("Starting alsa routines.\n"); | ||||
|   ao_alsa_open(&alsa_driver_playback, &rate, SND_PCM_STREAM_PLAYBACK); | ||||
|   ao_alsa_open(&alsa_driver_capture, &rate, SND_PCM_STREAM_CAPTURE); | ||||
| 
 | ||||
| @ -552,9 +552,9 @@ int start_threads_(int *ndevin, int *ndevout, short y1[], short y2[], | ||||
| #endif | ||||
| #ifdef USE_PORTAUDIO | ||||
|  /* snd_pcm_start */ | ||||
|   printf("start_threads creating thread for a2d\n"); | ||||
|   //  printf("start_threads: creating thread for a2d\n");
 | ||||
|   iret1 = pthread_create(&thread1,NULL,a2d_,&iarg1); | ||||
|   printf("start_threads creating thread for decode1_\n"); | ||||
|   //  printf("start_threads: creating thread for decode1_\n");
 | ||||
|   iret2 = pthread_create(&thread2,NULL,decode1_,&iarg2); | ||||
| #endif | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user