@ -1321,6 +1321,32 @@ float *GetWaveData(Wave wave)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			/ /  Module  Functions  Definition  -  Music  loading  and  stream  playing  ( . OGG )  
			
		 
		
	
		
			
			 
			 
			
			 
			
			/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			/ /  Set  music  to  NULL  in  case  of  error  and  print  warning  
			
		 
		
	
		
			
			 
			 
			
			 
			
			static  void  LoadMusicStreamError ( MusicData  * * music ,  const  char  * fileName ,  const  char  * format )  
			
		 
		
	
		
			
			 
			 
			
			 
			
			{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    free ( * music ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			    * music  =  NULL ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    if  ( ( * music ) - > ctxType  = =  MUSIC_AUDIO_OGG )  stb_vorbis_close ( ( * music ) - > ctxOgg ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# if defined(SUPPORT_FILEFORMAT_FLAC)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else  if  ( ( * music ) - > ctxType  = =  MUSIC_AUDIO_FLAC )  drflac_free ( ( * music ) - > ctxFlac ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# endif  
			
		 
		
	
		
			
			 
			 
			
			 
			
			# if defined(SUPPORT_FILEFORMAT_MP3)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else  if  ( ( * music ) - > ctxType  = =  MUSIC_AUDIO_MP3 )  drmp3_uninit ( & ( * music ) - > ctxMp3 ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# endif  
			
		 
		
	
		
			
			 
			 
			
			 
			
			# if defined(SUPPORT_FILEFORMAT_XM)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else  if  ( ( * music ) - > ctxType  = =  MUSIC_MODULE_XM )  jar_xm_free_context ( ( * music ) - > ctxXm ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# endif  
			
		 
		
	
		
			
			 
			 
			
			 
			
			# if defined(SUPPORT_FILEFORMAT_MOD)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else  if  ( ( * music ) - > ctxType  = =  MUSIC_MODULE_MOD )  jar_mod_unload ( & ( * music ) - > ctxMod ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# endif  
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    if  ( format )   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        TraceLog ( LOG_WARNING ,  " [%s] %s audio file could not be opened " ,  fileName ,  format ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        TraceLog ( LOG_WARNING ,  " [%s] Audio fileformat not supported, it can't be loaded " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			}  
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			/ /  Load  music  stream  from  file  
			
		 
		
	
		
			
			 
			 
			
			 
			
			Music  LoadMusicStream ( const  char  * fileName )  
			
		 
		
	
		
			
			 
			 
			
			 
			
			{  
			
		 
		
	
	
		
			
				
				
				
				
					
						 
					 
				
				 
			
			 
			
			@ -1331,7 +1357,7 @@ Music LoadMusicStream(const char *fileName)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        / /  Open  ogg  audio  stream   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        music - > ctxOgg  =  stb_vorbis_open_filename ( fileName ,  NULL ,  NULL ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        if  ( music - > ctxOgg  = =  NULL )  TraceLog ( LOG_WARNING ,  " [%s] OGG audio file could not be opened " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        if  ( music - > ctxOgg  = =  NULL )  LoadMusicStreamError ( & music ,  fileName ,  " OGG " ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        {   
			
		 
		
	
		
			
			 
			 
			
			 
			
			            stb_vorbis_info  info  =  stb_vorbis_get_info ( music - > ctxOgg ) ;   / /  Get  Ogg  file  info   
			
		 
		
	
	
		
			
				
				
				
				
					
						 
					 
				
				 
			
			 
			
			@ -1354,7 +1380,7 @@ Music LoadMusicStream(const char *fileName)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    {   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        music - > ctxFlac  =  drflac_open_file ( fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        if  ( music - > ctxFlac  = =  NULL )  TraceLog ( LOG_WARNING ,  " [%s] FLAC audio file could not be opened " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        if  ( music - > ctxFlac  = =  NULL )  LoadMusicStreamError ( & music ,  fileName ,  " FLAC " ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        {   
			
		 
		
	
		
			
			 
			 
			
			 
			
			            music - > stream  =  InitAudioStream ( music - > ctxFlac - > sampleRate ,  music - > ctxFlac - > bitsPerSample ,  music - > ctxFlac - > channels ) ;   
			
		 
		
	
	
		
			
				
				
				
				
					
						 
					 
				
				 
			
			 
			
			@ -1375,7 +1401,7 @@ Music LoadMusicStream(const char *fileName)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    {   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        drmp3_init_file ( & music - > ctxMp3 ,  fileName ,  NULL ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        if  ( music - > ctxMp3 . framesRemaining  < =  0 )  TraceLog ( LOG_WARNING ,  " [%s] MP3 audio file could not be opened " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        if  ( music - > ctxMp3 . framesRemaining  < =  0 )  LoadMusicStreamError ( & music ,  fileName ,  " MP3 " ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        {   
			
		 
		
	
		
			
			 
			 
			
			 
			
			            music - > stream  =  InitAudioStream ( music - > ctxMp3 . sampleRate ,  16 ,  music - > ctxMp3 . channels ) ;   
			
		 
		
	
	
		
			
				
				
					
						 
					 
				
				
					
						 
					 
				
				
				 
			
			 
			
			@ -1410,7 +1436,7 @@ Music LoadMusicStream(const char *fileName)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            TraceLog ( LOG_DEBUG ,  " [%s] XM number of samples: %i " ,  fileName ,  music - > totalSamples ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			            TraceLog ( LOG_DEBUG ,  " [%s] XM track length: %11.6f sec " ,  fileName ,  ( float ) music - > totalSamples / 48000.0f ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        }   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else  TraceLog ( LOG_WARNING ,  " [%s] XM file could not be opened " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else  LoadMusicStreamError ( & music ,  fileName ,  " XM " ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			    }   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# endif  
			
		 
		
	
		
			
			 
			 
			
			 
			
			# if defined(SUPPORT_FILEFORMAT_MOD)  
			
		 
		
	
	
		
			
				
				
				
				
					
						 
					 
				
				 
			
			 
			
			@ -1429,10 +1455,10 @@ Music LoadMusicStream(const char *fileName)  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            TraceLog ( LOG_DEBUG ,  " [%s] MOD number of samples: %i " ,  fileName ,  music - > samplesLeft ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			            TraceLog ( LOG_DEBUG ,  " [%s] MOD track length: %11.6f sec " ,  fileName ,  ( float ) music - > totalSamples / 48000.0f ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        }   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else  TraceLog ( LOG_WARNING ,  " [%s] MOD file could not be opened " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			        else  LoadMusicStreamError ( & music ,  fileName ,  " MOD " ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			    }   
			
		 
		
	
		
			
			 
			 
			
			 
			
			# endif  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else  TraceLog ( LOG_WARNING ,  " [%s] Audio fileformat not supported, it can't be loaded " ,  fileName ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			    else  LoadMusicStreamError ( & music ,  fileName ,  NULL ) ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    return  music ;   
			
		 
		
	
		
			
			 
			 
			
			 
			
			}