diff options
author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2009-07-23 22:45:34 -0700 |
---|---|---|
committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2009-07-23 22:45:34 -0700 |
commit | 173d9a183996e31f0ae9633d3b8ddbbc83971693 (patch) | |
tree | f8619cadc68212eaefb689f228f3973006d93fc7 /libmpd | |
parent | 518fd933403911ed23658c31e945cf88f44d462f (diff) | |
download | ruby-libmpd-173d9a183996e31f0ae9633d3b8ddbbc83971693.tar.gz ruby-libmpd-173d9a183996e31f0ae9633d3b8ddbbc83971693.tar.xz |
Playback control methods moved to a new file.
Diffstat (limited to 'libmpd')
-rw-r--r-- | libmpd/playbackcontrol.rb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/libmpd/playbackcontrol.rb b/libmpd/playbackcontrol.rb new file mode 100644 index 0000000..d37ed49 --- /dev/null +++ b/libmpd/playbackcontrol.rb @@ -0,0 +1,79 @@ +#!/usr/bin/env ruby +# +# Copyright 2009 David Vazgenovich Shakaryan <dvshakaryan@gmail.com> +# Distributed under the terms of the GNU General Public License v3. +# See http://www.gnu.org/licenses/gpl.txt for the full license text. + +module MPDPlaybackControl + # Begins playing the playlist. If argument is supplied, begin at specified + # song position. + def play songpos=false + command = 'play' + command << ' ' + songpos.to_s if songpos + + return send_request command + end + + # Begins playing the playlist. If argument is supplied, begin at specified + # song id. + def playid songid=false + command = 'playid' + command << ' ' + songid.to_s if songid + + return send_request command + end + + # Sets pause state. + # + # Accepts an argument of _true_ to enable or _false_ to disable. + # If no argument is given, defaults to _true_. + def pause state=true + return send_request 'pause %s' % state.to_i + end + + # Stops playing. + def stop + return send_request 'stop' + end + + # Plays next song in the playlist. + def next + return send_request 'next' + end + + # Plays previous song in the playlist. + def previous + return send_request 'previous' + end + + # Seeks to the given position of the given song. + def seek songpos, time + return send_request 'seek %s %s' % [songpos, time] + end + + # Seeks to the given position of the given song id. + def seekid songid, time + return send_request 'seekid %s %s' % [songid, time] + end + + # Returns +true+ if playing. + # Otherwise, returns +false+. + def playing? + return true if status[:state] == 'play' + return false + end + + # Returns +true+ if paused. + # Otherwise, returns +false+. + def paused? + return true if status[:state] == 'pause' + return false + end + + # Returns +true+ if stopped. + # Otherwise, returns +false+. + def stopped? + return true if status[:state] == 'stop' + return false + end +end |