class WaitUp::Pipeline
Wait Up pipeline class
Attributes
filename[R]
tempo[R]
Public Class Methods
new(filename, tempo)
click to toggle source
# File lib/wait_up/pipeline.rb, line 8 def initialize(filename, tempo) @filename = filename @tempo = tempo play_bin.set_property 'uri', "file://#{File.absolute_path(filename)}" sink_bin.add audiosink sink_bin.add postconverter sink_bin.add speed_changer speed_changer.link postconverter postconverter.link audiosink sink_pad = Gst::GhostPad.new 'sink', speed_changer.sinkpads.first sink_bin.add_pad sink_pad play_bin.audio_sink = sink_bin play_bin.state = :paused play_bin.get_state(-1) end
Public Instance Methods
audiosink()
click to toggle source
# File lib/wait_up/pipeline.rb, line 47 def audiosink @audiosink ||= Gst::ElementFactory.make('autoaudiosink', 'audiosink') end
play()
click to toggle source
# File lib/wait_up/pipeline.rb, line 29 def play play_bin.set_state :playing end
play_bin()
click to toggle source
# File lib/wait_up/pipeline.rb, line 33 def play_bin @play_bin ||= Gst::ElementFactory.make 'playbin', nil end
postconverter()
click to toggle source
# File lib/wait_up/pipeline.rb, line 51 def postconverter @postconverter ||= Gst::ElementFactory.make('audioconvert', 'postconverter') end
preconverter()
click to toggle source
# File lib/wait_up/pipeline.rb, line 55 def preconverter @preconverter ||= Gst::ElementFactory.make('audioconvert', 'preconverter') end
sink_bin()
click to toggle source
# File lib/wait_up/pipeline.rb, line 37 def sink_bin @sink_bin ||= Gst::Bin.new('sinkbin') end
speed_changer()
click to toggle source
# File lib/wait_up/pipeline.rb, line 41 def speed_changer @speed_changer ||= Gst::ElementFactory.make('pitch', 'speed changer').tap do |element| element.set_property 'tempo', tempo end end