ampv 1.2.1 → 1.2.2
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 +4 -4
- data/lib/ampv.rb +7 -3
- data/lib/ampv/mpvwidget.rb +9 -3
- data/lib/ampv/playlist.rb +13 -1
- data/lib/ampv/version.rb +1 -1
- metadata +5 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c53292e5b30740dc7acb2f2c636b3a9f10d8461
|
|
4
|
+
data.tar.gz: 2878f0245d381052d5926d47d5a65866024e7186
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18e14e349249708b0c2b647288918c8b94c7d578e7818692113f5a3e4efbab548712bf05dbe05ca504a0983e4ebb2bf6e741f1ffc40c6abe4be09d3cf7dd37b4
|
|
7
|
+
data.tar.gz: 6ca3f6b671aa8ffae1e6a2262a3b5f6bd87e0ae6bca3e3b729beadf42ae50a3d746241743b65b6535d9e32e44e94c5cd09d09785f66946e2c4875b264234ddad
|
data/lib/ampv.rb
CHANGED
|
@@ -75,6 +75,10 @@ module Ampv
|
|
|
75
75
|
}
|
|
76
76
|
@mpv.signal_connect("playing_watched") { @playlist.on_playing_watched }
|
|
77
77
|
@mpv.signal_connect("length_changed") { |w, len| @playlist.update_length(@length = len) }
|
|
78
|
+
@mpv.signal_connect("title_changed") { |w, t|
|
|
79
|
+
@playlist.update_title(t)
|
|
80
|
+
set_title(t)
|
|
81
|
+
}
|
|
78
82
|
@mpv.signal_connect("time_pos_changed") { |w, pos| @progress_bar.value = pos / @length.to_f }
|
|
79
83
|
@mpv.signal_connect("stopped") {
|
|
80
84
|
@progress_bar.value = 0
|
|
@@ -122,6 +126,7 @@ module Ampv
|
|
|
122
126
|
end
|
|
123
127
|
end
|
|
124
128
|
|
|
129
|
+
mouse_cursor_timeout
|
|
125
130
|
Gtk.main
|
|
126
131
|
end
|
|
127
132
|
|
|
@@ -135,7 +140,7 @@ module Ampv
|
|
|
135
140
|
|
|
136
141
|
return unless File.directory?(file) or valid_video_file?(file) or uri
|
|
137
142
|
|
|
138
|
-
if @playlist.count == 0 and auto_add
|
|
143
|
+
if @playlist.count == 0 and auto_add and !uri
|
|
139
144
|
file = create_playlist(file)
|
|
140
145
|
elsif !@playlist.include?(file)
|
|
141
146
|
@playlist.add_file(file)
|
|
@@ -184,7 +189,7 @@ module Ampv
|
|
|
184
189
|
GLib::Source.remove(@cursor_timeout) if @cursor_timeout
|
|
185
190
|
window.set_cursor(nil)
|
|
186
191
|
@cursor_timeout = GLib::Timeout.add(1000) {
|
|
187
|
-
window.set_cursor(Gdk::Cursor.new(Gdk::Cursor::BLANK_CURSOR))
|
|
192
|
+
window.set_cursor(Gdk::Cursor.new(Gdk::Cursor::BLANK_CURSOR))
|
|
188
193
|
# hacky workaround when called after a mouse event
|
|
189
194
|
# without this the cursor is still shown when it should not be.
|
|
190
195
|
Gdk::Display.default.warp_pointer(*Gdk::Display.default.pointer[0..2]) if mevent
|
|
@@ -240,7 +245,6 @@ module Ampv
|
|
|
240
245
|
@progress_bar.hide unless Config["fullscreen_progressbar"]
|
|
241
246
|
fullscreen
|
|
242
247
|
end
|
|
243
|
-
mouse_cursor_timeout
|
|
244
248
|
end
|
|
245
249
|
|
|
246
250
|
def toggle_progress_bar
|
data/lib/ampv/mpvwidget.rb
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require "fifo"
|
|
2
1
|
require "tmpdir"
|
|
3
2
|
|
|
4
3
|
module Ampv
|
|
@@ -7,6 +6,7 @@ module Ampv
|
|
|
7
6
|
type_register
|
|
8
7
|
signal_new("file_changed", GLib::Signal::RUN_FIRST, nil, nil, String)
|
|
9
8
|
signal_new("length_changed", GLib::Signal::RUN_FIRST, nil, nil, Integer)
|
|
9
|
+
signal_new("title_changed", GLib::Signal::RUN_FIRST, nil, nil, String)
|
|
10
10
|
signal_new("playing_watched", GLib::Signal::RUN_FIRST, nil, nil)
|
|
11
11
|
signal_new("time_pos_changed", GLib::Signal::RUN_FIRST, nil, nil, Float)
|
|
12
12
|
signal_new("stopped", GLib::Signal::RUN_FIRST, nil, nil)
|
|
@@ -40,7 +40,8 @@ module Ampv
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def send(cmd)
|
|
43
|
-
@fifo.puts(cmd)
|
|
43
|
+
@fifo.puts(cmd)
|
|
44
|
+
@fifo.flush
|
|
44
45
|
end
|
|
45
46
|
|
|
46
47
|
def load_file(file, force_play = false)
|
|
@@ -68,7 +69,8 @@ module Ampv
|
|
|
68
69
|
private
|
|
69
70
|
def start
|
|
70
71
|
return if @thread and @thread.alive?
|
|
71
|
-
|
|
72
|
+
system("mkfifo \"#{@mpv_fifo}\"")
|
|
73
|
+
@fifo = File.open(@mpv_fifo, "w+")
|
|
72
74
|
ObjectSpace.define_finalizer(self, proc { File.delete(@mpv_fifo) })
|
|
73
75
|
|
|
74
76
|
cmd = "#{PATH} \
|
|
@@ -85,10 +87,13 @@ module Ampv
|
|
|
85
87
|
line.chomp!
|
|
86
88
|
if line.start_with?("Playing: ")
|
|
87
89
|
signal_emit("file_changed", (@playing = line.partition("Playing: ")[-1]))
|
|
90
|
+
send("get_property media-title")
|
|
88
91
|
send("get_property length")
|
|
89
92
|
send("get_property time-pos")
|
|
90
93
|
send("get_property pause")
|
|
91
94
|
@is_stopped = false
|
|
95
|
+
elsif line.start_with?("ANS_media-title=")
|
|
96
|
+
signal_emit("title_changed", line.rpartition("=")[-1])
|
|
92
97
|
elsif line.start_with?("ANS_length=")
|
|
93
98
|
signal_emit("length_changed", (@length = line.rpartition("=")[-1].to_i))
|
|
94
99
|
elsif line.start_with?("ANS_pause=")
|
|
@@ -126,6 +131,7 @@ module Ampv
|
|
|
126
131
|
|
|
127
132
|
def signal_do_file_changed(file) end
|
|
128
133
|
def signal_do_length_changed(len) end
|
|
134
|
+
def signal_do_title_changed(title) end
|
|
129
135
|
def signal_do_playing_watched; end
|
|
130
136
|
def signal_do_time_pos_changed(pos) end
|
|
131
137
|
def signal_do_stopped
|
data/lib/ampv/playlist.rb
CHANGED
|
@@ -32,6 +32,7 @@ module Ampv
|
|
|
32
32
|
hide_on_delete if e.keyval == Gdk::Keyval::GDK_Escape
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
@titles = Hash.new
|
|
35
36
|
vbox = Gtk::VBox.new(false, 10)
|
|
36
37
|
sw = Gtk::ScrolledWindow.new
|
|
37
38
|
@model = Gtk::ListStore.new(String, String, Gdk::Pixbuf)
|
|
@@ -69,7 +70,11 @@ module Ampv
|
|
|
69
70
|
renderer.ellipsize = Pango::ELLIPSIZE_MIDDLE
|
|
70
71
|
column.expand = true
|
|
71
72
|
column.set_cell_data_func(renderer) { |t, c, m, j|
|
|
72
|
-
|
|
73
|
+
if @titles[j[0]]
|
|
74
|
+
c.text = @titles[j[0]]
|
|
75
|
+
else
|
|
76
|
+
c.text = File.basename(j[0])
|
|
77
|
+
end
|
|
73
78
|
}
|
|
74
79
|
end
|
|
75
80
|
|
|
@@ -161,6 +166,7 @@ module Ampv
|
|
|
161
166
|
end
|
|
162
167
|
|
|
163
168
|
def clear(quiet = false)
|
|
169
|
+
@titles.clear
|
|
164
170
|
@model.clear
|
|
165
171
|
signal_emit("playing_removed") unless quiet or @playing_iter.nil?
|
|
166
172
|
@playing_iter = nil
|
|
@@ -194,6 +200,11 @@ module Ampv
|
|
|
194
200
|
@playing_iter[1] = Time.at(length).utc.strftime("%H:%M:%S") if @playing_iter
|
|
195
201
|
end
|
|
196
202
|
|
|
203
|
+
def update_title(title)
|
|
204
|
+
return unless title
|
|
205
|
+
@titles[@playing_iter[0]] = title
|
|
206
|
+
end
|
|
207
|
+
|
|
197
208
|
private
|
|
198
209
|
def move_selected_up
|
|
199
210
|
@treeview.selection.selected_rows.each { |path|
|
|
@@ -223,6 +234,7 @@ module Ampv
|
|
|
223
234
|
@playing_iter = nil
|
|
224
235
|
signal_emit("playing_removed")
|
|
225
236
|
end
|
|
237
|
+
@titles.delete(iter[0])
|
|
226
238
|
@model.remove(iter)
|
|
227
239
|
}
|
|
228
240
|
end
|
data/lib/ampv/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ampv
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ahoka
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-04-
|
|
11
|
+
date: 2014-04-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gtk2
|
|
@@ -38,20 +38,6 @@ dependencies:
|
|
|
38
38
|
- - '>='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: ruby-fifo
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - '>='
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :runtime
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - '>='
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
41
|
description: A minimal GTK2 mpv frontend.
|
|
56
42
|
email:
|
|
57
43
|
executables:
|
|
@@ -61,11 +47,11 @@ extra_rdoc_files: []
|
|
|
61
47
|
files:
|
|
62
48
|
- LICENSE
|
|
63
49
|
- input.conf
|
|
64
|
-
- lib/ampv/
|
|
50
|
+
- lib/ampv/mpvwidget.rb
|
|
65
51
|
- lib/ampv/progressbarwidget.rb
|
|
66
52
|
- lib/ampv/config.rb
|
|
67
53
|
- lib/ampv/version.rb
|
|
68
|
-
- lib/ampv/
|
|
54
|
+
- lib/ampv/playlist.rb
|
|
69
55
|
- lib/ampv.rb
|
|
70
56
|
- bin/ampv
|
|
71
57
|
homepage: https://github.com/ahodesuka/ampv
|
|
@@ -89,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
89
75
|
requirements:
|
|
90
76
|
- mpv v0.3.x
|
|
91
77
|
rubyforge_project:
|
|
92
|
-
rubygems_version: 2.0.
|
|
78
|
+
rubygems_version: 2.0.14
|
|
93
79
|
signing_key:
|
|
94
80
|
specification_version: 4
|
|
95
81
|
summary: ampv
|