diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2009-07-23 22:17:49 -0700 | 
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2009-07-23 22:17:49 -0700 | 
| commit | a421c6c2baea85c0632ca5f2a3f8dc06c2833254 (patch) | |
| tree | 4bca4b92321171b08509fb39ee0594f81d9bb22c | |
| parent | 5fb83d8dd3f2e8be091194f3c34eab62df04da33 (diff) | |
| download | ruby-libmpd-a421c6c2baea85c0632ca5f2a3f8dc06c2833254.tar.gz ruby-libmpd-a421c6c2baea85c0632ca5f2a3f8dc06c2833254.tar.xz | |
Separate playback options into a new file.
| -rw-r--r-- | libmpd.rb | 76 | ||||
| -rw-r--r-- | libmpd/playbackoptions.rb | 80 | 
2 files changed, 83 insertions, 73 deletions
| @@ -5,6 +5,7 @@  # See http://www.gnu.org/licenses/gpl.txt for the full license text.  require 'socket' +require 'libmpd/playbackoptions'  class TrueClass # :nodoc:    def to_i @@ -19,6 +20,8 @@ class FalseClass # :nodoc:  end  class MPD +  include MPDPlaybackOptions +    # Initialise an MPD object with the specified host and port.    #    # The default host is "localhost" and the default port is 6600. @@ -171,51 +174,6 @@ class MPD      return split_and_hash send_request 'search %s "%s"' % [type, what]    end -  # Sets consume state. -  # When consume is activated, each song played is removed from the playlist. -  # -  # Accepts an argument of _true_ to enable or _false_ to disable. -  # If no argument is given, defaults to _true_. -  def consume state=true -    return send_request 'consume %s' % state.to_i -  end - -  # Sets crossfading between songs. -  def crossfade seconds -    return send_request 'crossfade ' + seconds.to_s -  end - -  # Sets random state. -  # -  # Accepts an argument of _true_ to enable or _false_ to disable. -  # If no argument is given, defaults to _true_. -  def random state=true -    return send_request 'random %s' % state.to_i -  end - -  # Sets repeat state. -  # -  # Accepts an argument of _true_ to enable or _false_ to disable. -  # If no argument is given, defaults to _true_. -  def repeat state=true -    return send_request 'repeat %s' % state.to_i -  end - -  # Sets volume from a range of 0-100. -  def setvol volume -    return send_request 'setvol ' + volume.to_s -  end - -  # Sets single state. -  # When single is activated, playback is stopped after the current song. If -  # repeat is also activated, the current song is repeated. -  # -  # Accepts an argument of _true_ to enable or _false_ to disable. -  # If no argument is given, defaults to _true_. -  def single state=true -    return send_request 'single %s' % state.to_i -  end -    # Returns +true+ if playing.    # Otherwise, returns +false+.    def playing? @@ -237,34 +195,6 @@ class MPD      return false    end -  # Returns +true+ if consume is activated. -  # Otherwise, returns +false+. -  def consume? -    return true if status[:consume] == '1' -    return false -  end - -  # Returns +true+ if random is activated. -  # Otherwise, returns +false+. -  def random? -    return true if status[:random] == '1' -    return false -  end - -  # Returns +true+ if repeat is activated. -  # Otherwise, returns +false+. -  def repeat? -    return true if status[:repeat] == '1' -    return false -  end - -  # Returns +true+ if single is activated. -  # Otherwise, returns +false+. -  def single? -    return true if status[:single] == '1' -    return false -  end -    private :generate_hash    private :get_response    private :split_and_hash diff --git a/libmpd/playbackoptions.rb b/libmpd/playbackoptions.rb new file mode 100644 index 0000000..ead7fab --- /dev/null +++ b/libmpd/playbackoptions.rb @@ -0,0 +1,80 @@ +#!/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 MPDPlaybackOptions +  # Sets consume state. +  # When consume is activated, each song played is removed from the playlist. +  # +  # Accepts an argument of _true_ to enable or _false_ to disable. +  # If no argument is given, defaults to _true_. +  def consume state=true +    return send_request 'consume %s' % state.to_i +  end + +  # Sets crossfading between songs. +  def crossfade seconds +    return send_request 'crossfade ' + seconds.to_s +  end + +  # Sets random state. +  # +  # Accepts an argument of _true_ to enable or _false_ to disable. +  # If no argument is given, defaults to _true_. +  def random state=true +    return send_request 'random %s' % state.to_i +  end + +  # Sets repeat state. +  # +  # Accepts an argument of _true_ to enable or _false_ to disable. +  # If no argument is given, defaults to _true_. +  def repeat state=true +    return send_request 'repeat %s' % state.to_i +  end + +  # Sets volume from a range of 0-100. +  def setvol volume +    return send_request 'setvol ' + volume.to_s +  end + +  # Sets single state. +  # When single is activated, playback is stopped after the current song. If +  # repeat is also activated, the current song is repeated. +  # +  # Accepts an argument of _true_ to enable or _false_ to disable. +  # If no argument is given, defaults to _true_. +  def single state=true +    return send_request 'single %s' % state.to_i +  end + +  # Returns +true+ if consume is activated. +  # Otherwise, returns +false+. +  def consume? +    return true if status[:consume] == '1' +    return false +  end + +  # Returns +true+ if random is activated. +  # Otherwise, returns +false+. +  def random? +    return true if status[:random] == '1' +    return false +  end + +  # Returns +true+ if repeat is activated. +  # Otherwise, returns +false+. +  def repeat? +    return true if status[:repeat] == '1' +    return false +  end + +  # Returns +true+ if single is activated. +  # Otherwise, returns +false+. +  def single? +    return true if status[:single] == '1' +    return false +  end +end | 
