summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libmpd.rb17
-rw-r--r--libmpd/playlist.rb22
2 files changed, 24 insertions, 15 deletions
diff --git a/libmpd.rb b/libmpd.rb
index 13bdf4b..84e1c40 100644
--- a/libmpd.rb
+++ b/libmpd.rb
@@ -7,6 +7,7 @@
require 'socket'
require 'libmpd/playbackcontrol'
require 'libmpd/playbackoptions'
+require 'libmpd/playlist'
require 'libmpd/status'
class TrueClass # :nodoc:
@@ -24,6 +25,7 @@ end
class MPD
include MPDPlaybackControl
include MPDPlaybackOptions
+ include MPDPlaylist
include MPDStatus
# Initialise an MPD object with the specified host and port.
@@ -71,21 +73,6 @@ class MPD
return hash
end
- # Adds the specified file to the playlist. (Directories add recursively.)
- def add uri
- return send_request 'add "%s"' % uri
- end
-
- # Deletes a song from the playlist.
- def delete songpos
- return send_request 'delete ' + songpos.to_s
- end
-
- # Clears the playlist.
- def clear
- return send_request 'clear'
- end
-
def split_and_hash str
songs = str.split(/(?!\n)(?=file:)/).map do |song|
generate_hash song
diff --git a/libmpd/playlist.rb b/libmpd/playlist.rb
new file mode 100644
index 0000000..9445625
--- /dev/null
+++ b/libmpd/playlist.rb
@@ -0,0 +1,22 @@
+#!/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 MPDPlaylist
+ # Adds the specified file to the playlist. (Directories add recursively.)
+ def add uri
+ return send_request 'add "%s"' % uri
+ end
+
+ # Deletes a song from the playlist.
+ def delete songpos
+ return send_request 'delete ' + songpos.to_s
+ end
+
+ # Clears the playlist.
+ def clear
+ return send_request 'clear'
+ end
+end