README.md in vlcraptor-0.2.0 vs README.md in vlcraptor-0.3.0

- old
+ new

@@ -1,35 +1,72 @@ # Vlcraptor -Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/vlcraptor`. To experiment with that code, run `bin/console` for an interactive prompt. +This is a queueing daemon for VLC - kind of like `mpd` but nowhere near as flexible or useful. -TODO: Delete this and the text above, and describe your gem +The player daemon starts two instances of VLC and then uses those to play any tracks placed in the queue. -## Installation +Why two VLC instances? VLC doesn't support cross fading between tracks so this crossfades by starting the +other VLC instance playing the next track and adjusting volume between both. -Add this line to your application's Gemfile: +At the moment, only mac os is supported - minor changes would be required to allow this to work on linux. -```ruby -gem 'vlcraptor' -``` +## Installation -And then execute: +You need to install VLC in the default location for mac os (`/Applications/VLC.app`). - $ bundle install +`brew install ffmpeg` is required by the `queue` command for extracting tags to place in the queue. -Or install it yourself as: +`brew install terminal-notifier` is optional depending if you want terminal notifications when new tracks start. - $ gem install vlcraptor +This gem can be installed with `gem install vlcraptor`. ## Usage -TODO: Write usage instructions here +Running `vlcraptor` without any parameters will list the available subcommands. +### Player + +Run `vlcraptor player` in a shell session. + +This is the player daemon that controls two instances +of VLC and is an ncurses application which will take over the display in that terminal. + +You can quit with 'q', pause with ' ', stop with 's', play (resume) with 'p' and skip with 'n'. + +### Adding tracks to the queue + +`vlcraptor queue folder_containing_audio_files audio_file.mp3` will place any number of audio files in the +queue and the player should immediately start playing the first track. + +### Listing queue contents + +`vlcraptor list` will list currently queued tracks with an estimated start time if the player is currently +running and playing a track. + +### Media controls + +`vlcraptor pause` will pause, `vlcraptor stop` will stop and `vlcraptor play` will resume. + +`vlcraptor skip` will fade out the current track and start the next one (unless the queue is empty). + +### Optional features + +A number of features can be turned on/off while the player is running that will determine certain behaviour: + +`vlcraptor autoplay off` will cause the player to stop and politely wait after the current track has finished. +`vlcraptor autoplay on` and tracks will start playing again. + +`vlcraptor crossfade off` will turn off crossfading so new tracks will start once the previous one is +completely finished. + +`vlcraptor scrobble on` will turn on last.fm scrobbling - you will require your own application api key +and secret to enable this. + ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing -Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/vlcraptor. +Bug reports and pull requests are welcome on GitHub at https://github.com/markryall/vlcraptor.