remote_vlc2019 0.1.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/remote_vlc2019.rb +66 -0
- metadata +90 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 93ff49964ea9454090f9bf365c0b38dbe0dac6b90a7ebb33933d356818f400f8
|
4
|
+
data.tar.gz: 74b3bd6dec59d002787df73a397c1a3b7c339f15694a5aa81cd3c771ca101a42
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 79365ae86d8833835c672fd27fd517292893dcd41574c8fb0d71300699577cf1498dc92129beb541b58a24a2a1a8deb9c69a32cbd38a207b40a1e4b9e520557e
|
7
|
+
data.tar.gz: 25bde35d2efcf487dcb39c67a8eba18d2163c3e29f7a96623b4ebf69ae04661bdec6526fdac3533e90b45bf780855a1228333c7c3c4a80c6b45f43bd5901e415
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
Binary file
|
@@ -0,0 +1,66 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# file: remote_vlc2019.rb
|
4
|
+
|
5
|
+
require 'rexle'
|
6
|
+
require 'open-uri'
|
7
|
+
|
8
|
+
MAX_VOL = 257
|
9
|
+
|
10
|
+
class RemoteVlc2019
|
11
|
+
|
12
|
+
attr_reader :info
|
13
|
+
|
14
|
+
def initialize(host: nil, port: '8080', password: 'password', verbose: false)
|
15
|
+
|
16
|
+
@host, @port, @password, verbose = host, port, password, verbose
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def now_playing() @info[:now_playing] end
|
21
|
+
def play() req 'pl_play' end
|
22
|
+
def playing?() state() == :playing end
|
23
|
+
def pause() req 'pl_pause' end
|
24
|
+
def state() status(); @state.to_sym end
|
25
|
+
def stop() req 'pl_stop' end
|
26
|
+
def vol() @vol end
|
27
|
+
def vol_down() setvol(offset: -50) end
|
28
|
+
def vol_up() setvol(offset: 50) end
|
29
|
+
def vol=(val) setvol val end
|
30
|
+
|
31
|
+
alias volume vol
|
32
|
+
alias volume= vol=
|
33
|
+
|
34
|
+
|
35
|
+
def req(command='')
|
36
|
+
|
37
|
+
url = "http://%s:%s/requests/status.xml?command=%s" \
|
38
|
+
% [@host, @port, command]
|
39
|
+
s = open(url + '', http_basic_authentication: ["", @password]).read
|
40
|
+
doc = Rexle.new(s)
|
41
|
+
@state = %w(state).map {|x| doc.root.text(x) }
|
42
|
+
@vol = doc.root.text('volume').to_i
|
43
|
+
|
44
|
+
@info = doc.root.xpath('information/category/info').map do |x|
|
45
|
+
[x.attributes[:name].downcase.to_sym, x.text]
|
46
|
+
end.to_h
|
47
|
+
|
48
|
+
@verbose ? s : command.to_sym
|
49
|
+
end
|
50
|
+
|
51
|
+
alias status req
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def setvol(raw_val)
|
56
|
+
|
57
|
+
offset = raw_val.is_a?(Hash) ? raw_val[:offset] : nil
|
58
|
+
val = offset ? @vol + offset : raw_val.to_i
|
59
|
+
val = MAX_VOL if val > MAX_VOL and offset
|
60
|
+
return status() unless val >= 0 and val <= MAX_VOL
|
61
|
+
req 'volume&val=' + val.to_s
|
62
|
+
vol()
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
metadata
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: remote_vlc2019
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- James Robertson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkwMjEwMjA0NDUyWhcN
|
15
|
+
MjAwMjEwMjA0NDUyWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDFUMrP
|
17
|
+
6ioTVR0H2HbRYSeWlXbbej65nKHK7XwUeyKOITnUTvO5Oo0wb8ByO5oTa/TOxkIN
|
18
|
+
PpKOtQcDt4dmaFEL70S5Ly1hx45jwWZ5OBiY+/oivylyBuC3s5UMKHeYVGl28dL7
|
19
|
+
SFs9RgQnBJrjpXNKQ51wr3BgiXSeQUb/iQYL0n8x2pEVNvrQMY3m651ZDjDpht0b
|
20
|
+
uDa0R/XkC1JSFStF+kwUaKsrCEuIuv2yG7QsZmBK3A+aGpwYaxY+bDM2p218kiqS
|
21
|
+
Y78S6B/ivrLWx4E5gpQ1tIX94XOP3RjI3Hd9sBlVFJf7iJsYCWy2RIb7BGhwzmN4
|
22
|
+
7Rly6UfRY9GR0HW3im11AscUGCz4FdxnUR6i1jekQSPayI3vR3tYvMcliOdYpZVn
|
23
|
+
10c+rZx8LWvESkhBQPic/n4UTY0C/4Mlm6AsEPuRMEsgOBrTWF7lLLXAnQPQd3d+
|
24
|
+
i9oAk1S9uT2Yk7/ZVUaz+eGlIk9G0gV8UxtiHmAOqPSge2h9l20GUD9MMjkCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUooPJ9bFR
|
26
|
+
uYEwEjnZyFcf6nZyY2QwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
|
+
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAUSzZkgnXOIvsHiRwwgZ98gDPzqQWemtI3B3F8QLY
|
29
|
+
Ju+1LMw6Pha9Xy38mqiLQGwR+iw6pSX3QeX+ZGkElNY0QJ2NvPbiMsFzYM9jRtb8
|
30
|
+
hjSPNGQzbmGRrx7G9rWDUTGlB35HXqmXGTnyxMIOTfNQktcHcf05+/EVlckKlEyS
|
31
|
+
9gX2qrF/vB9eirgG8U1eue4zFeMNy+fjxGZ2RzvHQQ+WnIwR+MkGLVaLx2T8clGj
|
32
|
+
5FY3PX5YZ8asfxqt8Yz+FHlHYrD4EPXVY3eR5V1DiWWckwWZB+sMfwOr+0UJ18DC
|
33
|
+
eMcV/B8dRQFsixK1+mqdtd24ClIUe9FznKhQ23B0DA2e45D3U2XeMrXidBl8J33x
|
34
|
+
bIDUbQ6w0bN2ovRqoVRjZ/u2xwSZh2ZrMYFHzLDCFepUqC+tQ30Ka4BBXiwlwmtV
|
35
|
+
wh1dUcUGFf9Ns3K5iUey5I6PHOZduluYA/jvZB9MRK4ssogOZ4qydDtC5HKeaQqW
|
36
|
+
Z+iFukz5NioE5TAGrxoHJPHJ
|
37
|
+
-----END CERTIFICATE-----
|
38
|
+
date: 2019-02-10 00:00:00.000000000 Z
|
39
|
+
dependencies:
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: rexle
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.5'
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 1.5.1
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '1.5'
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.5.1
|
60
|
+
description:
|
61
|
+
email: james@jamesrobertson.eu
|
62
|
+
executables: []
|
63
|
+
extensions: []
|
64
|
+
extra_rdoc_files: []
|
65
|
+
files:
|
66
|
+
- lib/remote_vlc2019.rb
|
67
|
+
homepage: https://github.com/jrobertson/remote_vlc2019
|
68
|
+
licenses:
|
69
|
+
- MIT
|
70
|
+
metadata: {}
|
71
|
+
post_install_message:
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
requirements: []
|
86
|
+
rubygems_version: 3.0.2
|
87
|
+
signing_key:
|
88
|
+
specification_version: 4
|
89
|
+
summary: Sends remote commands to VLC via HTTP.
|
90
|
+
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|