32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/bin/bash
 | ||
|  | # renders all files in test/songs/ and outputs them for delta testing. | ||
|  | # useful when doing changes to playback. | ||
|  | # requires GNU parallel. | ||
|  | 
 | ||
|  | testDir=$(date +%Y%m%d%H%M%S) | ||
|  | if [ -e "test/result" ]; then | ||
|  |   lastTest=$(ls "test/result" | tail -2 | head -1 || echo "") | ||
|  | else | ||
|  |   lastTest="" | ||
|  | fi | ||
|  | 
 | ||
|  | echo "lastTest is $lastTest" | ||
|  | 
 | ||
|  | echo "furnace test suite begin..." | ||
|  | echo "--- STEP 1: render test files" | ||
|  | mkdir -p "test/result/$testDir" || exit 1 | ||
|  | ls "test/songs/" | parallel --verbose -j4 ./build/furnace -output "test/result/$testDir/{0}.wav" "test/songs/{0}" | ||
|  | echo "--- STEP 2: calculate deltas" | ||
|  | if [ -z $lastTest ]; then | ||
|  |   echo "skipping since this apparently is your first run." | ||
|  | else | ||
|  |   mkdir -p "test/delta/$testDir" || exit 1 | ||
|  |   ls "test/result/$testDir/" | parallel --verbose -j4 ffmpeg -i "test/result/$lastTest/{0}" -i "test/result/$testDir/{0}" -filter_complex stereotools=phasel=1:phaser=1,amix=inputs=2:duration=longest -c:a pcm_s16le -y "test/delta/$testDir/{0}" | ||
|  | fi | ||
|  | echo "--- STEP 3: make delta images" | ||
|  | if [ -z $lastTest ]; then | ||
|  |   echo "skipping since this apparently is your first run." | ||
|  | else | ||
|  |   ls "test/result/$testDir/" | parallel --verbose -j4 ffmpeg -i "test/delta/$testDir/{0}" -lavfi showspectrumpic "test/delta/$testDir/{0}.png" | ||
|  | fi |