homebrew-core/Formula/abcmidi.rb

55 lines
1.9 KiB
Ruby

class Abcmidi < Formula
desc "Converts abc music notation files to MIDI files"
homepage "https://ifdo.ca/~seymour/runabc/top.html"
url "https://ifdo.ca/~seymour/runabc/abcMIDI-2021.03.27.zip"
sha256 "0cc8dba9c9e84bdb60584fb4e3be486e00173c3fdfe53dbf84cc5165d8bb8b7e"
license "GPL-2.0-or-later"
livecheck do
url :homepage
regex(/href=.*?abcMIDI[._-]v?(\d{4}(?:\.\d+)+)\.zip/i)
end
bottle do
sha256 cellar: :any_skip_relocation, arm64_big_sur: "4bcaf2cd4aee8c6003d8eabc884292ad7ac7b4e76b211c14d7a54ec0a3ee7c9c"
sha256 cellar: :any_skip_relocation, big_sur: "6f8b06f8b7a9f5074016d9119d692658a364844b12f11c36493cc67c181c4395"
sha256 cellar: :any_skip_relocation, catalina: "83c92c017b4d0afdf7cec8a3805fb8a2f9df9ce5d08ecb14e718ce54429dfc22"
sha256 cellar: :any_skip_relocation, mojave: "538142167cb784b891c60d5e70609b3bbaa1d39efc0ae9d69d1afbc51b247592"
end
def install
# configure creates a "Makefile" file. A "makefile" file already exist in
# the tarball. On case-sensitive file-systems, the "makefile" file won't
# be overridden and will be chosen over the "Makefile" file.
rm "makefile"
system "./configure", "--disable-debug",
"--prefix=#{prefix}",
"--mandir=#{man}"
system "make", "install"
end
test do
(testpath/"balk.abc").write <<~EOS
X: 1
T: Abdala
F: https://www.youtube.com/watch?v=YMf8yXaQDiQ
L: 1/8
M: 2/4
K:Cm
Q:1/4=180
%%MIDI bassprog 32 % 32 Acoustic Bass
%%MIDI program 23 % 23 Tango Accordian
%%MIDI bassvol 69
%%MIDI gchord fzfz
|:"G"FDEC|D2C=B,|C2=B,2 |C2D2 |\
FDEC |D2C=B,|C2=B,2 |A,2G,2 :|
|:=B,CDE |D2C=B,|C2=B,2 |C2D2 |\
=B,CDE |D2C=B,|C2=B,2 |A,2G,2 :|
|:C2=B,2 |A,2G,2| C2=B,2|A,2G,2 :|
EOS
system "#{bin}/abc2midi", (testpath/"balk.abc")
end
end