class Soxi::Wrapper::File
Attributes
filename[R]
Public Class Methods
new(filename)
click to toggle source
# File lib/soxi/wrapper/file.rb, line 8 def initialize filename @filename = filename end
Public Instance Methods
average_bitrate()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 40 def average_bitrate @average_bitrate ||= run('B') end
bits_per_sample()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 36 def bits_per_sample @bits_per_sample ||= run('b').to_i end
channels()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 20 def channels @channels ||= run('c').to_i end
comments()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 48 def comments @comments ||= run_multiline('a') end
duration()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 28 def duration @duration ||= run('d') end
encoding()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 44 def encoding @encoding ||= run('e') end
filetype()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 12 def filetype @filetype ||= run('t') end
samplerate()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 16 def samplerate @samplerate ||= run('r') end
samples()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 24 def samples @samples ||= run('s').to_i end
seconds()
click to toggle source
# File lib/soxi/wrapper/file.rb, line 32 def seconds @seconds ||= run('D').to_f end
Private Instance Methods
run(option)
click to toggle source
# File lib/soxi/wrapper/file.rb, line 58 def run(option) run_soxi(option).delete("\n") end
run_multiline(option)
click to toggle source
# File lib/soxi/wrapper/file.rb, line 54 def run_multiline(option) run_soxi(option) end
run_soxi(option)
click to toggle source
# File lib/soxi/wrapper/file.rb, line 62 def run_soxi(option) val, std_err, status = Open3.capture3('soxi', "-#{option}", filename) return val if status.success? raise SoxiFailedError.new( std_err: std_err, std_out: val, option: option, filename: filename ) end