Class: Mireru::Video

Inherits:
Object
  • Object
show all
Defined in:
lib/mireru/video.rb

Class Method Summary collapse

Class Method Details

.create(file) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/mireru/video.rb', line 8

def create(file)
  clutter = ClutterGtk::Embed.new
  stage = clutter.stage
  stage.background_color = Clutter::Color.new(:black)
  video_texture = ClutterGst::VideoTexture.new
  stage.add_child(video_texture)
  video_texture.signal_connect("eos") do |_video_texture|
    _video_texture.progress = 0.0
    _video_texture.playing = true
  end
  video_texture.filename = file
  video_texture.playing = true
  define_events(stage, video_texture)
  clutter.signal_connect("destroy") do
    video_texture.playing = false
  end
  clutter
end

.define_events(stage, video_texture) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/mireru/video.rb', line 27

def define_events(stage, video_texture)
  stage.signal_connect("event") do |_stage, event|
    handled = false

    case event.type
    when Clutter::EventType::KEY_PRESS
      animation = nil
      case event.key_symbol
      when Clutter::Keys::KEY_space
        state = video_texture.playing?
        video_texture.playing = state ? false : true
      end
      handled = true
    end

    handled
  end
end