#!/bin/bash
if [ "$(command -v fd)" ]; then
	export FZF_DEFAULT_COMMAND="fd --extension=mid"
else
	export FZF_DEFAULT_COMMAND="find . -path '*/.*' -prune -o -iname '*.mid' -print"
fi

midi_device=$(aplaymidi -l | grep "Midi Through" | awk '{print$1}')
echo "using midi device $midi_device"

function kill_player() {
	killall aplaymidi 2>/dev/null
}

function select_midi() {
	midi="$(fzf -e --header="webfishing midi player" --prompt="> ")"

	if [[ -z $midi ]]; then exit 0; fi

	echo "playing $midi"
	trap kill_player SIGINT SIGQUIT SIGTSTP
	aplaymidi -p "$midi_device" "$midi"
	echo "done playing"
	trap - SIGINT
	select_midi
}

select_midi
echo hi
