summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2009-07-23 22:17:49 -0700
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2009-07-23 22:17:49 -0700
commita421c6c2baea85c0632ca5f2a3f8dc06c2833254 (patch)
tree4bca4b92321171b08509fb39ee0594f81d9bb22c
parent5fb83d8dd3f2e8be091194f3c34eab62df04da33 (diff)
downloadruby-libmpd-a421c6c2baea85c0632ca5f2a3f8dc06c2833254.tar.gz
ruby-libmpd-a421c6c2baea85c0632ca5f2a3f8dc06c2833254.tar.xz
Separate playback options into a new file.
-rw-r--r--libmpd.rb76
-rw-r--r--libmpd/playbackoptions.rb80
2 files changed, 83 insertions, 73 deletions
diff --git a/libmpd.rb b/libmpd.rb
index eaa90fb..3fddded 100644
--- a/libmpd.rb
+++ b/libmpd.rb
@@ -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