vlc-client manages a VLC media player instance through its RC interface.
Installation
Add this line to your application's Gemfile:
gem 'vlc-client'
And then execute:
$ bundle
Or install it yourself as:
$ gem install vlc-client
Usage
Create a client and connect to a running VLC media player instance.
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`
vlc.connect # connect to server
# => true
vlc.play('http://example.org/media.mp3') # play media
# => true
vlc.playing?
# => true
vlc.fullscreen
# => true
#...
Create a self managed client/server system.
If you need a local client/server VLC media player system
vlc = VLC::System.new # A client/server system over a local managed VLC instance
vlc.connected? # auto connect
# => true
vlc.play('http://example.org/media.mp3')
# => true
vlc.progress
# => 1 #%
#...
# Technically this is the same as
vlc = VLC::Client.new(VLC::Server.new('localhost', 9595, false))
Playlist management
vlc = VLC::System.new
vlc.add_to_playlist('track1.mp3')
vlc.add_to_playlist('track2.mp3')
vlc.play
vlc.playlist
#=> [{: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}]
Reference
Notice
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:
echo "alias vlc='/Applications/VLC.app/Contents/MacOS/VLC'" >> ~/.bash_profile
echo "alias cvlc='/Applications/VLC.app/Contents/MacOS/VLC'" >> ~/.bash_profile
Contributing
- Fork it
- Create your topic branch (
git checkout -b my-topic-branch
) - Add/change specs for your unimplemented feature or bug fix
- Hack it
- Make sure specs pass (
bundle exec rake spec
) - Edit the documentation in coherence with your feature or fixes. Run
bundle exec rake yard
to review - Commit changes (
git commit -am 'Add some feature/fix'
) and push to the branch (git push origin my-topic-branch
) - Submit a pull request
Copyright
Copyright (c) 2012 Miguel Guinada LICENSE for details.