
Product
Introducing Pull Request Stories to Help Security Teams Track Supply Chain Risks
Socket’s new Pull Request Stories give security teams clear visibility into dependency risks and outcomes across scanned pull requests.
Yet another Music Player Daemon (MPD) client library written entirely in Ruby.
mpd_client
is a Ruby port of the python-mpd library.
Add this line to your application Gemfile
:
gem 'mpd_client'
And then execute:
bundle
Or install it yourself as:
gem install mpd_client
All functionality is contained in the MPD::Client
class. Creating an instance of this class is as simple as:
require 'mpd_client'
client = MPD::Client.new
Once you have an instance of the MPD::Client
class, start by connecting to the server:
client.connect('localhost', 6600)
or Unix domain socket
client.connect('/var/run/mpd/socket')
The client library can be used as follows:
puts client.mpd_version # print the mpd version
puts client.search('title', 'ruby') # print the result of the command 'search title ruby'
client.close # send the close command
client.disconect # disconnect from the server
Command lists are also supported using command_list_ok_begin
and command_list_end
:
client.command_list_ok_begin # start a command list
client.update # insert the update command into the list
client.status # insert the status command into the list
client.command_list_end # result will be a Array with the results
Some commands can return binary data.
require 'mpd_client'
client = MPD::Client.new
client.connect('localhost', 6600)
if (current_song = client.currentsong)
data, io = client.readpicture(current_song['file'])
io # StringIO
data # => {"size"=>"322860", "type"=>"image/jpeg", "binary"=>"3372"}
File.write('cover.jpg', io.string)
end
The above will locate album art for the current song and save image to cover.jpg
file.
Some commands(e.g. move
, delete
, load
, shuffle
, playlistinfo
) support integer ranges([START:END]
) as argument. This is done in mpd_client
by using two element array:
# move the first three songs after the fifth number in the playlist
client.move([0, 3], 5)
Second element can be omitted. MPD will assumes the biggest possible number then:
# delete all songs from the current playlist, except for the firts ten
client.delete([10,])
Default logger for all MPD::Client instances:
require 'logger'
require 'mpd_client'
MPD::Client.log = Logger.new($stderr)
client = MPD::Client.new
Sets the logger used by this instance of MPD::Client:
require 'logger'
require 'mpd_client'
client = MPD::Client.new
client.log = Logger.new($stderr)
For more information about logging configuration, see Logger
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
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 tags, and push the .gem
file to rubygems.org.
git checkout -b my-new-feature
)git commit -am 'Added some feature'
)git push origin my-new-feature
)Copyright (c) 2012-2022 by Anton Maminov
This library is distributed under the MIT license. Please see the LICENSE file.
FAQs
Unknown package
We found that o-mpd_client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket’s new Pull Request Stories give security teams clear visibility into dependency risks and outcomes across scanned pull requests.
Research
/Security News
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.