mplayer-ruby 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +11 -0
- data/CHANGELOG.md +31 -0
- data/Gemfile +3 -0
- data/{README.rdoc → README.md} +17 -29
- data/Rakefile +2 -22
- data/TODO +1 -35
- data/examples/general_playback.rb +24 -24
- data/lib/mplayer-ruby.rb +3 -2
- data/lib/mplayer-ruby/slave.rb +35 -12
- data/lib/mplayer-ruby/slave_commands.rb +34 -26
- data/lib/mplayer-ruby/slave_sub_commands.rb +121 -0
- data/lib/mplayer-ruby/slave_tv_commands.rb +99 -0
- data/lib/mplayer-ruby/slave_video_commands.rb +136 -122
- data/mplayer-ruby.gemspec +22 -69
- data/test/slave_commands_test.rb +93 -54
- data/test/slave_sub_commands_test.rb +243 -0
- data/test/slave_test.rb +59 -9
- data/test/slave_tv_commands_test.rb +109 -0
- data/test/slave_video_commands_test.rb +226 -160
- data/test/test space.mp3 b/data/test/test → space.mp3 +0 -0
- data/test/teststrap.rb +32 -7
- metadata +90 -65
- data/VERSION +0 -1
@@ -0,0 +1,121 @@
|
|
1
|
+
module MPlayer
|
2
|
+
module SlaveSubCommands
|
3
|
+
|
4
|
+
# Adjust the subtitle delay
|
5
|
+
# :relative is adjust by +/- <value> seconds.
|
6
|
+
# :absolute is set it to <value>. (default)
|
7
|
+
def sub_delay(value,type = :absolute)
|
8
|
+
adjust_set :sub_delay, value, type
|
9
|
+
end
|
10
|
+
|
11
|
+
# Step forward in the subtitle list by <value> steps
|
12
|
+
# step backwards if <value> is negative
|
13
|
+
# can also set type to :backward or :forward and return postive <value>
|
14
|
+
def sub_step(value, type = :next)
|
15
|
+
val = value.abs
|
16
|
+
type = :prev if value < 0
|
17
|
+
command(type == :next ? "sub_step #{val}" : "sub_step #{-val}" )
|
18
|
+
end
|
19
|
+
|
20
|
+
# Adjust/set subtitle position.
|
21
|
+
# If :relative, modifies parameter by <value>.
|
22
|
+
# If :absolute, parameter is set to <value>.
|
23
|
+
def sub_pos(value,type = :relative)
|
24
|
+
adjust_set :sub_pos, value, type
|
25
|
+
end
|
26
|
+
|
27
|
+
# Toggle/set subtitle alignment. [alignment]
|
28
|
+
# :top sets top alignment
|
29
|
+
# :center sets center alignment
|
30
|
+
# :bottom sets bottom alignment
|
31
|
+
def sub_alignment(alignment = nil)
|
32
|
+
command case alignment
|
33
|
+
when :top then "sub_alignment 0"
|
34
|
+
when :center then "sub_alignment 1"
|
35
|
+
when :bottom then "sub_alignment 2"
|
36
|
+
else "sub_alignment"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# Toggle/set subtitle visibility.
|
41
|
+
# :on turns on visilibity.
|
42
|
+
# :off turns off visilibility.
|
43
|
+
# else toggles visibility.
|
44
|
+
def sub_visibility(value = nil)
|
45
|
+
toggle :sub_visibility, value
|
46
|
+
end
|
47
|
+
|
48
|
+
# Loads subtitles from <file>.
|
49
|
+
def sub_load(file)
|
50
|
+
raise ArgumentError, "Invalid File" unless File.exists? file
|
51
|
+
command("sub_load #{file}")
|
52
|
+
end
|
53
|
+
|
54
|
+
# Removes the selected sub file
|
55
|
+
# :all removes all sub files. (Default)
|
56
|
+
# <value> removes the sub file at that index.
|
57
|
+
def sub_remove(value = :all)
|
58
|
+
cmd = (value == :all ? -1 : value)
|
59
|
+
command "sub_remove #{cmd}"
|
60
|
+
end
|
61
|
+
|
62
|
+
# Displays subtitle
|
63
|
+
# :cycle will cycle through all sub_titles. (Default)
|
64
|
+
# <value> will display the sub_title at that index.
|
65
|
+
def sub_select(value = :cycle)
|
66
|
+
cmd = (value == :cycle ? -2 : value)
|
67
|
+
command "sub_select #{cmd}"
|
68
|
+
end
|
69
|
+
|
70
|
+
# Display first subtitle from <value>
|
71
|
+
# :sub for SUB_SOURCE_SUBS for file subs
|
72
|
+
# :vobsub for SUB_SOURCE_VOBSUB for VOBsub files
|
73
|
+
# :demux SUB_SOURCE_DEMUX for subtitle embedded in the media file or DVD subs.
|
74
|
+
# :off will turn off subtitle display.
|
75
|
+
# :cycle will cycle between the first subtitle of each currently available sources.
|
76
|
+
def sub_source(value = :cycle)
|
77
|
+
switch = case value
|
78
|
+
when :sub then 0
|
79
|
+
when :vobsub then 1
|
80
|
+
when :demux then 2
|
81
|
+
when :off then -1
|
82
|
+
else -2
|
83
|
+
end
|
84
|
+
command "sub_source #{switch}"
|
85
|
+
end
|
86
|
+
|
87
|
+
# Display subtitle specifid by <value> for file subs. corresponding to ID_FILE_SUB_ID
|
88
|
+
# :off turns off sub
|
89
|
+
# :cycle will cycle all file subs. (Default)
|
90
|
+
def sub_vob(value = :cycle)
|
91
|
+
select_cycle :sub_vob, value
|
92
|
+
end
|
93
|
+
|
94
|
+
# Display subtitle specifid by <value> for file subs. corresponding to ID_VOBSUB_ID
|
95
|
+
# :off turns off sub
|
96
|
+
# :cycle will cycle all file subs. (Default)
|
97
|
+
def sub_file(value = :cycle)
|
98
|
+
select_cycle :sub_file, value
|
99
|
+
end
|
100
|
+
|
101
|
+
# Display subtitle specifid by <value> for file subs. corresponding to ID_SUBTITLE_ID
|
102
|
+
# :off turns off sub
|
103
|
+
# :cycle will cycle all file subs. (Default)
|
104
|
+
def sub_demux(value = :cycle)
|
105
|
+
select_cycle :sub_demux, value
|
106
|
+
end
|
107
|
+
|
108
|
+
# Adjust the subtitle size by +/- <value>
|
109
|
+
# :set set it to <value>
|
110
|
+
# :relative adjusts it by value
|
111
|
+
def sub_scale(value,type = :relative)
|
112
|
+
adjust_set :sub_scale, value, type
|
113
|
+
end
|
114
|
+
|
115
|
+
# Toggle/set forced subtitles only
|
116
|
+
def forced_subs_only(value = nil)
|
117
|
+
toggle :forced_subs_only, value
|
118
|
+
end
|
119
|
+
|
120
|
+
end
|
121
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
module MPlayer
|
2
|
+
module SlaveTvCommands
|
3
|
+
|
4
|
+
# Start automatic TV channel scanning
|
5
|
+
def tv_start_scan
|
6
|
+
command("tv_start_scan")
|
7
|
+
end
|
8
|
+
|
9
|
+
# Select the next/previous TV Channel
|
10
|
+
# :next selects next channel
|
11
|
+
# :prev select previous channel
|
12
|
+
def tv_step_channel(action)
|
13
|
+
value = action == :prev ? -1 : 1
|
14
|
+
command "tv_step_channel #{value}"
|
15
|
+
end
|
16
|
+
|
17
|
+
# next TV channel
|
18
|
+
def next_channel
|
19
|
+
tv_step_channel :next
|
20
|
+
end
|
21
|
+
|
22
|
+
#previous TV channel
|
23
|
+
def prev_channel
|
24
|
+
tv_step_channel :prev
|
25
|
+
end
|
26
|
+
|
27
|
+
# Change TV norm
|
28
|
+
def tv_step_norm
|
29
|
+
command("tv_step_norm")
|
30
|
+
end
|
31
|
+
|
32
|
+
# Change TV Channel list
|
33
|
+
def tv_step_chanlist
|
34
|
+
command("tv_step_chanlist")
|
35
|
+
end
|
36
|
+
|
37
|
+
# Set TV Channel to <value>
|
38
|
+
def tv_set_channel(value)
|
39
|
+
command("tv_set_channel #{value}")
|
40
|
+
end
|
41
|
+
alias :set_channel :tv_set_channel
|
42
|
+
|
43
|
+
# Set the current TV Channel to the last channel
|
44
|
+
def tv_last_channel
|
45
|
+
command("tv_last_channel")
|
46
|
+
end
|
47
|
+
alias :last_channel :tv_last_channel
|
48
|
+
|
49
|
+
# set TV Frequency in MHz
|
50
|
+
def tv_set_freq(value)
|
51
|
+
command("tv_set_freq #{value}")
|
52
|
+
end
|
53
|
+
|
54
|
+
# set the TV frequency relative to the current frequency
|
55
|
+
def tv_step_freq(value)
|
56
|
+
command("tv_step_freq #{value}")
|
57
|
+
end
|
58
|
+
|
59
|
+
# Set the TV tuner norm (PAL, SECAM, NTSC, ... ).
|
60
|
+
def tv_set_norm(value)
|
61
|
+
command("tv_set_norm #{value.to_s.upcase}")
|
62
|
+
end
|
63
|
+
|
64
|
+
# Set/adjust video parameters.
|
65
|
+
# If :relative, modifies parameter by <value>.
|
66
|
+
# If :absolute, parameter is set to <value>.
|
67
|
+
# <value> is in the range [-100, 100].
|
68
|
+
def tv_set_contrast(value, type = :relative)
|
69
|
+
setting :tv_set_contrast, value, type
|
70
|
+
end
|
71
|
+
|
72
|
+
# Set/adjust video parameters.
|
73
|
+
# If :relative, modifies parameter by <value>.
|
74
|
+
# If :absolute, parameter is set to <value>.
|
75
|
+
# <value> is in the range [-100, 100].
|
76
|
+
def tv_set_hue(value, type = :relative)
|
77
|
+
setting :tv_set_hue, value, type
|
78
|
+
end
|
79
|
+
|
80
|
+
# Set/adjust video parameters.
|
81
|
+
# If :relative, modifies parameter by <value>.
|
82
|
+
# If :absolute, parameter is set to <value>.
|
83
|
+
# <value> is in the range [-100, 100].
|
84
|
+
def tv_set_brightness(value, type = :relative)
|
85
|
+
setting :tv_set_brightness, value, type
|
86
|
+
end
|
87
|
+
|
88
|
+
# Set/adjust video parameters.
|
89
|
+
# If :relative, modifies parameter by <value>.
|
90
|
+
# If :absolute, parameter is set to <value>.
|
91
|
+
# <value> is in the range [-100, 100].
|
92
|
+
def tv_set_saturation(value, type = :relative)
|
93
|
+
setting :tv_set_saturation, value, type
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
end
|
99
|
+
end
|
@@ -1,40 +1,25 @@
|
|
1
1
|
module MPlayer
|
2
2
|
module SlaveVideoCommands
|
3
|
-
|
3
|
+
|
4
4
|
# Set/adjust the audio delay.
|
5
5
|
# If type is :relative adjust the delay by <value> seconds.
|
6
6
|
# If type is :absolute, set the delay to <value> seconds.
|
7
7
|
def audio_delay(value,type = :relative)
|
8
8
|
adjust_set :audio_delay, value, type
|
9
9
|
end
|
10
|
-
|
11
|
-
# Adjust the subtitle delay
|
12
|
-
# :relative is adjust by +/- <value> seconds.
|
13
|
-
# :absolute is set it to <value>. (default)
|
14
|
-
def sub_delay(value,type = :absolute)
|
15
|
-
adjust_set :sub_delay, value, type
|
16
|
-
end
|
17
10
|
|
18
|
-
# Step forward in the subtitle list by <value> steps
|
19
|
-
# step backwards if <value> is negative
|
20
|
-
# can also set type to :backward or :forward and return postive <value>
|
21
|
-
def sub_step(value, type = :forward)
|
22
|
-
type = :backward if value < 0
|
23
|
-
send(type == :forward ? "sub_step #{value.abs}" : "sub_step -#{value.abs}" )
|
24
|
-
end
|
25
|
-
|
26
11
|
# Toggle OSD mode
|
27
12
|
# or set it to <level>
|
28
13
|
def osd(level=nil)
|
29
|
-
|
14
|
+
command(level.nil? ? "osd" : "osd #{level}")
|
30
15
|
end
|
31
16
|
|
32
17
|
# Show <string> on the OSD.
|
33
18
|
# :duration sets the length to display text.
|
34
19
|
# :level sets the osd level to display at. (default: 0 => always show)
|
35
20
|
def osd_show_text(string,options = {})
|
36
|
-
options
|
37
|
-
|
21
|
+
options = {:duration => 0, :level => 0}.merge(options)
|
22
|
+
command("osd_show_text #{string} #{options[:duration]} #{options[:level]}")
|
38
23
|
end
|
39
24
|
|
40
25
|
# Show an expanded property string on the OSD
|
@@ -42,10 +27,10 @@ module MPlayer
|
|
42
27
|
# :duration sets the length to display text.
|
43
28
|
# :level sets the osd level to display at. (default: 0 => always show)
|
44
29
|
def osd_show_property_text(string,options={})
|
45
|
-
options
|
46
|
-
|
30
|
+
options = {:duration => 0, :level => 0}.merge(options)
|
31
|
+
command("osd_show_property_text #{string} #{options[:duration]} #{options[:level]}")
|
47
32
|
end
|
48
|
-
|
33
|
+
|
49
34
|
# Set/adjust video parameters.
|
50
35
|
# If :relative, modifies parameter by <value>.
|
51
36
|
# If :absolute, parameter is set to <value>.
|
@@ -85,7 +70,7 @@ module MPlayer
|
|
85
70
|
def saturation(value, type = :relative)
|
86
71
|
setting :saturation, value, type
|
87
72
|
end
|
88
|
-
|
73
|
+
|
89
74
|
# Toggle/set frame dropping mode
|
90
75
|
# if :on, turns on dropping mode
|
91
76
|
# if :off, turns off dropping mode
|
@@ -94,101 +79,6 @@ module MPlayer
|
|
94
79
|
toggle :frame_drop, value
|
95
80
|
end
|
96
81
|
|
97
|
-
# Adjust/set subtitle position.
|
98
|
-
# If :relative, modifies parameter by <value>.
|
99
|
-
# If :absolute, parameter is set to <value>.
|
100
|
-
def sub_pos(value,type = :relative)
|
101
|
-
adjust_set :sub_pos, value, type
|
102
|
-
end
|
103
|
-
|
104
|
-
# Toggle/set subtitle alignment. [alignment]
|
105
|
-
# :top sets top alignment
|
106
|
-
# :center sets center alignment
|
107
|
-
# :bottom sets bottom alignment
|
108
|
-
def sub_alignment(alignment = nil)
|
109
|
-
send case alignment
|
110
|
-
when :top then "sub_alignment 0"
|
111
|
-
when :center then "sub_alignment 1"
|
112
|
-
when :bottom then "sub_alignment 2"
|
113
|
-
else "sub_alignment"
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
# Toggle/set subtitle visibility.
|
118
|
-
# :on turns on visilibity.
|
119
|
-
# :off turns off visilibility.
|
120
|
-
# else toggles visibility.
|
121
|
-
def sub_visibility(value = nil)
|
122
|
-
toggle :sub_visibility, value
|
123
|
-
end
|
124
|
-
|
125
|
-
# Loads subtitles from <file>.
|
126
|
-
def sub_load(file)
|
127
|
-
raise ArgumentError, "Invalid File" unless File.exists? file
|
128
|
-
send("sub_load #{file}")
|
129
|
-
end
|
130
|
-
|
131
|
-
# Removes the selected sub file
|
132
|
-
# :all removes all sub files. (Default)
|
133
|
-
# <value> removes the sub file at that index.
|
134
|
-
def sub_remove(value = :all)
|
135
|
-
cmd = (value == :all ? -1 : value)
|
136
|
-
send "sub_remove #{cmd}"
|
137
|
-
end
|
138
|
-
|
139
|
-
# Displays subtitle
|
140
|
-
# :cycle will cycle through all sub_titles. (Default)
|
141
|
-
# <value> will display the sub_title at that index.
|
142
|
-
def sub_select(value = :cycle)
|
143
|
-
cmd = (value == :cycle ? -2 : value)
|
144
|
-
send "sub_select #{cmd}"
|
145
|
-
end
|
146
|
-
|
147
|
-
# Display first subtitle from <value>
|
148
|
-
# :sub for SUB_SOURCE_SUBS for file subs
|
149
|
-
# :vobsub for SUB_SOURCE_VOBSUB for VOBsub files
|
150
|
-
# :demux SUB_SOURCE_DEMUX for subtitle embedded in the media file or DVD subs.
|
151
|
-
# :off will turn off subtitle display.
|
152
|
-
# :cycle will cycle between the first subtitle of each currently available sources.
|
153
|
-
def sub_source(value = :cycle)
|
154
|
-
switch = case value
|
155
|
-
when :sub then 0
|
156
|
-
when :vobsub then 1
|
157
|
-
when :demux then 2
|
158
|
-
when :off then -1
|
159
|
-
when :cycle then -2
|
160
|
-
end
|
161
|
-
send "sub_source #{switch}"
|
162
|
-
end
|
163
|
-
|
164
|
-
# Display subtitle specifid by <value> for file subs. corresponding to ID_FILE_SUB_ID
|
165
|
-
# :off turns off sub
|
166
|
-
# :cycle will cycle all file subs. (Default)
|
167
|
-
def sub_vob(value = :cycle)
|
168
|
-
select_cycle :sub_vob, value
|
169
|
-
end
|
170
|
-
|
171
|
-
# Display subtitle specifid by <value> for file subs. corresponding to ID_VOBSUB_ID
|
172
|
-
# :off turns off sub
|
173
|
-
# :cycle will cycle all file subs. (Default)
|
174
|
-
def sub_file(value = :cycle)
|
175
|
-
select_cycle :sub_file, value
|
176
|
-
end
|
177
|
-
|
178
|
-
# Display subtitle specifid by <value> for file subs. corresponding to ID_SUBTITLE_ID
|
179
|
-
# :off turns off sub
|
180
|
-
# :cycle will cycle all file subs. (Default)
|
181
|
-
def sub_demux(value = :cycle)
|
182
|
-
select_cycle :sub_demux, value
|
183
|
-
end
|
184
|
-
|
185
|
-
# Adjust the subtitle size by +/- <value>
|
186
|
-
# :set set it to <value>
|
187
|
-
# :relative adjusts it by value
|
188
|
-
def sub_scale(value,type = :relative)
|
189
|
-
adjust_set :sub_scale, value, type
|
190
|
-
end
|
191
|
-
|
192
82
|
# switch_audio [value] (currently MPEG*, AVI, Matroska and streams handled by libavformat)
|
193
83
|
# <value> Switch to the audio track with the ID <value>.
|
194
84
|
# :cycle available tracks if [value] is omitted or negative.
|
@@ -213,7 +103,7 @@ module MPlayer
|
|
213
103
|
# <value> Change aspect ratio at runtime. [value] is the new aspect ratio expressed
|
214
104
|
# as a float (e.g. 1.77778 for 16/9).
|
215
105
|
# There might be problems with some video filters.
|
216
|
-
def switch_ratio(value);
|
106
|
+
def switch_ratio(value); command("switch_ratio #{value}"); end
|
217
107
|
|
218
108
|
# switch_vsync [value]
|
219
109
|
# :on Toggle vsync on
|
@@ -222,7 +112,131 @@ module MPlayer
|
|
222
112
|
def switch_vsync(value = nil)
|
223
113
|
toggle :switch_vsync, value
|
224
114
|
end
|
225
|
-
|
226
|
-
|
115
|
+
|
116
|
+
# Toggle/set borderless display
|
117
|
+
# :on Toggle on
|
118
|
+
# :off Toggle off
|
119
|
+
# nil for Toggle
|
120
|
+
def vo_border(value = nil)
|
121
|
+
toggle :vo_border, value
|
122
|
+
end
|
123
|
+
|
124
|
+
# Toggle/set borderless display
|
125
|
+
# :on Toggle on
|
126
|
+
# :off Toggle off
|
127
|
+
# nil for Toggle
|
128
|
+
def vo_border(value = nil)
|
129
|
+
toggle :vo_border, value
|
130
|
+
end
|
131
|
+
|
132
|
+
# Toggle/set fullscreen mode
|
133
|
+
# :on Toggle on
|
134
|
+
# :off Toggle off
|
135
|
+
# nil for Toggle
|
136
|
+
def vo_fullscreen(value = nil)
|
137
|
+
toggle :vo_fullscreen, value
|
138
|
+
end
|
139
|
+
|
140
|
+
# Toggle/set stay-on-top
|
141
|
+
# :on Toggle on
|
142
|
+
# :off Toggle off
|
143
|
+
# nil for Toggle
|
144
|
+
def vo_ontop(value = nil)
|
145
|
+
toggle :vo_ontop, value
|
146
|
+
end
|
147
|
+
|
148
|
+
# Toggle/set playback on root window
|
149
|
+
# :on Toggle on
|
150
|
+
# :off Toggle off
|
151
|
+
# nil for Toggle
|
152
|
+
def vo_rootwin(value = nil)
|
153
|
+
toggle :vo_rootwin, value
|
154
|
+
end
|
155
|
+
|
156
|
+
# Take a screenshot. Requires the screenshot filter to be loaded.
|
157
|
+
# nil Take a single screenshot.
|
158
|
+
# :toggle Start/stop taking screenshot of each frame.
|
159
|
+
def screenshot(toggle=nil)
|
160
|
+
switch, pattern = case toggle
|
161
|
+
when :toggle
|
162
|
+
[ 1, // ]
|
163
|
+
else
|
164
|
+
[ 0, /screenshot/ ]
|
165
|
+
end
|
166
|
+
(command("screenshot #{switch}", pattern)) =~ /(shot\d*\.png)/ ? $~[1] : ""
|
167
|
+
end
|
168
|
+
|
169
|
+
# Increases or descreases the panscan range by <value>. maximum is 1.0.
|
170
|
+
def panscan(value)
|
171
|
+
raise ArgumentError, "Value out of Range -1.0 .. 1.0" unless value.abs <= 1
|
172
|
+
command "panscan #{value} 0"
|
173
|
+
end
|
174
|
+
|
175
|
+
# presses the given dvd button
|
176
|
+
# available buttons are:
|
177
|
+
# :up :down :left :right :menu :select :prev :mouse
|
178
|
+
def dvdnav(button)
|
179
|
+
unless %w[up down left right menu select prev mouse].include? button.to_s
|
180
|
+
raise ArgumentError, "Invalid button name"
|
181
|
+
end
|
182
|
+
command "dvdnav #{button}"
|
183
|
+
end
|
184
|
+
|
185
|
+
# Print out the current value of a property.
|
186
|
+
# raises an error if it fails to get the property
|
187
|
+
def get_property(value)
|
188
|
+
resp = command("get_property #{value}",/#{value.to_s}/).gsub(/ANS(.+?)\=/,"")
|
189
|
+
raise StandardError,resp if resp =~ /Failed/
|
190
|
+
resp
|
191
|
+
end
|
192
|
+
|
193
|
+
#Set the value to a property
|
194
|
+
def set_property(name,value)
|
195
|
+
command "set_property #{name} #{value}"
|
196
|
+
end
|
197
|
+
|
198
|
+
#adjust the propery by steps
|
199
|
+
# if value is < 0, steps downards
|
200
|
+
# else, steps upward
|
201
|
+
def step_property(name,value)
|
202
|
+
direction = value < 0 ? -1 : 1
|
203
|
+
command "step_property #{name} #{value.abs} #{direction}"
|
204
|
+
end
|
205
|
+
|
206
|
+
# Returns if it is in fullscreen mode.
|
207
|
+
# true if it is fullscreen
|
208
|
+
# false if it is windowed
|
209
|
+
def get_vofullscreen
|
210
|
+
resp = command "get_vofullscreen",/(0|1)/
|
211
|
+
return true if resp =~ /1/
|
212
|
+
false
|
213
|
+
end
|
214
|
+
alias :is_fullscreen? :get_vofullscreen
|
215
|
+
|
216
|
+
# Returns if it the sub is visibile mode.
|
217
|
+
# true if it is fullscreen
|
218
|
+
# false if it is windowed
|
219
|
+
def get_sub_visibility
|
220
|
+
resp = command "get_sub_visibility",/(0|1)/
|
221
|
+
return true if resp =~ /1/
|
222
|
+
false
|
223
|
+
end
|
224
|
+
alias :is_sub_visible? :get_sub_visibility
|
225
|
+
|
226
|
+
# Seek to the start of a chapter
|
227
|
+
# :relative does a relative seek (+/-)
|
228
|
+
# :absolute goes to the exact value of chapter
|
229
|
+
def seek_chapter(value, type = :relative)
|
230
|
+
adjust_set :seek_chapter, value, type
|
231
|
+
end
|
232
|
+
|
233
|
+
def change_rectangle(coord,value,type = :relative)
|
234
|
+
switch = case coord
|
235
|
+
when :x then (0 + (type == :relative ? 2 : 0))
|
236
|
+
when :y then (1 + (type == :relative ? 2 : 0))
|
237
|
+
end
|
238
|
+
command("change_rectangle #{switch} #{value}")
|
239
|
+
end
|
240
|
+
|
227
241
|
end
|
228
|
-
end
|
242
|
+
end
|