class FdkAacEncoder < Formula desc "Command-line encoder frontend for libfdk-aac" homepage "https://github.com/nu774/fdkaac" url "https://github.com/nu774/fdkaac/archive/v0.6.2.tar.gz" sha256 "de758d6e651e81e9be89d2972612fc5b96cb70321234c3339f35483b636458ad" bottle do cellar :any sha256 "e0a16df6937c67fdbe68a326ba1bcdebfe0ede86f60b98be9645cfe49c0d9adb" => :yosemite sha256 "7fa6eec6baaf3f62860ccec0a6c27557d8fc9674d2ab9408a8b6159be2101819" => :mavericks sha256 "5ff4e41972f3b9f9424e49541616f8bda05ccc3b5f707c8be068c60d5bdee725" => :mountain_lion end depends_on "autoconf" => :build depends_on "automake" => :build depends_on "libtool" => :build depends_on "pkg-config" => :build depends_on "fdk-aac" def install system "autoreconf", "-i" system "./configure", "--disable-debug", "--disable-dependency-tracking", "--disable-silent-rules", "--prefix=#{prefix}", "--mandir=#{man}" system "make", "install" end test do # generate test tone pcm file sample_rate = 44100 two_pi = 2 * Math::PI num_samples = sample_rate frequency = 440.0 max_amplitude = 0.2 position_in_period = 0.0 position_in_period_delta = frequency / sample_rate samples = [].fill(0.0, 0, num_samples) num_samples.times do |i| samples[i] = Math.sin(position_in_period * two_pi) * max_amplitude position_in_period += position_in_period_delta if position_in_period >= 1.0 position_in_period -= 1.0 end end samples.map! do |sample| (sample * 32767.0).round end File.open("#{testpath}/tone.pcm", "wb") do |f| f.syswrite(samples.flatten.pack("s*")) end system "#{bin}/fdkaac", "-R", "--raw-channels", "1", "-m", "1", "#{testpath}/tone.pcm", "--title", "Test Tone" end end