15 lines
		
	
	
	
		
			780 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
	
		
			780 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| shopt -s nullglob
 | |
| let playlist_duration_ms=0
 | |
| for song_file in *.{mp3,ogg,m4a,flac,wav}; do
 | |
|   playlist_duration_ms=$(expr $playlist_duration_ms + $(mediainfo --Inform="Audio;%Duration%" "$song_file"))
 | |
| done
 | |
| shopt -u nullglob
 | |
| 
 | |
| let playlist_duration_secs=$(expr $playlist_duration_ms / 1000)
 | |
| let playlist_duration_mins=$(expr $playlist_duration_ms / 60000)
 | |
| let playlist_duration_remaining_secs=$(expr $playlist_duration_secs - $(expr $playlist_duration_mins \* 60))
 | |
| let playlist_duration_hours=$(expr $playlist_duration_mins / 60)
 | |
| let playlist_duration_remaining_mins=$(expr $playlist_duration_mins - $(expr $playlist_duration_hours \* 60))
 | |
| 
 | |
| echo $playlist_duration_hours hours, $playlist_duration_remaining_mins minutes, $playlist_duration_remaining_secs seconds
 |