class Kikeru::Window
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/kikeru/window.rb, line 6 def initialize super setup end
Public Instance Methods
add_container(container)
click to toggle source
# File lib/kikeru/window.rb, line 11 def add_container(container) @container = container @file = @container.shift end
load()
click to toggle source
# File lib/kikeru/window.rb, line 16 def load stop @playbin.uri = Gst.filename_to_uri(@file) self.title = File.basename(@file) play end
Private Instance Methods
pause()
click to toggle source
# File lib/kikeru/window.rb, line 78 def pause @playbin.pause @playing = false end
play()
click to toggle source
# File lib/kikeru/window.rb, line 73 def play @playbin.play @playing = true end
setup()
click to toggle source
# File lib/kikeru/window.rb, line 24 def setup setup_window setup_gst end
setup_gst()
click to toggle source
# File lib/kikeru/window.rb, line 54 def setup_gst Gst.init @playbin = Gst::ElementFactory.make("playbin") if @playbin.nil? puts "'playbin' gstreamer plugin missing" exit(false) end @playbin.bus.add_watch do |bus, message| case message.type when Gst::MessageType::EOS @file = @container.shift(@file) load end true end end
setup_window()
click to toggle source
# File lib/kikeru/window.rb, line 29 def setup_window signal_connect("destroy") do stop Gtk.main_quit end signal_connect("key_press_event") do |widget, event| case event.keyval when Gdk::Keyval::GDK_KEY_n @file = @container.shift(@file) load when Gdk::Keyval::GDK_KEY_p @file = @container.pop(@file) load when Gdk::Keyval::GDK_KEY_r load when Gdk::Keyval::GDK_KEY_q stop Gtk.main_quit when Gdk::Keyval::GDK_KEY_space toggle end end end
stop()
click to toggle source
# File lib/kikeru/window.rb, line 83 def stop @playbin.stop @playing = false end
toggle()
click to toggle source
# File lib/kikeru/window.rb, line 88 def toggle @playing ? pause : play end