vlc-client 0.0.5 → 0.0.6
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/.travis.yml +5 -3
- data/README.md +29 -41
- data/lib/vlc-client.rb +16 -8
- data/lib/vlc-client/client/media_controls.rb +1 -1
- data/lib/vlc-client/client/playlist_controls.rb +3 -2
- data/lib/vlc-client/connection.rb +3 -3
- data/lib/vlc-client/errors.rb +6 -17
- data/lib/vlc-client/server.rb +17 -17
- data/lib/vlc-client/system.rb +3 -1
- data/lib/vlc-client/version.rb +1 -1
- data/spec/helper.rb +1 -1
- data/spec/vlc_client_spec.rb +11 -0
- data/vlc-client.gemspec +0 -3
- metadata +3 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b141e2f7f60baf5ac577461081fbaade9ff4c051
|
4
|
+
data.tar.gz: d7d66afcdf65b58fc266413eaa4a286e312ff846
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73fcaa9d7b0bf70fe306e30b31a1559d3ed298fbfbee48d5577dd1fcd1ef3b0fe19e192bc63635c640132ce226417856d50fa984ad630a06234e4d70dc4757ce
|
7
|
+
data.tar.gz: 92c826484688bd0265ff2eaecf7f34c0c72f921fc0653a7ce34630b30b622314c08e4b3ddf49ed23252b6f516b9b625a9672b1d4939cd05e7e65bd089ddfd2e9
|
data/.travis.yml
CHANGED
@@ -1,15 +1,17 @@
|
|
1
1
|
language: ruby
|
2
|
+
before_install:
|
3
|
+
- gem install bundler -v 1.10
|
2
4
|
script: bundle exec rake --verbose --trace
|
3
5
|
bundler_args: --without development
|
4
6
|
matrix:
|
5
7
|
allow_failures:
|
6
8
|
- rvm: ruby-head
|
7
9
|
rvm:
|
8
|
-
- jruby
|
9
|
-
-
|
10
|
-
- 1.9.2
|
10
|
+
- jruby
|
11
|
+
- rbx-2
|
11
12
|
- 1.9.3
|
12
13
|
- 2.0.0
|
13
14
|
- 2.1.0
|
15
|
+
- 2.2.0
|
14
16
|
- ruby-head
|
15
17
|
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
vlc-client manages a [VLC media player](http://www.videolan.org/vlc/) instance through it's RC interface.
|
4
4
|
|
5
|
-
|
5
|
+
### Installation
|
6
6
|
|
7
7
|
Add this line to your application's Gemfile:
|
8
8
|
|
@@ -16,22 +16,18 @@ Or install it yourself as:
|
|
16
16
|
|
17
17
|
$ gem install vlc-client
|
18
18
|
|
19
|
-
|
19
|
+
### Usage
|
20
20
|
|
21
|
-
|
21
|
+
##### Create a client and connect to a running VLC media player instance.
|
22
22
|
|
23
23
|
```ruby
|
24
24
|
|
25
|
-
#Expects a VLC media player running on 192.168.1.10:9999
|
26
|
-
#e.g. vlc --extraintf rc --rc-host 192.168.1.10:9999
|
25
|
+
vlc = VLC::Client.new('192.168.1.10', 9999) #Expects a VLC media player running on `192.168.1.10:9999`, e.g. `vlc --extraintf rc --rc-host 192.168.1.10:9999`
|
27
26
|
|
28
|
-
vlc
|
29
|
-
# => "#<VLC::Client:0x0000000229c370 @server=#<VLC::Server:0x0000000229c6e0 @headless=false, @port=9999, @host=\"192.168.1.10\", @pid=10514>, @self_managed=true, @connection=#<VLC::Connection:0x0000000229c258 @port=9999, @host=\"192.168.1.10\", @socket=#<TCPSocket:fd 5>>>"
|
30
|
-
|
31
|
-
vlc.connect
|
27
|
+
vlc.connect # connect to server
|
32
28
|
# => true
|
33
29
|
|
34
|
-
vlc.play('http://example.org/media.mp3') #play media
|
30
|
+
vlc.play('http://example.org/media.mp3') # play media
|
35
31
|
# => true
|
36
32
|
|
37
33
|
vlc.playing?
|
@@ -43,16 +39,15 @@ vlc.fullscreen
|
|
43
39
|
|
44
40
|
```
|
45
41
|
|
46
|
-
|
42
|
+
##### Create a self managed client/server system.
|
47
43
|
Most of the time we want a local client/server VLC media player system
|
48
44
|
|
49
45
|
|
50
46
|
```ruby
|
51
47
|
|
52
|
-
vlc = VLC::System.new #A
|
53
|
-
# => "#<VLC::System:0x00000001bbb1a0 @client=#<VLC::Client:0x00000001bbade0 @server=#<VLC::Server:0x00000001bbb178 @headless=false, @port=9595, @host=\"localhost\", @pid=11225>, @connection=#<VLC::Connection:0x00000001bbacc8 @port=9595, @host=\"localhost\", @socket=#<TCPSocket:fd 5>>>>"
|
48
|
+
vlc = VLC::System.new # A client/server system over a local managed VLC instance
|
54
49
|
|
55
|
-
vlc.connected? #
|
50
|
+
vlc.connected? # auto connect
|
56
51
|
# => true
|
57
52
|
|
58
53
|
vlc.play('http://example.org/media.mp3')
|
@@ -62,60 +57,53 @@ vlc.progress
|
|
62
57
|
# => 1 #%
|
63
58
|
#...
|
64
59
|
|
65
|
-
#Technically this is the same as
|
60
|
+
# Technically this is the same as
|
66
61
|
vlc = VLC::Client.new(VLC::Server.new('localhost', 9595, false))
|
67
|
-
# => "#<VLC::Client:0x000000011de128 @server=#<VLC::Server:0x000000011de380 @headless=false, @port=9595, @host=\"localhost\", @pid=12656>, @connection=#<VLC::Connection:0x000000011de038 @port=9595, @host=\"localhost\", @socket=#<TCPSocket:fd 5>>>"
|
68
62
|
```
|
69
63
|
|
70
|
-
|
64
|
+
# Playlist management
|
71
65
|
|
72
66
|
```ruby
|
73
67
|
|
74
|
-
vlc = VLC::System.new
|
75
|
-
# => "#<VLC::System:0x00000001695f68 @client=#<VLC::Client:0x0000000169d718 @server=#<VLC::Server:0x00000001695ec8 @headless=false, @port=9999, @host=\"127.0.0.1\", @pid=VLC::NullObject>, @connection=#<VLC::Connection:0x0000000169d588 @port=9999, @host=\"127.0.0.1\", @socket=VLC::NullObject>>>"
|
68
|
+
vlc = VLC::System.new
|
76
69
|
|
77
|
-
vlc.
|
78
|
-
|
70
|
+
vlc.add_to_playlist('track1.mp3')
|
71
|
+
vlc.add_to_playlist('track2.mp3')
|
79
72
|
|
80
|
-
vlc.
|
81
|
-
|
73
|
+
vlc.play
|
74
|
+
|
75
|
+
vlc.playlist
|
76
|
+
#=> [{:number=>1, :title=>"Track #1 title", :length=>"00:03:10", :times_played=>1}, {:number=>2, :title=>"Track #2 title", :length=>"00:03:30", :times_played=>0}]
|
82
77
|
|
83
|
-
vlc.connect
|
84
|
-
# => true
|
85
78
|
```
|
86
79
|
|
87
|
-
|
80
|
+
### Reference
|
88
81
|
|
89
82
|
[reference](http://rdoc.info/github/mguinada/vlc-client)
|
90
83
|
|
91
|
-
|
84
|
+
### Notice
|
92
85
|
|
93
86
|
vlc-client has been tested on linux but it should work on any VLC installation as long as the command line is responsive for `vlc` and `cvlc` calls. On Mac OS X these are not available by default. They can be created with:
|
94
87
|
|
95
|
-
```
|
88
|
+
```bash
|
96
89
|
echo "alias vlc='/Applications/VLC.app/Contents/MacOS/VLC'" >> ~/.bash_profile
|
97
90
|
echo "alias cvlc='/Applications/VLC.app/Contents/MacOS/VLC'" >> ~/.bash_profile
|
98
91
|
```
|
99
92
|
|
100
|
-
|
101
|
-
[Please use VLC 2.0.4 or later](http://www.videolan.org/). The last tested version is VLC media player 2.1.2 Rincewind
|
102
|
-
|
103
|
-
## Contributing
|
93
|
+
### Contributing
|
104
94
|
|
105
95
|
1. Fork it
|
106
96
|
2. Create your topic branch (`git checkout -b my-topic-branch`)
|
107
97
|
3. Add/change specs for your unimplemented feature or bug fix
|
108
|
-
4.
|
109
|
-
5.
|
110
|
-
6.
|
111
|
-
7.
|
112
|
-
8.
|
113
|
-
9. Submit a pull request for your branch.
|
98
|
+
4. Hack it
|
99
|
+
5. Make sure specs pass (`bundle exec rake spec`)
|
100
|
+
6. Edit the documentation so it is coherent with your feature or fix. Run `bundle exec rake yard` to review
|
101
|
+
7. Commit changes (`git commit -am 'Add some feature/fix'`) and push to the branch (`git push origin my-topic-branch`)
|
102
|
+
8. Submit a pull request
|
114
103
|
|
115
|
-
|
104
|
+
### Copyright
|
116
105
|
|
117
106
|
Copyright (c) 2012 Miguel Guinada
|
118
107
|
[LICENSE][] for details.
|
119
108
|
|
120
|
-
[license]: https://github.com/mguinada/vlc-client/blob/master/LICENSE
|
121
|
-
[](http://githalytics.com/mguinada/vlc-client)
|
109
|
+
[license]: https://github.com/mguinada/vlc-client/blob/master/LICENSE
|
data/lib/vlc-client.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'retryable'
|
2
|
-
|
3
1
|
require 'vlc-client/null_object'
|
4
2
|
require 'vlc-client/core_ext/array'
|
5
3
|
|
@@ -72,16 +70,25 @@ module VLC
|
|
72
70
|
bind_server(server, options) unless server.nil?
|
73
71
|
end
|
74
72
|
|
75
|
-
|
73
|
+
private
|
74
|
+
|
76
75
|
def bind_server(server, options = {})
|
77
76
|
@connection.host = server.host
|
78
77
|
@connection.port = server.port
|
79
78
|
|
80
79
|
if options.fetch(:auto_start, true)
|
80
|
+
connection_calls = 0
|
81
|
+
connection_retries = options.fetch(:conn_retries, 5)
|
82
|
+
options.fetch(:daemonize, false) ? @server.daemonize : @server.start
|
83
|
+
|
81
84
|
begin
|
82
|
-
|
83
|
-
retryable(:tries => options.fetch(:conn_retries, 5), :on => VLC::ConnectionRefused) { connect }
|
85
|
+
connect
|
84
86
|
rescue VLC::ConnectionRefused => e
|
87
|
+
if (connection_calls += 1) < connection_retries
|
88
|
+
sleep(0.5)
|
89
|
+
retry
|
90
|
+
end
|
91
|
+
|
85
92
|
@server.stop
|
86
93
|
raise e
|
87
94
|
end
|
@@ -96,19 +103,20 @@ module VLC
|
|
96
103
|
@host = args.first.to_s
|
97
104
|
@port = Integer(args.last)
|
98
105
|
else
|
99
|
-
@host
|
106
|
+
@host = 'localhost'
|
107
|
+
@port = 9595
|
100
108
|
end
|
101
109
|
args
|
102
110
|
end
|
103
111
|
|
104
|
-
def
|
112
|
+
def media(media)
|
105
113
|
case media
|
106
114
|
when File
|
107
115
|
media.path
|
108
116
|
when String, URI
|
109
117
|
media
|
110
118
|
else
|
111
|
-
raise ArgumentError, "Can not play
|
119
|
+
raise ArgumentError, "Can not play #{media}"
|
112
120
|
end
|
113
121
|
end
|
114
122
|
end
|
@@ -17,7 +17,7 @@ module VLC
|
|
17
17
|
# @param media [String, File, URI] the media to be played
|
18
18
|
#
|
19
19
|
def add_to_playlist(media)
|
20
|
-
connection.write("enqueue #{
|
20
|
+
connection.write("enqueue #{media(media)}")
|
21
21
|
end
|
22
22
|
|
23
23
|
# Lists tracks on the playlist
|
@@ -47,7 +47,8 @@ module VLC
|
|
47
47
|
connection.write("clear")
|
48
48
|
end
|
49
49
|
|
50
|
-
|
50
|
+
private
|
51
|
+
|
51
52
|
def parse_playlist(list)
|
52
53
|
list.map do |item|
|
53
54
|
match = item.match(LIST_ITEM_REGEXP)
|
@@ -19,8 +19,7 @@ module VLC
|
|
19
19
|
# Connects to VLC RC interface on Client#host and Client#port
|
20
20
|
def connect
|
21
21
|
@socket = TCPSocket.new(@host, @port)
|
22
|
-
#Channel cleanup: some vlc versions echo two lines of text on connect.
|
23
|
-
2.times { read(0.1) rescue nil }
|
22
|
+
2.times { read(0.1) rescue nil } #Channel cleanup: some vlc versions echo two lines of text on connect.
|
24
23
|
true
|
25
24
|
rescue Errno::ECONNREFUSED => e
|
26
25
|
raise VLC::ConnectionRefused, "Could not connect to #{@host}:#{@port}: #{e}"
|
@@ -31,7 +30,7 @@ module VLC
|
|
31
30
|
# @return [Boolean] true is connected, false otherwise
|
32
31
|
#
|
33
32
|
def connected?
|
34
|
-
not
|
33
|
+
not @socket.nil?
|
35
34
|
end
|
36
35
|
|
37
36
|
# Disconnects from VLC RC interface
|
@@ -52,6 +51,7 @@ module VLC
|
|
52
51
|
#
|
53
52
|
def write(data, fire_and_forget = true)
|
54
53
|
raise NotConnectedError, "no connection to server" unless connected?
|
54
|
+
|
55
55
|
@socket.puts(data)
|
56
56
|
@socket.flush
|
57
57
|
|
data/lib/vlc-client/errors.rb
CHANGED
@@ -1,19 +1,8 @@
|
|
1
1
|
module VLC
|
2
|
-
# Root error class
|
3
|
-
|
4
|
-
|
5
|
-
# Raised on connection
|
6
|
-
|
7
|
-
|
8
|
-
# Raised on communication errors
|
9
|
-
class ProtocolError < Error; end
|
10
|
-
|
11
|
-
# Raised on a write to a broken connection
|
12
|
-
class BrokenConnectionError < Error; end
|
13
|
-
|
14
|
-
# Raised on a write to a disconnected connection
|
15
|
-
class NotConnectedError < Error; end
|
16
|
-
|
17
|
-
# Raised on a read timeout
|
18
|
-
class ReadTimeoutError < Error; end
|
2
|
+
Error = Class.new(StandardError) # Root error class
|
3
|
+
ConnectionRefused = Class.new(Error) # Raised on connection refusal
|
4
|
+
NotConnectedError = Class.new(Error) # Raised on a write to a disconnected connection
|
5
|
+
BrokenConnectionError = Class.new(Error) # Raised on a write to a broken connection
|
6
|
+
ProtocolError = Class.new(Error) # Raised on communication errors
|
7
|
+
ReadTimeoutError = Class.new(Error) # Raised on a read timeout
|
19
8
|
end
|
data/lib/vlc-client/server.rb
CHANGED
@@ -23,7 +23,7 @@ module VLC
|
|
23
23
|
# @return [Boolean] true is VLC is running, false otherwise
|
24
24
|
#
|
25
25
|
def running?
|
26
|
-
not
|
26
|
+
not @pid.nil?
|
27
27
|
end
|
28
28
|
|
29
29
|
alias :started? :running?
|
@@ -33,7 +33,7 @@ module VLC
|
|
33
33
|
# @return [Boolean] true is VLC is stopped, false otherwise
|
34
34
|
#
|
35
35
|
def stopped?
|
36
|
-
not
|
36
|
+
not running?
|
37
37
|
end
|
38
38
|
|
39
39
|
# Starts a VLC instance in a subprocess
|
@@ -47,18 +47,14 @@ module VLC
|
|
47
47
|
#
|
48
48
|
def start(detached = false)
|
49
49
|
return @pid if running?
|
50
|
+
|
50
51
|
detached ? @deamon = true : setup_traps
|
51
52
|
|
52
|
-
@pid =
|
53
|
-
process_spawn(detached)
|
54
|
-
else
|
55
|
-
process_spawn_ruby_1_8(detached)
|
56
|
-
end
|
53
|
+
@pid = RUBY_VERSION >= '1.9' ? process_spawn(detached) : process_spawn_ruby_1_8(detached)
|
57
54
|
end
|
58
55
|
|
59
56
|
# Start a VLC instance as a system deamon
|
60
57
|
#
|
61
|
-
#
|
62
58
|
# @return [Integer] the subprocess PID or nil if the start command
|
63
59
|
# as no effect (e.g. VLC already running)
|
64
60
|
# @see Server#start
|
@@ -83,22 +79,25 @@ module VLC
|
|
83
79
|
def stop
|
84
80
|
return nil if stopped?
|
85
81
|
|
86
|
-
Process.kill('
|
82
|
+
Process.kill('SIGTERM', pid = @pid)
|
87
83
|
@pid = NullObject.new
|
88
84
|
@deamon = false
|
85
|
+
|
89
86
|
pid
|
90
87
|
end
|
91
88
|
|
92
|
-
|
89
|
+
private
|
90
|
+
|
93
91
|
def process_spawn(detached)
|
94
|
-
|
92
|
+
case
|
93
|
+
when ENV['OS'] == 'Windows_NT'
|
95
94
|
# We don't have pgroup, and should write to NUL in case the env doesn't simulate /dev/null
|
96
95
|
Process.spawn(headless? ? 'cvlc' : 'vlc',
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
96
|
+
'--extraintf', 'rc', '--rc-host', "#{@host}:#{@port}",
|
97
|
+
:in => 'NUL',
|
98
|
+
:out => 'NUL',
|
99
|
+
:err => 'NUL')
|
100
|
+
when /darwin/ =~ RUBY_PLATFORM
|
102
101
|
Process.spawn('/Applications/VLC.app/Contents/MacOS/VLC',
|
103
102
|
'--extraintf', 'rc', '--rc-host', "#{@host}:#{@port}",
|
104
103
|
:pgroup => detached,
|
@@ -118,6 +117,7 @@ module VLC
|
|
118
117
|
# For ruby 1.8
|
119
118
|
def process_spawn_ruby_1_8(detached)
|
120
119
|
rd, wr = IO.pipe
|
120
|
+
|
121
121
|
if Process.fork #parent
|
122
122
|
wr.close
|
123
123
|
pid = rd.read.to_i
|
@@ -158,7 +158,7 @@ module VLC
|
|
158
158
|
end
|
159
159
|
|
160
160
|
def detach
|
161
|
-
|
161
|
+
if RUBY_VERSION < "1.9"
|
162
162
|
Process.setsid
|
163
163
|
exit if Process.fork
|
164
164
|
Dir.chdir "/"
|
data/lib/vlc-client/system.rb
CHANGED
@@ -38,6 +38,7 @@ module VLC
|
|
38
38
|
server.host = args.first.to_s
|
39
39
|
server.port = Integer(args.last)
|
40
40
|
end
|
41
|
+
|
41
42
|
@client = VLC::Client.new(server, opts)
|
42
43
|
end
|
43
44
|
|
@@ -49,7 +50,8 @@ module VLC
|
|
49
50
|
client.respond_to?(method, private_methods) || super(method, private_methods)
|
50
51
|
end
|
51
52
|
|
52
|
-
|
53
|
+
protected
|
54
|
+
|
53
55
|
# Delegate to VLC::Client
|
54
56
|
#
|
55
57
|
def method_missing(method, *args, &block)
|
data/lib/vlc-client/version.rb
CHANGED
data/spec/helper.rb
CHANGED
@@ -44,7 +44,7 @@ module Mocks
|
|
44
44
|
Process.should_receive(:spawn).once.and_return(99)
|
45
45
|
end
|
46
46
|
|
47
|
-
Process.should_receive(:kill).once.with('
|
47
|
+
Process.should_receive(:kill).once.with('SIGTERM', 99) if opts.fetch(:kill, true)
|
48
48
|
end
|
49
49
|
|
50
50
|
def mock_file(filename)
|
data/spec/vlc_client_spec.rb
CHANGED
@@ -34,6 +34,17 @@ describe VLC::Client do
|
|
34
34
|
vlc = VLC::Client.new(VLC::Server.new('10.0.0.1', 9999), :read_timeout => 3)
|
35
35
|
vlc.connection.read_timeout.should eq(3)
|
36
36
|
end
|
37
|
+
|
38
|
+
it 'retries to connect on autoconnect failure' do
|
39
|
+
mock_system_calls(:kill => true)
|
40
|
+
num_retries = 3
|
41
|
+
|
42
|
+
TCPSocket.should_receive(:new).exactly(num_retries).times.and_raise(Errno::ECONNREFUSED)
|
43
|
+
|
44
|
+
expect {
|
45
|
+
VLC::Client.new(VLC::Server.new('10.0.0.1', 9898), :conn_retries => num_retries)
|
46
|
+
}.to raise_error(VLC::ConnectionRefused)
|
47
|
+
end
|
37
48
|
end
|
38
49
|
|
39
50
|
it 'may manage an embedded VLC server' do
|
data/vlc-client.gemspec
CHANGED
@@ -7,7 +7,6 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.description = %q{vlc-client allows to control VLC media player over TCP}
|
8
8
|
gem.summary = %q{vlc-client is a TCP client for VLC media player}
|
9
9
|
gem.homepage = "https://github.com/mguinada/vlc-client"
|
10
|
-
|
11
10
|
gem.files = `git ls-files`.split($\)
|
12
11
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
12
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
@@ -15,6 +14,4 @@ Gem::Specification.new do |gem|
|
|
15
14
|
gem.require_paths = ["lib"]
|
16
15
|
gem.version = VLC::VERSION
|
17
16
|
gem.date = Time.now.utc.strftime("%Y-%m-%d")
|
18
|
-
|
19
|
-
gem.add_dependency 'retryable', '~> 1.3'
|
20
17
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vlc-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Guinada
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: retryable
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.3'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.3'
|
11
|
+
date: 2016-08-03 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
27
13
|
description: vlc-client allows to control VLC media player over TCP
|
28
14
|
email:
|
29
15
|
- mguinada@gmail.com
|
@@ -94,4 +80,3 @@ test_files:
|
|
94
80
|
- spec/vlc-client/connection_spec.rb
|
95
81
|
- spec/vlc-client/server_spec.rb
|
96
82
|
- spec/vlc_client_spec.rb
|
97
|
-
has_rdoc:
|