all:
	make build
	make install

build:
	make deps_midi
	make deps_guitarpro

install:
	zip -r9 application_musician.zip . -x "lib/vendor/*"
	mv application_musician.zip ../../../dist/data/state/plugins/

deps_midi:
	[ -d lib ] || mkdir lib
	curl https://cdn.jsdelivr.net/combine/npm/tone@14.7.58,npm/@magenta/music@1.23.1/es6/core.js,npm/focus-visible@5,npm/html-midi-player@1.5.0 > ./lib/midi.js

deps_guitarpro:
	[ -d lib/vendor ] || mkdir -p lib/vendor
	[ -d lib/alphatab ] || { \
		cd lib/vendor; \
		curl -L https://registry.npmjs.org/@coderline/alphatab/-/alphatab-1.5.0.tgz > alphatab-1.5.0.tgz; \
		tar -zxf alphatab-1.5.0.tgz && mv package/dist ../alphatab; \
		rm ../alphatab/*.js && rm ../alphatab/*.d.ts; \
		brotli -f -k ../alphatab/alphaTab.core.min.mjs; \
		brotli -f -k ../alphatab/soundfont/sonivox.sf2; \
		brotli -f -k ../alphatab/font/Bravura.woff; \
	}
