diff --git a/src/clients/lib/ruby/.yardoc/checksums b/src/clients/lib/ruby/.yardoc/checksums new file mode 100644 index 000000000..538d42070 --- /dev/null +++ b/src/clients/lib/ruby/.yardoc/checksums @@ -0,0 +1,14 @@ +async.rb ba967bf49824bea5e096c0594e079cbcd236d889 +rb_collection.c f6116f8422d4d35094f5b011ad5eb8dcf0dfa542 +rb_collection.h 1fc25c5878c2e6c1543b750c3894863bb3e69af8 +rb_playlist.c 09a39cd2c58fd56d451eafe3dd5f05b0f38e9381 +rb_playlist.h 8be787cc7f4a9e889ed9ece89dc15fb0c4fdbc63 +rb_result.c 38a0fc799557694d42b4df98ecea76810235c536 +rb_result.h 5dc69d213fd95f929fdf50e8d28e9dafa57c3802 +rb_xmmsclient.c d1684ca5b02cf4943d0524625c33825708d3f51f +rb_xmmsclient_ecore.c de8108ed430dac27e5323a31464fb177e0da7cad +rb_xmmsclient_glib.c 0b48ccb9903a38f5701233cd52e49994ab5d6439 +rb_xmmsclient.h bb3a22855f30d7a2f04e2640a54342b0e1ae97f2 +rb_xmmsclient_main.c 1056eba3db3c1b5fafa5bd93e97b96df225d60db +sync.rb f3c2fb0486455382821e7473892b021f9b829556 +xmmsclient.rb b926424354004c479daea960790c911b1863d8cb diff --git a/src/clients/lib/ruby/.yardoc/object_types b/src/clients/lib/ruby/.yardoc/object_types new file mode 100644 index 000000000..d60e07a2b Binary files /dev/null and b/src/clients/lib/ruby/.yardoc/object_types differ diff --git a/src/clients/lib/ruby/.yardoc/objects/root.dat b/src/clients/lib/ruby/.yardoc/objects/root.dat new file mode 100644 index 000000000..6904bb5d2 Binary files /dev/null and b/src/clients/lib/ruby/.yardoc/objects/root.dat differ diff --git a/src/clients/lib/ruby/.yardoc/proxy_types b/src/clients/lib/ruby/.yardoc/proxy_types new file mode 100644 index 000000000..beefda1ae Binary files /dev/null and b/src/clients/lib/ruby/.yardoc/proxy_types differ diff --git a/src/clients/lib/ruby/async.rb b/src/clients/lib/ruby/async.rb index 089c65aca..6de2616bb 100644 --- a/src/clients/lib/ruby/async.rb +++ b/src/clients/lib/ruby/async.rb @@ -15,65 +15,67 @@ require 'xmmsclient' -class Xmms::Client::Async - attr_reader(:real) +module Xmms + class Client::Async + attr_reader(:real) - def initialize(name) - @real = Xmms::Client.new(name) - end + def initialize(name) + @real = Xmms::Client.new(name) + end - def method_missing(id, *args, &block) - args.push(&block) if(id == 'on_disconnect') - ret = @real.send(id, *args) - if(block_given? && (ret.is_a?(Xmms::Result) || - ret.is_a?(Xmms::BroadcastResult) || ret.is_a?(Xmms::SignalResult))) - ret.notifier(&block) - elsif(ret.is_a?(Xmms::Client)) - self - elsif(ret.is_a?(Xmms::Collection)) - Xmms::Collection::Async.new(ret) - elsif(ret.is_a?(Xmms::Playlist)) - Xmms::Playlist::Async.new(ret) - else - ret + def method_missing(id, *args, &block) + args.push(&block) if(id == 'on_disconnect') + ret = @real.send(id, *args) + if(block_given? && (ret.is_a?(Xmms::Result) || + ret.is_a?(Xmms::BroadcastResult) || ret.is_a?(Xmms::SignalResult))) + ret.notifier(&block) + elsif(ret.is_a?(Xmms::Client)) + self + elsif(ret.is_a?(Xmms::Collection)) + Xmms::Collection::Async.new(ret) + elsif(ret.is_a?(Xmms::Playlist)) + Xmms::Playlist::Async.new(ret) + else + ret + end end end -end -class Xmms::Collection::Async - attr_reader(:real) + class Collection::Async + attr_reader(:real) - def initialize(coll) - @real = coll - end + def initialize(coll) + @real = coll + end - def method_missing(id, *args, &block) - ret = @real.send(id, *args) - if(block_given? && ret.is_a?(Xmms::Result)) - ret.notifier(&block) - elsif(ret.is_a?(Xmms::Collection)) - self - else - ret + def method_missing(id, *args, &block) + ret = @real.send(id, *args) + if(block_given? && ret.is_a?(Xmms::Result)) + ret.notifier(&block) + elsif(ret.is_a?(Xmms::Collection)) + self + else + ret + end end end -end -class Xmms::Playlist::Async - attr_reader(:real) + class Playlist::Async + attr_reader(:real) - def initialize(plist) - @real = plist - end + def initialize(plist) + @real = plist + end - def method_missing(id, *args, &block) - ret = @real.send(id, *args) - if(block_given? && ret.is_a?(Xmms::Result)) - ret.notifier(&block) - elsif(ret.is_a?(Xmms::Collection)) - self - else - ret + def method_missing(id, *args, &block) + ret = @real.send(id, *args) + if(block_given? && ret.is_a?(Xmms::Result)) + ret.notifier(&block) + elsif(ret.is_a?(Xmms::Collection)) + self + else + ret + end end end end diff --git a/src/clients/lib/ruby/doc/Xmms.html b/src/clients/lib/ruby/doc/Xmms.html new file mode 100644 index 000000000..6f5de434f --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms.html @@ -0,0 +1,232 @@ + + + + + + +module Xmms - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms +

+ +
+ +
+ + + + +
+ + + + + +
+
+

Constants

+
+
+ +
VERSION + +
+ + +
+
+ + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + decode_url(url) → String + + + click to toggle source + +
+ + + +
+ +

Decodes a url-encoded string url and returns it in UNKNOWN +ENCODING. Use with caution.

+ + + + +
+
static VALUE
+m_decode_url (VALUE self, VALUE str)
+{
+        const unsigned char *burl;
+        unsigned int blen;
+        xmmsv_t *strv, *decoded;
+        VALUE url = Qnil;
+
+        strv = xmmsv_new_string (StringValuePtr (str));
+
+        decoded = xmmsv_decode_url (strv);
+
+        if (!decoded)
+                goto out;
+
+        if (!xmmsv_get_bin (decoded, &burl, &blen))
+                goto out;
+
+        url = rb_str_new ((char *) burl, blen);
+
+out:
+        if (decoded)
+                xmmsv_unref (decoded);
+
+        xmmsv_unref (strv);
+
+        return url;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + userconfdir → String + + + click to toggle source + +
+ + + +
+ +

Returns the xmms2 configuration directory for the current user.

+ + + + +
+
static VALUE
+m_userconfdir_get (VALUE self)
+{
+        const char *p;
+        char path[XMMS_PATH_MAX];
+
+        p = xmmsc_userconfdir_get (path, XMMS_PATH_MAX);
+
+        return p ? rb_str_new2 (p) : Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/BroadcastResult.html b/src/clients/lib/ruby/doc/Xmms/BroadcastResult.html new file mode 100644 index 000000000..fe0394784 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/BroadcastResult.html @@ -0,0 +1,160 @@ + + + + + + +class Xmms::BroadcastResult - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::BroadcastResult +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ disconnect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_disconnect (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_disconnect (res->real);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Client.html b/src/clients/lib/ruby/doc/Xmms/Client.html new file mode 100644 index 000000000..8487858bc --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Client.html @@ -0,0 +1,3550 @@ + + + + + + +class Xmms::Client - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + Xmms::Client.new(name) → xc + + + click to toggle source + +
+ + + +
+ +

Creates an Xmms::Client object.

+ + + + +
+
static VALUE
+c_init (VALUE self, VALUE name)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        if (!(xmms->real = xmmsc_init (StringValuePtr (name)))) {
+                rb_raise (rb_eNoMemError, "failed to allocate memory");
+                return Qnil;
+        }
+
+        xmms->deleted = false;
+        xmms->result_callbacks = rb_ary_new ();
+        xmms->disconnect_cb = Qnil;
+        xmms->io_need_out_cb = Qnil;
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + bindata_add(str) → result + + + click to toggle source + +
+ + + +
+ +

Stores binary data on the server.

+ + + + +
+
static VALUE
+c_bindata_add (VALUE self, VALUE data)
+{
+        METHOD_ADD_HANDLER_BIN (bindata_add, data);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + bindata_list → result + + + click to toggle source + +
+ + + +
+ +

List all bindata hashes stored on the server.

+ + + + +
+
static VALUE
+c_bindata_list (VALUE self)
+{
+        METHOD_ADD_HANDLER (bindata_list);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + bindata_remove(hash) → result + + + click to toggle source + +
+ + + +
+ +

Remove a datafile from the server.

+ + + + +
+
static VALUE
+c_bindata_remove (VALUE self, VALUE hash)
+{
+        METHOD_ADD_HANDLER_STR (bindata_remove, hash);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + bindata_retrieve(hash) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the bindata entry specified by hash (hex string) from the server.

+ + + + +
+
static VALUE
+c_bindata_retrieve (VALUE self, VALUE hash)
+{
+        METHOD_ADD_HANDLER_STR (bindata_retrieve, hash);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_coll_changed → result + + + click to toggle source + +
+ + + +
+ +

The collection_changed broadcast, if requested, is called anytime a +collection is altered.

+ + + + +
+
static VALUE
+c_broadcast_coll_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_collection_changed)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_config_value_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves configuration properties as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_config_value_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_config_value_changed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_mediainfo_reader_status → result + + + click to toggle source + +
+ + + +
+ +

Requests the status of the mediainfo reader.

+ + + + +
+
static VALUE
+c_broadcast_mediainfo_reader_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_mediainfo_reader_status);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_added → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of an added medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_added (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_added);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of a changed medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_changed (VALUE self)
+{
+        RB_XMMS_DEPRECATED (broadcast_medialib_entry_changed, broadcast_medialib_entry_updated);
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_updated);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_removed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of an removed medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_removed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_removed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of a changed medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_updated (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_updated);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playback_current_id → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the media id of the currently played track as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_playback_current_id (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_current_id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playback_status → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playback status as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_playback_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_status);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_volume_changed → result + + + click to toggle source + +
+ + + +
+ +

Registers a broadcast handler that's evoked when the playback volume +changes.

+ + + + +
+
static VALUE
+c_broadcast_playback_volume_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_volume_changed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playlist_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a hash describing the change to the playlist as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_playlist_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_changed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playlist_current_pos → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the current playlist position as a broadcast. See +playlist_current_pos.

+ + + + +
+
static VALUE
+c_broadcast_playlist_current_pos (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_current_pos);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playlist_loaded → result + + + click to toggle source + +
+ + + +
+ +

Will be called when a playlist has been loaded.

+ + + + +
+
static VALUE
+c_broadcast_playlist_loaded (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_loaded);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_quit → result + + + click to toggle source + +
+ + + +
+ +

Will be called when the server is terminating.

+ + + + +
+
static VALUE
+c_broadcast_quit (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_quit);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_find(id, ns) → result + + + click to toggle source + +
+ + + +
+ +

Find all collections in the given namespace ns which contain +id.

+ + + + +
+
static VALUE
+c_coll_find (VALUE self, VALUE id, VALUE ns)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_coll_find (xmms->real, check_int32 (id),
+                               StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_get(name, [ns]) + + + click to toggle source + +
+ + + +
+ +

Returns a result containing an Xmms::Collection object referencing the +collection named name. The namespace ns is searched or +all namespaces if unspecified.

+ + + + +
+
static VALUE
+c_coll_get (int argc, VALUE *argv, VALUE self)
+{
+        VALUE name, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "11", &name, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_get (xmms->real, StringValuePtr (name),
+                                      XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_get (xmms->real, StringValuePtr (name),
+                                      StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_idlist_from_playlist_file(path) → result + + + click to toggle source + +
+ + + +
+ +

Returns a collection of the idlist type from the playlist file at +path. path must be an unencoded string.

+ + + + +
+
static VALUE
+c_coll_idlist_from_playlist_file (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (coll_idlist_from_playlist_file, path)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_list([ns]) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves an array of the names of all the collections stored in the +medialib under the namespace ns. If ns is not specified, +it defaults to ALL.

+ + + + +
+
static VALUE
+c_coll_list (int argc, VALUE *argv, VALUE self)
+{
+        VALUE ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "01", &ns);
+
+        if (NIL_P (ns))
+                ns = rb_str_new2 (XMMS_COLLECTION_NS_ALL);
+
+        res = xmmsc_coll_list (xmms->real, StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_query(coll, spec) → result + + + click to toggle source + +
+ + + +
+ + + + + + +
+
static VALUE
+c_coll_query (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, spec;
+        xmmsv_t *cspec;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "2", &coll, &spec);
+
+        cspec = xmmsv_new_dict ();
+
+        VALUE args = rb_ary_new3(4, xmms, coll, spec, (VALUE) cspec);
+
+        res = (xmmsc_result_t *) rb_ensure (c_coll_query_fragile, args,
+                                            c_coll_query_cleanup, (VALUE) cspec);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_query_ids(coll, [order], [start], [len]) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a list of all the ids of media matched by the collection. +order specifies a list of properties to order by or no order if +omitted. start and len determine the offset at which to +start retrieving ids and the maximum number of ids to retrieve, +respectively.

+ + + + +
+
static VALUE
+c_coll_query_ids (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, order = Qnil, start, len = Qnil;
+        xmmsv_t *corder = NULL;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "13", &coll, &order, &start, &len);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        res = xmmsc_coll_query_ids (xmms->real,
+                                    FROM_XMMS_CLIENT_COLLECTION (coll),
+                                    corder,
+                                    NIL_P (start) ? 0 : NUM2INT (start),
+                                    NIL_P (start) ? 0 : NUM2INT (len));
+
+        if (corder)
+                xmmsv_unref (corder);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_query_info(coll, fetch, [order], [start], [len], [group]) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves media info of media matched by the collection. fetch +should contain an array of properties to retrieve from the collection. +order specifies a list of properties to order by or no order if +omitted. start and len determine the offset at which to +start retrieving info and the maximum number of ids to retrieve, +respectively. group defines a list of properties to group by or no +grouping if omitted.

+ + + + +
+
static VALUE
+c_coll_query_info (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, order = Qnil, start, len, fetch, group = Qnil;
+        xmmsv_t *cfetch = NULL, *corder = NULL, *cgroup = NULL;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "24", &coll, &fetch, &order, &start, &len,
+                      &group);
+
+        cfetch = parse_string_array2 (fetch);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        if (!NIL_P (group))
+                cgroup = parse_string_array2 (group);
+
+        res = xmmsc_coll_query_infos (xmms->real,
+                                    FROM_XMMS_CLIENT_COLLECTION (coll),
+                                    corder,
+                                    NIL_P (start) ? 0 : NUM2INT (start),
+                                    NIL_P (start) ? 0 : NUM2INT (len),
+                                    cfetch,
+                                    cgroup);
+        xmmsv_unref (cfetch);
+        if (corder) {
+                xmmsv_unref (corder);
+        }
+        if (cgroup) {
+                xmmsv_unref (cgroup);
+        }
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_remove(name, [ns]) → result + + + click to toggle source + +
+ + + +
+ +

Remove the collection named name from the media library. The +collection is removed from the namespace ns or all namespaces if +unspecified.

+ + + + +
+
static VALUE
+c_coll_remove (int argc, VALUE *argv, VALUE self)
+{
+        VALUE name, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "11", &name, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_remove (xmms->real, StringValuePtr (name),
+                                         XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_remove (xmms->real, StringValuePtr (name),
+                                         StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_rename(old, new, [ns]) → result + + + click to toggle source + +
+ + + +
+ +

Rename the saved collection from old to new within the +namespace ns or all namespaces.

+ + + + +
+
static VALUE
+c_coll_rename (int argc, VALUE *argv, VALUE self)
+{
+        VALUE old, new, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "21", &old, &new, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_rename (xmms->real,
+                                         StringValuePtr (old),
+                                         StringValuePtr (new),
+                                         XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_rename (xmms->real,
+                                         StringValuePtr (old),
+                                         StringValuePtr (new),
+                                         StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_save(coll, name, ns) → result + + + click to toggle source + +
+ + + +
+ +

Save the collection coll named name under the namespace +ns to the media library.

+ + + + +
+
static VALUE
+c_coll_save (VALUE self, VALUE coll, VALUE name, VALUE ns)
+{
+        METHOD_HANDLER_HEADER
+
+        /* FIXME: Check that we actually have a Collection object */
+
+        res = xmmsc_coll_save (xmms->real,
+                               FROM_XMMS_CLIENT_COLLECTION (coll),
+                               StringValuePtr (name),
+                               StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_get_value(key) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the value of the configuration property at key.

+ + + + +
+
static VALUE
+c_config_get_value (VALUE self, VALUE key)
+{
+        METHOD_ADD_HANDLER_STR (config_get_value, key);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_list_values → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a list of all config values.

+ + + + +
+
static VALUE
+c_config_list_values (VALUE self)
+{
+        METHOD_ADD_HANDLER (config_list_values);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_register_value(key, default_value) → result + + + click to toggle source + +
+ + + +
+ +

Registers a configuration property at key with the given default +value.

+ + + + +
+
static VALUE
+c_config_register_value (VALUE self, VALUE key, VALUE defval)
+{
+        METHOD_ADD_HANDLER_STR_STR (config_register_value, key, defval);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_set_value(key, value) → result + + + click to toggle source + +
+ + + +
+ +

Sets the value of the configuration property at key to +value.

+ + + + +
+
static VALUE
+c_config_set_value (VALUE self, VALUE key, VALUE val)
+{
+        METHOD_ADD_HANDLER_STR_STR (config_set_value, key, val);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + connect([path]) → self + + + click to toggle source + +
+ + + +
+ +

Connects xc to the XMMS2 daemon listening at path. If +path isn't given, the default path is used.

+ + + + +
+
static VALUE
+c_connect (int argc, VALUE *argv, VALUE self)
+{
+        VALUE path;
+        RbXmmsClient *xmms = NULL;
+        char *p = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "01", &path);
+
+        if (!NIL_P (path))
+                p = StringValuePtr (path);
+
+        if (!xmmsc_connect (xmms->real, p))
+                rb_raise (eClientError,
+                          "cannot connect to daemon (%s)",
+                          xmmsc_get_last_error (xmms->real));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ delete!() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_delete (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_unref (xmms->real);
+        xmms->deleted = true;
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_disconnect → nil + + + click to toggle source + +
+ + + +
+ +

Disconnects the IPC socket. This should only be used by event loop +implementations.

+ + + + +
+
static VALUE
+c_io_disconnect (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_disconnect (xmms->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_fd → integer + + + click to toggle source + +
+ + + +
+ +

Returns the file descriptor of the Xmms::Client +IPC socket.

+ + + + +
+
static VALUE
+c_io_fd (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        return INT2NUM (xmmsc_io_fd_get (xmms->real));
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_in_handle → nil + + + click to toggle source + +
+ + + +
+ +

Retrieves one incoming (from server) clientlib command if there are any in +the buffer.

+ + + + +
+
static VALUE
+c_io_in_handle (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_in_handle (xmms->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_on_need_out { |flag| } + + + click to toggle source + +
+ + + +
+ +

Sets the block that's called when the output socket state changes.

+ + + + +
+
static VALUE
+c_io_on_need_out (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmms->io_need_out_cb = rb_block_proc ();
+
+        xmmsc_io_need_out_callback_set (xmms->real,
+                                        on_io_need_out, (void *) self);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_out_handle → nil + + + click to toggle source + +
+ + + +
+ +

Sends one outgoing (to server) clientlib command. You should check io_want_out before calling this +method.

+ + + + +
+
static VALUE
+c_io_out_handle (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_out_handle (xmms->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_want_out → true or false + + + click to toggle source + +
+ + + +
+ +

Returns true if an outgoing (to server) clientlib command is +pending, false otherwise.

+ + + + +
+
static VALUE
+c_io_want_out (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        return xmmsc_io_want_out (xmms->real) ? Qtrue : Qfalse;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + last_error → string or nil + + + click to toggle source + +
+ + + +
+ +

Returns the last error that occured in xc or nil, if +no error occured yet.

+ + + + +
+
static VALUE
+c_last_error_get (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+        const char *s;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        s = xmmsc_get_last_error (xmms->real);
+
+        return s ? rb_str_new2 (s) : Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + main_stats → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a hash containing statistics about the daemon.

+ + + + +
+
static VALUE
+c_main_stats (VALUE self)
+{
+        METHOD_ADD_HANDLER (main_stats);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_add_entry(url) → result + + + click to toggle source + +
+ + + +
+ +

Adds url to the medialib.

+ + + + +
+
static VALUE
+c_medialib_add_entry (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (medialib_add_entry, url);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_move(id, url) → result + + + click to toggle source + +
+ + + +
+ +

Moves the entry specified by id to a new URL without changing +mediainfo.

+ + + + +
+
static VALUE
+c_medialib_entry_move (VALUE self, VALUE id, VALUE url)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_medialib_move_entry (xmms->real, check_int32 (id),
+                                         StringValuePtr (url));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_property_remove(id, key, *source) → result + + + click to toggle source + +
+ + + +
+ +

Remove a custom field in the medialib associated with the entry +id. source is an optional argument that describes where +to write the mediainfo. If source is omitted, +“client/<yourclient>” is used, where <yourclient> is the name +you specified in ::new.

+ + + + +
+
static VALUE
+c_medialib_entry_property_remove (int argc, VALUE *argv, VALUE self)
+{
+        VALUE tmp, key, src = Qnil;
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+        const char *ckey;
+        int32_t id;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "21", &tmp, &key, &src);
+
+        id = check_int32 (tmp);
+        Check_Type (key, T_SYMBOL);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        if (NIL_P (src))
+                res = xmmsc_medialib_entry_property_remove (xmms->real, id,
+                                                            ckey);
+        else
+                res = xmmsc_medialib_entry_property_remove_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_property_set(id, key, value, *source) → result + + + click to toggle source + +
+ + + +
+ +

Write info to the medialib at id. source is an optional +argument that describes where to write the mediainfo. If source is +omitted, the mediainfo is written to “client/<yourclient>” where +<yourclient> is the name you specified in ::new.

+ + + + +
+
static VALUE
+c_medialib_entry_property_set (int argc, VALUE *argv, VALUE self)
+{
+        VALUE tmp, key, value, src = Qnil;
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+        const char *ckey;
+        bool is_str = false;
+        int32_t id, ivalue;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "31", &tmp, &key, &value, &src);
+
+        id = check_int32 (tmp);
+        Check_Type (key, T_SYMBOL);
+
+        if (!NIL_P (rb_check_string_type (value)))
+                is_str = true;
+        else
+                ivalue = check_int32 (value);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        if (NIL_P (src) && is_str)
+                res = xmmsc_medialib_entry_property_set_str (xmms->real, id,
+                                                             ckey,
+                                                             StringValuePtr (value));
+        else if (NIL_P (src))
+                res = xmmsc_medialib_entry_property_set_int (xmms->real, id,
+                                                             ckey, ivalue);
+        else if (is_str)
+                res = xmmsc_medialib_entry_property_set_str_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey,
+                        StringValuePtr (value));
+        else
+                res = xmmsc_medialib_entry_property_set_int_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey, ivalue);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_remove(id) → result + + + click to toggle source + +
+ + + +
+ +

Removes the entry specified by id from the medialib.

+ + + + +
+
static VALUE
+c_medialib_entry_remove (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_remove_entry, id)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_get_id(url) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id corresponding to url.

+ + + + +
+
static VALUE
+c_medialib_get_id (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (medialib_get_id, url);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_get_info(id) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves medialib info for id.

+ + + + +
+
static VALUE
+c_medialib_get_info (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_get_info, id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_path_import(path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under path to the medialib.

+ + + + +
+
static VALUE
+c_medialib_path_import (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (medialib_import_path, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_path_import(path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under the url encoded path to +the medialib.

+ + + + +
+
static VALUE
+c_medialib_path_import_encoded (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (medialib_import_path_encoded, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_rehash(id) → result + + + click to toggle source + +
+ + + +
+ +

Rehashes the medialib entry at id or the whole medialib if +id == 0.

+ + + + +
+
static VALUE
+c_medialib_rehash (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_rehash, id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + on_disconnect { } → self + + + click to toggle source + +
+ + + +
+ +

Sets the block that's executed when xc is disconnected from +the XMMS2 daemon.

+ + + + +
+
static VALUE
+c_on_disconnect (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmms->disconnect_cb = rb_block_proc ();
+
+        xmmsc_disconnect_callback_set (xmms->real,
+                                       on_disconnect, (void *) self);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_current_id → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the media id of the currently played track.

+ + + + +
+
static VALUE
+c_playback_current_id (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_current_id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_pause → result + + + click to toggle source + +
+ + + +
+ +

Pauses playback.

+ + + + +
+
static VALUE
+c_playback_pause (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_pause);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_playtime → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playtime.

+ + + + +
+
static VALUE
+c_playback_playtime (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_playtime);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_ms(ms) → result + + + click to toggle source + +
+ + + +
+ +

Seek to the song position given in ms.

+ + + + +
+
static VALUE
+c_playback_seek_ms (VALUE self, VALUE ms)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_ms (xmms->real,
+                                      check_int32 (ms),
+                                      XMMS_PLAYBACK_SEEK_SET);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_ms_rel(ms) → result + + + click to toggle source + +
+ + + +
+ +

Seek in the song by the offset given in ms.

+ + + + +
+
static VALUE
+c_playback_seek_ms_rel (VALUE self, VALUE ms)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_ms (xmms->real,
+                                      check_int32 (ms),
+                                      XMMS_PLAYBACK_SEEK_CUR);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_samples(samples) → result + + + click to toggle source + +
+ + + +
+ +

Seek to the song position given in samples.

+ + + + +
+
static VALUE
+c_playback_seek_samples (VALUE self, VALUE samples)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_samples (xmms->real,
+                                           check_int32 (samples),
+                                           XMMS_PLAYBACK_SEEK_SET);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_samples_rel(samples) → result + + + click to toggle source + +
+ + + +
+ +

Seek in the song position by the offset given in samples.

+ + + + +
+
static VALUE
+c_playback_seek_samples_rel (VALUE self, VALUE samples)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_samples (xmms->real,
+                                           check_int32 (samples),
+                                           XMMS_PLAYBACK_SEEK_CUR);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_start → result + + + click to toggle source + +
+ + + +
+ +

Starts playback.

+ + + + +
+
static VALUE
+c_playback_start (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_start);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_status → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playback status.

+ + + + +
+
static VALUE
+c_playback_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_status);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_stop → result + + + click to toggle source + +
+ + + +
+ +

Stops playback.

+ + + + +
+
static VALUE
+c_playback_stop (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_stop);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_tickle → result + + + click to toggle source + +
+ + + +
+ +

Advances to the next playlist entry.

+ + + + +
+
static VALUE
+c_playback_tickle (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_tickle);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_volume_get → result + + + click to toggle source + +
+ + + +
+ +

Gets the current playback volume.

+ + + + +
+
static VALUE
+c_playback_volume_get (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        res = xmmsc_playback_volume_get (xmms->real);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_volume_set(channel, volume) → result + + + click to toggle source + +
+ + + +
+ +

Sets playback volume for channel to volume.

+ + + + +
+
static VALUE
+c_playback_volume_set (VALUE self, VALUE channel, VALUE volume)
+{
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        Check_Type (channel, T_SYMBOL);
+        Check_Type (volume, T_FIXNUM);
+
+        res = xmmsc_playback_volume_set (xmms->real,
+                                         rb_id2name (SYM2ID (channel)),
+                                         NUM2INT (volume));
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist([name]) → p + + + click to toggle source + +
+ + + +
+ +

Shortcut for Xmms::Playlist.new. +Creates a new Xmms::Playlist object tied to the +current Xmms::Client instance. name is +is the name of the playlist and the active playlist will be used if it is +not specified. Raises PlaylistError if the playlist name is invalid.

+ + + + +
+
static VALUE
+c_playlist (int argc, VALUE *argv, VALUE self)
+{
+        VALUE args[2] = {self, Qnil};
+
+        rb_scan_args (argc, argv, "01", &args[1]);
+
+        return rb_class_new_instance (2, args, cPlaylist);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_current_active → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the name of the active playlist.

+ + + + +
+
static VALUE
+c_playlist_current_active (VALUE self)
+{
+        METHOD_ADD_HANDLER (playlist_current_active);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_list → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a list of all saved playlists from the medialib. Note that +clients should treat internally used playlists (marked with a leading +underscore) carefully.

+ + + + +
+
static VALUE
+c_playlist_list (VALUE self)
+{
+        METHOD_ADD_HANDLER (playlist_list);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_set_next(pos) → result + + + click to toggle source + +
+ + + +
+ +

Sets the next song to be played to pos (an absolute position).

+ + + + +
+
static VALUE
+c_playlist_set_next (VALUE self, VALUE pos)
+{
+        METHOD_ADD_HANDLER_INT (playlist_set_next, pos);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_set_next_rel(pos) → result + + + click to toggle source + +
+ + + +
+ +

Sets the next song to be played based on the current position where +pos is a value relative to the current position.

+ + + + +
+
static VALUE
+c_playlist_set_next_rel (VALUE self, VALUE pos)
+{
+        METHOD_ADD_HANDLER_INT (playlist_set_next_rel, pos);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + plugin_list → result + + + click to toggle source + +
+ + + +
+ +

Retrieves an array containing a hash of information for each plugin.

+ + + + +
+
static VALUE
+c_plugin_list (int argc, VALUE *argv, VALUE self)
+{
+        VALUE type = Qnil;
+
+        rb_scan_args (argc, argv, "01", &type);
+
+        if (NIL_P (type))
+                type = INT2FIX (XMMS_PLUGIN_TYPE_ALL);
+
+        METHOD_ADD_HANDLER_INT (main_list_plugins, type);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + quit → result + + + click to toggle source + +
+ + + +
+ +

Shuts down the XMMS2 daemon.

+ + + + +
+
static VALUE
+c_quit (VALUE self)
+{
+        METHOD_ADD_HANDLER (quit);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + signal_mediainfo_reader_unindexed → result + + + click to toggle source + +
+ + + +
+ +

Requests the number of unindexed entries in the medialib.

+ + + + +
+
static VALUE
+c_signal_mediainfo_reader_unindexed (VALUE self)
+{
+        METHOD_ADD_HANDLER (signal_mediainfo_reader_unindexed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + signal_playback_playtime → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playtime as a signal.

+ + + + +
+
static VALUE
+c_signal_playback_playtime (VALUE self)
+{
+        METHOD_ADD_HANDLER (signal_playback_playtime);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + xform_media_browse(url) → result + + + click to toggle source + +
+ + + +
+ +

returns a list of files from the server

+ + + + +
+
static VALUE
+c_xform_media_browse (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (xform_media_browse, url);
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Client/Async.html b/src/clients/lib/ruby/doc/Xmms/Client/Async.html new file mode 100644 index 000000000..03e647364 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Client/Async.html @@ -0,0 +1,230 @@ + + + + + + +class Xmms::Client::Async - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::Async +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(name) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 21
+def initialize(name)
+        @real = Xmms::Client.new(name)
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args, &block) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 25
+def method_missing(id, *args, &block)
+        args.push(&block) if(id == 'on_disconnect')
+        ret = @real.send(id, *args)
+        if(block_given? && (ret.is_a?(Xmms::Result) ||
+           ret.is_a?(Xmms::BroadcastResult) || ret.is_a?(Xmms::SignalResult)))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Client))
+                self
+        elsif(ret.is_a?(Xmms::Collection))
+                Xmms::Collection::Async.new(ret)
+        elsif(ret.is_a?(Xmms::Playlist))
+                Xmms::Playlist::Async.new(ret)
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Client/ClientError.html b/src/clients/lib/ruby/doc/Xmms/Client/ClientError.html new file mode 100644 index 000000000..5848bc8c5 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Client/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Client::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Client/DisconnectedError.html b/src/clients/lib/ruby/doc/Xmms/Client/DisconnectedError.html new file mode 100644 index 000000000..ec5eefc68 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Client/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Client::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Client/Sync.html b/src/clients/lib/ruby/doc/Xmms/Client/Sync.html new file mode 100644 index 000000000..3c0b7dd64 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Client/Sync.html @@ -0,0 +1,230 @@ + + + + + + +class Xmms::Client::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(name) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 21
+def initialize(name)
+        @real = Xmms::Client.new(name)
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 25
+def method_missing(id, *args)
+        args.push(&block) if(id == 'on_disconnect')
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result) || ret.is_a?(Xmms::BroadcastResult) ||
+           ret.is_a?(Xmms::SignalResult))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Client))
+                self
+        elsif(ret.is_a?(Xmms::Collection))
+                Xmms::Collection::Sync.new(ret)
+        elsif(ret.is_a?(Xmms::Playlist))
+                Xmms::Playlist::Sync.new(ret)
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection.html b/src/clients/lib/ruby/doc/Xmms/Collection.html new file mode 100644 index 000000000..28fbb712d --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection.html @@ -0,0 +1,831 @@ + + + + + + +class Xmms::Collection - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + c = Xmms::Collection.new(type) + + + click to toggle source + +
+ + + +
+ +

Returns a new Xmms::Collection object of type +type.

+ + + + +
+
static VALUE
+c_coll_init (VALUE self, VALUE type)
+{
+        COLL_METHOD_HANDLER_HEADER
+
+        coll->real = xmmsv_new_coll (check_int32 (type));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + c = Xmms::Collection.parse(pattern) + + + click to toggle source + +
+ + + +
+ +

Returns a collection matching a String pattern. See the wiki for +details on how to construct a pattern string.

+ + + + +
+
static VALUE
+c_coll_parse (VALUE klass, VALUE pattern)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        if (!xmmsv_coll_parse (StringValuePtr (pattern), &coll->real)) {
+                rb_raise (ePatternError, "invalid pattern");
+        }
+
+        return obj;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + c = Xmms::Collection.universe + + + click to toggle source + +
+ + + +
+ +

Returns a collection referencing the “All Media” set.

+ + + + +
+
static VALUE
+c_coll_universe (VALUE klass)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        coll->real = xmmsv_new_coll (XMMS_COLLECTION_TYPE_UNIVERSE);
+
+        return obj;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ &(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: intersect +
+ +
+ + +
+ +
+ and(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: intersect +
+ +
+ + +
+ + +
+ + attributes + + + click to toggle source + +
+ + + +
+ +

Returns the attributes of the collection.

+ + + + +
+
static VALUE
+c_coll_attributes (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->attributes))
+                coll->attributes = rb_class_new_instance (1, &self, cAttributes);
+
+        return coll->attributes;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + complement → collection + + + click to toggle source + +
+ + + +
+ +

Returns a new collection that is the logical complement of c.

+ + + + +
+
# File xmmsclient.rb, line 49
+def complement
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_COMPLEMENT)
+        c.operands << self
+        c
+end
+
+ +
+ + +
+ Also aliased as: not, ~ +
+ + + +
+ + +
+ + +
+ + idlist + + + click to toggle source + +
+ + + +
+ +

Gets the list of media ids that make up the collection.

+ + + + +
+
static VALUE
+c_coll_idlist_get (VALUE self)
+{
+        VALUE ary = rb_ary_new ();
+        xmmsv_t *ret = NULL;
+        xmmsv_list_iter_t *it = NULL;
+        int32_t entry;
+
+        COLL_METHOD_ADD_HANDLER_RET (idlist_get)
+
+        xmmsv_get_list_iter (ret, &it);
+        for (xmmsv_list_iter_first (it);
+             xmmsv_list_iter_valid (it);
+             xmmsv_list_iter_next (it)) {
+
+                xmmsv_list_iter_entry_int (it, &entry);
+                rb_ary_push (ary, INT2NUM (entry));
+        }
+        xmmsv_list_iter_explicit_destroy (it);
+
+        return ary;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + idlist=(_idlist_) + + + click to toggle source + +
+ + + +
+ +

Sets the list of media ids that make up the collection.

+ + + + +
+
static VALUE
+c_coll_idlist_set (VALUE self, VALUE ids)
+{
+        int i;
+        int *ary = NULL;
+        VALUE *rb_ary;
+        int rb_ary_len;
+
+        Check_Type (ids, T_ARRAY);
+        COLL_METHOD_HANDLER_HEADER
+
+        rb_ary = RARRAY_PTR (ids);
+        rb_ary_len = RARRAY_LEN (ids);
+
+        ary = malloc (sizeof (int) * (rb_ary_len + 1));
+
+        for (i = 0; i < rb_ary_len; i++)
+                ary[i] = NUM2INT (rb_ary[i]);
+
+        ary[i] = 0;
+
+        xmmsv_coll_set_idlist (coll->real, ary);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + intersect(other) → collection + + + click to toggle source + +
+ + + +
+ +

Returns a new collection that is the logical AND of c and +other.

+ + + + +
+
# File xmmsclient.rb, line 37
+def intersect(other)
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_INTERSECTION)
+        c.operands << self
+        c.operands << other
+        c
+end
+
+ +
+ + +
+ Also aliased as: and, & +
+ + + +
+ + +
+ +
+ not() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: complement +
+ +
+ + +
+ + +
+ + operands + + + click to toggle source + +
+ + + +
+ +

Gets a list of the operands that make up the collection.

+ + + + +
+
static VALUE
+c_coll_operands (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->operands))
+                coll->operands = rb_class_new_instance (1, &self, cOperands);
+
+        return coll->operands;
+}
+
+ +
+ + + + +
+ + +
+ +
+ or(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: union +
+ +
+ + +
+ + +
+ + type + + + click to toggle source + +
+ + + +
+ +

Returns the type of the collection as an Integer.

+ + + + +
+
static VALUE
+c_coll_type_get (VALUE self)
+{
+        xmmsc_coll_type_t ret;
+
+        COLL_METHOD_ADD_HANDLER_RET (get_type)
+
+        return INT2NUM (ret);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + union(other) → collection + + + click to toggle source + +
+ + + +
+ +

Returns a new collection that is the logical OR of c and +other.

+ + + + +
+
# File xmmsclient.rb, line 25
+def union(other)
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_UNION)
+        c.operands << self
+        c.operands << other
+        c
+end
+
+ +
+ + +
+ Also aliased as: or, | +
+ + + +
+ + +
+ +
+ |(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: union +
+ +
+ + +
+ +
+ ~() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: complement +
+ +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/Async.html b/src/clients/lib/ruby/doc/Xmms/Collection/Async.html new file mode 100644 index 000000000..79fddf6a1 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/Async.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Collection::Async - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Async +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(coll) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 46
+def initialize(coll)
+        @real = coll
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args, &block) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 50
+def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/Attributes.html b/src/clients/lib/ruby/doc/Xmms/Collection/Attributes.html new file mode 100644 index 000000000..9e018d92c --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/Attributes.html @@ -0,0 +1,674 @@ + + + + + + +class Xmms::Collection::Attributes - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Attributes +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ [](p1) + + click to toggle source + +
+ + +
+ +

HAVE_RB_PROTECT_INSPECT

+ + + + +
+
static VALUE
+c_attrs_aref (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+        const char *value;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), &value);
+        if (!s)
+                return Qnil;
+
+        return rb_str_new2 (value);
+}
+
+ +
+ + + + +
+ + +
+ +
+ []=(p1, p2) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_aset (VALUE self, VALUE key, VALUE value)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+        StringValue (value);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_set_string (coll->real, StringValuePtr (key),
+                                         StringValuePtr (value));
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ delete(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_delete (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_remove (coll->real, StringValuePtr (key));
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_PAIR));
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: each_pair +
+ + + +
+ + +
+ +
+ each_key() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each_key (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_KEY));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each_pair() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: each +
+ +
+ + +
+ +
+ each_value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each_value (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_VALUE));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ has_key?(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_has_key (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), NULL);
+
+        return s ? Qtrue : Qfalse;
+}
+
+ +
+ + +
+ Also aliased as: include?, key?, member? +
+ + + +
+ + +
+ +
+ include?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ inspect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_inspect (VALUE self)
+{
+        return rb_protect_inspect (attrs_inspect, self, 0);
+}
+
+ +
+ + + + +
+ + +
+ +
+ key?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ member?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/ClientError.html b/src/clients/lib/ruby/doc/Xmms/Collection/ClientError.html new file mode 100644 index 000000000..580fa2497 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/CollectionError.html b/src/clients/lib/ruby/doc/Xmms/Collection/CollectionError.html new file mode 100644 index 000000000..599a5a082 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/CollectionError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::CollectionError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::CollectionError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/DisconnectedError.html b/src/clients/lib/ruby/doc/Xmms/Collection/DisconnectedError.html new file mode 100644 index 000000000..4e87a39f9 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/Operands.html b/src/clients/lib/ruby/doc/Xmms/Collection/Operands.html new file mode 100644 index 000000000..711ac2aa8 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/Operands.html @@ -0,0 +1,348 @@ + + + + + + +class Xmms::Collection::Operands - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Operands +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ <<(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: push +
+ +
+ + +
+ +
+ delete(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_delete (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_remove_operand (coll->real, coll2->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *operands_list;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        operands_list = xmmsv_coll_operands_get (coll->real);
+
+        xmmsv_list_foreach (operands_list, operands_each, NULL);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ push(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_push (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_add_operand (coll->real, coll2->real);
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: << +
+ + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/PatternError.html b/src/clients/lib/ruby/doc/Xmms/Collection/PatternError.html new file mode 100644 index 000000000..8fc1f5f23 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/PatternError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::PatternError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::PatternError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Collection/Sync.html b/src/clients/lib/ruby/doc/Xmms/Collection/Sync.html new file mode 100644 index 000000000..7a6b1281c --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Collection/Sync.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Collection::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(coll) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 46
+def initialize(coll)
+        @real = coll
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 50
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Dict.html b/src/clients/lib/ruby/doc/Xmms/Dict.html new file mode 100644 index 000000000..9d42d3f28 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Dict.html @@ -0,0 +1,643 @@ + + + + + + +class Xmms::Dict - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Dict +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ [](p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_aref (VALUE self, VALUE key)
+{
+        RbDict *dict = NULL;
+        xmmsv_dict_iter_t *it;
+        xmmsv_t *value;
+        const char *ckey;
+        int s;
+
+        Check_Type (key, T_SYMBOL);
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        xmmsv_get_dict_iter (dict->real, &it);
+
+        s = xmmsv_dict_iter_find (it, ckey);
+        if (!s)
+                return Qnil;
+
+        xmmsv_dict_iter_pair (it, NULL, &value);
+
+        return extract_value (self, value);
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_each (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_pair, &self);
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: each_pair +
+ + + +
+ + +
+ +
+ each_key() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_each_key (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_key, NULL);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each_pair() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: each +
+ +
+ + +
+ +
+ each_value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_each_value (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_value, &self);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ empty?() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_empty (VALUE self)
+{
+        RbDict *dict = NULL;
+        int size;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        size = xmmsv_dict_get_size (dict->real);
+
+        return size == 0 ? Qtrue : Qfalse;
+}
+
+ +
+ + + + +
+ + +
+ +
+ has_key?(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_has_key (VALUE self, VALUE key)
+{
+        RbDict *dict = NULL;
+        xmmsv_dict_iter_t *it;
+        const char *ckey;
+
+        Check_Type (key, T_SYMBOL);
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        xmmsv_get_dict_iter (dict->real, &it);
+
+        return xmmsv_dict_iter_find (it, ckey) ? Qtrue : Qfalse;
+}
+
+ +
+ + +
+ Also aliased as: include?, key?, member? +
+ + + +
+ + +
+ +
+ include?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ inspect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_inspect (VALUE self)
+{
+        return rb_protect_inspect (dict_inspect, self, 0);
+}
+
+ +
+ + + + +
+ + +
+ +
+ key?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ length() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: size +
+ +
+ + +
+ +
+ member?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ size() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_size (VALUE self)
+{
+        RbDict *dict = NULL;
+        int size;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        size = xmmsv_dict_get_size (dict->real);
+
+        return INT2NUM (size);
+}
+
+ +
+ + +
+ Also aliased as: length +
+ + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Playlist.html b/src/clients/lib/ruby/doc/Xmms/Playlist.html new file mode 100644 index 000000000..f5d5091c8 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Playlist.html @@ -0,0 +1,840 @@ + + + + + + +class Xmms::Playlist - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + pl = Xmms::Playlist.new(xc, [name]) + + + click to toggle source + +
+ + + +
+ +

Initializes a new Xmms::Playlist using the +playlist named name and the Xmms::Client +instance xc. Xmms::Client#playlist is a useful +shortcut. name is is the name of the playlist and the active +playlist will be used if it is not specified. Raises PlaylistError if the playlist name +is invalid.

+ + + + +
+
static VALUE
+c_init (int argc, VALUE *argv, VALUE self)
+{
+        RbPlaylist *pl = NULL;
+        VALUE name, xmms = Qnil;
+
+        Data_Get_Struct (self, RbPlaylist, pl);
+
+        rb_scan_args (argc, argv, "11", &xmms, &name);
+
+        /* FIXME: Check type! */
+        pl->xmms = xmms;
+
+        if (NIL_P (name))
+                pl->name_value = rb_str_new2 (XMMS_ACTIVE_PLAYLIST);
+        else
+                pl->name_value = rb_str_dup (name);
+
+        OBJ_FREEZE (pl->name_value);
+
+        pl->name = StringValuePtr (pl->name_value);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + add_collection(coll [, order]) → result + + + click to toggle source + +
+ + + +
+ +

Adds the collection coll to the playlist.

+ + + + +
+
static VALUE
+c_add_collection (int argc, VALUE *argv, VALUE self)
+{
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        VALUE rbcoll, order = Qnil;
+        xmmsv_t *corder = NULL;
+        xmmsc_coll_t *coll;
+
+        rb_scan_args (argc, argv, "11", &rbcoll, &order);
+
+        coll = FROM_XMMS_CLIENT_COLLECTION (rbcoll);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        res = xmmsc_playlist_add_collection (xmms->real, pl->name,
+                                             coll, corder);
+
+        if (corder)
+                xmmsv_unref (corder);
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + add_entry(arg) → result + + + click to toggle source + +
+ + + +
+ +

Adds an entry to the playlist. arg can be either a URL or an id.

+ + + + +
+
static VALUE
+c_add_entry (VALUE self, VALUE arg)
+{
+        int32_t id;
+
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        if (!NIL_P (rb_check_string_type (arg)))
+                res = xmmsc_playlist_add_url (xmms->real, pl->name,
+                                              StringValuePtr (arg));
+        else {
+                id = check_int32 (arg);
+                res = xmmsc_playlist_add_id (xmms->real, pl->name, id);
+        }
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + clear → result + + + click to toggle source + +
+ + + +
+ +

Clears the playlist.

+ + + + +
+
static VALUE
+c_clear (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (clear)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + current_pos → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the current position of the playlist. May raise an Xmms::Result::ValueError exception if the +current position is undefined.

+ + + + +
+
static VALUE
+c_current_pos (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (current_pos)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + entries → result + + + click to toggle source + +
+ + + +
+ +

Retrieves an array containing ids for each position of the playlist.

+ + + + +
+
static VALUE
+c_list_entries (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (list_entries)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + insert_entry(pos, arg) → result + + + click to toggle source + +
+ + + +
+ +

Inserts an entry to the current playlist at position pos in the +playlist. arg can be either a URL or an id.

+ + + + +
+
static VALUE
+c_insert_entry (VALUE self, VALUE pos, VALUE arg)
+{
+        int32_t id;
+        int32_t ipos;
+
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        ipos = check_int32 (pos);
+
+        if (!NIL_P (rb_check_string_type (arg)))
+                res = xmmsc_playlist_insert_url (xmms->real, pl->name,
+                                                 ipos, StringValuePtr (arg));
+        else {
+                id = check_int32 (arg);
+                res = xmmsc_playlist_insert_id (xmms->real, pl->name,
+                                                ipos, id);
+        }
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + load → result + + + click to toggle source + +
+ + + +
+ +

Loads the playlist as the current active playlist.

+ + + + +
+
static VALUE
+c_load (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (load);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_move_entry(current_pos, new_pos) → result + + + click to toggle source + +
+ + + +
+ +

Moves the entry at current_pos to new_pos in the +playlist.

+ + + + +
+
static VALUE
+c_move_entry (VALUE self, VALUE cur_pos, VALUE new_pos)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT_INT (move_entry, cur_pos, new_pos)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + name → string + + + click to toggle source + +
+ + + +
+ +

Returns the name of the playlist in the medialib as a String.

+ + + + +
+
static VALUE
+c_name (VALUE self)
+{
+        RbPlaylist *pl = NULL;
+
+        Data_Get_Struct (self, RbPlaylist, pl);
+
+        return pl->name_value;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + radd(path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under path to the playlist.

+ + + + +
+
static VALUE
+c_radd (VALUE self, VALUE path)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_STR (radd, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + remove → result + + + click to toggle source + +
+ + + +
+ +

Removes the playlist from the medialib.

+ + + + +
+
static VALUE
+c_remove (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (remove);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_entry(pos) → result + + + click to toggle source + +
+ + + +
+ +

Removes the entry at pos from the playlist.

+ + + + +
+
static VALUE
+c_remove_entry (VALUE self, VALUE pos)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT (remove_entry, pos)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + rinsert(pos, path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under path at position +pos in the playlist.

+ + + + +
+
static VALUE
+c_rinsert (VALUE self, VALUE pos, VALUE path)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT_STR (rinsert, pos, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + shuffle → result + + + click to toggle source + +
+ + + +
+ +

Shuffles the playlist.

+ + + + +
+
static VALUE
+c_shuffle (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (shuffle)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + sort(properties) → result + + + click to toggle source + +
+ + + +
+ +

Sorts the playlist on properties, which is an array of medialib +properties such as [“title”, “artist”].

+ + + + +
+
static VALUE
+c_sort (VALUE self, VALUE props)
+{
+        xmmsv_t *cprops;
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        cprops = parse_string_array2 (props);
+        res = xmmsc_playlist_sort (xmms->real, pl->name, cprops);
+        xmmsv_unref (cprops);
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Playlist/Async.html b/src/clients/lib/ruby/doc/Xmms/Playlist/Async.html new file mode 100644 index 000000000..4bc91328c --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Playlist/Async.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Playlist::Async - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::Async +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(plist) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 65
+def initialize(plist)
+        @real = plist
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args, &block) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 69
+def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Playlist/ClientError.html b/src/clients/lib/ruby/doc/Xmms/Playlist/ClientError.html new file mode 100644 index 000000000..cf3b11d96 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Playlist/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Playlist::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Playlist/DisconnectedError.html b/src/clients/lib/ruby/doc/Xmms/Playlist/DisconnectedError.html new file mode 100644 index 000000000..53cccbeaf --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Playlist/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Playlist::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Playlist/PlaylistError.html b/src/clients/lib/ruby/doc/Xmms/Playlist/PlaylistError.html new file mode 100644 index 000000000..319706a65 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Playlist/PlaylistError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Playlist::PlaylistError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::PlaylistError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Playlist/Sync.html b/src/clients/lib/ruby/doc/Xmms/Playlist/Sync.html new file mode 100644 index 000000000..e02c1f6e4 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Playlist/Sync.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Playlist::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(plist) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 65
+def initialize(plist)
+        @real = plist
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 69
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/RawDict.html b/src/clients/lib/ruby/doc/Xmms/RawDict.html new file mode 100644 index 000000000..04ca10a4e --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/RawDict.html @@ -0,0 +1,186 @@ + + + + + + +class Xmms::RawDict - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::RawDict +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + to_propdict( src_prefs ) → propdict + + + click to toggle source + +
+ + + +
+ +

Transforms a RawDict (key-source-value) to a +regular key-value dict. The optional src_prefs argument restricts which +sources are considered. The value may be a string or an array of strings, +which may contain wildcards. Example: rawdict.to_propdict( +['server','plugin/*'] )

+ + + + +
+
static VALUE
+c_raw_dict_to_propdict (int argc, VALUE *argv, VALUE self)
+{
+        VALUE value, sources = Qnil;
+        RbDict *dict = NULL, *dict2 = NULL;
+        xmmsv_t *inner_dict;
+        const char **csources = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        rb_scan_args (argc, argv, "01", &sources);
+
+        if (!NIL_P (sources))
+                csources = parse_string_array (sources);
+        inner_dict = xmmsv_propdict_to_dict (dict->real, csources);
+        if (csources)
+                free (csources);
+
+        value = Data_Make_Struct (cDict, RbDict,
+                                  c_dict_mark, c_dict_free,
+                                  dict2);
+
+        // don't add a second reference here
+        dict2->real = inner_dict;
+        dict2->parent = dict->parent;
+
+        rb_obj_call_init (value, 0, NULL);
+
+        return value;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Result.html b/src/clients/lib/ruby/doc/Xmms/Result.html new file mode 100644 index 000000000..e1eebc5a7 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Result.html @@ -0,0 +1,349 @@ + + + + + + +class Xmms::Result - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Result +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ error() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_get_error (VALUE self)
+{
+        RbResult *res;
+        xmmsv_t *val;
+        const char *error;
+        int ret;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        val = xmmsc_result_get_value (res->real);
+
+        ret = xmmsv_get_error (val, &error);
+
+        return rb_str_new2 (ret ? error : "");
+}
+
+ +
+ + + + +
+ + +
+ +
+ error?() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_is_error (VALUE self)
+{
+        RbResult *res;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        return xmmsc_result_iserror (res->real) ? Qtrue : Qfalse;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + notifier { |res| } + + + click to toggle source + +
+ + + +
+ +

Sets the block that's executed when res is handled. Used by +asyncronous results only.

+ + + + +
+
static VALUE
+c_notifier_set (VALUE self)
+{
+        VALUE callback;
+        RbResult *res = NULL;
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        callback = rb_block_proc ();
+
+        Data_Get_Struct (res->xmms, RbXmmsClient, xmms);
+        rb_ary_push (xmms->result_callbacks, callback);
+
+        xmmsc_result_notifier_set (res->real, on_signal, (void *) callback);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_value_get (VALUE self)
+{
+        RbResult *res = NULL;
+        xmmsv_t *val;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        val = xmmsc_result_get_value (res->real);
+
+        return extract_value (self, val);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + wait → self + + + click to toggle source + +
+ + + +
+ +

Waits for res to be handled.

+ + + + +
+
static VALUE
+c_wait (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_wait (res->real);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Result/ResultError.html b/src/clients/lib/ruby/doc/Xmms/Result/ResultError.html new file mode 100644 index 000000000..4b6638b9c --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Result/ResultError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Result::ResultError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Result::ResultError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/Result/ValueError.html b/src/clients/lib/ruby/doc/Xmms/Result/ValueError.html new file mode 100644 index 000000000..a4813efa8 --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/Result/ValueError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Result::ValueError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Result::ValueError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/Xmms/SignalResult.html b/src/clients/lib/ruby/doc/Xmms/SignalResult.html new file mode 100644 index 000000000..5ba50d2fd --- /dev/null +++ b/src/clients/lib/ruby/doc/Xmms/SignalResult.html @@ -0,0 +1,160 @@ + + + + + + +class Xmms::SignalResult - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::SignalResult +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ disconnect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_disconnect (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_disconnect (res->real);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/created.rid b/src/clients/lib/ruby/doc/created.rid new file mode 100644 index 000000000..8227661c3 --- /dev/null +++ b/src/clients/lib/ruby/doc/created.rid @@ -0,0 +1,16 @@ +Thu, 17 Mar 2016 00:13:13 +0100 +./wscript Thu, 02 Apr 2015 00:10:50 +0200 +./rb_result.h Sat, 30 Jan 2016 15:11:02 +0100 +./async.rb Sat, 30 Jan 2016 15:11:02 +0100 +./rb_result.c Wed, 16 Mar 2016 21:12:57 +0100 +./rb_collection.c Thu, 17 Mar 2016 00:11:19 +0100 +./rb_collection.h Sat, 30 Jan 2016 15:11:02 +0100 +./xmmsclient.rb Sat, 30 Jan 2016 15:11:02 +0100 +./rb_xmmsclient_glib.c Wed, 16 Mar 2016 21:42:22 +0100 +./rb_xmmsclient_ecore.c Sat, 30 Jan 2016 15:11:02 +0100 +./rb_xmmsclient_main.c Sat, 30 Jan 2016 15:11:02 +0100 +./rb_xmmsclient.c Wed, 16 Mar 2016 21:38:31 +0100 +./sync.rb Sat, 30 Jan 2016 15:11:02 +0100 +./rb_playlist.c Wed, 16 Mar 2016 20:44:59 +0100 +./rb_playlist.h Sat, 30 Jan 2016 15:11:02 +0100 +./rb_xmmsclient.h Sat, 30 Jan 2016 15:11:02 +0100 diff --git a/src/clients/lib/ruby/doc/css/fonts.css b/src/clients/lib/ruby/doc/css/fonts.css new file mode 100644 index 000000000..e9e721183 --- /dev/null +++ b/src/clients/lib/ruby/doc/css/fonts.css @@ -0,0 +1,167 @@ +/* + * Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + * with Reserved Font Name "Source". All Rights Reserved. Source is a + * trademark of Adobe Systems Incorporated in the United States and/or other + * countries. + * + * This Font Software is licensed under the SIL Open Font License, Version + * 1.1. + * + * This license is copied below, and is also available with a FAQ at: + * http://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 400; + src: local("Source Code Pro"), + local("SourceCodePro-Regular"), + url("fonts/SourceCodePro-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 700; + src: local("Source Code Pro Bold"), + local("SourceCodePro-Bold"), + url("fonts/SourceCodePro-Bold.ttf") format("truetype"); +} + +/* + * Copyright (c) 2010, Łukasz Dziedzic (dziedzic@typoland.com), + * with Reserved Font Name Lato. + * + * This Font Software is licensed under the SIL Open Font License, Version + * 1.1. + * + * This license is copied below, and is also available with a FAQ at: + * http://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Lato"; + font-style: normal; + font-weight: 300; + src: local("Lato Light"), + local("Lato-Light"), + url("fonts/Lato-Light.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: italic; + font-weight: 300; + src: local("Lato Light Italic"), + local("Lato-LightItalic"), + url("fonts/Lato-LightItalic.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: normal; + font-weight: 700; + src: local("Lato Regular"), + local("Lato-Regular"), + url("fonts/Lato-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: italic; + font-weight: 700; + src: local("Lato Italic"), + local("Lato-Italic"), + url("fonts/Lato-RegularItalic.ttf") format("truetype"); +} + +/* + * ----------------------------------------------------------- + * SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + * ----------------------------------------------------------- + * + * PREAMBLE + * The goals of the Open Font License (OFL) are to stimulate worldwide + * development of collaborative font projects, to support the font creation + * efforts of academic and linguistic communities, and to provide a free and + * open framework in which fonts may be shared and improved in partnership + * with others. + * + * The OFL allows the licensed fonts to be used, studied, modified and + * redistributed freely as long as they are not sold by themselves. The + * fonts, including any derivative works, can be bundled, embedded, + * redistributed and/or sold with any software provided that any reserved + * names are not used by derivative works. The fonts and derivatives, + * however, cannot be released under any other type of license. The + * requirement for fonts to remain under this license does not apply + * to any document created using the fonts or their derivatives. + * + * DEFINITIONS + * "Font Software" refers to the set of files released by the Copyright + * Holder(s) under this license and clearly marked as such. This may + * include source files, build scripts and documentation. + * + * "Reserved Font Name" refers to any names specified as such after the + * copyright statement(s). + * + * "Original Version" refers to the collection of Font Software components as + * distributed by the Copyright Holder(s). + * + * "Modified Version" refers to any derivative made by adding to, deleting, + * or substituting -- in part or in whole -- any of the components of the + * Original Version, by changing formats or by porting the Font Software to a + * new environment. + * + * "Author" refers to any designer, engineer, programmer, technical + * writer or other person who contributed to the Font Software. + * + * PERMISSION & CONDITIONS + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of the Font Software, to use, study, copy, merge, embed, modify, + * redistribute, and sell modified and unmodified copies of the Font + * Software, subject to the following conditions: + * + * 1) Neither the Font Software nor any of its individual components, + * in Original or Modified Versions, may be sold by itself. + * + * 2) Original or Modified Versions of the Font Software may be bundled, + * redistributed and/or sold with any software, provided that each copy + * contains the above copyright notice and this license. These can be + * included either as stand-alone text files, human-readable headers or + * in the appropriate machine-readable metadata fields within text or + * binary files as long as those fields can be easily viewed by the user. + * + * 3) No Modified Version of the Font Software may use the Reserved Font + * Name(s) unless explicit written permission is granted by the corresponding + * Copyright Holder. This restriction only applies to the primary font name as + * presented to the users. + * + * 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + * Software shall not be used to promote, endorse or advertise any + * Modified Version, except to acknowledge the contribution(s) of the + * Copyright Holder(s) and the Author(s) or with their explicit written + * permission. + * + * 5) The Font Software, modified or unmodified, in part or in whole, + * must be distributed entirely under this license, and must not be + * distributed under any other license. The requirement for fonts to + * remain under this license does not apply to any document created + * using the Font Software. + * + * TERMINATION + * This license becomes null and void if any of the above conditions are + * not met. + * + * DISCLAIMER + * THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + * DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + * OTHER DEALINGS IN THE FONT SOFTWARE. + */ + diff --git a/src/clients/lib/ruby/doc/css/rdoc.css b/src/clients/lib/ruby/doc/css/rdoc.css new file mode 100644 index 000000000..2f4dca7e0 --- /dev/null +++ b/src/clients/lib/ruby/doc/css/rdoc.css @@ -0,0 +1,590 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* vim: ft=css et sw=2 ts=2 sts=2 */ +/* Base Green is: #6C8C22 */ + +* { padding: 0; margin: 0; } + +body { + background: #fafafa; + font-family: Lato, sans-serif; + font-weight: 300; +} + +h1 span, +h2 span, +h3 span, +h4 span, +h5 span, +h6 span { + position: relative; + + display: none; + padding-left: 1em; + line-height: 0; + vertical-align: baseline; + font-size: 10px; +} + +h1 span { top: -1.3em; } +h2 span { top: -1.2em; } +h3 span { top: -1.0em; } +h4 span { top: -0.8em; } +h5 span { top: -0.5em; } +h6 span { top: -0.5em; } + +h1:hover span, +h2:hover span, +h3:hover span, +h4:hover span, +h5:hover span, +h6:hover span { + display: inline; +} + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} + +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +code, +pre { + font-family: "Source Code Pro", Monaco, monospace; +} + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +#search-field { + width: 98%; + background: white; + border: none; + height: 1.5em; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + text-align: left; +} +#search-field:focus { + background: #f1edba; +} +#search-field:-moz-placeholder, +#search-field::-webkit-input-placeholder { + font-weight: bold; + color: #666; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + +/* @group Index Page, Standalone file pages */ +.table-of-contents ul { + margin: 1em; + list-style: none; +} + +.table-of-contents ul ul { + margin-top: 0.25em; +} + +.table-of-contents ul :link, +.table-of-contents ul :visited { + font-size: 16px; +} + +.table-of-contents li { + margin-bottom: 0.25em; +} + +.table-of-contents li .toc-toggle { + width: 16px; + height: 16px; + background: url(images/add.png) no-repeat; +} + +.table-of-contents li .toc-toggle.open { + background: url(images/delete.png) no-repeat; +} + +/* @end */ + +/* @group Top-Level Structure */ + +nav { + float: left; + width: 260px; + font-family: Helvetica, sans-serif; + font-size: 14px; +} + +main { + display: block; + margin: 0 2em 5em 260px; + padding-left: 20px; + min-width: 340px; + font-size: 16px; +} + +main h1, +main h2, +main h3, +main h4, +main h5, +main h6 { + font-family: Helvetica, sans-serif; +} + +.table-of-contents main { + margin-left: 2em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; + font-size: smaller; +} + +/* @end */ + +/* @group navigation */ +nav { + margin-bottom: 1em; +} + +nav .nav-section { + margin-top: 2em; + border-top: 2px solid #aaa; + font-size: 90%; + overflow: hidden; +} + +nav h2 { + margin: 0; + padding: 2px 8px 2px 8px; + background-color: #e8e8e8; + color: #555; + font-size: 125%; + text-align: center; +} + +nav h3, +#table-of-contents-navigation { + margin: 0; + padding: 2px 8px 2px 8px; + text-align: right; + background-color: #e8e8e8; + color: #555; +} + +nav ul, +nav dl, +nav p { + padding: 4px 8px 0; + list-style: none; +} + +#project-navigation .nav-section { + margin: 0; + border-top: 0; +} + +#home-section h2 { + text-align: center; +} + +#table-of-contents-navigation { + font-size: 1.2em; + font-weight: bold; + text-align: center; +} + +#search-section { + margin-top: 0; + border-top: 0; +} + +#search-field-wrapper { + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + padding: 3px 8px; + background-color: #e8e8e8; + color: #555; +} + +ul.link-list li { + white-space: nowrap; + line-height: 1.4em; +} + +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +.calls-super { + background: url(images/arrow_up.png) no-repeat right center; +} + +/* @end */ + +/* @group Documentation Section */ +main { + color: #333; +} + +main > h1:first-child, +main > h2:first-child, +main > h3:first-child, +main > h4:first-child, +main > h5:first-child, +main > h6:first-child { + margin-top: 0px; +} + +main sup { + vertical-align: super; + font-size: 0.8em; +} + +/* The heading with the class name */ +main h1[class] { + margin-top: 0; + margin-bottom: 1em; + font-size: 2em; + color: #6C8C22; +} + +main h1 { + margin: 2em 0 0.5em; + font-size: 1.7em; +} + +main h2 { + margin: 2em 0 0.5em; + font-size: 1.5em; +} + +main h3 { + margin: 2em 0 0.5em; + font-size: 1.2em; +} + +main h4 { + margin: 2em 0 0.5em; + font-size: 1.1em; +} + +main h5 { + margin: 2em 0 0.5em; + font-size: 1em; +} + +main h6 { + margin: 2em 0 0.5em; + font-size: 1em; +} + +main p { + margin: 0 0 0.5em; + line-height: 1.4em; +} + +main pre { + margin: 1.2em 0.5em; + padding: 1em; + font-size: 0.8em; +} + +main hr { + margin: 1.5em 1em; + border: 2px solid #ddd; +} + +main blockquote { + margin: 0 2em 1.2em 1.2em; + padding-left: 0.5em; + border-left: 2px solid #ddd; +} + +main ol, +main ul { + margin: 1em 2em; +} + +main li > p { + margin-bottom: 0.5em; +} + +main dl { + margin: 1em 0.5em; +} + +main dt { + margin-bottom: 0.5em; + font-weight: bold; +} + +main dd { + margin: 0 1em 1em 0.5em; +} + +main header h2 { + margin-top: 2em; + border-width: 0; + border-top: 4px solid #bbb; + font-size: 130%; +} + +main header h3 { + margin: 2em 0 1.5em; + border-width: 0; + border-top: 3px solid #bbb; + font-size: 120%; +} + +.documentation-section-title { + position: relative; +} +.documentation-section-title .section-click-top { + position: absolute; + top: 6px; + left: 12px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-left: 0.5px; +} + +.documentation-section-title:hover .section-click-top { + visibility: visible; +} + +.constants-list > dl { + margin: 1em 0 2em; + border: 0; +} + +.constants-list > dl dt { + margin-bottom: 0.75em; + padding-left: 0; + font-family: "Source Code Pro", Monaco, monospace; + font-size: 110%; +} + +.constants-list > dl dt a { + color: inherit; +} + +.constants-list > dl dd { + margin: 0 0 2em 0; + padding: 0; + color: #666; +} + +.documentation-section h2 { + position: relative; +} + +.documentation-section h2 a { + position: absolute; + top: 8px; + right: 10px; + font-size: 12px; + color: #9b9877; + visibility: hidden; +} + +.documentation-section h2:hover a { + visibility: visible; +} + +/* @group Method Details */ + +main .method-source-code { + display: none; +} + +main .method-description .method-calls-super { + color: #333; + font-weight: bold; +} + +main .method-detail { + margin-bottom: 2.5em; + cursor: pointer; +} + +main .method-detail:target { + margin-left: -10px; + border-left: 10px solid #f1edba; +} + +main .method-heading { + position: relative; + font-family: "Source Code Pro", Monaco, monospace; + font-size: 110%; + font-weight: bold; + color: #333; +} +main .method-heading :link, +main .method-heading :visited { + color: inherit; +} +main .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 12px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +main .method-heading:hover .method-click-advice { + visibility: visible; +} + +main .method-alias .method-heading { + color: #666; +} + +main .method-description, +main .aliases { + margin-top: 0.75em; + color: #333; +} + +main .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +main .method-description ul { + margin-left: 1.5em; +} + +main #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +main .attribute-access-type { + text-transform: uppercase; + padding: 0 1em; +} +/* @end */ + +/* @end */ + +/* @group Source Code */ + +pre { + margin: 0.5em 0; + border: 1px dashed #999; + padding: 0.5em; + background: #262626; + color: white; + overflow: auto; +} + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #dc0000; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ + + +/* @group search results */ +#search-results { + font-family: Lato, sans-serif; + font-weight: 300; +} + +#search-results .search-match { + font-family: Helvetica, sans-serif; + font-weight: normal; +} + +#search-results .search-selected { + background: #e8e8e8; + border-bottom: 1px solid transparent; +} + +#search-results li { + list-style: none; + border-bottom: 1px solid #aaa; + margin-bottom: 0.5em; +} + +#search-results li:last-child { + border-bottom: none; + margin-bottom: 0; +} + +#search-results li p { + padding: 0; + margin: 0.5em; +} + +#search-results .search-namespace { + font-weight: bold; +} + +#search-results li em { + background: yellow; + font-style: normal; +} + +#search-results pre { + margin: 0.5em; + font-family: "Source Code Pro", Monaco, monospace; +} + +/* @end */ + diff --git a/src/clients/lib/ruby/doc/fonts/Lato-Light.ttf b/src/clients/lib/ruby/doc/fonts/Lato-Light.ttf new file mode 100644 index 000000000..b49dd4372 Binary files /dev/null and b/src/clients/lib/ruby/doc/fonts/Lato-Light.ttf differ diff --git a/src/clients/lib/ruby/doc/fonts/Lato-LightItalic.ttf b/src/clients/lib/ruby/doc/fonts/Lato-LightItalic.ttf new file mode 100644 index 000000000..7959fef07 Binary files /dev/null and b/src/clients/lib/ruby/doc/fonts/Lato-LightItalic.ttf differ diff --git a/src/clients/lib/ruby/doc/fonts/Lato-Regular.ttf b/src/clients/lib/ruby/doc/fonts/Lato-Regular.ttf new file mode 100644 index 000000000..839cd589d Binary files /dev/null and b/src/clients/lib/ruby/doc/fonts/Lato-Regular.ttf differ diff --git a/src/clients/lib/ruby/doc/fonts/Lato-RegularItalic.ttf b/src/clients/lib/ruby/doc/fonts/Lato-RegularItalic.ttf new file mode 100644 index 000000000..bababa09e Binary files /dev/null and b/src/clients/lib/ruby/doc/fonts/Lato-RegularItalic.ttf differ diff --git a/src/clients/lib/ruby/doc/fonts/SourceCodePro-Bold.ttf b/src/clients/lib/ruby/doc/fonts/SourceCodePro-Bold.ttf new file mode 100644 index 000000000..61e3090c1 Binary files /dev/null and b/src/clients/lib/ruby/doc/fonts/SourceCodePro-Bold.ttf differ diff --git a/src/clients/lib/ruby/doc/fonts/SourceCodePro-Regular.ttf b/src/clients/lib/ruby/doc/fonts/SourceCodePro-Regular.ttf new file mode 100644 index 000000000..85686d967 Binary files /dev/null and b/src/clients/lib/ruby/doc/fonts/SourceCodePro-Regular.ttf differ diff --git a/src/clients/lib/ruby/doc/images/add.png b/src/clients/lib/ruby/doc/images/add.png new file mode 100644 index 000000000..6332fefea Binary files /dev/null and b/src/clients/lib/ruby/doc/images/add.png differ diff --git a/src/clients/lib/ruby/doc/images/arrow_up.png b/src/clients/lib/ruby/doc/images/arrow_up.png new file mode 100644 index 000000000..1ebb19324 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/arrow_up.png differ diff --git a/src/clients/lib/ruby/doc/images/brick.png b/src/clients/lib/ruby/doc/images/brick.png new file mode 100644 index 000000000..7851cf34c Binary files /dev/null and b/src/clients/lib/ruby/doc/images/brick.png differ diff --git a/src/clients/lib/ruby/doc/images/brick_link.png b/src/clients/lib/ruby/doc/images/brick_link.png new file mode 100644 index 000000000..9ebf013a2 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/brick_link.png differ diff --git a/src/clients/lib/ruby/doc/images/bug.png b/src/clients/lib/ruby/doc/images/bug.png new file mode 100644 index 000000000..2d5fb90ec Binary files /dev/null and b/src/clients/lib/ruby/doc/images/bug.png differ diff --git a/src/clients/lib/ruby/doc/images/bullet_black.png b/src/clients/lib/ruby/doc/images/bullet_black.png new file mode 100644 index 000000000..57619706d Binary files /dev/null and b/src/clients/lib/ruby/doc/images/bullet_black.png differ diff --git a/src/clients/lib/ruby/doc/images/bullet_toggle_minus.png b/src/clients/lib/ruby/doc/images/bullet_toggle_minus.png new file mode 100644 index 000000000..b47ce55f6 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/bullet_toggle_minus.png differ diff --git a/src/clients/lib/ruby/doc/images/bullet_toggle_plus.png b/src/clients/lib/ruby/doc/images/bullet_toggle_plus.png new file mode 100644 index 000000000..9ab4a8966 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/bullet_toggle_plus.png differ diff --git a/src/clients/lib/ruby/doc/images/date.png b/src/clients/lib/ruby/doc/images/date.png new file mode 100644 index 000000000..783c83357 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/date.png differ diff --git a/src/clients/lib/ruby/doc/images/delete.png b/src/clients/lib/ruby/doc/images/delete.png new file mode 100644 index 000000000..08f249365 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/delete.png differ diff --git a/src/clients/lib/ruby/doc/images/find.png b/src/clients/lib/ruby/doc/images/find.png new file mode 100644 index 000000000..154747964 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/find.png differ diff --git a/src/clients/lib/ruby/doc/images/loadingAnimation.gif b/src/clients/lib/ruby/doc/images/loadingAnimation.gif new file mode 100644 index 000000000..82290f483 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/loadingAnimation.gif differ diff --git a/src/clients/lib/ruby/doc/images/macFFBgHack.png b/src/clients/lib/ruby/doc/images/macFFBgHack.png new file mode 100644 index 000000000..c6473b324 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/macFFBgHack.png differ diff --git a/src/clients/lib/ruby/doc/images/package.png b/src/clients/lib/ruby/doc/images/package.png new file mode 100644 index 000000000..da3c2a2d7 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/package.png differ diff --git a/src/clients/lib/ruby/doc/images/page_green.png b/src/clients/lib/ruby/doc/images/page_green.png new file mode 100644 index 000000000..de8e003f9 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/page_green.png differ diff --git a/src/clients/lib/ruby/doc/images/page_white_text.png b/src/clients/lib/ruby/doc/images/page_white_text.png new file mode 100644 index 000000000..813f712f7 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/page_white_text.png differ diff --git a/src/clients/lib/ruby/doc/images/page_white_width.png b/src/clients/lib/ruby/doc/images/page_white_width.png new file mode 100644 index 000000000..1eb880947 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/page_white_width.png differ diff --git a/src/clients/lib/ruby/doc/images/plugin.png b/src/clients/lib/ruby/doc/images/plugin.png new file mode 100644 index 000000000..6187b15ae Binary files /dev/null and b/src/clients/lib/ruby/doc/images/plugin.png differ diff --git a/src/clients/lib/ruby/doc/images/ruby.png b/src/clients/lib/ruby/doc/images/ruby.png new file mode 100644 index 000000000..f763a1688 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/ruby.png differ diff --git a/src/clients/lib/ruby/doc/images/tag_blue.png b/src/clients/lib/ruby/doc/images/tag_blue.png new file mode 100644 index 000000000..3f02b5f8f Binary files /dev/null and b/src/clients/lib/ruby/doc/images/tag_blue.png differ diff --git a/src/clients/lib/ruby/doc/images/tag_green.png b/src/clients/lib/ruby/doc/images/tag_green.png new file mode 100644 index 000000000..83ec984bd Binary files /dev/null and b/src/clients/lib/ruby/doc/images/tag_green.png differ diff --git a/src/clients/lib/ruby/doc/images/transparent.png b/src/clients/lib/ruby/doc/images/transparent.png new file mode 100644 index 000000000..d665e179e Binary files /dev/null and b/src/clients/lib/ruby/doc/images/transparent.png differ diff --git a/src/clients/lib/ruby/doc/images/wrench.png b/src/clients/lib/ruby/doc/images/wrench.png new file mode 100644 index 000000000..5c8213fef Binary files /dev/null and b/src/clients/lib/ruby/doc/images/wrench.png differ diff --git a/src/clients/lib/ruby/doc/images/wrench_orange.png b/src/clients/lib/ruby/doc/images/wrench_orange.png new file mode 100644 index 000000000..565a9330e Binary files /dev/null and b/src/clients/lib/ruby/doc/images/wrench_orange.png differ diff --git a/src/clients/lib/ruby/doc/images/zoom.png b/src/clients/lib/ruby/doc/images/zoom.png new file mode 100644 index 000000000..908612e39 Binary files /dev/null and b/src/clients/lib/ruby/doc/images/zoom.png differ diff --git a/src/clients/lib/ruby/doc/index.html b/src/clients/lib/ruby/doc/index.html new file mode 100644 index 000000000..88b240b2e --- /dev/null +++ b/src/clients/lib/ruby/doc/index.html @@ -0,0 +1,145 @@ + + + + + + +RDoc Documentation + + + + + + + + + + + + + + +
+

This is the API documentation for RDoc Documentation. +

+ + + + + diff --git a/src/clients/lib/ruby/doc/js/darkfish.js b/src/clients/lib/ruby/doc/js/darkfish.js new file mode 100644 index 000000000..b789a6563 --- /dev/null +++ b/src/clients/lib/ruby/doc/js/darkfish.js @@ -0,0 +1,161 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-heading').click( showSource ); +}; + +function hookSearch() { + var input = $('#search-field').eq(0); + var result = $('#search-results').eq(0); + $(result).show(); + + var search_section = $('#search-section').get(0); + $(search_section).show(); + + var search = new Search(search_data, input, result); + + search.renderItem = function(result) { + var li = document.createElement('li'); + var html = ''; + + // TODO add relative path to + + + + + + + + + + +
+

Table of Contents - RDoc Documentation

+ +

Pages

+ + +

Classes and Modules

+ + +

Methods

+ +
+ + + + diff --git a/src/clients/lib/ruby/doc/unknown.html b/src/clients/lib/ruby/doc/unknown.html new file mode 100644 index 000000000..93638aa0d --- /dev/null +++ b/src/clients/lib/ruby/doc/unknown.html @@ -0,0 +1,102 @@ + + + + + + +class unknown - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class unknown +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/doc/wscript.html b/src/clients/lib/ruby/doc/wscript.html new file mode 100644 index 000000000..fcb87dada --- /dev/null +++ b/src/clients/lib/ruby/doc/wscript.html @@ -0,0 +1,156 @@ + + + + + + +wscript - RDoc Documentation + + + + + + + + + + + + + + +
+ +

import os from waflib import Options, Utils, Logs

+ +

def build(bld):

+ +
source = """
+rb_xmmsclient_main.c
+rb_xmmsclient.c
+rb_playlist.c
+rb_collection.c
+rb_result.c
+""".split()
+
+bld(features = 'c cshlib rubyext',
+    target = 'xmmsclient_ext',
+    source = source,
+    uselib = 'DISABLE_STRICTPROTOTYPES',
+    use = 'xmmsclient',
+    includes = '../../../.. ../../../include ../../../includepriv',
+    install_path = '${ARCHDIR_RUBY}',
+    mac_bundle = bld.env.mac_bundle_enabled
+    )
+
+bld.install_files('${LIBDIR_RUBY}', 'xmmsclient.rb')
+bld.install_files('${LIBDIR_RUBY}/xmmsclient', 'sync.rb')
+bld.install_files('${LIBDIR_RUBY}/xmmsclient', 'async.rb')
+
+# glib
+bld(features = 'c cshlib rubyext',
+    target = 'xmmsclient_glib',
+    source = 'rb_xmmsclient_glib.c',
+    uselib = 'glib2 DISABLE_STRICTPROTOTYPES',
+    use = 'xmmsclient-glib xmmsclient',
+    includes = '../../../.. ../../../include ../../../includepriv',
+    install_path = '${ARCHDIR_RUBY}',
+    mac_bundle = bld.env.mac_bundle_enabled
+    )
+
+# ecore
+if 'src/clients/lib/xmmsclient-ecore' in bld.env.XMMS_OPTIONAL_BUILD:
+    bld(features = 'c cshlib rubyext',
+        target = 'xmmsclient_ecore',
+        source = 'rb_xmmsclient_ecore.c',
+        uselib = 'ecore DISABLE_STRICTPROTOTYPES',
+        use = 'xmmsclient-ecore xmmsclient',
+        includes = '../../../.. ../../../include ../../../includepriv',
+        install_path = '${ARCHDIR_RUBY}',
+        mac_bundle = bld.env.mac_bundle_enabled
+        )
+ +

def configure(conf):

+ +
conf.load("ruby")
+conf.check_ruby_version((1,8,0))
+conf.check_ruby_ext_devel()
+
+conf.check_cc(function_name="rb_protect_inspect", header_name="ruby.h",
+        uselib="RUBYEXT", mandatory=False)
+
+prefix = os.path.commonprefix([conf.env.ARCHDIR_RUBY, conf.env.PREFIX])
+if prefix != conf.env.PREFIX:
+    Logs.warn("Default ruby archdir is not under PREFIX. Specify path "
+              "manually using --with-ruby-archdir if you don't want the "
+              "ruby bindings to be installed to %s" % conf.env.ARCHDIR_RUBY)
+
+prefix = os.path.commonprefix([conf.env.LIBDIR_RUBY, conf.env.PREFIX])
+if prefix != conf.env.PREFIX:
+    Logs.warn("Default ruby libdir is not under PREFIX. Specify path "
+              "manually using --with-ruby-libdir if you don't want the "
+              "ruby bindings to be installed to %s" % conf.env.ARCHDIR_RUBY)
+
+return True
+ +

def options(opt):

+ +
opt.load('ruby')
+
+
+ + + + + diff --git a/src/clients/lib/ruby/html/Collection.html b/src/clients/lib/ruby/html/Collection.html new file mode 100644 index 000000000..5e3df1f8b --- /dev/null +++ b/src/clients/lib/ruby/html/Collection.html @@ -0,0 +1,539 @@ + + + + + + +class Collection - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection +

+ +
+ +
+ + + + +
+ + + + + +
+
+

Constants

+
+
+ +
NS_ALL + +
+ + +
NS_COLLECTIONS + +
+ + +
NS_PLAYLISTS + +
+ + +
+
+ + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + c = Xmms::Collection.new(type) + + + click to toggle source + +
+ + + +
+ +

Returns a new Xmms::Collection object of +type type.

+ + + + +
+
static VALUE
+c_coll_init (VALUE self, VALUE type)
+{
+        COLL_METHOD_HANDLER_HEADER
+
+        coll->real = xmmsv_new_coll (check_int32 (type));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + c = Xmms::Collection.parse(pattern) + + + click to toggle source + +
+ + + +
+ +

Returns a collection matching a String pattern. See the wiki for +details on how to construct a pattern string.

+ + + + +
+
static VALUE
+c_coll_parse (VALUE klass, VALUE pattern)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        if (!xmmsv_coll_parse (StringValuePtr (pattern), &coll->real)) {
+                rb_raise (ePatternError, "invalid pattern");
+        }
+
+        return obj;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + c = Xmms::Collection.universe + + + click to toggle source + +
+ + + +
+ +

Returns a collection referencing the “All Media” set.

+ + + + +
+
static VALUE
+c_coll_universe (VALUE klass)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        coll->real = xmmsv_new_coll (XMMS_COLLECTION_TYPE_UNIVERSE);
+
+        return obj;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + attributes + + + click to toggle source + +
+ + + +
+ +

Returns the attributes of the collection.

+ + + + +
+
static VALUE
+c_coll_attributes (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->attributes))
+                coll->attributes = rb_class_new_instance (1, &self, cAttributes);
+
+        return coll->attributes;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + idlist + + + click to toggle source + +
+ + + +
+ +

Gets the list of media ids that make up the collection.

+ + + + +
+
static VALUE
+c_coll_idlist_get (VALUE self)
+{
+        VALUE ary = rb_ary_new ();
+        xmmsv_t *ret = NULL;
+        xmmsv_list_iter_t *it = NULL;
+        int32_t entry;
+
+        COLL_METHOD_ADD_HANDLER_RET (idlist_get)
+
+        xmmsv_get_list_iter (ret, &it);
+        for (xmmsv_list_iter_first (it);
+             xmmsv_list_iter_valid (it);
+             xmmsv_list_iter_next (it)) {
+
+                xmmsv_list_iter_entry_int (it, &entry);
+                rb_ary_push (ary, INT2NUM (entry));
+        }
+        xmmsv_list_iter_explicit_destroy (it);
+
+        return ary;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + idlist=(_idlist_) + + + click to toggle source + +
+ + + +
+ +

Sets the list of media ids that make up the collection.

+ + + + +
+
static VALUE
+c_coll_idlist_set (VALUE self, VALUE ids)
+{
+        int i;
+        int *ary = NULL;
+        VALUE *rb_ary;
+        int rb_ary_len;
+
+        Check_Type (ids, T_ARRAY);
+        COLL_METHOD_HANDLER_HEADER
+
+        rb_ary = RARRAY_PTR (ids);
+        rb_ary_len = RARRAY_LEN (ids);
+
+        ary = malloc (sizeof (int) * (rb_ary_len + 1));
+
+        for (i = 0; i < rb_ary_len; i++)
+                ary[i] = NUM2INT (rb_ary[i]);
+
+        ary[i] = 0;
+
+        xmmsv_coll_set_idlist (coll->real, ary);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + operands + + + click to toggle source + +
+ + + +
+ +

Gets a list of the operands that make up the collection.

+ + + + +
+
static VALUE
+c_coll_operands (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->operands))
+                coll->operands = rb_class_new_instance (1, &self, cOperands);
+
+        return coll->operands;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + type + + + click to toggle source + +
+ + + +
+ +

Returns the type of the collection as an Integer.

+ + + + +
+
static VALUE
+c_coll_type_get (VALUE self)
+{
+        xmmsc_coll_type_t ret;
+
+        COLL_METHOD_ADD_HANDLER_RET (get_type)
+
+        return INT2NUM (ret);
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Collection/Attributes.html b/src/clients/lib/ruby/html/Collection/Attributes.html new file mode 100644 index 000000000..14963c4bb --- /dev/null +++ b/src/clients/lib/ruby/html/Collection/Attributes.html @@ -0,0 +1,674 @@ + + + + + + +class Collection::Attributes - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection::Attributes +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ [](p1) + + click to toggle source + +
+ + +
+ +

HAVE_RB_PROTECT_INSPECT

+ + + + +
+
static VALUE
+c_attrs_aref (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+        const char *value;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), &value);
+        if (!s)
+                return Qnil;
+
+        return rb_str_new2 (value);
+}
+
+ +
+ + + + +
+ + +
+ +
+ []=(p1, p2) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_aset (VALUE self, VALUE key, VALUE value)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+        StringValue (value);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_set_string (coll->real, StringValuePtr (key),
+                                         StringValuePtr (value));
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ delete(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_delete (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_remove (coll->real, StringValuePtr (key));
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_PAIR));
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: each_pair +
+ + + +
+ + +
+ +
+ each_key() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each_key (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_KEY));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each_pair() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: each +
+ +
+ + +
+ +
+ each_value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each_value (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_VALUE));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ has_key?(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_has_key (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), NULL);
+
+        return s ? Qtrue : Qfalse;
+}
+
+ +
+ + +
+ Also aliased as: include?, key?, member? +
+ + + +
+ + +
+ +
+ include?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ inspect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_inspect (VALUE self)
+{
+        return rb_protect_inspect (attrs_inspect, self, 0);
+}
+
+ +
+ + + + +
+ + +
+ +
+ key?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ member?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Collection/ClientError.html b/src/clients/lib/ruby/html/Collection/ClientError.html new file mode 100644 index 000000000..68c69c7f5 --- /dev/null +++ b/src/clients/lib/ruby/html/Collection/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Collection::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Collection/CollectionError.html b/src/clients/lib/ruby/html/Collection/CollectionError.html new file mode 100644 index 000000000..a18a20d9e --- /dev/null +++ b/src/clients/lib/ruby/html/Collection/CollectionError.html @@ -0,0 +1,102 @@ + + + + + + +class Collection::CollectionError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection::CollectionError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Collection/DisconnectedError.html b/src/clients/lib/ruby/html/Collection/DisconnectedError.html new file mode 100644 index 000000000..b3c27d2c0 --- /dev/null +++ b/src/clients/lib/ruby/html/Collection/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Collection::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Collection/Operands.html b/src/clients/lib/ruby/html/Collection/Operands.html new file mode 100644 index 000000000..88984b5d1 --- /dev/null +++ b/src/clients/lib/ruby/html/Collection/Operands.html @@ -0,0 +1,348 @@ + + + + + + +class Collection::Operands - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection::Operands +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ <<(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: push +
+ +
+ + +
+ +
+ delete(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_delete (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_remove_operand (coll->real, coll2->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *operands_list;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        operands_list = xmmsv_coll_operands_get (coll->real);
+
+        xmmsv_list_foreach (operands_list, operands_each, NULL);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ push(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_push (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_add_operand (coll->real, coll2->real);
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: << +
+ + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Collection/PatternError.html b/src/clients/lib/ruby/html/Collection/PatternError.html new file mode 100644 index 000000000..ce81a7541 --- /dev/null +++ b/src/clients/lib/ruby/html/Collection/PatternError.html @@ -0,0 +1,102 @@ + + + + + + +class Collection::PatternError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Collection::PatternError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms.html b/src/clients/lib/ruby/html/Xmms.html new file mode 100644 index 000000000..6f5de434f --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms.html @@ -0,0 +1,232 @@ + + + + + + +module Xmms - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms +

+ +
+ +
+ + + + +
+ + + + + +
+
+

Constants

+
+
+ +
VERSION + +
+ + +
+
+ + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + decode_url(url) → String + + + click to toggle source + +
+ + + +
+ +

Decodes a url-encoded string url and returns it in UNKNOWN +ENCODING. Use with caution.

+ + + + +
+
static VALUE
+m_decode_url (VALUE self, VALUE str)
+{
+        const unsigned char *burl;
+        unsigned int blen;
+        xmmsv_t *strv, *decoded;
+        VALUE url = Qnil;
+
+        strv = xmmsv_new_string (StringValuePtr (str));
+
+        decoded = xmmsv_decode_url (strv);
+
+        if (!decoded)
+                goto out;
+
+        if (!xmmsv_get_bin (decoded, &burl, &blen))
+                goto out;
+
+        url = rb_str_new ((char *) burl, blen);
+
+out:
+        if (decoded)
+                xmmsv_unref (decoded);
+
+        xmmsv_unref (strv);
+
+        return url;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + userconfdir → String + + + click to toggle source + +
+ + + +
+ +

Returns the xmms2 configuration directory for the current user.

+ + + + +
+
static VALUE
+m_userconfdir_get (VALUE self)
+{
+        const char *p;
+        char path[XMMS_PATH_MAX];
+
+        p = xmmsc_userconfdir_get (path, XMMS_PATH_MAX);
+
+        return p ? rb_str_new2 (p) : Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/BroadcastResult.html b/src/clients/lib/ruby/html/Xmms/BroadcastResult.html new file mode 100644 index 000000000..fe0394784 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/BroadcastResult.html @@ -0,0 +1,160 @@ + + + + + + +class Xmms::BroadcastResult - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::BroadcastResult +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ disconnect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_disconnect (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_disconnect (res->real);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Client.html b/src/clients/lib/ruby/html/Xmms/Client.html new file mode 100644 index 000000000..8487858bc --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Client.html @@ -0,0 +1,3550 @@ + + + + + + +class Xmms::Client - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + Xmms::Client.new(name) → xc + + + click to toggle source + +
+ + + +
+ +

Creates an Xmms::Client object.

+ + + + +
+
static VALUE
+c_init (VALUE self, VALUE name)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        if (!(xmms->real = xmmsc_init (StringValuePtr (name)))) {
+                rb_raise (rb_eNoMemError, "failed to allocate memory");
+                return Qnil;
+        }
+
+        xmms->deleted = false;
+        xmms->result_callbacks = rb_ary_new ();
+        xmms->disconnect_cb = Qnil;
+        xmms->io_need_out_cb = Qnil;
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + bindata_add(str) → result + + + click to toggle source + +
+ + + +
+ +

Stores binary data on the server.

+ + + + +
+
static VALUE
+c_bindata_add (VALUE self, VALUE data)
+{
+        METHOD_ADD_HANDLER_BIN (bindata_add, data);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + bindata_list → result + + + click to toggle source + +
+ + + +
+ +

List all bindata hashes stored on the server.

+ + + + +
+
static VALUE
+c_bindata_list (VALUE self)
+{
+        METHOD_ADD_HANDLER (bindata_list);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + bindata_remove(hash) → result + + + click to toggle source + +
+ + + +
+ +

Remove a datafile from the server.

+ + + + +
+
static VALUE
+c_bindata_remove (VALUE self, VALUE hash)
+{
+        METHOD_ADD_HANDLER_STR (bindata_remove, hash);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + bindata_retrieve(hash) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the bindata entry specified by hash (hex string) from the server.

+ + + + +
+
static VALUE
+c_bindata_retrieve (VALUE self, VALUE hash)
+{
+        METHOD_ADD_HANDLER_STR (bindata_retrieve, hash);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_coll_changed → result + + + click to toggle source + +
+ + + +
+ +

The collection_changed broadcast, if requested, is called anytime a +collection is altered.

+ + + + +
+
static VALUE
+c_broadcast_coll_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_collection_changed)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_config_value_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves configuration properties as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_config_value_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_config_value_changed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_mediainfo_reader_status → result + + + click to toggle source + +
+ + + +
+ +

Requests the status of the mediainfo reader.

+ + + + +
+
static VALUE
+c_broadcast_mediainfo_reader_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_mediainfo_reader_status);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_added → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of an added medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_added (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_added);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of a changed medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_changed (VALUE self)
+{
+        RB_XMMS_DEPRECATED (broadcast_medialib_entry_changed, broadcast_medialib_entry_updated);
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_updated);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_removed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of an removed medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_removed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_removed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_medialib_entry_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id of a changed medialib entry as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_medialib_entry_updated (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_updated);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playback_current_id → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the media id of the currently played track as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_playback_current_id (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_current_id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playback_status → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playback status as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_playback_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_status);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_volume_changed → result + + + click to toggle source + +
+ + + +
+ +

Registers a broadcast handler that's evoked when the playback volume +changes.

+ + + + +
+
static VALUE
+c_broadcast_playback_volume_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_volume_changed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playlist_changed → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a hash describing the change to the playlist as a broadcast.

+ + + + +
+
static VALUE
+c_broadcast_playlist_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_changed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playlist_current_pos → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the current playlist position as a broadcast. See +playlist_current_pos.

+ + + + +
+
static VALUE
+c_broadcast_playlist_current_pos (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_current_pos);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_playlist_loaded → result + + + click to toggle source + +
+ + + +
+ +

Will be called when a playlist has been loaded.

+ + + + +
+
static VALUE
+c_broadcast_playlist_loaded (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_loaded);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + broadcast_quit → result + + + click to toggle source + +
+ + + +
+ +

Will be called when the server is terminating.

+ + + + +
+
static VALUE
+c_broadcast_quit (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_quit);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_find(id, ns) → result + + + click to toggle source + +
+ + + +
+ +

Find all collections in the given namespace ns which contain +id.

+ + + + +
+
static VALUE
+c_coll_find (VALUE self, VALUE id, VALUE ns)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_coll_find (xmms->real, check_int32 (id),
+                               StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_get(name, [ns]) + + + click to toggle source + +
+ + + +
+ +

Returns a result containing an Xmms::Collection object referencing the +collection named name. The namespace ns is searched or +all namespaces if unspecified.

+ + + + +
+
static VALUE
+c_coll_get (int argc, VALUE *argv, VALUE self)
+{
+        VALUE name, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "11", &name, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_get (xmms->real, StringValuePtr (name),
+                                      XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_get (xmms->real, StringValuePtr (name),
+                                      StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_idlist_from_playlist_file(path) → result + + + click to toggle source + +
+ + + +
+ +

Returns a collection of the idlist type from the playlist file at +path. path must be an unencoded string.

+ + + + +
+
static VALUE
+c_coll_idlist_from_playlist_file (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (coll_idlist_from_playlist_file, path)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_list([ns]) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves an array of the names of all the collections stored in the +medialib under the namespace ns. If ns is not specified, +it defaults to ALL.

+ + + + +
+
static VALUE
+c_coll_list (int argc, VALUE *argv, VALUE self)
+{
+        VALUE ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "01", &ns);
+
+        if (NIL_P (ns))
+                ns = rb_str_new2 (XMMS_COLLECTION_NS_ALL);
+
+        res = xmmsc_coll_list (xmms->real, StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_query(coll, spec) → result + + + click to toggle source + +
+ + + +
+ + + + + + +
+
static VALUE
+c_coll_query (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, spec;
+        xmmsv_t *cspec;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "2", &coll, &spec);
+
+        cspec = xmmsv_new_dict ();
+
+        VALUE args = rb_ary_new3(4, xmms, coll, spec, (VALUE) cspec);
+
+        res = (xmmsc_result_t *) rb_ensure (c_coll_query_fragile, args,
+                                            c_coll_query_cleanup, (VALUE) cspec);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_query_ids(coll, [order], [start], [len]) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a list of all the ids of media matched by the collection. +order specifies a list of properties to order by or no order if +omitted. start and len determine the offset at which to +start retrieving ids and the maximum number of ids to retrieve, +respectively.

+ + + + +
+
static VALUE
+c_coll_query_ids (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, order = Qnil, start, len = Qnil;
+        xmmsv_t *corder = NULL;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "13", &coll, &order, &start, &len);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        res = xmmsc_coll_query_ids (xmms->real,
+                                    FROM_XMMS_CLIENT_COLLECTION (coll),
+                                    corder,
+                                    NIL_P (start) ? 0 : NUM2INT (start),
+                                    NIL_P (start) ? 0 : NUM2INT (len));
+
+        if (corder)
+                xmmsv_unref (corder);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_query_info(coll, fetch, [order], [start], [len], [group]) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves media info of media matched by the collection. fetch +should contain an array of properties to retrieve from the collection. +order specifies a list of properties to order by or no order if +omitted. start and len determine the offset at which to +start retrieving info and the maximum number of ids to retrieve, +respectively. group defines a list of properties to group by or no +grouping if omitted.

+ + + + +
+
static VALUE
+c_coll_query_info (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, order = Qnil, start, len, fetch, group = Qnil;
+        xmmsv_t *cfetch = NULL, *corder = NULL, *cgroup = NULL;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "24", &coll, &fetch, &order, &start, &len,
+                      &group);
+
+        cfetch = parse_string_array2 (fetch);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        if (!NIL_P (group))
+                cgroup = parse_string_array2 (group);
+
+        res = xmmsc_coll_query_infos (xmms->real,
+                                    FROM_XMMS_CLIENT_COLLECTION (coll),
+                                    corder,
+                                    NIL_P (start) ? 0 : NUM2INT (start),
+                                    NIL_P (start) ? 0 : NUM2INT (len),
+                                    cfetch,
+                                    cgroup);
+        xmmsv_unref (cfetch);
+        if (corder) {
+                xmmsv_unref (corder);
+        }
+        if (cgroup) {
+                xmmsv_unref (cgroup);
+        }
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_remove(name, [ns]) → result + + + click to toggle source + +
+ + + +
+ +

Remove the collection named name from the media library. The +collection is removed from the namespace ns or all namespaces if +unspecified.

+ + + + +
+
static VALUE
+c_coll_remove (int argc, VALUE *argv, VALUE self)
+{
+        VALUE name, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "11", &name, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_remove (xmms->real, StringValuePtr (name),
+                                         XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_remove (xmms->real, StringValuePtr (name),
+                                         StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_rename(old, new, [ns]) → result + + + click to toggle source + +
+ + + +
+ +

Rename the saved collection from old to new within the +namespace ns or all namespaces.

+ + + + +
+
static VALUE
+c_coll_rename (int argc, VALUE *argv, VALUE self)
+{
+        VALUE old, new, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "21", &old, &new, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_rename (xmms->real,
+                                         StringValuePtr (old),
+                                         StringValuePtr (new),
+                                         XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_rename (xmms->real,
+                                         StringValuePtr (old),
+                                         StringValuePtr (new),
+                                         StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + coll_save(coll, name, ns) → result + + + click to toggle source + +
+ + + +
+ +

Save the collection coll named name under the namespace +ns to the media library.

+ + + + +
+
static VALUE
+c_coll_save (VALUE self, VALUE coll, VALUE name, VALUE ns)
+{
+        METHOD_HANDLER_HEADER
+
+        /* FIXME: Check that we actually have a Collection object */
+
+        res = xmmsc_coll_save (xmms->real,
+                               FROM_XMMS_CLIENT_COLLECTION (coll),
+                               StringValuePtr (name),
+                               StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_get_value(key) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the value of the configuration property at key.

+ + + + +
+
static VALUE
+c_config_get_value (VALUE self, VALUE key)
+{
+        METHOD_ADD_HANDLER_STR (config_get_value, key);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_list_values → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a list of all config values.

+ + + + +
+
static VALUE
+c_config_list_values (VALUE self)
+{
+        METHOD_ADD_HANDLER (config_list_values);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_register_value(key, default_value) → result + + + click to toggle source + +
+ + + +
+ +

Registers a configuration property at key with the given default +value.

+ + + + +
+
static VALUE
+c_config_register_value (VALUE self, VALUE key, VALUE defval)
+{
+        METHOD_ADD_HANDLER_STR_STR (config_register_value, key, defval);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + config_set_value(key, value) → result + + + click to toggle source + +
+ + + +
+ +

Sets the value of the configuration property at key to +value.

+ + + + +
+
static VALUE
+c_config_set_value (VALUE self, VALUE key, VALUE val)
+{
+        METHOD_ADD_HANDLER_STR_STR (config_set_value, key, val);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + connect([path]) → self + + + click to toggle source + +
+ + + +
+ +

Connects xc to the XMMS2 daemon listening at path. If +path isn't given, the default path is used.

+ + + + +
+
static VALUE
+c_connect (int argc, VALUE *argv, VALUE self)
+{
+        VALUE path;
+        RbXmmsClient *xmms = NULL;
+        char *p = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "01", &path);
+
+        if (!NIL_P (path))
+                p = StringValuePtr (path);
+
+        if (!xmmsc_connect (xmms->real, p))
+                rb_raise (eClientError,
+                          "cannot connect to daemon (%s)",
+                          xmmsc_get_last_error (xmms->real));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ delete!() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_delete (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_unref (xmms->real);
+        xmms->deleted = true;
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_disconnect → nil + + + click to toggle source + +
+ + + +
+ +

Disconnects the IPC socket. This should only be used by event loop +implementations.

+ + + + +
+
static VALUE
+c_io_disconnect (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_disconnect (xmms->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_fd → integer + + + click to toggle source + +
+ + + +
+ +

Returns the file descriptor of the Xmms::Client +IPC socket.

+ + + + +
+
static VALUE
+c_io_fd (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        return INT2NUM (xmmsc_io_fd_get (xmms->real));
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_in_handle → nil + + + click to toggle source + +
+ + + +
+ +

Retrieves one incoming (from server) clientlib command if there are any in +the buffer.

+ + + + +
+
static VALUE
+c_io_in_handle (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_in_handle (xmms->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_on_need_out { |flag| } + + + click to toggle source + +
+ + + +
+ +

Sets the block that's called when the output socket state changes.

+ + + + +
+
static VALUE
+c_io_on_need_out (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmms->io_need_out_cb = rb_block_proc ();
+
+        xmmsc_io_need_out_callback_set (xmms->real,
+                                        on_io_need_out, (void *) self);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_out_handle → nil + + + click to toggle source + +
+ + + +
+ +

Sends one outgoing (to server) clientlib command. You should check io_want_out before calling this +method.

+ + + + +
+
static VALUE
+c_io_out_handle (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_out_handle (xmms->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + io_want_out → true or false + + + click to toggle source + +
+ + + +
+ +

Returns true if an outgoing (to server) clientlib command is +pending, false otherwise.

+ + + + +
+
static VALUE
+c_io_want_out (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        return xmmsc_io_want_out (xmms->real) ? Qtrue : Qfalse;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + last_error → string or nil + + + click to toggle source + +
+ + + +
+ +

Returns the last error that occured in xc or nil, if +no error occured yet.

+ + + + +
+
static VALUE
+c_last_error_get (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+        const char *s;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        s = xmmsc_get_last_error (xmms->real);
+
+        return s ? rb_str_new2 (s) : Qnil;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + main_stats → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a hash containing statistics about the daemon.

+ + + + +
+
static VALUE
+c_main_stats (VALUE self)
+{
+        METHOD_ADD_HANDLER (main_stats);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_add_entry(url) → result + + + click to toggle source + +
+ + + +
+ +

Adds url to the medialib.

+ + + + +
+
static VALUE
+c_medialib_add_entry (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (medialib_add_entry, url);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_move(id, url) → result + + + click to toggle source + +
+ + + +
+ +

Moves the entry specified by id to a new URL without changing +mediainfo.

+ + + + +
+
static VALUE
+c_medialib_entry_move (VALUE self, VALUE id, VALUE url)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_medialib_move_entry (xmms->real, check_int32 (id),
+                                         StringValuePtr (url));
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_property_remove(id, key, *source) → result + + + click to toggle source + +
+ + + +
+ +

Remove a custom field in the medialib associated with the entry +id. source is an optional argument that describes where +to write the mediainfo. If source is omitted, +“client/<yourclient>” is used, where <yourclient> is the name +you specified in ::new.

+ + + + +
+
static VALUE
+c_medialib_entry_property_remove (int argc, VALUE *argv, VALUE self)
+{
+        VALUE tmp, key, src = Qnil;
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+        const char *ckey;
+        int32_t id;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "21", &tmp, &key, &src);
+
+        id = check_int32 (tmp);
+        Check_Type (key, T_SYMBOL);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        if (NIL_P (src))
+                res = xmmsc_medialib_entry_property_remove (xmms->real, id,
+                                                            ckey);
+        else
+                res = xmmsc_medialib_entry_property_remove_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_property_set(id, key, value, *source) → result + + + click to toggle source + +
+ + + +
+ +

Write info to the medialib at id. source is an optional +argument that describes where to write the mediainfo. If source is +omitted, the mediainfo is written to “client/<yourclient>” where +<yourclient> is the name you specified in ::new.

+ + + + +
+
static VALUE
+c_medialib_entry_property_set (int argc, VALUE *argv, VALUE self)
+{
+        VALUE tmp, key, value, src = Qnil;
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+        const char *ckey;
+        bool is_str = false;
+        int32_t id, ivalue;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "31", &tmp, &key, &value, &src);
+
+        id = check_int32 (tmp);
+        Check_Type (key, T_SYMBOL);
+
+        if (!NIL_P (rb_check_string_type (value)))
+                is_str = true;
+        else
+                ivalue = check_int32 (value);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        if (NIL_P (src) && is_str)
+                res = xmmsc_medialib_entry_property_set_str (xmms->real, id,
+                                                             ckey,
+                                                             StringValuePtr (value));
+        else if (NIL_P (src))
+                res = xmmsc_medialib_entry_property_set_int (xmms->real, id,
+                                                             ckey, ivalue);
+        else if (is_str)
+                res = xmmsc_medialib_entry_property_set_str_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey,
+                        StringValuePtr (value));
+        else
+                res = xmmsc_medialib_entry_property_set_int_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey, ivalue);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_entry_remove(id) → result + + + click to toggle source + +
+ + + +
+ +

Removes the entry specified by id from the medialib.

+ + + + +
+
static VALUE
+c_medialib_entry_remove (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_remove_entry, id)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_get_id(url) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the id corresponding to url.

+ + + + +
+
static VALUE
+c_medialib_get_id (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (medialib_get_id, url);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_get_info(id) → result + + + click to toggle source + +
+ + + +
+ +

Retrieves medialib info for id.

+ + + + +
+
static VALUE
+c_medialib_get_info (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_get_info, id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_path_import(path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under path to the medialib.

+ + + + +
+
static VALUE
+c_medialib_path_import (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (medialib_import_path, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_path_import(path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under the url encoded path to +the medialib.

+ + + + +
+
static VALUE
+c_medialib_path_import_encoded (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (medialib_import_path_encoded, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + medialib_rehash(id) → result + + + click to toggle source + +
+ + + +
+ +

Rehashes the medialib entry at id or the whole medialib if +id == 0.

+ + + + +
+
static VALUE
+c_medialib_rehash (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_rehash, id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + on_disconnect { } → self + + + click to toggle source + +
+ + + +
+ +

Sets the block that's executed when xc is disconnected from +the XMMS2 daemon.

+ + + + +
+
static VALUE
+c_on_disconnect (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmms->disconnect_cb = rb_block_proc ();
+
+        xmmsc_disconnect_callback_set (xmms->real,
+                                       on_disconnect, (void *) self);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_current_id → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the media id of the currently played track.

+ + + + +
+
static VALUE
+c_playback_current_id (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_current_id);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_pause → result + + + click to toggle source + +
+ + + +
+ +

Pauses playback.

+ + + + +
+
static VALUE
+c_playback_pause (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_pause);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_playtime → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playtime.

+ + + + +
+
static VALUE
+c_playback_playtime (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_playtime);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_ms(ms) → result + + + click to toggle source + +
+ + + +
+ +

Seek to the song position given in ms.

+ + + + +
+
static VALUE
+c_playback_seek_ms (VALUE self, VALUE ms)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_ms (xmms->real,
+                                      check_int32 (ms),
+                                      XMMS_PLAYBACK_SEEK_SET);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_ms_rel(ms) → result + + + click to toggle source + +
+ + + +
+ +

Seek in the song by the offset given in ms.

+ + + + +
+
static VALUE
+c_playback_seek_ms_rel (VALUE self, VALUE ms)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_ms (xmms->real,
+                                      check_int32 (ms),
+                                      XMMS_PLAYBACK_SEEK_CUR);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_samples(samples) → result + + + click to toggle source + +
+ + + +
+ +

Seek to the song position given in samples.

+ + + + +
+
static VALUE
+c_playback_seek_samples (VALUE self, VALUE samples)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_samples (xmms->real,
+                                           check_int32 (samples),
+                                           XMMS_PLAYBACK_SEEK_SET);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_seek_samples_rel(samples) → result + + + click to toggle source + +
+ + + +
+ +

Seek in the song position by the offset given in samples.

+ + + + +
+
static VALUE
+c_playback_seek_samples_rel (VALUE self, VALUE samples)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_samples (xmms->real,
+                                           check_int32 (samples),
+                                           XMMS_PLAYBACK_SEEK_CUR);
+
+        METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_start → result + + + click to toggle source + +
+ + + +
+ +

Starts playback.

+ + + + +
+
static VALUE
+c_playback_start (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_start);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_status → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playback status.

+ + + + +
+
static VALUE
+c_playback_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_status);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_stop → result + + + click to toggle source + +
+ + + +
+ +

Stops playback.

+ + + + +
+
static VALUE
+c_playback_stop (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_stop);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_tickle → result + + + click to toggle source + +
+ + + +
+ +

Advances to the next playlist entry.

+ + + + +
+
static VALUE
+c_playback_tickle (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_tickle);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_volume_get → result + + + click to toggle source + +
+ + + +
+ +

Gets the current playback volume.

+ + + + +
+
static VALUE
+c_playback_volume_get (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        res = xmmsc_playback_volume_get (xmms->real);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playback_volume_set(channel, volume) → result + + + click to toggle source + +
+ + + +
+ +

Sets playback volume for channel to volume.

+ + + + +
+
static VALUE
+c_playback_volume_set (VALUE self, VALUE channel, VALUE volume)
+{
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        Check_Type (channel, T_SYMBOL);
+        Check_Type (volume, T_FIXNUM);
+
+        res = xmmsc_playback_volume_set (xmms->real,
+                                         rb_id2name (SYM2ID (channel)),
+                                         NUM2INT (volume));
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist([name]) → p + + + click to toggle source + +
+ + + +
+ +

Shortcut for Xmms::Playlist.new. +Creates a new Xmms::Playlist object tied to the +current Xmms::Client instance. name is +is the name of the playlist and the active playlist will be used if it is +not specified. Raises PlaylistError if the playlist name is invalid.

+ + + + +
+
static VALUE
+c_playlist (int argc, VALUE *argv, VALUE self)
+{
+        VALUE args[2] = {self, Qnil};
+
+        rb_scan_args (argc, argv, "01", &args[1]);
+
+        return rb_class_new_instance (2, args, cPlaylist);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_current_active → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the name of the active playlist.

+ + + + +
+
static VALUE
+c_playlist_current_active (VALUE self)
+{
+        METHOD_ADD_HANDLER (playlist_current_active);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_list → result + + + click to toggle source + +
+ + + +
+ +

Retrieves a list of all saved playlists from the medialib. Note that +clients should treat internally used playlists (marked with a leading +underscore) carefully.

+ + + + +
+
static VALUE
+c_playlist_list (VALUE self)
+{
+        METHOD_ADD_HANDLER (playlist_list);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_set_next(pos) → result + + + click to toggle source + +
+ + + +
+ +

Sets the next song to be played to pos (an absolute position).

+ + + + +
+
static VALUE
+c_playlist_set_next (VALUE self, VALUE pos)
+{
+        METHOD_ADD_HANDLER_INT (playlist_set_next, pos);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_set_next_rel(pos) → result + + + click to toggle source + +
+ + + +
+ +

Sets the next song to be played based on the current position where +pos is a value relative to the current position.

+ + + + +
+
static VALUE
+c_playlist_set_next_rel (VALUE self, VALUE pos)
+{
+        METHOD_ADD_HANDLER_INT (playlist_set_next_rel, pos);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + plugin_list → result + + + click to toggle source + +
+ + + +
+ +

Retrieves an array containing a hash of information for each plugin.

+ + + + +
+
static VALUE
+c_plugin_list (int argc, VALUE *argv, VALUE self)
+{
+        VALUE type = Qnil;
+
+        rb_scan_args (argc, argv, "01", &type);
+
+        if (NIL_P (type))
+                type = INT2FIX (XMMS_PLUGIN_TYPE_ALL);
+
+        METHOD_ADD_HANDLER_INT (main_list_plugins, type);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + quit → result + + + click to toggle source + +
+ + + +
+ +

Shuts down the XMMS2 daemon.

+ + + + +
+
static VALUE
+c_quit (VALUE self)
+{
+        METHOD_ADD_HANDLER (quit);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + signal_mediainfo_reader_unindexed → result + + + click to toggle source + +
+ + + +
+ +

Requests the number of unindexed entries in the medialib.

+ + + + +
+
static VALUE
+c_signal_mediainfo_reader_unindexed (VALUE self)
+{
+        METHOD_ADD_HANDLER (signal_mediainfo_reader_unindexed);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + signal_playback_playtime → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the playtime as a signal.

+ + + + +
+
static VALUE
+c_signal_playback_playtime (VALUE self)
+{
+        METHOD_ADD_HANDLER (signal_playback_playtime);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + xform_media_browse(url) → result + + + click to toggle source + +
+ + + +
+ +

returns a list of files from the server

+ + + + +
+
static VALUE
+c_xform_media_browse (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (xform_media_browse, url);
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Client/Async.html b/src/clients/lib/ruby/html/Xmms/Client/Async.html new file mode 100644 index 000000000..02acb515f --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Client/Async.html @@ -0,0 +1,230 @@ + + + + + + +class Xmms::Client::Async - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::Async +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(name) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 22
+def initialize(name)
+        @real = Xmms::Client.new(name)
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args, &block) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 26
+def method_missing(id, *args, &block)
+        args.push(&block) if(id == 'on_disconnect')
+        ret = @real.send(id, *args)
+        if(block_given? && (ret.is_a?(Xmms::Result) ||
+           ret.is_a?(Xmms::BroadcastResult) || ret.is_a?(Xmms::SignalResult)))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Client))
+                self
+        elsif(ret.is_a?(Xmms::Collection))
+                Xmms::Collection::Async.new(ret)
+        elsif(ret.is_a?(Xmms::Playlist))
+                Xmms::Playlist::Async.new(ret)
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Client/ClientError.html b/src/clients/lib/ruby/html/Xmms/Client/ClientError.html new file mode 100644 index 000000000..5848bc8c5 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Client/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Client::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Client/DisconnectedError.html b/src/clients/lib/ruby/html/Xmms/Client/DisconnectedError.html new file mode 100644 index 000000000..ec5eefc68 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Client/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Client::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Client/Sync.html b/src/clients/lib/ruby/html/Xmms/Client/Sync.html new file mode 100644 index 000000000..c20a9c214 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Client/Sync.html @@ -0,0 +1,230 @@ + + + + + + +class Xmms::Client::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Client::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(name) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 22
+def initialize(name)
+        @real = Xmms::Client.new(name)
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 26
+def method_missing(id, *args)
+        args.push(&block) if(id == 'on_disconnect')
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result) || ret.is_a?(Xmms::BroadcastResult) ||
+           ret.is_a?(Xmms::SignalResult))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Client))
+                self
+        elsif(ret.is_a?(Xmms::Collection))
+                Xmms::Collection::Sync.new(ret)
+        elsif(ret.is_a?(Xmms::Playlist))
+                Xmms::Playlist::Sync.new(ret)
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection.html b/src/clients/lib/ruby/html/Xmms/Collection.html new file mode 100644 index 000000000..975390c4c --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection.html @@ -0,0 +1,855 @@ + + + + + + +class Xmms::Collection - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection +

+ +
+ +
+ + + + +
+ + + + + +
+
+

Constants

+
+
+ +
NS_ALL + +
+ + +
NS_COLLECTIONS + +
+ + +
NS_PLAYLISTS + +
+ + +
+
+ + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + c = Xmms::Collection.new(type) + + + click to toggle source + +
+ + + +
+ +

Returns a new Xmms::Collection object of type +type.

+ + + + +
+
static VALUE
+c_coll_init (VALUE self, VALUE type)
+{
+        COLL_METHOD_HANDLER_HEADER
+
+        coll->real = xmmsv_new_coll (check_int32 (type));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + c = Xmms::Collection.parse(pattern) + + + click to toggle source + +
+ + + +
+ +

Returns a collection matching a String pattern. See the wiki for +details on how to construct a pattern string.

+ + + + +
+
static VALUE
+c_coll_parse (VALUE klass, VALUE pattern)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        if (!xmmsv_coll_parse (StringValuePtr (pattern), &coll->real)) {
+                rb_raise (ePatternError, "invalid pattern");
+        }
+
+        return obj;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + c = Xmms::Collection.universe + + + click to toggle source + +
+ + + +
+ +

Returns a collection referencing the “All Media” set.

+ + + + +
+
static VALUE
+c_coll_universe (VALUE klass)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        coll->real = xmmsv_new_coll (XMMS_COLLECTION_TYPE_UNIVERSE);
+
+        return obj;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ &(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: intersect +
+ +
+ + +
+ +
+ and(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: intersect +
+ +
+ + +
+ + +
+ + attributes + + + click to toggle source + +
+ + + +
+ +

Returns the attributes of the collection.

+ + + + +
+
static VALUE
+c_coll_attributes (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->attributes))
+                coll->attributes = rb_class_new_instance (1, &self, cAttributes);
+
+        return coll->attributes;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + complement → collection + + + click to toggle source + +
+ + + +
+ +

Returns a new collection that is the logical complement of c.

+ + + + +
+
# File xmmsclient.rb, line 49
+def complement
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_COMPLEMENT)
+        c.operands << self
+        c
+end
+
+ +
+ + +
+ Also aliased as: not, ~ +
+ + + +
+ + +
+ + +
+ + idlist + + + click to toggle source + +
+ + + +
+ +

Gets the list of media ids that make up the collection.

+ + + + +
+
static VALUE
+c_coll_idlist_get (VALUE self)
+{
+        VALUE ary = rb_ary_new ();
+        xmmsv_t *ret = NULL;
+        xmmsv_list_iter_t *it = NULL;
+        int32_t entry;
+
+        COLL_METHOD_ADD_HANDLER_RET (idlist_get)
+
+        xmmsv_get_list_iter (ret, &it);
+        for (xmmsv_list_iter_first (it);
+             xmmsv_list_iter_valid (it);
+             xmmsv_list_iter_next (it)) {
+
+                xmmsv_list_iter_entry_int (it, &entry);
+                rb_ary_push (ary, INT2NUM (entry));
+        }
+        xmmsv_list_iter_explicit_destroy (it);
+
+        return ary;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + idlist=(_idlist_) + + + click to toggle source + +
+ + + +
+ +

Sets the list of media ids that make up the collection.

+ + + + +
+
static VALUE
+c_coll_idlist_set (VALUE self, VALUE ids)
+{
+        int i;
+        int *ary = NULL;
+        VALUE *rb_ary;
+        int rb_ary_len;
+
+        Check_Type (ids, T_ARRAY);
+        COLL_METHOD_HANDLER_HEADER
+
+        rb_ary = RARRAY_PTR (ids);
+        rb_ary_len = RARRAY_LEN (ids);
+
+        ary = malloc (sizeof (int) * (rb_ary_len + 1));
+
+        for (i = 0; i < rb_ary_len; i++)
+                ary[i] = NUM2INT (rb_ary[i]);
+
+        ary[i] = 0;
+
+        xmmsv_coll_set_idlist (coll->real, ary);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + intersect(other) → collection + + + click to toggle source + +
+ + + +
+ +

Returns a new collection that is the logical AND of c and +other.

+ + + + +
+
# File xmmsclient.rb, line 37
+def intersect(other)
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_INTERSECTION)
+        c.operands << self
+        c.operands << other
+        c
+end
+
+ +
+ + +
+ Also aliased as: and, & +
+ + + +
+ + +
+ +
+ not() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: complement +
+ +
+ + +
+ + +
+ + operands + + + click to toggle source + +
+ + + +
+ +

Gets a list of the operands that make up the collection.

+ + + + +
+
static VALUE
+c_coll_operands (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->operands))
+                coll->operands = rb_class_new_instance (1, &self, cOperands);
+
+        return coll->operands;
+}
+
+ +
+ + + + +
+ + +
+ +
+ or(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: union +
+ +
+ + +
+ + +
+ + type + + + click to toggle source + +
+ + + +
+ +

Returns the type of the collection as an Integer.

+ + + + +
+
static VALUE
+c_coll_type_get (VALUE self)
+{
+        xmmsc_coll_type_t ret;
+
+        COLL_METHOD_ADD_HANDLER_RET (get_type)
+
+        return INT2NUM (ret);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + union(other) → collection + + + click to toggle source + +
+ + + +
+ +

Returns a new collection that is the logical OR of c and +other.

+ + + + +
+
# File xmmsclient.rb, line 25
+def union(other)
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_UNION)
+        c.operands << self
+        c.operands << other
+        c
+end
+
+ +
+ + +
+ Also aliased as: or, | +
+ + + +
+ + +
+ +
+ |(other) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: union +
+ +
+ + +
+ +
+ ~() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: complement +
+ +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/Async.html b/src/clients/lib/ruby/html/Xmms/Collection/Async.html new file mode 100644 index 000000000..d4ded27de --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/Async.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Collection::Async - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Async +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(coll) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 47
+def initialize(coll)
+        @real = coll
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args, &block) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 51
+def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/Attributes.html b/src/clients/lib/ruby/html/Xmms/Collection/Attributes.html new file mode 100644 index 000000000..9e018d92c --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/Attributes.html @@ -0,0 +1,674 @@ + + + + + + +class Xmms::Collection::Attributes - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Attributes +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ [](p1) + + click to toggle source + +
+ + +
+ +

HAVE_RB_PROTECT_INSPECT

+ + + + +
+
static VALUE
+c_attrs_aref (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+        const char *value;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), &value);
+        if (!s)
+                return Qnil;
+
+        return rb_str_new2 (value);
+}
+
+ +
+ + + + +
+ + +
+ +
+ []=(p1, p2) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_aset (VALUE self, VALUE key, VALUE value)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+        StringValue (value);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_set_string (coll->real, StringValuePtr (key),
+                                         StringValuePtr (value));
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ delete(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_delete (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_remove (coll->real, StringValuePtr (key));
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_PAIR));
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: each_pair +
+ + + +
+ + +
+ +
+ each_key() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each_key (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_KEY));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each_pair() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: each +
+ +
+ + +
+ +
+ each_value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_each_value (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_VALUE));
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ has_key?(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_has_key (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), NULL);
+
+        return s ? Qtrue : Qfalse;
+}
+
+ +
+ + +
+ Also aliased as: include?, key?, member? +
+ + + +
+ + +
+ +
+ include?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ inspect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_attrs_inspect (VALUE self)
+{
+        return rb_protect_inspect (attrs_inspect, self, 0);
+}
+
+ +
+ + + + +
+ + +
+ +
+ key?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ member?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/ClientError.html b/src/clients/lib/ruby/html/Xmms/Collection/ClientError.html new file mode 100644 index 000000000..580fa2497 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/CollectionError.html b/src/clients/lib/ruby/html/Xmms/Collection/CollectionError.html new file mode 100644 index 000000000..599a5a082 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/CollectionError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::CollectionError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::CollectionError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/DisconnectedError.html b/src/clients/lib/ruby/html/Xmms/Collection/DisconnectedError.html new file mode 100644 index 000000000..4e87a39f9 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/Operands.html b/src/clients/lib/ruby/html/Xmms/Collection/Operands.html new file mode 100644 index 000000000..711ac2aa8 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/Operands.html @@ -0,0 +1,348 @@ + + + + + + +class Xmms::Collection::Operands - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Operands +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ <<(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: push +
+ +
+ + +
+ +
+ delete(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_delete (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_remove_operand (coll->real, coll2->real);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *operands_list;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        operands_list = xmmsv_coll_operands_get (coll->real);
+
+        xmmsv_list_foreach (operands_list, operands_each, NULL);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ push(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_operands_push (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_add_operand (coll->real, coll2->real);
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: << +
+ + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/PatternError.html b/src/clients/lib/ruby/html/Xmms/Collection/PatternError.html new file mode 100644 index 000000000..8fc1f5f23 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/PatternError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Collection::PatternError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::PatternError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection/Sync.html b/src/clients/lib/ruby/html/Xmms/Collection/Sync.html new file mode 100644 index 000000000..96017eb46 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection/Sync.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Collection::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Collection::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(coll) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 48
+def initialize(coll)
+        @real = coll
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 52
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Collection2.html b/src/clients/lib/ruby/html/Xmms/Collection2.html new file mode 100644 index 000000000..f2635032c --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Collection2.html @@ -0,0 +1,109 @@ + + + + + + +module Xmms::Collection2 - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms::Collection2 +

+ +
+ +
+ + + + +
+ + + + + +
+
+

Constants

+
+
+ +
NS_ALL + +
+ + +
+
+ + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Dict.html b/src/clients/lib/ruby/html/Xmms/Dict.html new file mode 100644 index 000000000..9d42d3f28 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Dict.html @@ -0,0 +1,643 @@ + + + + + + +class Xmms::Dict - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Dict +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ [](p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_aref (VALUE self, VALUE key)
+{
+        RbDict *dict = NULL;
+        xmmsv_dict_iter_t *it;
+        xmmsv_t *value;
+        const char *ckey;
+        int s;
+
+        Check_Type (key, T_SYMBOL);
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        xmmsv_get_dict_iter (dict->real, &it);
+
+        s = xmmsv_dict_iter_find (it, ckey);
+        if (!s)
+                return Qnil;
+
+        xmmsv_dict_iter_pair (it, NULL, &value);
+
+        return extract_value (self, value);
+}
+
+ +
+ + + + +
+ + +
+ +
+ each() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_each (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_pair, &self);
+
+        return self;
+}
+
+ +
+ + +
+ Also aliased as: each_pair +
+ + + +
+ + +
+ +
+ each_key() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_each_key (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_key, NULL);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ each_pair() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: each +
+ +
+ + +
+ +
+ each_value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_each_value (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_value, &self);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+ empty?() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_empty (VALUE self)
+{
+        RbDict *dict = NULL;
+        int size;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        size = xmmsv_dict_get_size (dict->real);
+
+        return size == 0 ? Qtrue : Qfalse;
+}
+
+ +
+ + + + +
+ + +
+ +
+ has_key?(p1) + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_has_key (VALUE self, VALUE key)
+{
+        RbDict *dict = NULL;
+        xmmsv_dict_iter_t *it;
+        const char *ckey;
+
+        Check_Type (key, T_SYMBOL);
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        xmmsv_get_dict_iter (dict->real, &it);
+
+        return xmmsv_dict_iter_find (it, ckey) ? Qtrue : Qfalse;
+}
+
+ +
+ + +
+ Also aliased as: include?, key?, member? +
+ + + +
+ + +
+ +
+ include?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ inspect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_inspect (VALUE self)
+{
+        return rb_protect_inspect (dict_inspect, self, 0);
+}
+
+ +
+ + + + +
+ + +
+ +
+ key?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ length() + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: size +
+ +
+ + +
+ +
+ member?(p1) + +
+ + +
+ + + + + + +
+ + + + +
+ Alias for: has_key? +
+ +
+ + +
+ +
+ size() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_dict_size (VALUE self)
+{
+        RbDict *dict = NULL;
+        int size;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        size = xmmsv_dict_get_size (dict->real);
+
+        return INT2NUM (size);
+}
+
+ +
+ + +
+ Also aliased as: length +
+ + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Playlist.html b/src/clients/lib/ruby/html/Xmms/Playlist.html new file mode 100644 index 000000000..f5d5091c8 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Playlist.html @@ -0,0 +1,840 @@ + + + + + + +class Xmms::Playlist - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Class Methods

+
+ + +
+ + +
+ + pl = Xmms::Playlist.new(xc, [name]) + + + click to toggle source + +
+ + + +
+ +

Initializes a new Xmms::Playlist using the +playlist named name and the Xmms::Client +instance xc. Xmms::Client#playlist is a useful +shortcut. name is is the name of the playlist and the active +playlist will be used if it is not specified. Raises PlaylistError if the playlist name +is invalid.

+ + + + +
+
static VALUE
+c_init (int argc, VALUE *argv, VALUE self)
+{
+        RbPlaylist *pl = NULL;
+        VALUE name, xmms = Qnil;
+
+        Data_Get_Struct (self, RbPlaylist, pl);
+
+        rb_scan_args (argc, argv, "11", &xmms, &name);
+
+        /* FIXME: Check type! */
+        pl->xmms = xmms;
+
+        if (NIL_P (name))
+                pl->name_value = rb_str_new2 (XMMS_ACTIVE_PLAYLIST);
+        else
+                pl->name_value = rb_str_dup (name);
+
+        OBJ_FREEZE (pl->name_value);
+
+        pl->name = StringValuePtr (pl->name_value);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + add_collection(coll [, order]) → result + + + click to toggle source + +
+ + + +
+ +

Adds the collection coll to the playlist.

+ + + + +
+
static VALUE
+c_add_collection (int argc, VALUE *argv, VALUE self)
+{
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        VALUE rbcoll, order = Qnil;
+        xmmsv_t *corder = NULL;
+        xmmsc_coll_t *coll;
+
+        rb_scan_args (argc, argv, "11", &rbcoll, &order);
+
+        coll = FROM_XMMS_CLIENT_COLLECTION (rbcoll);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        res = xmmsc_playlist_add_collection (xmms->real, pl->name,
+                                             coll, corder);
+
+        if (corder)
+                xmmsv_unref (corder);
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + add_entry(arg) → result + + + click to toggle source + +
+ + + +
+ +

Adds an entry to the playlist. arg can be either a URL or an id.

+ + + + +
+
static VALUE
+c_add_entry (VALUE self, VALUE arg)
+{
+        int32_t id;
+
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        if (!NIL_P (rb_check_string_type (arg)))
+                res = xmmsc_playlist_add_url (xmms->real, pl->name,
+                                              StringValuePtr (arg));
+        else {
+                id = check_int32 (arg);
+                res = xmmsc_playlist_add_id (xmms->real, pl->name, id);
+        }
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + clear → result + + + click to toggle source + +
+ + + +
+ +

Clears the playlist.

+ + + + +
+
static VALUE
+c_clear (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (clear)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + current_pos → result + + + click to toggle source + +
+ + + +
+ +

Retrieves the current position of the playlist. May raise an Xmms::Result::ValueError exception if the +current position is undefined.

+ + + + +
+
static VALUE
+c_current_pos (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (current_pos)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + entries → result + + + click to toggle source + +
+ + + +
+ +

Retrieves an array containing ids for each position of the playlist.

+ + + + +
+
static VALUE
+c_list_entries (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (list_entries)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + insert_entry(pos, arg) → result + + + click to toggle source + +
+ + + +
+ +

Inserts an entry to the current playlist at position pos in the +playlist. arg can be either a URL or an id.

+ + + + +
+
static VALUE
+c_insert_entry (VALUE self, VALUE pos, VALUE arg)
+{
+        int32_t id;
+        int32_t ipos;
+
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        ipos = check_int32 (pos);
+
+        if (!NIL_P (rb_check_string_type (arg)))
+                res = xmmsc_playlist_insert_url (xmms->real, pl->name,
+                                                 ipos, StringValuePtr (arg));
+        else {
+                id = check_int32 (arg);
+                res = xmmsc_playlist_insert_id (xmms->real, pl->name,
+                                                ipos, id);
+        }
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + load → result + + + click to toggle source + +
+ + + +
+ +

Loads the playlist as the current active playlist.

+ + + + +
+
static VALUE
+c_load (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (load);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + playlist_move_entry(current_pos, new_pos) → result + + + click to toggle source + +
+ + + +
+ +

Moves the entry at current_pos to new_pos in the +playlist.

+ + + + +
+
static VALUE
+c_move_entry (VALUE self, VALUE cur_pos, VALUE new_pos)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT_INT (move_entry, cur_pos, new_pos)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + name → string + + + click to toggle source + +
+ + + +
+ +

Returns the name of the playlist in the medialib as a String.

+ + + + +
+
static VALUE
+c_name (VALUE self)
+{
+        RbPlaylist *pl = NULL;
+
+        Data_Get_Struct (self, RbPlaylist, pl);
+
+        return pl->name_value;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + radd(path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under path to the playlist.

+ + + + +
+
static VALUE
+c_radd (VALUE self, VALUE path)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_STR (radd, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + remove → result + + + click to toggle source + +
+ + + +
+ +

Removes the playlist from the medialib.

+ + + + +
+
static VALUE
+c_remove (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (remove);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_entry(pos) → result + + + click to toggle source + +
+ + + +
+ +

Removes the entry at pos from the playlist.

+ + + + +
+
static VALUE
+c_remove_entry (VALUE self, VALUE pos)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT (remove_entry, pos)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + rinsert(pos, path) → result + + + click to toggle source + +
+ + + +
+ +

Recursively imports all media files under path at position +pos in the playlist.

+ + + + +
+
static VALUE
+c_rinsert (VALUE self, VALUE pos, VALUE path)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT_STR (rinsert, pos, path);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + shuffle → result + + + click to toggle source + +
+ + + +
+ +

Shuffles the playlist.

+ + + + +
+
static VALUE
+c_shuffle (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (shuffle)
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + sort(properties) → result + + + click to toggle source + +
+ + + +
+ +

Sorts the playlist on properties, which is an array of medialib +properties such as [“title”, “artist”].

+ + + + +
+
static VALUE
+c_sort (VALUE self, VALUE props)
+{
+        xmmsv_t *cprops;
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        cprops = parse_string_array2 (props);
+        res = xmmsc_playlist_sort (xmms->real, pl->name, cprops);
+        xmmsv_unref (cprops);
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Playlist/Async.html b/src/clients/lib/ruby/html/Xmms/Playlist/Async.html new file mode 100644 index 000000000..6c492d8c8 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Playlist/Async.html @@ -0,0 +1,238 @@ + + + + + + +class Xmms::Playlist::Async - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::Async +

+ +
+ +
def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +

end

+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(plist) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 66
+def initialize(plist)
+        @real = plist
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args, &block) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File async.rb, line 70
+def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Playlist/ClientError.html b/src/clients/lib/ruby/html/Xmms/Playlist/ClientError.html new file mode 100644 index 000000000..cf3b11d96 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Playlist/ClientError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Playlist::ClientError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::ClientError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Playlist/DisconnectedError.html b/src/clients/lib/ruby/html/Xmms/Playlist/DisconnectedError.html new file mode 100644 index 000000000..53cccbeaf --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Playlist/DisconnectedError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Playlist::DisconnectedError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::DisconnectedError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Playlist/PlaylistError.html b/src/clients/lib/ruby/html/Xmms/Playlist/PlaylistError.html new file mode 100644 index 000000000..319706a65 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Playlist/PlaylistError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Playlist::PlaylistError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::PlaylistError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Playlist/Sync.html b/src/clients/lib/ruby/html/Xmms/Playlist/Sync.html new file mode 100644 index 000000000..b496c8bc8 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Playlist/Sync.html @@ -0,0 +1,238 @@ + + + + + + +class Xmms::Playlist::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Playlist::Sync +

+ +
+ +
def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +

end

+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(plist) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 67
+def initialize(plist)
+        @real = plist
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 71
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/RawDict.html b/src/clients/lib/ruby/html/Xmms/RawDict.html new file mode 100644 index 000000000..04ca10a4e --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/RawDict.html @@ -0,0 +1,186 @@ + + + + + + +class Xmms::RawDict - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::RawDict +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ + +
+ + to_propdict( src_prefs ) → propdict + + + click to toggle source + +
+ + + +
+ +

Transforms a RawDict (key-source-value) to a +regular key-value dict. The optional src_prefs argument restricts which +sources are considered. The value may be a string or an array of strings, +which may contain wildcards. Example: rawdict.to_propdict( +['server','plugin/*'] )

+ + + + +
+
static VALUE
+c_raw_dict_to_propdict (int argc, VALUE *argv, VALUE self)
+{
+        VALUE value, sources = Qnil;
+        RbDict *dict = NULL, *dict2 = NULL;
+        xmmsv_t *inner_dict;
+        const char **csources = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        rb_scan_args (argc, argv, "01", &sources);
+
+        if (!NIL_P (sources))
+                csources = parse_string_array (sources);
+        inner_dict = xmmsv_propdict_to_dict (dict->real, csources);
+        if (csources)
+                free (csources);
+
+        value = Data_Make_Struct (cDict, RbDict,
+                                  c_dict_mark, c_dict_free,
+                                  dict2);
+
+        // don't add a second reference here
+        dict2->real = inner_dict;
+        dict2->parent = dict->parent;
+
+        rb_obj_call_init (value, 0, NULL);
+
+        return value;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Result.html b/src/clients/lib/ruby/html/Xmms/Result.html new file mode 100644 index 000000000..e1eebc5a7 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Result.html @@ -0,0 +1,349 @@ + + + + + + +class Xmms::Result - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Result +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ error() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_get_error (VALUE self)
+{
+        RbResult *res;
+        xmmsv_t *val;
+        const char *error;
+        int ret;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        val = xmmsc_result_get_value (res->real);
+
+        ret = xmmsv_get_error (val, &error);
+
+        return rb_str_new2 (ret ? error : "");
+}
+
+ +
+ + + + +
+ + +
+ +
+ error?() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_is_error (VALUE self)
+{
+        RbResult *res;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        return xmmsc_result_iserror (res->real) ? Qtrue : Qfalse;
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + notifier { |res| } + + + click to toggle source + +
+ + + +
+ +

Sets the block that's executed when res is handled. Used by +asyncronous results only.

+ + + + +
+
static VALUE
+c_notifier_set (VALUE self)
+{
+        VALUE callback;
+        RbResult *res = NULL;
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        callback = rb_block_proc ();
+
+        Data_Get_Struct (res->xmms, RbXmmsClient, xmms);
+        rb_ary_push (xmms->result_callbacks, callback);
+
+        xmmsc_result_notifier_set (res->real, on_signal, (void *) callback);
+
+        return Qnil;
+}
+
+ +
+ + + + +
+ + +
+ +
+ value() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_value_get (VALUE self)
+{
+        RbResult *res = NULL;
+        xmmsv_t *val;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        val = xmmsc_result_get_value (res->real);
+
+        return extract_value (self, val);
+}
+
+ +
+ + + + +
+ + +
+ + +
+ + wait → self + + + click to toggle source + +
+ + + +
+ +

Waits for res to be handled.

+ + + + +
+
static VALUE
+c_wait (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_wait (res->real);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Result/ResultError.html b/src/clients/lib/ruby/html/Xmms/Result/ResultError.html new file mode 100644 index 000000000..4b6638b9c --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Result/ResultError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Result::ResultError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Result::ResultError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Result/ValueError.html b/src/clients/lib/ruby/html/Xmms/Result/ValueError.html new file mode 100644 index 000000000..a4813efa8 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Result/ValueError.html @@ -0,0 +1,102 @@ + + + + + + +class Xmms::Result::ValueError - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Result::ValueError +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/SignalResult.html b/src/clients/lib/ruby/html/Xmms/SignalResult.html new file mode 100644 index 000000000..5ba50d2fd --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/SignalResult.html @@ -0,0 +1,160 @@ + + + + + + +class Xmms::SignalResult - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::SignalResult +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+

Public Instance Methods

+
+ + +
+ +
+ disconnect() + + click to toggle source + +
+ + +
+ + + + + + +
+
static VALUE
+c_disconnect (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_disconnect (res->real);
+
+        return self;
+}
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Xmms.html b/src/clients/lib/ruby/html/Xmms/Xmms.html new file mode 100644 index 000000000..45f479a67 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Xmms.html @@ -0,0 +1,95 @@ + + + + + + +module Xmms::Xmms - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms::Xmms +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Xmms/Xmms.html b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms.html new file mode 100644 index 000000000..0e9fef086 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms.html @@ -0,0 +1,95 @@ + + + + + + +module Xmms::Xmms::Xmms - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms::Xmms::Xmms +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Collection.html b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Collection.html new file mode 100644 index 000000000..cd8175ca5 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Collection.html @@ -0,0 +1,95 @@ + + + + + + +module Xmms::Xmms::Xmms::Collection - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms::Xmms::Xmms::Collection +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Collection/Sync.html b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Collection/Sync.html new file mode 100644 index 000000000..293249298 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Collection/Sync.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Xmms::Xmms::Collection::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Xmms::Xmms::Collection::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(coll) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 48
+def initialize(coll)
+        @real = coll
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 52
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Playlist.html b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Playlist.html new file mode 100644 index 000000000..1bdfa8855 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Playlist.html @@ -0,0 +1,95 @@ + + + + + + +module Xmms::Xmms::Xmms::Playlist - RDoc Documentation + + + + + + + + + + + + + + +
+

+ module Xmms::Xmms::Xmms::Playlist +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Playlist/Sync.html b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Playlist/Sync.html new file mode 100644 index 000000000..9f3ae8bc4 --- /dev/null +++ b/src/clients/lib/ruby/html/Xmms/Xmms/Xmms/Playlist/Sync.html @@ -0,0 +1,224 @@ + + + + + + +class Xmms::Xmms::Xmms::Playlist::Sync - RDoc Documentation + + + + + + + + + + + + + + +
+

+ class Xmms::Xmms::Xmms::Playlist::Sync +

+ +
+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ real[R] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(plist) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 67
+def initialize(plist)
+        @real = plist
+end
+
+ +
+ + + + +
+ + +
+ +
+
+

Public Instance Methods

+
+ + +
+ +
+ method_missing(id, *args) + + click to toggle source + +
+ + +
+ + + + + + +
+
# File sync.rb, line 71
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/src/clients/lib/ruby/html/_index.html b/src/clients/lib/ruby/html/_index.html new file mode 100644 index 000000000..1ca216873 --- /dev/null +++ b/src/clients/lib/ruby/html/_index.html @@ -0,0 +1,337 @@ + + + + + + Documentation by YARD 0.8.7.6 + + + + + + + + + + + + + + + + + + + + + +

Documentation by YARD 0.8.7.6

+
+

Alphabetic Index

+ +
+

Namespace Listing A-Z

+ + + + + + + + +
+ + +
    +
  • A
  • +
      + +
    • + Async + + (Xmms::Client) + +
    • + +
    • + Async + + (Xmms::Collection) + +
    • + +
    • + Async + + (Xmms::Playlist) + +
    • + +
    • + Attributes + + (Xmms::Collection) + +
    • + +
    +
+ + + + + + + + + + + +
    +
  • O
  • +
      + +
    • + Operands + + (Xmms::Collection) + +
    • + +
    +
+ + + + + + + + +
+ + +
    +
  • S
  • +
      + +
    • + SignalResult + + (Xmms) + +
    • + +
    • + Sync + + (Xmms::Client) + +
    • + +
    • + Sync + + (Xmms::Collection) + +
    • + +
    • + Sync + + (Xmms::Playlist) + +
    • + +
    +
+ + +
    +
  • V
  • + +
+ + +
    +
  • X
  • +
      + +
    • + Xmms + +
    • + +
    +
+ +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/apple-touch-icon.png b/src/clients/lib/ruby/html/apple-touch-icon.png new file mode 100644 index 000000000..50f98b0ff Binary files /dev/null and b/src/clients/lib/ruby/html/apple-touch-icon.png differ diff --git a/src/clients/lib/ruby/html/class_list.html b/src/clients/lib/ruby/html/class_list.html new file mode 100644 index 000000000..7c71d58a5 --- /dev/null +++ b/src/clients/lib/ruby/html/class_list.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + Class List + + + + +
+

Class List

+ + + + +
+ + diff --git a/src/clients/lib/ruby/html/classes/Xmms.html b/src/clients/lib/ruby/html/classes/Xmms.html new file mode 100644 index 000000000..a97ce034c --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms.html @@ -0,0 +1,287 @@ + + + + + Xmms + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + +
Methods
+
+ +
D
+
+ +
+ +
U
+
+ +
+ +
+ + + + + + + + + + + + + + +
Constants
+ + + + + + + + + + + + + + +
VERSION=rb_str_new2 (XMMS_VERSION)
 
+ + + + + + + + +
Class Public methods
+ +
+
+ + Xmms.decode_url(url) → String + + + +
+ + +
+

Decodes a url-encoded string url and returns it in UNKNOWN +ENCODING. Use with caution.

+
+ + + + + + + + +
+ + +
+
static VALUE
+m_decode_url (VALUE self, VALUE str)
+{
+        const unsigned char *burl;
+        unsigned int blen;
+        xmmsv_t *strv, *decoded;
+        VALUE url = Qnil;
+
+        strv = xmmsv_new_string (StringValuePtr (str));
+
+        decoded = xmmsv_decode_url (strv);
+
+        if (!decoded)
+                goto out;
+
+        if (!xmmsv_get_bin (decoded, &burl, &blen))
+                goto out;
+
+        url = rb_str_new ((char *) burl, blen);
+
+out:
+        if (decoded)
+                xmmsv_unref (decoded);
+
+        xmmsv_unref (strv);
+
+        return url;
+}
+
+
+ +
+ +
+
+ + Xmms.userconfdir → String + + + +
+ + +
+

Returns the xmms2 configuration directory for the current user.

+
+ + + + + + + + +
+ + +
+
static VALUE
+m_userconfdir_get (VALUE self)
+{
+        const char *p;
+        char path[XMMS_PATH_MAX];
+
+        p = xmmsc_userconfdir_get (path, XMMS_PATH_MAX);
+
+        return p ? rb_str_new2 (p) : Qnil;
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/BroadcastResult.html b/src/clients/lib/ruby/html/classes/Xmms/BroadcastResult.html new file mode 100644 index 000000000..4bf174573 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/BroadcastResult.html @@ -0,0 +1,140 @@ + + + + + Xmms::BroadcastResult + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
D
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Instance Public methods
+ +
+
+ + disconnect() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_disconnect (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_disconnect (res->real);
+
+        return self;
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Client.html b/src/clients/lib/ruby/html/classes/Xmms/Client.html new file mode 100644 index 000000000..de2a4e314 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Client.html @@ -0,0 +1,4010 @@ + + + + + Xmms::Client + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + +
Methods
+
+ +
B
+
+ +
+ +
C
+
+ +
+ +
D
+
+ +
+ +
I
+
+ +
+ +
L
+
+ +
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
O
+
+ +
+ +
P
+
+ +
+ +
Q
+
+
    + + +
  • + quit +
  • + +
+
+ +
S
+
+ +
+ +
X
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Class Public methods
+ +
+
+ + Xmms::Client.new(name) → xc + + + +
+ + +
+

Creates an Xmms::Client object.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_init (VALUE self, VALUE name)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        if (!(xmms->real = xmmsc_init (StringValuePtr (name)))) {
+                rb_raise (rb_eNoMemError, "failed to allocate memory");
+                return Qnil;
+        }
+
+        xmms->deleted = false;
+        xmms->result_callbacks = rb_ary_new ();
+        xmms->disconnect_cb = Qnil;
+        xmms->io_need_out_cb = Qnil;
+
+        return self;
+}
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + xc.bindata_add(str) → result + + + +
+ + +
+

Stores binary data on the server.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_bindata_add (VALUE self, VALUE data)
+{
+        METHOD_ADD_HANDLER_BIN (bindata_add, data);
+}
+
+
+ +
+ +
+
+ + xc.bindata_list → result + + + +
+ + +
+

List all bindata hashes stored on the server.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_bindata_list (VALUE self)
+{
+        METHOD_ADD_HANDLER (bindata_list);
+}
+
+
+ +
+ +
+
+ + xc.bindata_remove(hash) → result + + + +
+ + +
+

Remove a datafile from the server.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_bindata_remove (VALUE self, VALUE hash)
+{
+        METHOD_ADD_HANDLER_STR (bindata_remove, hash);
+}
+
+
+ +
+ +
+
+ + xc.bindata_retrieve(hash) → result + + + +
+ + +
+

Retrieves the bindata entry specified by hash (hex string) from the server.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_bindata_retrieve (VALUE self, VALUE hash)
+{
+        METHOD_ADD_HANDLER_STR (bindata_retrieve, hash);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_coll_changed → result + + + +
+ + +
+

The collection_changed broadcast, if requested, is called anytime a +collection is altered.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_coll_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_collection_changed)
+}
+
+
+ +
+ +
+
+ + xc.broadcast_config_value_changed → result + + + +
+ + +
+

Retrieves configuration properties as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_config_value_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_config_value_changed);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_mediainfo_reader_status → result + + + +
+ + +
+

Requests the status of the mediainfo reader.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_mediainfo_reader_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_mediainfo_reader_status);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_medialib_entry_added → result + + + +
+ + +
+

Retrieves the id of an added medialib entry as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_medialib_entry_added (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_added);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_medialib_entry_changed → result + + + +
+ + +
+

Retrieves the id of a changed medialib entry as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_medialib_entry_changed (VALUE self)
+{
+        RB_XMMS_DEPRECATED (broadcast_medialib_entry_changed, broadcast_medialib_entry_updated);
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_updated);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_medialib_entry_removed → result + + + +
+ + +
+

Retrieves the id of an removed medialib entry as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_medialib_entry_removed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_removed);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_medialib_entry_changed → result + + + +
+ + +
+

Retrieves the id of a changed medialib entry as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_medialib_entry_updated (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_medialib_entry_updated);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_playback_current_id → result + + + +
+ + +
+

Retrieves the media id of the currently played track as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_playback_current_id (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_current_id);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_playback_status → result + + + +
+ + +
+

Retrieves the playback status as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_playback_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_status);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_volume_changed → result + + + +
+ + +
+

Registers a broadcast handler that's evoked when the playback volume +changes.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_playback_volume_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playback_volume_changed);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_playlist_changed → result + + + +
+ + +
+

Retrieves a hash describing the change to the playlist as a broadcast.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_playlist_changed (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_changed);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_playlist_current_pos → result + + + +
+ + +
+

Retrieves the current playlist position as a broadcast. See +playlist_current_pos.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_playlist_current_pos (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_current_pos);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_playlist_loaded → result + + + +
+ + +
+

Will be called when a playlist has been loaded.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_playlist_loaded (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_playlist_loaded);
+}
+
+
+ +
+ +
+
+ + xc.broadcast_quit → result + + + +
+ + +
+

Will be called when the server is terminating.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_broadcast_quit (VALUE self)
+{
+        METHOD_ADD_HANDLER (broadcast_quit);
+}
+
+
+ +
+ +
+
+ + xc.coll_find(id, ns) → result + + + +
+ + +
+

Find all collections in the given namespace ns which contain +id.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_find (VALUE self, VALUE id, VALUE ns)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_coll_find (xmms->real, check_int32 (id),
+                               StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_get(name, [ns]) + + + +
+ + +
+

Returns a result containing an Xmms::Collection object referencing the +collection named name. The namespace ns is searched or +all namespaces if unspecified.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_get (int argc, VALUE *argv, VALUE self)
+{
+        VALUE name, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "11", &name, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_get (xmms->real, StringValuePtr (name),
+                                      XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_get (xmms->real, StringValuePtr (name),
+                                      StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_idlist_from_playlist_file(path) → result + + + +
+ + +
+

Returns a collection of the idlist type from the playlist file at +path. path must be an unencoded string.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_idlist_from_playlist_file (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (coll_idlist_from_playlist_file, path)
+}
+
+
+ +
+ +
+
+ + xc.coll_list([ns]) → result + + + +
+ + +
+

Retrieves an array of the names of all the collections stored in the +medialib under the namespace ns. If ns is not specified, +it defaults to ALL.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_list (int argc, VALUE *argv, VALUE self)
+{
+        VALUE ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "01", &ns);
+
+        if (NIL_P (ns))
+                ns = rb_str_new2 (XMMS_COLLECTION_NS_ALL);
+
+        res = xmmsc_coll_list (xmms->real, StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_query(coll, spec) → result + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_query (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, spec;
+        xmmsv_t *cspec;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "2", &coll, &spec);
+
+        cspec = xmmsv_new_dict ();
+
+        VALUE args = rb_ary_new3(4, xmms, coll, spec, (VALUE) cspec);
+
+        res = (xmmsc_result_t *) rb_ensure (c_coll_query_fragile, args,
+                                            c_coll_query_cleanup, (VALUE) cspec);
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_query_ids(coll, [order], [start], [len]) → result + + + +
+ + +
+

Retrieves a list of all the ids of media matched by the collection. +order specifies a list of properties to order by or no order if +omitted. start and len determine the offset at which to +start retrieving ids and the maximum number of ids to retrieve, +respectively.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_query_ids (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, order = Qnil, start, len = Qnil;
+        xmmsv_t *corder = NULL;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "13", &coll, &order, &start, &len);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        res = xmmsc_coll_query_ids (xmms->real,
+                                    FROM_XMMS_CLIENT_COLLECTION (coll),
+                                    corder,
+                                    NIL_P (start) ? 0 : NUM2INT (start),
+                                    NIL_P (start) ? 0 : NUM2INT (len));
+
+        if (corder)
+                xmmsv_unref (corder);
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_query_info(coll, fetch, [order], [start], [len], [group]) → result + + + +
+ + +
+

Retrieves media info of media matched by the collection. fetch +should contain an array of properties to retrieve from the collection. +order specifies a list of properties to order by or no order if +omitted. start and len determine the offset at which to +start retrieving info and the maximum number of ids to retrieve, +respectively. group defines a list of properties to group by or no +grouping if omitted.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_query_info (int argc, VALUE *argv, VALUE self)
+{
+        VALUE coll, order = Qnil, start, len, fetch, group = Qnil;
+        xmmsv_t *cfetch = NULL, *corder = NULL, *cgroup = NULL;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "24", &coll, &fetch, &order, &start, &len,
+                      &group);
+
+        cfetch = parse_string_array2 (fetch);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        if (!NIL_P (group))
+                cgroup = parse_string_array2 (group);
+
+        res = xmmsc_coll_query_infos (xmms->real,
+                                    FROM_XMMS_CLIENT_COLLECTION (coll),
+                                    corder,
+                                    NIL_P (start) ? 0 : NUM2INT (start),
+                                    NIL_P (start) ? 0 : NUM2INT (len),
+                                    cfetch,
+                                    cgroup);
+        xmmsv_unref (cfetch);
+        if (corder) {
+                xmmsv_unref (corder);
+        }
+        if (cgroup) {
+                xmmsv_unref (cgroup);
+        }
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_remove(name, [ns]) → result + + + +
+ + +
+

Remove the collection named name from the media library. The +collection is removed from the namespace ns or all namespaces if +unspecified.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_remove (int argc, VALUE *argv, VALUE self)
+{
+        VALUE name, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "11", &name, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_remove (xmms->real, StringValuePtr (name),
+                                         XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_remove (xmms->real, StringValuePtr (name),
+                                         StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_rename(old, new, [ns]) → result + + + +
+ + +
+

Rename the saved collection from old to new within the +namespace ns or all namespaces.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_rename (int argc, VALUE *argv, VALUE self)
+{
+        VALUE old, new, ns = Qnil;
+        METHOD_HANDLER_HEADER
+
+        rb_scan_args (argc, argv, "21", &old, &new, &ns);
+
+        if (NIL_P (ns))
+                res = xmmsc_coll_rename (xmms->real,
+                                         StringValuePtr (old),
+                                         StringValuePtr (new),
+                                         XMMS_COLLECTION_NS_ALL);
+        else
+                res = xmmsc_coll_rename (xmms->real,
+                                         StringValuePtr (old),
+                                         StringValuePtr (new),
+                                         StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.coll_save(coll, name, ns) → result + + + +
+ + +
+

Save the collection coll named name under the namespace +ns to the media library.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_save (VALUE self, VALUE coll, VALUE name, VALUE ns)
+{
+        METHOD_HANDLER_HEADER
+
+        /* FIXME: Check that we actually have a Collection object */
+
+        res = xmmsc_coll_save (xmms->real,
+                               FROM_XMMS_CLIENT_COLLECTION (coll),
+                               StringValuePtr (name),
+                               StringValuePtr (ns));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.config_get_value(key) → result + + + +
+ + +
+

Retrieves the value of the configuration property at key.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_config_get_value (VALUE self, VALUE key)
+{
+        METHOD_ADD_HANDLER_STR (config_get_value, key);
+}
+
+
+ +
+ +
+
+ + xc.config_list_values → result + + + +
+ + +
+

Retrieves a list of all config values.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_config_list_values (VALUE self)
+{
+        METHOD_ADD_HANDLER (config_list_values);
+}
+
+
+ +
+ +
+
+ + xc.config_register_value(key, default_value) → result + + + +
+ + +
+

Registers a configuration property at key with the given default +value.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_config_register_value (VALUE self, VALUE key, VALUE defval)
+{
+        METHOD_ADD_HANDLER_STR_STR (config_register_value, key, defval);
+}
+
+
+ +
+ +
+
+ + xc.config_set_value(key, value) → result + + + +
+ + +
+

Sets the value of the configuration property at key to +value.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_config_set_value (VALUE self, VALUE key, VALUE val)
+{
+        METHOD_ADD_HANDLER_STR_STR (config_set_value, key, val);
+}
+
+
+ +
+ +
+
+ + xc.connect([path]) → self + + + +
+ + +
+

Connects xc to the XMMS2 daemon listening at path. If +path isn't given, the default path is used.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_connect (int argc, VALUE *argv, VALUE self)
+{
+        VALUE path;
+        RbXmmsClient *xmms = NULL;
+        char *p = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "01", &path);
+
+        if (!NIL_P (path))
+                p = StringValuePtr (path);
+
+        if (!xmmsc_connect (xmms->real, p))
+                rb_raise (eClientError,
+                          "cannot connect to daemon (%s)",
+                          xmmsc_get_last_error (xmms->real));
+
+        return self;
+}
+
+
+ +
+ +
+
+ + delete!() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_delete (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_unref (xmms->real);
+        xmms->deleted = true;
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + xc.io_disconnect → nil + + + +
+ + +
+

Disconnects the IPC socket. This should only be used by event loop +implementations.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_io_disconnect (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_disconnect (xmms->real);
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + xc.io_fd → integer + + + +
+ + +
+

Returns the file descriptor of the Xmms::Client +IPC socket.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_io_fd (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        return INT2NUM (xmmsc_io_fd_get (xmms->real));
+}
+
+
+ +
+ +
+
+ + xc.io_in_handle → nil + + + +
+ + +
+

Retrieves one incoming (from server) clientlib command if there are any in +the buffer.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_io_in_handle (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_in_handle (xmms->real);
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + xc.io_on_need_out { |flag| } + + + +
+ + +
+

Sets the block that's called when the output socket state changes.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_io_on_need_out (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmms->io_need_out_cb = rb_block_proc ();
+
+        xmmsc_io_need_out_callback_set (xmms->real,
+                                        on_io_need_out, (void *) self);
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + xc.io_out_handle → nil + + + +
+ + +
+

Sends one outgoing (to server) clientlib command. You should check io_want_out before calling this +method.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_io_out_handle (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmmsc_io_out_handle (xmms->real);
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + xc.io_want_out → true or false + + + +
+ + +
+

Returns true if an outgoing (to server) clientlib command is +pending, false otherwise.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_io_want_out (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        return xmmsc_io_want_out (xmms->real) ? Qtrue : Qfalse;
+}
+
+
+ +
+ +
+
+ + xc.last_error → string or nil + + + +
+ + +
+

Returns the last error that occured in xc or nil, if +no error occured yet.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_last_error_get (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+        const char *s;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        s = xmmsc_get_last_error (xmms->real);
+
+        return s ? rb_str_new2 (s) : Qnil;
+}
+
+
+ +
+ +
+
+ + xc.main_stats → result + + + +
+ + +
+

Retrieves a hash containing statistics about the daemon.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_main_stats (VALUE self)
+{
+        METHOD_ADD_HANDLER (main_stats);
+}
+
+
+ +
+ +
+
+ + xc.medialib_add_entry(url) → result + + + +
+ + +
+

Adds url to the medialib.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_add_entry (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (medialib_add_entry, url);
+}
+
+
+ +
+ +
+
+ + xc.medialib_entry_move(id, url) → result + + + +
+ + +
+

Moves the entry specified by id to a new URL without changing +mediainfo.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_entry_move (VALUE self, VALUE id, VALUE url)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_medialib_move_entry (xmms->real, check_int32 (id),
+                                         StringValuePtr (url));
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.medialib_entry_property_remove(id, key, *source) → result + + + +
+ + +
+

Remove a custom field in the medialib associated with the entry +id. source is an optional argument that describes where +to write the mediainfo. If source is omitted, +“client/<yourclient>” is used, where <yourclient> is the name +you specified in ::new.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_entry_property_remove (int argc, VALUE *argv, VALUE self)
+{
+        VALUE tmp, key, src = Qnil;
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+        const char *ckey;
+        int32_t id;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "21", &tmp, &key, &src);
+
+        id = check_int32 (tmp);
+        Check_Type (key, T_SYMBOL);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        if (NIL_P (src))
+                res = xmmsc_medialib_entry_property_remove (xmms->real, id,
+                                                            ckey);
+        else
+                res = xmmsc_medialib_entry_property_remove_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+
+ +
+ +
+
+ + xc.medialib_entry_property_set(id, key, value, *source) → result + + + +
+ + +
+

Write info to the medialib at id. source is an optional +argument that describes where to write the mediainfo. If source is +omitted, the mediainfo is written to “client/<yourclient>” where +<yourclient> is the name you specified in ::new.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_entry_property_set (int argc, VALUE *argv, VALUE self)
+{
+        VALUE tmp, key, value, src = Qnil;
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+        const char *ckey;
+        bool is_str = false;
+        int32_t id, ivalue;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        rb_scan_args (argc, argv, "31", &tmp, &key, &value, &src);
+
+        id = check_int32 (tmp);
+        Check_Type (key, T_SYMBOL);
+
+        if (!NIL_P (rb_check_string_type (value)))
+                is_str = true;
+        else
+                ivalue = check_int32 (value);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        if (NIL_P (src) && is_str)
+                res = xmmsc_medialib_entry_property_set_str (xmms->real, id,
+                                                             ckey,
+                                                             StringValuePtr (value));
+        else if (NIL_P (src))
+                res = xmmsc_medialib_entry_property_set_int (xmms->real, id,
+                                                             ckey, ivalue);
+        else if (is_str)
+                res = xmmsc_medialib_entry_property_set_str_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey,
+                        StringValuePtr (value));
+        else
+                res = xmmsc_medialib_entry_property_set_int_with_source (
+                        xmms->real, id,
+                        StringValuePtr (src),
+                        ckey, ivalue);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+
+ +
+ +
+
+ + xc.medialib_entry_remove(id) → result + + + +
+ + +
+

Removes the entry specified by id from the medialib.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_entry_remove (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_remove_entry, id)
+}
+
+
+ +
+ +
+
+ + xc.medialib_get_id(url) → result + + + +
+ + +
+

Retrieves the id corresponding to url.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_get_id (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (medialib_get_id, url);
+}
+
+
+ +
+ +
+
+ + xc.medialib_get_info(id) → result + + + +
+ + +
+

Retrieves medialib info for id.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_get_info (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_get_info, id);
+}
+
+
+ +
+ +
+
+ + xc.medialib_path_import(path) → result + + + +
+ + +
+

Recursively imports all media files under path to the medialib.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_path_import (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (medialib_import_path, path);
+}
+
+
+ +
+ +
+
+ + xc.medialib_path_import(path) → result + + + +
+ + +
+

Recursively imports all media files under the url encoded path to +the medialib.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_path_import_encoded (VALUE self, VALUE path)
+{
+        METHOD_ADD_HANDLER_STR (medialib_import_path_encoded, path);
+}
+
+
+ +
+ +
+
+ + xc.medialib_rehash(id) → result + + + +
+ + +
+

Rehashes the medialib entry at id or the whole medialib if +id == 0.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_medialib_rehash (VALUE self, VALUE id)
+{
+        METHOD_ADD_HANDLER_INT (medialib_rehash, id);
+}
+
+
+ +
+ +
+
+ + xc.on_disconnect { } → self + + + +
+ + +
+

Sets the block that's executed when xc is disconnected from +the XMMS2 daemon.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_on_disconnect (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        xmms->disconnect_cb = rb_block_proc ();
+
+        xmmsc_disconnect_callback_set (xmms->real,
+                                       on_disconnect, (void *) self);
+
+        return self;
+}
+
+
+ +
+ +
+
+ + xc.playback_current_id → result + + + +
+ + +
+

Retrieves the media id of the currently played track.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_current_id (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_current_id);
+}
+
+
+ +
+ +
+
+ + xc.playback_pause → result + + + +
+ + +
+

Pauses playback.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_pause (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_pause);
+}
+
+
+ +
+ +
+
+ + xc.playback_playtime → result + + + +
+ + +
+

Retrieves the playtime.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_playtime (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_playtime);
+}
+
+
+ +
+ +
+
+ + xc.playback_seek_ms(ms) → result + + + +
+ + +
+

Seek to the song position given in ms.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_seek_ms (VALUE self, VALUE ms)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_ms (xmms->real,
+                                      check_int32 (ms),
+                                      XMMS_PLAYBACK_SEEK_SET);
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.playback_seek_ms_rel(ms) → result + + + +
+ + +
+

Seek in the song by the offset given in ms.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_seek_ms_rel (VALUE self, VALUE ms)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_ms (xmms->real,
+                                      check_int32 (ms),
+                                      XMMS_PLAYBACK_SEEK_CUR);
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.playback_seek_samples(samples) → result + + + +
+ + +
+

Seek to the song position given in samples.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_seek_samples (VALUE self, VALUE samples)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_samples (xmms->real,
+                                           check_int32 (samples),
+                                           XMMS_PLAYBACK_SEEK_SET);
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.playback_seek_samples_rel(samples) → result + + + +
+ + +
+

Seek in the song position by the offset given in samples.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_seek_samples_rel (VALUE self, VALUE samples)
+{
+        METHOD_HANDLER_HEADER
+
+        res = xmmsc_playback_seek_samples (xmms->real,
+                                           check_int32 (samples),
+                                           XMMS_PLAYBACK_SEEK_CUR);
+
+        METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + xc.playback_start → result + + + +
+ + +
+

Starts playback.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_start (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_start);
+}
+
+
+ +
+ +
+
+ + xc.playback_status → result + + + +
+ + +
+

Retrieves the playback status.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_status (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_status);
+}
+
+
+ +
+ +
+
+ + xc.playback_stop → result + + + +
+ + +
+

Stops playback.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_stop (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_stop);
+}
+
+
+ +
+ +
+
+ + xc.playback_tickle → result + + + +
+ + +
+

Advances to the next playlist entry.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_tickle (VALUE self)
+{
+        METHOD_ADD_HANDLER (playback_tickle);
+}
+
+
+ +
+ +
+
+ + xc.playback_volume_get → result + + + +
+ + +
+

Gets the current playback volume.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_volume_get (VALUE self)
+{
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        res = xmmsc_playback_volume_get (xmms->real);
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+
+ +
+ +
+
+ + xc.playback_volume_set(channel, volume) → result + + + +
+ + +
+

Sets playback volume for channel to volume.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playback_volume_set (VALUE self, VALUE channel, VALUE volume)
+{
+        RbXmmsClient *xmms = NULL;
+        xmmsc_result_t *res;
+
+        Data_Get_Struct (self, RbXmmsClient, xmms);
+
+        CHECK_DELETED (xmms);
+
+        Check_Type (channel, T_SYMBOL);
+        Check_Type (volume, T_FIXNUM);
+
+        res = xmmsc_playback_volume_set (xmms->real,
+                                         rb_id2name (SYM2ID (channel)),
+                                         NUM2INT (volume));
+
+        return TO_XMMS_CLIENT_RESULT (self, res);
+}
+
+
+ +
+ +
+
+ + xc.playlist([name]) → p + + + +
+ + +
+

Shortcut for Xmms::Playlist.new. +Creates a new Xmms::Playlist object tied to the +current Xmms::Client instance. name is +is the name of the playlist and the active playlist will be used if it is +not specified. Raises PlaylistError if the playlist name is invalid.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playlist (int argc, VALUE *argv, VALUE self)
+{
+        VALUE args[2] = {self, Qnil};
+
+        rb_scan_args (argc, argv, "01", &args[1]);
+
+        return rb_class_new_instance (2, args, cPlaylist);
+}
+
+
+ +
+ +
+
+ + xc.playlist_current_active → result + + + +
+ + +
+

Retrieves the name of the active playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playlist_current_active (VALUE self)
+{
+        METHOD_ADD_HANDLER (playlist_current_active);
+}
+
+
+ +
+ +
+
+ + xc.playlist_list → result + + + +
+ + +
+

Retrieves a list of all saved playlists from the medialib. Note that +clients should treat internally used playlists (marked with a leading +underscore) carefully.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playlist_list (VALUE self)
+{
+        METHOD_ADD_HANDLER (playlist_list);
+}
+
+
+ +
+ +
+
+ + xc.playlist_set_next(pos) → result + + + +
+ + +
+

Sets the next song to be played to pos (an absolute position).

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playlist_set_next (VALUE self, VALUE pos)
+{
+        METHOD_ADD_HANDLER_INT (playlist_set_next, pos);
+}
+
+
+ +
+ +
+
+ + xc.playlist_set_next_rel(pos) → result + + + +
+ + +
+

Sets the next song to be played based on the current position where +pos is a value relative to the current position.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_playlist_set_next_rel (VALUE self, VALUE pos)
+{
+        METHOD_ADD_HANDLER_INT (playlist_set_next_rel, pos);
+}
+
+
+ +
+ +
+
+ + xc.plugin_list → result + + + +
+ + +
+

Retrieves an array containing a hash of information for each plugin.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_plugin_list (int argc, VALUE *argv, VALUE self)
+{
+        VALUE type = Qnil;
+
+        rb_scan_args (argc, argv, "01", &type);
+
+        if (NIL_P (type))
+                type = INT2FIX (XMMS_PLUGIN_TYPE_ALL);
+
+        METHOD_ADD_HANDLER_INT (main_list_plugins, type);
+}
+
+
+ +
+ +
+
+ + xc.quit → result + + + +
+ + +
+

Shuts down the XMMS2 daemon.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_quit (VALUE self)
+{
+        METHOD_ADD_HANDLER (quit);
+}
+
+
+ +
+ +
+
+ + xc.signal_mediainfo_reader_unindexed → result + + + +
+ + +
+

Requests the number of unindexed entries in the medialib.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_signal_mediainfo_reader_unindexed (VALUE self)
+{
+        METHOD_ADD_HANDLER (signal_mediainfo_reader_unindexed);
+}
+
+
+ +
+ +
+
+ + xc.signal_playback_playtime → result + + + +
+ + +
+

Retrieves the playtime as a signal.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_signal_playback_playtime (VALUE self)
+{
+        METHOD_ADD_HANDLER (signal_playback_playtime);
+}
+
+
+ +
+ +
+
+ + xc.xform_media_browse(url) → result + + + +
+ + +
+

returns a list of files from the server

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_xform_media_browse (VALUE self, VALUE url)
+{
+        METHOD_ADD_HANDLER_STR (xform_media_browse, url);
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Client/Async.html b/src/clients/lib/ruby/html/classes/Xmms/Client/Async.html new file mode 100644 index 000000000..fadf46aa6 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Client/Async.html @@ -0,0 +1,211 @@ + + + + + Xmms::Client::Async + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(name) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File async.rb, line 22
+def initialize(name)
+        @real = Xmms::Client.new(name)
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args, &block) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File async.rb, line 26
+def method_missing(id, *args, &block)
+        args.push(&block) if(id == 'on_disconnect')
+        ret = @real.send(id, *args)
+        if(block_given? && (ret.is_a?(Xmms::Result) ||
+           ret.is_a?(Xmms::BroadcastResult) || ret.is_a?(Xmms::SignalResult)))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Client))
+                self
+        elsif(ret.is_a?(Xmms::Collection))
+                Xmms::Collection::Async.new(ret)
+        elsif(ret.is_a?(Xmms::Playlist))
+                Xmms::Playlist::Async.new(ret)
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Client/ClientError.html b/src/clients/lib/ruby/html/classes/Xmms/Client/ClientError.html new file mode 100644 index 000000000..82ea80be1 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Client/ClientError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Client::ClientError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Client/DisconnectedError.html b/src/clients/lib/ruby/html/classes/Xmms/Client/DisconnectedError.html new file mode 100644 index 000000000..c6bbc2337 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Client/DisconnectedError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Client::DisconnectedError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Client/Sync.html b/src/clients/lib/ruby/html/classes/Xmms/Client/Sync.html new file mode 100644 index 000000000..5aed99b72 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Client/Sync.html @@ -0,0 +1,211 @@ + + + + + Xmms::Client::Sync + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(name) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 22
+def initialize(name)
+        @real = Xmms::Client.new(name)
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 26
+def method_missing(id, *args)
+        args.push(&block) if(id == 'on_disconnect')
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result) || ret.is_a?(Xmms::BroadcastResult) ||
+           ret.is_a?(Xmms::SignalResult))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Client))
+                self
+        elsif(ret.is_a?(Xmms::Collection))
+                Xmms::Collection::Sync.new(ret)
+        elsif(ret.is_a?(Xmms::Playlist))
+                Xmms::Playlist::Sync.new(ret)
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection.html b/src/clients/lib/ruby/html/classes/Xmms/Collection.html new file mode 100644 index 000000000..f1d9475d6 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection.html @@ -0,0 +1,968 @@ + + + + + Xmms::Collection + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + +
Methods
+
+ +
#
+
+
    + + +
  • + & +
  • + +
+
+ +
A
+
+ +
+ +
C
+
+ +
+ +
I
+
+ +
+ +
N
+
+
    + + +
  • + new, +
  • + + +
  • + not +
  • + +
+
+ +
O
+
+ +
+ +
P
+
+ +
+ +
T
+
+
    + + +
  • + type +
  • + +
+
+ +
U
+
+ +
+ +
#
+
+
    + + +
  • + |, +
  • + + +
  • + ~ +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
Class Public methods
+ +
+
+ + c = Xmms::Collection.new(type) + + + +
+ + +
+

Returns a new Xmms::Collection object of type +type.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_init (VALUE self, VALUE type)
+{
+        COLL_METHOD_HANDLER_HEADER
+
+        coll->real = xmmsv_new_coll (check_int32 (type));
+
+        return self;
+}
+
+
+ +
+ +
+
+ + c = Xmms::Collection.parse(pattern) + + + +
+ + +
+

Returns a collection matching a String pattern. See the wiki for +details on how to construct a pattern string.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_parse (VALUE klass, VALUE pattern)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        if (!xmmsv_coll_parse (StringValuePtr (pattern), &coll->real)) {
+                rb_raise (ePatternError, "invalid pattern");
+        }
+
+        return obj;
+}
+
+
+ +
+ +
+
+ + c = Xmms::Collection.universe + + + +
+ + +
+

Returns a collection referencing the “All Media” set.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_universe (VALUE klass)
+{
+        VALUE obj = rb_obj_alloc (klass);
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (obj, RbCollection, coll);
+
+        coll->real = xmmsv_new_coll (XMMS_COLLECTION_TYPE_UNIVERSE);
+
+        return obj;
+}
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + &(other) + + +
+ + +
+ +
+ + + + + +
+ Alias for: intersect +
+ + + +
+ +
+
+ + and(other) + + +
+ + +
+ +
+ + + + + +
+ Alias for: intersect +
+ + + +
+ +
+
+ + c.attributes + + + +
+ + +
+

Returns the attributes of the collection.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_attributes (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->attributes))
+                coll->attributes = rb_class_new_instance (1, &self, cAttributes);
+
+        return coll->attributes;
+}
+
+
+ +
+ +
+
+ + c.complement → collection + + + +
+ + +
+

Returns a new collection that is the logical complement of c.

+
+ + + +
+ Also aliased as: not, ~ +
+ + + + + + +
+ + +
+
# File xmmsclient.rb, line 49
+def complement
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_COMPLEMENT)
+        c.operands << self
+        c
+end
+
+
+ +
+ +
+
+ + c.idlist + + + +
+ + +
+

Gets the list of media ids that make up the collection.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_idlist_get (VALUE self)
+{
+        VALUE ary = rb_ary_new ();
+        xmmsv_t *ret = NULL;
+        xmmsv_list_iter_t *it = NULL;
+        int32_t entry;
+
+        COLL_METHOD_ADD_HANDLER_RET (idlist_get)
+
+        xmmsv_get_list_iter (ret, &it);
+        for (xmmsv_list_iter_first (it);
+             xmmsv_list_iter_valid (it);
+             xmmsv_list_iter_next (it)) {
+
+                xmmsv_list_iter_entry_int (it, &entry);
+                rb_ary_push (ary, INT2NUM (entry));
+        }
+        xmmsv_list_iter_explicit_destroy (it);
+
+        return ary;
+}
+
+
+ +
+ +
+
+ + c.idlist=(_idlist_) + + + +
+ + +
+

Sets the list of media ids that make up the collection.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_idlist_set (VALUE self, VALUE ids)
+{
+        int i;
+        int *ary = NULL;
+        VALUE *rb_ary;
+        int rb_ary_len;
+
+        Check_Type (ids, T_ARRAY);
+        COLL_METHOD_HANDLER_HEADER
+
+        rb_ary = RARRAY_PTR (ids);
+        rb_ary_len = RARRAY_LEN (ids);
+
+        ary = malloc (sizeof (int) * (rb_ary_len + 1));
+
+        for (i = 0; i < rb_ary_len; i++)
+                ary[i] = NUM2INT (rb_ary[i]);
+
+        ary[i] = 0;
+
+        xmmsv_coll_set_idlist (coll->real, ary);
+
+        return self;
+}
+
+
+ +
+ +
+
+ + c.intersect(other) → collection + + + +
+ + +
+

Returns a new collection that is the logical AND of c and +other.

+
+ + + +
+ Also aliased as: and, & +
+ + + + + + +
+ + +
+
# File xmmsclient.rb, line 37
+def intersect(other)
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_INTERSECTION)
+        c.operands << self
+        c.operands << other
+        c
+end
+
+
+ +
+ +
+
+ + not() + + +
+ + +
+ +
+ + + + + +
+ Alias for: complement +
+ + + +
+ +
+
+ + c.operands + + + +
+ + +
+

Gets a list of the operands that make up the collection.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_operands (VALUE self)
+{
+        RbCollection *coll = NULL;
+
+        Data_Get_Struct (self, RbCollection, coll);
+
+        if (NIL_P (coll->operands))
+                coll->operands = rb_class_new_instance (1, &self, cOperands);
+
+        return coll->operands;
+}
+
+
+ +
+ +
+
+ + or(other) + + +
+ + +
+ +
+ + + + + +
+ Alias for: union +
+ + + +
+ +
+
+ + c.type + + + +
+ + +
+

Returns the type of the collection as an Integer.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_coll_type_get (VALUE self)
+{
+        xmmsc_coll_type_t ret;
+
+        COLL_METHOD_ADD_HANDLER_RET (get_type)
+
+        return INT2NUM (ret);
+}
+
+
+ +
+ +
+
+ + c.union(other) → collection + + + +
+ + +
+

Returns a new collection that is the logical OR of c and +other.

+
+ + + +
+ Also aliased as: or, | +
+ + + + + + +
+ + +
+
# File xmmsclient.rb, line 25
+def union(other)
+        c = Xmms::Collection.new(Xmms::Collection::TYPE_UNION)
+        c.operands << self
+        c.operands << other
+        c
+end
+
+
+ +
+ +
+
+ + |(other) + + +
+ + +
+ +
+ + + + + +
+ Alias for: union +
+ + + +
+ +
+
+ + ~() + + +
+ + +
+ +
+ + + + + +
+ Alias for: complement +
+ + + +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/Async.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/Async.html new file mode 100644 index 000000000..4451480c3 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/Async.html @@ -0,0 +1,205 @@ + + + + + Xmms::Collection::Async + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(coll) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File async.rb, line 47
+def initialize(coll)
+        @real = coll
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args, &block) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File async.rb, line 51
+def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/Attributes.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/Attributes.html new file mode 100644 index 000000000..77199580b --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/Attributes.html @@ -0,0 +1,754 @@ + + + + + Xmms::Collection::Attributes + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
#
+
+
    + + +
  • + [], +
  • + + +
  • + []= +
  • + +
+
+ +
D
+
+ +
+ +
E
+
+ +
+ +
H
+
+ +
+ +
I
+
+ +
+ +
K
+
+
    + + +
  • + key? +
  • + +
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + +
Included Modules
+
    + +
  • + + Enumerable + +
  • + +
+ + + + + + + + + + + + + + + + + + +
Class Public methods
+ +
+
+ + new(p1) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + [](p1) + + +
+ + +
+

HAVE_RB_PROTECT_INSPECT

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_aref (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+        const char *value;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), &value);
+        if (!s)
+                return Qnil;
+
+        return rb_str_new2 (value);
+}
+
+
+ +
+ +
+
+ + []=(p1, p2) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_aset (VALUE self, VALUE key, VALUE value)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+        StringValue (value);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_set_string (coll->real, StringValuePtr (key),
+                                         StringValuePtr (value));
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + delete(p1) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_delete (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        xmmsv_coll_attribute_remove (coll->real, StringValuePtr (key));
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + each() + + +
+ + +
+ +
+ + + +
+ Also aliased as: each_pair +
+ + + + + + +
+ + +
+
static VALUE
+c_attrs_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_PAIR));
+
+        return self;
+}
+
+
+ +
+ +
+
+ + each_key() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_each_key (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_KEY));
+
+        return self;
+}
+
+
+ +
+ +
+
+ + each_pair() + + +
+ + +
+ +
+ + + + + +
+ Alias for: each +
+ + + +
+ +
+
+ + each_value() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_each_value (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *attributes;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        attributes = xmmsv_coll_attributes_get (coll->real);
+
+        xmmsv_dict_foreach (attributes, attr_each,
+                            XINT_TO_POINTER (EACH_VALUE));
+
+        return self;
+}
+
+
+ +
+ +
+
+ + has_key?(p1) + + +
+ + +
+ +
+ + + +
+ Also aliased as: include?, key?, member? +
+ + + + + + +
+ + +
+
static VALUE
+c_attrs_has_key (VALUE self, VALUE key)
+{
+        RbCollection *coll = NULL;
+        VALUE tmp;
+        int s;
+
+        StringValue (key);
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        s = xmmsv_coll_attribute_get_string (coll->real, StringValuePtr (key), NULL);
+
+        return s ? Qtrue : Qfalse;
+}
+
+
+ +
+ +
+
+ + include?(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: has_key? +
+ + + +
+ +
+
+ + inspect() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_attrs_inspect (VALUE self)
+{
+        return rb_protect_inspect (attrs_inspect, self, 0);
+}
+
+
+ +
+ +
+
+ + key?(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: has_key? +
+ + + +
+ +
+
+ + member?(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: has_key? +
+ + + +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/ClientError.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/ClientError.html new file mode 100644 index 000000000..b5e4acd2b --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/ClientError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Collection::ClientError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/CollectionError.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/CollectionError.html new file mode 100644 index 000000000..6a8e4840c --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/CollectionError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Collection::CollectionError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/DisconnectedError.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/DisconnectedError.html new file mode 100644 index 000000000..619908a2f --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/DisconnectedError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Collection::DisconnectedError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/Operands.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/Operands.html new file mode 100644 index 000000000..551008efe --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/Operands.html @@ -0,0 +1,372 @@ + + + + + Xmms::Collection::Operands + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
#
+
+
    + + +
  • + << +
  • + +
+
+ +
D
+
+ +
+ +
E
+
+
    + + +
  • + each +
  • + +
+
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
P
+
+
    + + +
  • + push +
  • + +
+
+ +
+ + + + +
Included Modules
+
    + +
  • + + Enumerable + +
  • + +
+ + + + + + + + + + + + + + + + + + +
Class Public methods
+ +
+
+ + new(p1) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_operands_init (VALUE self, VALUE collection)
+{
+        rb_iv_set (self, "collection", collection);
+
+        return self;
+}
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + <<(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: push +
+ + + +
+ +
+
+ + delete(p1) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_operands_delete (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_remove_operand (coll->real, coll2->real);
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + each() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_operands_each (VALUE self)
+{
+        RbCollection *coll = NULL;
+        xmmsv_t *operands_list;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        operands_list = xmmsv_coll_operands_get (coll->real);
+
+        xmmsv_list_foreach (operands_list, operands_each, NULL);
+
+        return self;
+}
+
+
+ +
+ +
+
+ + push(p1) + + +
+ + +
+ +
+ + + +
+ Also aliased as: << +
+ + + + + + +
+ + +
+
static VALUE
+c_operands_push (VALUE self, VALUE arg)
+{
+        RbCollection *coll = NULL, *coll2 = NULL;
+        VALUE tmp;
+
+        tmp = rb_iv_get (self, "collection");
+        Data_Get_Struct (tmp, RbCollection, coll);
+
+        Data_Get_Struct (arg, RbCollection, coll2);
+
+        xmmsv_coll_add_operand (coll->real, coll2->real);
+
+        return self;
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/PatternError.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/PatternError.html new file mode 100644 index 000000000..66dc5d32a --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/PatternError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Collection::PatternError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection/Sync.html b/src/clients/lib/ruby/html/classes/Xmms/Collection/Sync.html new file mode 100644 index 000000000..461184cd7 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection/Sync.html @@ -0,0 +1,205 @@ + + + + + Xmms::Collection::Sync + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(coll) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 48
+def initialize(coll)
+        @real = coll
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 52
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Collection2.html b/src/clients/lib/ruby/html/classes/Xmms/Collection2.html new file mode 100644 index 000000000..3b634f210 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Collection2.html @@ -0,0 +1,112 @@ + + + + + Xmms::Collection2 + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Constants
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NS_ALL=rb_str_new2 (XMMS_COLLECTION_NS_ALL)
 
NS_COLLECTIONS=rb_str_new2 (XMMS_COLLECTION_NS_COLLECTIONS)
 
NS_PLAYLISTS=rb_str_new2 (XMMS_COLLECTION_NS_PLAYLISTS)
 
+ + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Dict.html b/src/clients/lib/ruby/html/classes/Xmms/Dict.html new file mode 100644 index 000000000..d32cfc8b3 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Dict.html @@ -0,0 +1,722 @@ + + + + + Xmms::Dict + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
#
+
+
    + + +
  • + [] +
  • + +
+
+ +
E
+
+ +
+ +
H
+
+ +
+ +
I
+
+ +
+ +
K
+
+
    + + +
  • + key? +
  • + +
+
+ +
L
+
+ +
+ +
M
+
+ +
+ +
S
+
+
    + + +
  • + size +
  • + +
+
+ +
+ + + + +
Included Modules
+
    + +
  • + + Enumerable + +
  • + +
+ + + + + + + + + + + + + + + + + + +
Instance Public methods
+ +
+
+ + [](p1) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_dict_aref (VALUE self, VALUE key)
+{
+        RbDict *dict = NULL;
+        xmmsv_dict_iter_t *it;
+        xmmsv_t *value;
+        const char *ckey;
+        int s;
+
+        Check_Type (key, T_SYMBOL);
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        xmmsv_get_dict_iter (dict->real, &it);
+
+        s = xmmsv_dict_iter_find (it, ckey);
+        if (!s)
+                return Qnil;
+
+        xmmsv_dict_iter_pair (it, NULL, &value);
+
+        return extract_value (self, value);
+}
+
+
+ +
+ +
+
+ + each() + + +
+ + +
+ +
+ + + +
+ Also aliased as: each_pair +
+ + + + + + +
+ + +
+
static VALUE
+c_dict_each (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_pair, &self);
+
+        return self;
+}
+
+
+ +
+ +
+
+ + each_key() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_dict_each_key (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_key, NULL);
+
+        return self;
+}
+
+
+ +
+ +
+
+ + each_pair() + + +
+ + +
+ +
+ + + + + +
+ Alias for: each +
+ + + +
+ +
+
+ + each_value() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_dict_each_value (VALUE self)
+{
+        RbDict *dict = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        xmmsv_dict_foreach (dict->real, dict_each_value, &self);
+
+        return self;
+}
+
+
+ +
+ +
+
+ + empty?() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_dict_empty (VALUE self)
+{
+        RbDict *dict = NULL;
+        int size;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        size = xmmsv_dict_get_size (dict->real);
+
+        return size == 0 ? Qtrue : Qfalse;
+}
+
+
+ +
+ +
+
+ + has_key?(p1) + + +
+ + +
+ +
+ + + +
+ Also aliased as: include?, key?, member? +
+ + + + + + +
+ + +
+
static VALUE
+c_dict_has_key (VALUE self, VALUE key)
+{
+        RbDict *dict = NULL;
+        xmmsv_dict_iter_t *it;
+        const char *ckey;
+
+        Check_Type (key, T_SYMBOL);
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        ckey = rb_id2name (SYM2ID (key));
+
+        xmmsv_get_dict_iter (dict->real, &it);
+
+        return xmmsv_dict_iter_find (it, ckey) ? Qtrue : Qfalse;
+}
+
+
+ +
+ +
+
+ + include?(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: has_key? +
+ + + +
+ +
+
+ + inspect() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_dict_inspect (VALUE self)
+{
+        return rb_protect_inspect (dict_inspect, self, 0);
+}
+
+
+ +
+ +
+
+ + key?(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: has_key? +
+ + + +
+ +
+
+ + length() + + +
+ + +
+ +
+ + + + + +
+ Alias for: size +
+ + + +
+ +
+
+ + member?(p1) + + +
+ + +
+ +
+ + + + + +
+ Alias for: has_key? +
+ + + +
+ +
+
+ + size() + + +
+ + +
+ +
+ + + +
+ Also aliased as: length +
+ + + + + + +
+ + +
+
static VALUE
+c_dict_size (VALUE self)
+{
+        RbDict *dict = NULL;
+        int size;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        size = xmmsv_dict_get_size (dict->real);
+
+        return INT2NUM (size);
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Playlist.html b/src/clients/lib/ruby/html/classes/Xmms/Playlist.html new file mode 100644 index 000000000..11d072294 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Playlist.html @@ -0,0 +1,978 @@ + + + + + Xmms::Playlist + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + +
Methods
+
+ +
A
+
+ +
+ +
C
+
+ +
+ +
E
+
+ +
+ +
I
+
+ +
+ +
L
+
+
    + + +
  • + load +
  • + +
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + name, +
  • + + +
  • + new +
  • + +
+
+ +
R
+
+ +
+ +
S
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Class Public methods
+ +
+
+ + pl = Xmms::Playlist.new(xc, [name]) + + + +
+ + +
+

Initializes a new Xmms::Playlist using the +playlist named name and the Xmms::Client +instance xc. Xmms::Client#playlist is a useful +shortcut. name is is the name of the playlist and the active +playlist will be used if it is not specified. Raises PlaylistError if the playlist name +is invalid.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_init (int argc, VALUE *argv, VALUE self)
+{
+        RbPlaylist *pl = NULL;
+        VALUE name, xmms = Qnil;
+
+        Data_Get_Struct (self, RbPlaylist, pl);
+
+        rb_scan_args (argc, argv, "11", &xmms, &name);
+
+        /* FIXME: Check type! */
+        pl->xmms = xmms;
+
+        if (NIL_P (name))
+                pl->name_value = rb_str_new2 (XMMS_ACTIVE_PLAYLIST);
+        else
+                pl->name_value = rb_str_dup (name);
+
+        OBJ_FREEZE (pl->name_value);
+
+        pl->name = StringValuePtr (pl->name_value);
+
+        return self;
+}
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + pl.add_collection(coll [, order]) → result + + + +
+ + +
+

Adds the collection coll to the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_add_collection (int argc, VALUE *argv, VALUE self)
+{
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        VALUE rbcoll, order = Qnil;
+        xmmsv_t *corder = NULL;
+        xmmsc_coll_t *coll;
+
+        rb_scan_args (argc, argv, "11", &rbcoll, &order);
+
+        coll = FROM_XMMS_CLIENT_COLLECTION (rbcoll);
+
+        if (!NIL_P (order))
+                corder = parse_string_array2 (order);
+
+        res = xmmsc_playlist_add_collection (xmms->real, pl->name,
+                                             coll, corder);
+
+        if (corder)
+                xmmsv_unref (corder);
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + pl.add_entry(arg) → result + + + +
+ + +
+

Adds an entry to the playlist. arg can be either a URL or an id.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_add_entry (VALUE self, VALUE arg)
+{
+        int32_t id;
+
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        if (!NIL_P (rb_check_string_type (arg)))
+                res = xmmsc_playlist_add_url (xmms->real, pl->name,
+                                              StringValuePtr (arg));
+        else {
+                id = check_int32 (arg);
+                res = xmmsc_playlist_add_id (xmms->real, pl->name, id);
+        }
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + pl.clear → result + + + +
+ + +
+

Clears the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_clear (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (clear)
+}
+
+
+ +
+ +
+
+ + pl.current_pos → result + + + +
+ + +
+

Retrieves the current position of the playlist. May raise an Xmms::Result::ValueError exception if the +current position is undefined.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_current_pos (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (current_pos)
+}
+
+
+ +
+ +
+
+ + pl.entries → result + + + +
+ + +
+

Retrieves an array containing ids for each position of the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_list_entries (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (list_entries)
+}
+
+
+ +
+ +
+
+ + pl.insert_entry(pos, arg) → result + + + +
+ + +
+

Inserts an entry to the current playlist at position pos in the +playlist. arg can be either a URL or an id.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_insert_entry (VALUE self, VALUE pos, VALUE arg)
+{
+        int32_t id;
+        int32_t ipos;
+
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        ipos = check_int32 (pos);
+
+        if (!NIL_P (rb_check_string_type (arg)))
+                res = xmmsc_playlist_insert_url (xmms->real, pl->name,
+                                                 ipos, StringValuePtr (arg));
+        else {
+                id = check_int32 (arg);
+                res = xmmsc_playlist_insert_id (xmms->real, pl->name,
+                                                ipos, id);
+        }
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+
+ +
+ +
+
+ + pl.load → result + + + +
+ + +
+

Loads the playlist as the current active playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_load (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (load);
+}
+
+
+ +
+ +
+
+ + pl.playlist_move_entry(current_pos, new_pos) → result + + + +
+ + +
+

Moves the entry at current_pos to new_pos in the +playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_move_entry (VALUE self, VALUE cur_pos, VALUE new_pos)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT_INT (move_entry, cur_pos, new_pos)
+}
+
+
+ +
+ +
+
+ + pl.name → string + + + +
+ + +
+

Returns the name of the playlist in the medialib as a String.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_name (VALUE self)
+{
+        RbPlaylist *pl = NULL;
+
+        Data_Get_Struct (self, RbPlaylist, pl);
+
+        return pl->name_value;
+}
+
+
+ +
+ +
+
+ + pl.radd(path) → result + + + +
+ + +
+

Recursively imports all media files under path to the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_radd (VALUE self, VALUE path)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_STR (radd, path);
+}
+
+
+ +
+ +
+
+ + pl.remove → result + + + +
+ + +
+

Removes the playlist from the medialib.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_remove (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (remove);
+}
+
+
+ +
+ +
+
+ + pl.remove_entry(pos) → result + + + +
+ + +
+

Removes the entry at pos from the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_remove_entry (VALUE self, VALUE pos)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT (remove_entry, pos)
+}
+
+
+ +
+ +
+
+ + pl.rinsert(pos, path) → result + + + +
+ + +
+

Recursively imports all media files under path at position +pos in the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_rinsert (VALUE self, VALUE pos, VALUE path)
+{
+        PLAYLIST_METHOD_ADD_HANDLER_INT_STR (rinsert, pos, path);
+}
+
+
+ +
+ +
+
+ + pl.shuffle → result + + + +
+ + +
+

Shuffles the playlist.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_shuffle (VALUE self)
+{
+        PLAYLIST_METHOD_ADD_HANDLER (shuffle)
+}
+
+
+ +
+ +
+
+ + pl.sort(properties) → result + + + +
+ + +
+

Sorts the playlist on properties, which is an array of medialib +properties such as [“title”, “artist”].

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_sort (VALUE self, VALUE props)
+{
+        xmmsv_t *cprops;
+        PLAYLIST_METHOD_HANDLER_HEADER
+
+        cprops = parse_string_array2 (props);
+        res = xmmsc_playlist_sort (xmms->real, pl->name, cprops);
+        xmmsv_unref (cprops);
+
+        PLAYLIST_METHOD_HANDLER_FOOTER
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Playlist/Async.html b/src/clients/lib/ruby/html/classes/Xmms/Playlist/Async.html new file mode 100644 index 000000000..7ff7547bb --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Playlist/Async.html @@ -0,0 +1,205 @@ + + + + + Xmms::Playlist::Async + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(plist) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File async.rb, line 66
+def initialize(plist)
+        @real = plist
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args, &block) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File async.rb, line 70
+def method_missing(id, *args, &block)
+        ret = @real.send(id, *args)
+        if(block_given? && ret.is_a?(Xmms::Result))
+                ret.notifier(&block)
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Playlist/ClientError.html b/src/clients/lib/ruby/html/classes/Xmms/Playlist/ClientError.html new file mode 100644 index 000000000..dc9d09315 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Playlist/ClientError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Playlist::ClientError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Playlist/DisconnectedError.html b/src/clients/lib/ruby/html/classes/Xmms/Playlist/DisconnectedError.html new file mode 100644 index 000000000..aabf5ecd0 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Playlist/DisconnectedError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Playlist::DisconnectedError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Playlist/PlaylistError.html b/src/clients/lib/ruby/html/classes/Xmms/Playlist/PlaylistError.html new file mode 100644 index 000000000..b87660cf3 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Playlist/PlaylistError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Playlist::PlaylistError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Playlist/Sync.html b/src/clients/lib/ruby/html/classes/Xmms/Playlist/Sync.html new file mode 100644 index 000000000..7dbb9ba5e --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Playlist/Sync.html @@ -0,0 +1,205 @@ + + + + + Xmms::Playlist::Sync + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(plist) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 67
+def initialize(plist)
+        @real = plist
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 71
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/RawDict.html b/src/clients/lib/ruby/html/classes/Xmms/RawDict.html new file mode 100644 index 000000000..ac223877e --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/RawDict.html @@ -0,0 +1,164 @@ + + + + + Xmms::RawDict + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
T
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Instance Public methods
+ +
+
+ + rawdict.to_propdict( src_prefs ) → propdict + + + +
+ + +
+

Transforms a RawDict (key-source-value) to a +regular key-value dict. The optional src_prefs argument restricts which +sources are considered. The value may be a string or an array of strings, +which may contain wildcards. Example: rawdict.to_propdict( +['server','plugin/*'] )

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_raw_dict_to_propdict (int argc, VALUE *argv, VALUE self)
+{
+        VALUE value, sources = Qnil;
+        RbDict *dict = NULL, *dict2 = NULL;
+        xmmsv_t *inner_dict;
+        const char **csources = NULL;
+
+        Data_Get_Struct (self, RbDict, dict);
+
+        rb_scan_args (argc, argv, "01", &sources);
+
+        if (!NIL_P (sources))
+                csources = parse_string_array (sources);
+        inner_dict = xmmsv_propdict_to_dict (dict->real, csources);
+        if (csources)
+                free (csources);
+
+        value = Data_Make_Struct (cDict, RbDict,
+                                  c_dict_mark, c_dict_free,
+                                  dict2);
+
+        // don't add a second reference here
+        dict2->real = inner_dict;
+        dict2->parent = dict->parent;
+
+        rb_obj_call_init (value, 0, NULL);
+
+        return value;
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Result.html b/src/clients/lib/ruby/html/classes/Xmms/Result.html new file mode 100644 index 000000000..3a281e030 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Result.html @@ -0,0 +1,390 @@ + + + + + Xmms::Result + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + +
Methods
+
+ +
E
+
+ +
+ +
N
+
+ +
+ +
V
+
+ +
+ +
W
+
+
    + + +
  • + wait +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
Instance Public methods
+ +
+
+ + error() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_get_error (VALUE self)
+{
+        RbResult *res;
+        xmmsv_t *val;
+        const char *error;
+        int ret;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        val = xmmsc_result_get_value (res->real);
+
+        ret = xmmsv_get_error (val, &error);
+
+        return rb_str_new2 (ret ? error : "");
+}
+
+
+ +
+ +
+
+ + error?() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_is_error (VALUE self)
+{
+        RbResult *res;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        return xmmsc_result_iserror (res->real) ? Qtrue : Qfalse;
+}
+
+
+ +
+ +
+
+ + res.notifier { |res| } + + + +
+ + +
+

Sets the block that's executed when res is handled. Used by +asyncronous results only.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_notifier_set (VALUE self)
+{
+        VALUE callback;
+        RbResult *res = NULL;
+        RbXmmsClient *xmms = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        if (!rb_block_given_p ())
+                return Qnil;
+
+        callback = rb_block_proc ();
+
+        Data_Get_Struct (res->xmms, RbXmmsClient, xmms);
+        rb_ary_push (xmms->result_callbacks, callback);
+
+        xmmsc_result_notifier_set (res->real, on_signal, (void *) callback);
+
+        return Qnil;
+}
+
+
+ +
+ +
+
+ + value() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_value_get (VALUE self)
+{
+        RbResult *res = NULL;
+        xmmsv_t *val;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        val = xmmsc_result_get_value (res->real);
+
+        return extract_value (self, val);
+}
+
+
+ +
+ +
+
+ + res.wait → self + + + +
+ + +
+

Waits for res to be handled.

+
+ + + + + + + + +
+ + +
+
static VALUE
+c_wait (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_wait (res->real);
+
+        return self;
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Result/ResultError.html b/src/clients/lib/ruby/html/classes/Xmms/Result/ResultError.html new file mode 100644 index 000000000..16d3f7139 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Result/ResultError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Result::ResultError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Result/ValueError.html b/src/clients/lib/ruby/html/classes/Xmms/Result/ValueError.html new file mode 100644 index 000000000..760a464a6 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Result/ValueError.html @@ -0,0 +1,76 @@ + + + + + Xmms::Result::ValueError + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/SignalResult.html b/src/clients/lib/ruby/html/classes/Xmms/SignalResult.html new file mode 100644 index 000000000..c5f730910 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/SignalResult.html @@ -0,0 +1,140 @@ + + + + + Xmms::SignalResult + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
D
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Instance Public methods
+ +
+
+ + disconnect() + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
static VALUE
+c_disconnect (VALUE self)
+{
+        RbResult *res = NULL;
+
+        Data_Get_Struct (self, RbResult, res);
+
+        xmmsc_result_disconnect (res->real);
+
+        return self;
+}
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Xmms.html b/src/clients/lib/ruby/html/classes/Xmms/Xmms.html new file mode 100644 index 000000000..10f84ab22 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Xmms.html @@ -0,0 +1,83 @@ + + + + + Xmms::Xmms + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms.html b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms.html new file mode 100644 index 000000000..8c52559a4 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms.html @@ -0,0 +1,84 @@ + + + + + Xmms::Xmms::Xmms + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Collection.html b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Collection.html new file mode 100644 index 000000000..0338d1916 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Collection.html @@ -0,0 +1,79 @@ + + + + + Xmms::Xmms::Xmms::Collection + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Collection/Sync.html b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Collection/Sync.html new file mode 100644 index 000000000..6c531f126 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Collection/Sync.html @@ -0,0 +1,205 @@ + + + + + Xmms::Xmms::Xmms::Collection::Sync + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(coll) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 48
+def initialize(coll)
+        @real = coll
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 52
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Playlist.html b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Playlist.html new file mode 100644 index 000000000..270d19e0a --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Playlist.html @@ -0,0 +1,79 @@ + + + + + Xmms::Xmms::Xmms::Playlist + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
Namespace
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Playlist/Sync.html b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Playlist/Sync.html new file mode 100644 index 000000000..e26dd333f --- /dev/null +++ b/src/clients/lib/ruby/html/classes/Xmms/Xmms/Xmms/Playlist/Sync.html @@ -0,0 +1,205 @@ + + + + + Xmms::Xmms::Xmms::Playlist::Sync + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
M
+
+ +
+ +
N
+
+
    + + +
  • + new +
  • + +
+
+ +
+ + + + + + + + + + + + + + + + + +
Attributes
+ + + + + + + + +
+ [R] + real
+ + + + + +
Class Public methods
+ +
+
+ + new(plist) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 67
+def initialize(plist)
+        @real = plist
+end
+
+
+ +
+ +
Instance Public methods
+ +
+
+ + method_missing(id, *args) + + +
+ + +
+ +
+ + + + + + + + +
+ + +
+
# File sync.rb, line 71
+def method_missing(id, *args)
+        ret = @real.send(id, *args)
+        if(ret.is_a?(Xmms::Result))
+                ret.wait.value
+        elsif(ret.is_a?(Xmms::Collection))
+                self
+        else
+                ret
+        end
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/classes/unknown.html b/src/clients/lib/ruby/html/classes/unknown.html new file mode 100644 index 000000000..133cd4a21 --- /dev/null +++ b/src/clients/lib/ruby/html/classes/unknown.html @@ -0,0 +1,76 @@ + + + + + unknown + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/created.rid b/src/clients/lib/ruby/html/created.rid new file mode 100644 index 000000000..f7f1231a3 --- /dev/null +++ b/src/clients/lib/ruby/html/created.rid @@ -0,0 +1,15 @@ +Thu, 17 Mar 2016 01:54:05 +0100 +async.rb Thu, 17 Mar 2016 01:41:02 +0100 +rb_collection.c Thu, 17 Mar 2016 01:41:30 +0100 +rb_collection.h Sat, 30 Jan 2016 15:11:02 +0100 +rb_playlist.c Wed, 16 Mar 2016 20:44:59 +0100 +rb_playlist.h Sat, 30 Jan 2016 15:11:02 +0100 +rb_result.c Wed, 16 Mar 2016 21:12:57 +0100 +rb_result.h Sat, 30 Jan 2016 15:11:02 +0100 +rb_xmmsclient.c Wed, 16 Mar 2016 21:38:31 +0100 +rb_xmmsclient_ecore.c Sat, 30 Jan 2016 15:11:02 +0100 +rb_xmmsclient_glib.c Wed, 16 Mar 2016 21:42:22 +0100 +rb_xmmsclient.h Sat, 30 Jan 2016 15:11:02 +0100 +rb_xmmsclient_main.c Sat, 30 Jan 2016 15:11:02 +0100 +sync.rb Thu, 17 Mar 2016 01:40:54 +0100 +xmmsclient.rb Sat, 30 Jan 2016 15:11:02 +0100 diff --git a/src/clients/lib/ruby/html/css/common.css b/src/clients/lib/ruby/html/css/common.css new file mode 100644 index 000000000..cf25c4523 --- /dev/null +++ b/src/clients/lib/ruby/html/css/common.css @@ -0,0 +1 @@ +/* Override this file with custom rules */ \ No newline at end of file diff --git a/src/clients/lib/ruby/html/css/fonts.css b/src/clients/lib/ruby/html/css/fonts.css new file mode 100644 index 000000000..e9e721183 --- /dev/null +++ b/src/clients/lib/ruby/html/css/fonts.css @@ -0,0 +1,167 @@ +/* + * Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + * with Reserved Font Name "Source". All Rights Reserved. Source is a + * trademark of Adobe Systems Incorporated in the United States and/or other + * countries. + * + * This Font Software is licensed under the SIL Open Font License, Version + * 1.1. + * + * This license is copied below, and is also available with a FAQ at: + * http://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 400; + src: local("Source Code Pro"), + local("SourceCodePro-Regular"), + url("fonts/SourceCodePro-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 700; + src: local("Source Code Pro Bold"), + local("SourceCodePro-Bold"), + url("fonts/SourceCodePro-Bold.ttf") format("truetype"); +} + +/* + * Copyright (c) 2010, Łukasz Dziedzic (dziedzic@typoland.com), + * with Reserved Font Name Lato. + * + * This Font Software is licensed under the SIL Open Font License, Version + * 1.1. + * + * This license is copied below, and is also available with a FAQ at: + * http://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Lato"; + font-style: normal; + font-weight: 300; + src: local("Lato Light"), + local("Lato-Light"), + url("fonts/Lato-Light.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: italic; + font-weight: 300; + src: local("Lato Light Italic"), + local("Lato-LightItalic"), + url("fonts/Lato-LightItalic.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: normal; + font-weight: 700; + src: local("Lato Regular"), + local("Lato-Regular"), + url("fonts/Lato-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: italic; + font-weight: 700; + src: local("Lato Italic"), + local("Lato-Italic"), + url("fonts/Lato-RegularItalic.ttf") format("truetype"); +} + +/* + * ----------------------------------------------------------- + * SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + * ----------------------------------------------------------- + * + * PREAMBLE + * The goals of the Open Font License (OFL) are to stimulate worldwide + * development of collaborative font projects, to support the font creation + * efforts of academic and linguistic communities, and to provide a free and + * open framework in which fonts may be shared and improved in partnership + * with others. + * + * The OFL allows the licensed fonts to be used, studied, modified and + * redistributed freely as long as they are not sold by themselves. The + * fonts, including any derivative works, can be bundled, embedded, + * redistributed and/or sold with any software provided that any reserved + * names are not used by derivative works. The fonts and derivatives, + * however, cannot be released under any other type of license. The + * requirement for fonts to remain under this license does not apply + * to any document created using the fonts or their derivatives. + * + * DEFINITIONS + * "Font Software" refers to the set of files released by the Copyright + * Holder(s) under this license and clearly marked as such. This may + * include source files, build scripts and documentation. + * + * "Reserved Font Name" refers to any names specified as such after the + * copyright statement(s). + * + * "Original Version" refers to the collection of Font Software components as + * distributed by the Copyright Holder(s). + * + * "Modified Version" refers to any derivative made by adding to, deleting, + * or substituting -- in part or in whole -- any of the components of the + * Original Version, by changing formats or by porting the Font Software to a + * new environment. + * + * "Author" refers to any designer, engineer, programmer, technical + * writer or other person who contributed to the Font Software. + * + * PERMISSION & CONDITIONS + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of the Font Software, to use, study, copy, merge, embed, modify, + * redistribute, and sell modified and unmodified copies of the Font + * Software, subject to the following conditions: + * + * 1) Neither the Font Software nor any of its individual components, + * in Original or Modified Versions, may be sold by itself. + * + * 2) Original or Modified Versions of the Font Software may be bundled, + * redistributed and/or sold with any software, provided that each copy + * contains the above copyright notice and this license. These can be + * included either as stand-alone text files, human-readable headers or + * in the appropriate machine-readable metadata fields within text or + * binary files as long as those fields can be easily viewed by the user. + * + * 3) No Modified Version of the Font Software may use the Reserved Font + * Name(s) unless explicit written permission is granted by the corresponding + * Copyright Holder. This restriction only applies to the primary font name as + * presented to the users. + * + * 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + * Software shall not be used to promote, endorse or advertise any + * Modified Version, except to acknowledge the contribution(s) of the + * Copyright Holder(s) and the Author(s) or with their explicit written + * permission. + * + * 5) The Font Software, modified or unmodified, in part or in whole, + * must be distributed entirely under this license, and must not be + * distributed under any other license. The requirement for fonts to + * remain under this license does not apply to any document created + * using the Font Software. + * + * TERMINATION + * This license becomes null and void if any of the above conditions are + * not met. + * + * DISCLAIMER + * THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + * DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + * OTHER DEALINGS IN THE FONT SOFTWARE. + */ + diff --git a/src/clients/lib/ruby/html/css/full_list.css b/src/clients/lib/ruby/html/css/full_list.css new file mode 100644 index 000000000..c918cf190 --- /dev/null +++ b/src/clients/lib/ruby/html/css/full_list.css @@ -0,0 +1,57 @@ +body { + margin: 0; + font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + font-size: 13px; + height: 101%; + overflow-x: hidden; +} + +h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; } +.clear { clear: both; } +#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; } +#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; } +#full_list { padding: 0; list-style: none; margin-left: 0; } +#full_list ul { padding: 0; } +#full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; } +#noresults { padding: 7px 12px; } +#content.insearch #noresults { margin-left: 7px; } +ul.collapsed ul, ul.collapsed li { display: none; } +ul.collapsed.search_uncollapsed { display: block; } +ul.collapsed.search_uncollapsed li { display: list-item; } +li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; } +li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; } +li { color: #888; cursor: pointer; } +li.deprecated { text-decoration: line-through; font-style: italic; } +li.r1 { background: #f0f0f0; } +li.r2 { background: #fafafa; } +li:hover { background: #ddd; } +li small:before { content: "("; } +li small:after { content: ")"; } +li small.search_info { display: none; } +a:link, a:visited { text-decoration: none; color: #05a; } +li.clicked { background: #05a; color: #ccc; } +li.clicked a:link, li.clicked a:visited { color: #eee; } +li.clicked a.toggle { opacity: 0.5; background-position: bottom right; } +li.collapsed.clicked a.toggle { background-position: top right; } +#search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +#nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; } +#nav a:link, #nav a:visited { color: #358; } +#nav a:hover { background: transparent; color: #5af; } +.frames #nav span:after { content: ' | '; } +.frames #nav span:last-child:after { content: ''; } + +.frames #content h1 { margin-top: 0; } +.frames li { white-space: nowrap; cursor: normal; } +.frames li small { display: block; font-size: 0.8em; } +.frames li small:before { content: ""; } +.frames li small:after { content: ""; } +.frames li small.search_info { display: none; } +.frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; } +.frames #content.insearch #search { background-position: center right; } +.frames #search input { width: 110px; } +.frames #nav { display: block; } + +#full_list.insearch li { display: none; } +#full_list.insearch li.found { display: list-item; padding-left: 10px; } +#full_list.insearch li a.toggle { display: none; } +#full_list.insearch li small.search_info { display: block; } diff --git a/src/clients/lib/ruby/html/css/github.css b/src/clients/lib/ruby/html/css/github.css new file mode 100644 index 000000000..ea7cde820 --- /dev/null +++ b/src/clients/lib/ruby/html/css/github.css @@ -0,0 +1,123 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +pre .comment, +pre .template_comment, +pre .diff .header, +pre .javadoc { + color: #998; + font-style: italic +} + +pre .keyword, +pre .css .rule .keyword, +pre .winutils, +pre .javascript .title, +pre .lisp .title, +pre .subst { + color: #000; + font-weight: bold +} + +pre .number, +pre .hexcolor { + color: #40a070 +} + +pre .string, +pre .tag .value, +pre .phpdoc, +pre .tex .formula { + color: #d14 +} + +pre .title, +pre .id { + color: #900; + font-weight: bold +} + +pre .javascript .title, +pre .lisp .title, +pre .subst { + font-weight: normal +} + +pre .class .title, +pre .haskell .label, +pre .tex .command { + color: #458; + font-weight: bold +} + +pre .tag, +pre .tag .title, +pre .rules .property, +pre .django .tag .keyword { + color: #000080; + font-weight: normal +} + +pre .attribute, +pre .variable, +pre .instancevar, +pre .lisp .body { + color: #008080 +} + +pre .regexp { + color: #009926 +} + +pre .class { + color: #458; + font-weight: bold +} + +pre .symbol, +pre .ruby .symbol .string, +pre .ruby .symbol .keyword, +pre .ruby .symbol .keymethods, +pre .lisp .keyword, +pre .tex .special, +pre .input_number { + color: #990073 +} + +pre .builtin, +pre .built_in, +pre .lisp .title { + color: #0086b3 +} + +pre .preprocessor, +pre .pi, +pre .doctype, +pre .shebang, +pre .cdata { + color: #999; + font-weight: bold +} + +pre .deletion { + background: #fdd +} + +pre .addition { + background: #dfd +} + +pre .diff .change { + background: #0086b3 +} + +pre .chunk { + color: #aaa +} + +pre .tex .formula { + opacity: 0.5; +} diff --git a/src/clients/lib/ruby/html/css/main.css b/src/clients/lib/ruby/html/css/main.css new file mode 100755 index 000000000..dcfdb8824 --- /dev/null +++ b/src/clients/lib/ruby/html/css/main.css @@ -0,0 +1,323 @@ +body { + font-family: "Helvetica Neue", Arial, sans-serif; + background: #FFF; + color: #000; + margin: 0px; + font-size: 0.82em; + line-height: 1.25em; +} + +a { + color: #00F; + text-decoration: none; +} + +a:hover { + color: #333; + background: #FE8; +} + +p { + margin-bottom: 1em; +} + +h1 { + font-size: 2.1em; + font-weight: normal; + line-height: 1.2em; + margin: 1.4em 0 0.7em 0; +} + +h2 { + font-size: 1.6em; + margin: 1.8em 0 0.8em 0; + font-weight: normal; + line-height: 1.2em; +} + +h3 { + font-size: 1.4em; + color:#555; + margin: 1.4em 0 0.7em 0; + font-weight: normal; +} + +h4 { + margin: 1.4em 0 0.5em 0; + font-size: 1em; +} + +table +{ + margin-bottom: 1em; +} + +td, th +{ + padding: 0 0.7em 0.3em 0; +} + +th +{ + font-weight: bold; +} + +.clear +{ + clear: both; + width: 0; height: 0; +} + +dt +{ + margin-bottom: 0.3em; + font-weight: bold; +} + +dd +{ + margin-left: 2em; + margin-bottom: 1em; +} + +dd p +{ + margin-top: 0.6em; +} + +li +{ + margin: 0 0 0.5em 2em; +} + +.banner +{ + background: #EDF3FE; + border-bottom: 1px solid #ccc; + padding: 1em 2em 0.5em 2em; +} +.banner h1 +{ + font-size: 1.2em; + margin: 0; +} + +.banner h1 .type +{ + font-size: 0.833em; + display:block; +} + +.banner h1 .type, +.banner h1 .parent +{ + color: #666; +} + +.banner ul +{ + margin-top: 0.3em; + margin-bottom: 0; + font-size: 0.85em; +} + +.banner li +{ + list-style: none; + margin-left: 0; + margin-bottom: 0; +} + +pre +{ + margin-bottom: 1em; +} + +.methods dt +{ + width: 1em; + font-size: 1.5em; + color:#AAA; + position: absolute; + font-weight: normal; + margin: 0; +} + +.methods dd +{ + margin-left: 2.5em; + min-height: 1.8em; + -height: 1.8em; + padding-bottom: 0.8em; +} + + +.methods ul li +{ + margin-right: 0.7em; + margin-left: 0; + list-style: none; + display: inline; +} + +#content { + margin: 2em; + margin-left: 3.5em; + margin-right: 3.5em; +} + + +.sectiontitle { + margin-top: 2em; + margin-bottom: 1.3em; + margin-left: -1.2em; + font-size: 1.2em; + padding: 0 0 0.25em 0; + font-weight: bold; + border-bottom: 1px solid #000; +} + +.contenttitle { + margin-top: 4em; + margin-bottom: 1.3em; + margin-left: -0.9em; + font-size: 1.6em; + padding: 0 0 0.25em 0; + font-weight: bold; +} + +.attr-rw { + padding-right: 1em; + text-align: center; + color: #055; +} + +.attr-name { + font-weight: bold; + padding-right: 1em; +} + +.attr-desc { +} + +tt { + font-size: 1.15em; +} + +.attr-value { + font-family: monospace; + padding-left: 1em; + font-size: 1.15em; +} + +.dyn-source { + display: none; + background: #fffde8; + color: #000; + border: #ffe0bb dotted 1px; + margin: 0.5em 2em 0.5em 0; + padding: 0.5em; +} + +.dyn-source .cmt { + color: #00F; + font-style: italic; +} + +.dyn-source .kw { + color: #070; + font-weight: bold; +} + +.description pre { + padding: 0.5em; + border: #ffe0bb dotted 1px; + background: #fffde8; +} + +.method { + margin-bottom: 2em; +} +.method .description, +.method .sourcecode +{ + margin-left: 1.2em; +} +.method h4 +{ + border-bottom: 1px dotted #999; + padding: 0 0 0.2em 0; + margin-bottom: 0.8em; + font-size: 1.1em; + color:#333; +} +.method .method-title { + border-bottom: 1px dotted #666; + padding: 0 0 0.15em 0; + margin: 0 0 0.5em 0; + font-size: 1.2em; + line-height: 1.25em; + position: relative; +} + +.method .method-title a.permalink { + position: absolute; + font-size: 0.75em; + right: 0; +} + +.method .sourcecode p.source-link { + text-indent: 0em; + margin-top: 0.5em; +} + +.method .aka { + margin-top: 0.3em; + margin-left: 1em; + font-style: italic; + text-indent: 2em; +} + +.method .source-link +{ + font-size: 0.85em; +} + +.ruby-constant { + color: teal; +} +.ruby-keyword { + color: #000; + font-weight: bold +} +.ruby-title { + color: #900; + font-weight: bold; +} +.ruby-ivar { + color: teal; +} +.ruby-operator { + color: #000; + font-weight: bold +} +.ruby-identifier { + color: #000; +} +.ruby-string, +.ruby-node { + color: #D14; +} +.ruby-comment { + color: #998; + font-style: italic; +} +.ruby-regexp { + color: #009926; +} +.ruby-value { + color: #990073; +} +.ruby-number { + color: #40A070; +} diff --git a/src/clients/lib/ruby/html/css/panel.css b/src/clients/lib/ruby/html/css/panel.css new file mode 100755 index 000000000..9bd8027b7 --- /dev/null +++ b/src/clients/lib/ruby/html/css/panel.css @@ -0,0 +1,384 @@ +/* Panel (begin) */ + .panel + { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: #FFF; + z-index: 2; + font-family: "Helvetica Neue", "Arial", sans-serif; + //zoom: 1; + } + + .panel_tree .results, + .panel_results .tree + { + display: none; + } + + /* Header with search box (begin) */ + .panel .header + { + width: 100%; + height: 29px; + border-bottom: 1px solid #666; + position: relative; + left: 0; top: 0; + background: #e8e8e8; + } + + .panel .header div + { + margin: 0 7px; + } + .panel .header table + { + height: 29px; + width: 100%; + } + + .panel .header table td + { + vertical-align: middle; + text-align: middle; + } + + .panel .header label + { + position: absolute; + font-size: 12px; + line-height: 29px; + margin-left: 3px; + color: #999; + cursor: text; + } + + .panel .header table input + { + width: 100%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + display: inline-block; + -webkit-appearance: searchfield; + height: 22px; + //height: auto; + } + + /* Header with search box (end) */ + + + /* Results (begin) */ + .panel .result + { + position: absolute; + top: 30px; + bottom: 0; + left: 0; + width: 100%; + //height: expression((this.parentNode.offsetHeight - 31)); + overflow-y: scroll; + overflow-x: hidden; + -overflow-y: hidden; + background: #EDF3FE url(../i/results_bg.png); + z-index: 2; + //zoom:1; + } + + .panel .result ul + { + font-size: 0.8em; + width: 100%; + background: #EDF3FE url(../i/results_bg.png); + //zoom:1; + } + + .panel .result ul li + { + height: 46px; + -height: 50px; + //display: inline; + //width: 100%; + //zoom: 1; + overflow: hidden; + padding: 4px 10px 0 10px; + cursor: pointer; + } + + .panel .result ul li h1 + { + font-size: 13px; + font-weight: normal; + color: #333; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .result ul li p + { + font-size: 11px; + color: #333; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .result ul li h1 i, + .panel .result ul li p.snippet + { + color: #999; + } + + .panel .result ul li b + { + color: #000; + } + + .panel .result ul li.current + { + background: #3875D7; + } + + .panel .result ul li.current h1, + .panel .result ul li.current p + { + color: #DDD; + } + + .panel .result ul li.current h1 i, + .panel .result ul li.current p.snippet + { + color: #AAA; + } + + .panel .result ul li.current b + { + color: #FFF; + } + + + .panel .result ul li:hover, + .panel .result ul li.selected + { + background: #d0d0d0; + } + + .panel .result ul li.current:hover + { + background: #2965C0; + } + + .panel .result ul li .badge + { + margin-right: 0.4em; + margin-left: -0.2em; + padding: 0 0.2em; + color: #000; + border-radius: 3px; + } + + .panel .result ul li .badge_1 + { + background: #ACDBF4; + } + + .panel .result ul li.current .badge_1 + { + background: #97BFD7; + } + + .panel .result ul li .badge_2 + { + background: #ACF3C3; + } + + .panel .result ul li.current .badge_2 + { + background: #98D7AC; + } + + .panel .result ul li .badge_3 + { + background: #E0F3AC; + } + + .panel .result ul li.current .badge_3 + { + background: #C4D798; + } + + .panel .result ul li .badge_4 + { + background: #D7CA98; + } + + .panel .result ul li.current .badge_4 + { + background: #A6B0AC; + } + + .panel .result ul li .badge_5 + { + background: #F3C8AC; + } + + .panel .result ul li.current .badge_5 + { + background: #D7B198; + } + + .panel .result ul li .badge_6 + { + background: #F3ACC3; + } + + .panel .result ul li.current .badge_6 + { + background: #D798AB; + } + + /* Results (end) */ + + /* Tree (begin) */ /**/ + .panel .tree + { + position: absolute; + top: 30px; + bottom: 0; + left: 0; + width: 100%; + //zoom: 1; + //height: expression((this.parentNode.offsetHeight - 31)); + overflow-y: scroll; + overflow-x: hidden; + -overflow-y: hidden; + background: #EDF3FE url(../i/tree_bg.png); + z-index: 30; + } + + .panel .tree ul + { + background: #EDF3FE url(../i/tree_bg.png); + } + + .panel .tree li + { + cursor: pointer; + overflow: hidden; + //height: 23px; + //display: inline; + //zoom: 1; + //width: 100%; + } + + + .panel .tree li .content + { + padding-left: 18px; + padding-top: 5px; + height: 18px; + overflow: hidden; + position: relative; + } + + .panel .tree li .icon + { + width: 10px; + height: 9px; + background: url(../i/arrows.png); + background-position: 0 -9px; + position: absolute; + left: 1px; + top: 8px; + cursor: default; + } + + .panel .tree li.closed .icon + { + background-position: 0 0; + } + + .panel .tree ul li h1 + { + font-size: 13px; + font-weight: normal; + color: #000; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .tree ul li p + { + font-size: 11px; + color: #666; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .tree ul li h1 i + { + color: #999; + font-style: normal; + } + + .panel .tree ul li.empty + { + cursor: text; + } + + .panel .tree ul li.empty h1, + .panel .tree ul li.empty p + { + color: #666; + font-style: italic; + } + + .panel .tree ul li.current + { + background: #3875D7; + } + + .panel .tree ul li.current .icon + { + background-position: -10px -9px; + } + + .panel .tree ul li.current.closed .icon + { + background-position: -10px 0; + } + + .panel .tree ul li.current h1 + { + color: #FFF; + } + + .panel .tree ul li.current p + { + color: #CCC; + } + + .panel .tree ul li.current.empty h1, + .panel .tree ul li.current.empty p + { + color: #999; + } + + .panel .tree ul li:hover + { + background: #d0d0d0; + } + + .panel .tree ul li.current:hover + { + background: #2965C0; + } + + .panel .tree .stopper + { + display: none; + } + /* Tree (end) */ /**/ + +/* Panel (end) */ \ No newline at end of file diff --git a/src/clients/lib/ruby/html/css/rdoc.css b/src/clients/lib/ruby/html/css/rdoc.css new file mode 100644 index 000000000..2f4dca7e0 --- /dev/null +++ b/src/clients/lib/ruby/html/css/rdoc.css @@ -0,0 +1,590 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* vim: ft=css et sw=2 ts=2 sts=2 */ +/* Base Green is: #6C8C22 */ + +* { padding: 0; margin: 0; } + +body { + background: #fafafa; + font-family: Lato, sans-serif; + font-weight: 300; +} + +h1 span, +h2 span, +h3 span, +h4 span, +h5 span, +h6 span { + position: relative; + + display: none; + padding-left: 1em; + line-height: 0; + vertical-align: baseline; + font-size: 10px; +} + +h1 span { top: -1.3em; } +h2 span { top: -1.2em; } +h3 span { top: -1.0em; } +h4 span { top: -0.8em; } +h5 span { top: -0.5em; } +h6 span { top: -0.5em; } + +h1:hover span, +h2:hover span, +h3:hover span, +h4:hover span, +h5:hover span, +h6:hover span { + display: inline; +} + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} + +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +code, +pre { + font-family: "Source Code Pro", Monaco, monospace; +} + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +#search-field { + width: 98%; + background: white; + border: none; + height: 1.5em; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + text-align: left; +} +#search-field:focus { + background: #f1edba; +} +#search-field:-moz-placeholder, +#search-field::-webkit-input-placeholder { + font-weight: bold; + color: #666; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + +/* @group Index Page, Standalone file pages */ +.table-of-contents ul { + margin: 1em; + list-style: none; +} + +.table-of-contents ul ul { + margin-top: 0.25em; +} + +.table-of-contents ul :link, +.table-of-contents ul :visited { + font-size: 16px; +} + +.table-of-contents li { + margin-bottom: 0.25em; +} + +.table-of-contents li .toc-toggle { + width: 16px; + height: 16px; + background: url(images/add.png) no-repeat; +} + +.table-of-contents li .toc-toggle.open { + background: url(images/delete.png) no-repeat; +} + +/* @end */ + +/* @group Top-Level Structure */ + +nav { + float: left; + width: 260px; + font-family: Helvetica, sans-serif; + font-size: 14px; +} + +main { + display: block; + margin: 0 2em 5em 260px; + padding-left: 20px; + min-width: 340px; + font-size: 16px; +} + +main h1, +main h2, +main h3, +main h4, +main h5, +main h6 { + font-family: Helvetica, sans-serif; +} + +.table-of-contents main { + margin-left: 2em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; + font-size: smaller; +} + +/* @end */ + +/* @group navigation */ +nav { + margin-bottom: 1em; +} + +nav .nav-section { + margin-top: 2em; + border-top: 2px solid #aaa; + font-size: 90%; + overflow: hidden; +} + +nav h2 { + margin: 0; + padding: 2px 8px 2px 8px; + background-color: #e8e8e8; + color: #555; + font-size: 125%; + text-align: center; +} + +nav h3, +#table-of-contents-navigation { + margin: 0; + padding: 2px 8px 2px 8px; + text-align: right; + background-color: #e8e8e8; + color: #555; +} + +nav ul, +nav dl, +nav p { + padding: 4px 8px 0; + list-style: none; +} + +#project-navigation .nav-section { + margin: 0; + border-top: 0; +} + +#home-section h2 { + text-align: center; +} + +#table-of-contents-navigation { + font-size: 1.2em; + font-weight: bold; + text-align: center; +} + +#search-section { + margin-top: 0; + border-top: 0; +} + +#search-field-wrapper { + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + padding: 3px 8px; + background-color: #e8e8e8; + color: #555; +} + +ul.link-list li { + white-space: nowrap; + line-height: 1.4em; +} + +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +.calls-super { + background: url(images/arrow_up.png) no-repeat right center; +} + +/* @end */ + +/* @group Documentation Section */ +main { + color: #333; +} + +main > h1:first-child, +main > h2:first-child, +main > h3:first-child, +main > h4:first-child, +main > h5:first-child, +main > h6:first-child { + margin-top: 0px; +} + +main sup { + vertical-align: super; + font-size: 0.8em; +} + +/* The heading with the class name */ +main h1[class] { + margin-top: 0; + margin-bottom: 1em; + font-size: 2em; + color: #6C8C22; +} + +main h1 { + margin: 2em 0 0.5em; + font-size: 1.7em; +} + +main h2 { + margin: 2em 0 0.5em; + font-size: 1.5em; +} + +main h3 { + margin: 2em 0 0.5em; + font-size: 1.2em; +} + +main h4 { + margin: 2em 0 0.5em; + font-size: 1.1em; +} + +main h5 { + margin: 2em 0 0.5em; + font-size: 1em; +} + +main h6 { + margin: 2em 0 0.5em; + font-size: 1em; +} + +main p { + margin: 0 0 0.5em; + line-height: 1.4em; +} + +main pre { + margin: 1.2em 0.5em; + padding: 1em; + font-size: 0.8em; +} + +main hr { + margin: 1.5em 1em; + border: 2px solid #ddd; +} + +main blockquote { + margin: 0 2em 1.2em 1.2em; + padding-left: 0.5em; + border-left: 2px solid #ddd; +} + +main ol, +main ul { + margin: 1em 2em; +} + +main li > p { + margin-bottom: 0.5em; +} + +main dl { + margin: 1em 0.5em; +} + +main dt { + margin-bottom: 0.5em; + font-weight: bold; +} + +main dd { + margin: 0 1em 1em 0.5em; +} + +main header h2 { + margin-top: 2em; + border-width: 0; + border-top: 4px solid #bbb; + font-size: 130%; +} + +main header h3 { + margin: 2em 0 1.5em; + border-width: 0; + border-top: 3px solid #bbb; + font-size: 120%; +} + +.documentation-section-title { + position: relative; +} +.documentation-section-title .section-click-top { + position: absolute; + top: 6px; + left: 12px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-left: 0.5px; +} + +.documentation-section-title:hover .section-click-top { + visibility: visible; +} + +.constants-list > dl { + margin: 1em 0 2em; + border: 0; +} + +.constants-list > dl dt { + margin-bottom: 0.75em; + padding-left: 0; + font-family: "Source Code Pro", Monaco, monospace; + font-size: 110%; +} + +.constants-list > dl dt a { + color: inherit; +} + +.constants-list > dl dd { + margin: 0 0 2em 0; + padding: 0; + color: #666; +} + +.documentation-section h2 { + position: relative; +} + +.documentation-section h2 a { + position: absolute; + top: 8px; + right: 10px; + font-size: 12px; + color: #9b9877; + visibility: hidden; +} + +.documentation-section h2:hover a { + visibility: visible; +} + +/* @group Method Details */ + +main .method-source-code { + display: none; +} + +main .method-description .method-calls-super { + color: #333; + font-weight: bold; +} + +main .method-detail { + margin-bottom: 2.5em; + cursor: pointer; +} + +main .method-detail:target { + margin-left: -10px; + border-left: 10px solid #f1edba; +} + +main .method-heading { + position: relative; + font-family: "Source Code Pro", Monaco, monospace; + font-size: 110%; + font-weight: bold; + color: #333; +} +main .method-heading :link, +main .method-heading :visited { + color: inherit; +} +main .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 12px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +main .method-heading:hover .method-click-advice { + visibility: visible; +} + +main .method-alias .method-heading { + color: #666; +} + +main .method-description, +main .aliases { + margin-top: 0.75em; + color: #333; +} + +main .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +main .method-description ul { + margin-left: 1.5em; +} + +main #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +main .attribute-access-type { + text-transform: uppercase; + padding: 0 1em; +} +/* @end */ + +/* @end */ + +/* @group Source Code */ + +pre { + margin: 0.5em 0; + border: 1px dashed #999; + padding: 0.5em; + background: #262626; + color: white; + overflow: auto; +} + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #dc0000; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ + + +/* @group search results */ +#search-results { + font-family: Lato, sans-serif; + font-weight: 300; +} + +#search-results .search-match { + font-family: Helvetica, sans-serif; + font-weight: normal; +} + +#search-results .search-selected { + background: #e8e8e8; + border-bottom: 1px solid transparent; +} + +#search-results li { + list-style: none; + border-bottom: 1px solid #aaa; + margin-bottom: 0.5em; +} + +#search-results li:last-child { + border-bottom: none; + margin-bottom: 0; +} + +#search-results li p { + padding: 0; + margin: 0.5em; +} + +#search-results .search-namespace { + font-weight: bold; +} + +#search-results li em { + background: yellow; + font-style: normal; +} + +#search-results pre { + margin: 0.5em; + font-family: "Source Code Pro", Monaco, monospace; +} + +/* @end */ + diff --git a/src/clients/lib/ruby/html/css/reset.css b/src/clients/lib/ruby/html/css/reset.css new file mode 100755 index 000000000..da4a2394a --- /dev/null +++ b/src/clients/lib/ruby/html/css/reset.css @@ -0,0 +1,48 @@ +/* http://meyerweb.com/eric/tools/css/reset/ */ +/* v1.0 | 20080212 */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/src/clients/lib/ruby/html/css/style.css b/src/clients/lib/ruby/html/css/style.css new file mode 100644 index 000000000..96307c561 --- /dev/null +++ b/src/clients/lib/ruby/html/css/style.css @@ -0,0 +1,339 @@ +body { + padding: 0 20px; + font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + font-size: 13px; +} +body.frames { padding: 0 5px; } +h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; } +h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; } +h1.title { margin-bottom: 10px; } +h1.alphaindex { margin-top: 0; font-size: 22px; } +h2 { + padding: 0; + padding-bottom: 3px; + border-bottom: 1px #aaa solid; + font-size: 1.4em; + margin: 1.8em 0 0.5em; +} +h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right; } +.clear { clear: both; } +.inline { display: inline; } +.inline p:first-child { display: inline; } +.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; } +.docstring h1 { font-size: 1.2em; } +.docstring h2 { font-size: 1.1em; } +.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; } +.summary_desc .object_link, .docstring .object_link { font-family: monospace; } +.rdoc-term { padding-right: 25px; font-weight: bold; } +.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; } + +/* style for */ +#filecontents table, .docstring table { border-collapse: collapse; } +#filecontents table th, #filecontents table td, +.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; } +#filecontents table tr:nth-child(odd), +.docstring table tr:nth-child(odd) { background: #eee; } +#filecontents table tr:nth-child(even), +.docstring table tr:nth-child(even) { background: #fff; } +#filecontents table th, .docstring table th { background: #fff; } + +/* style for
    */ +#filecontents li > p, .docstring li > p { margin: 0px; } +#filecontents ul, .docstring ul { padding-left: 20px; } +/* style for
    */ +#filecontents dl, .docstring dl { border: 1px solid #ccc; } +#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; } +#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; } +#filecontents dd > p, .docstring dd > p { margin: 0px; } + +.note { + color: #222; + -moz-border-radius: 3px; -webkit-border-radius: 3px; + background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px; + display: block; +} +.note.todo { background: #ffffc5; border-color: #ececaa; } +.note.returns_void { background: #efefef; } +.note.deprecated { background: #ffe5e5; border-color: #e9dada; } +.note.private { background: #ffffc5; border-color: #ececaa; } +.note.title { padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; } +.summary_signature + .note.title { margin-left: 7px; } +h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; } +.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; } +.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; } +.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; } +.note.title.private { background: #d5d5d5; border-color: #c5c5c5; } +.note.title.not_defined_here { background: transparent; border: none; font-style: italic; } +.discussion .note { margin-top: 6px; } +.discussion .note:first-child { margin-top: 0; } + +h3.inherited { + font-style: italic; + font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + font-weight: normal; + padding: 0; + margin: 0; + margin-top: 12px; + margin-bottom: 3px; + font-size: 13px; +} +p.inherited { + padding: 0; + margin: 0; + margin-left: 25px; +} + +#filecontents dl.box, dl.box { + border: 0; + width: 520px; + font-size: 1em; +} +#filecontents dl.box dt, dl.box dt { + float: left; + display: block; + width: 100px; + margin: 0; + text-align: right; + font-weight: bold; + background: transparent; + border: 1px solid #aaa; + border-width: 1px 0px 0px 1px; + padding: 6px 0; + padding-right: 10px; +} +#filecontents dl.box dd, dl.box dd { + float: left; + display: block; + width: 380px; + margin: 0; + padding: 6px 0; + padding-right: 20px; + border: 1px solid #aaa; + border-width: 1px 1px 0 0; +} +#filecontents dl.box .last, dl.box .last { + border-bottom: 1px solid #aaa; +} +#filecontents dl.box .r1, dl.box .r1 { background: #eee; } + +ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; } +.index_inline_list { padding-left: 0; font-size: 1.1em; } +.index_inline_list li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; } + +dl.constants { margin-left: 40px; } +dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; } +dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; } + +.summary_desc { margin-left: 32px; display: block; font-family: sans-serif; } +.summary_desc tt { font-size: 0.9em; } +dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; } +dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; } +dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; } +dl.constants .discussion *:first-child { margin-top: 0; } +dl.constants .discussion *:last-child { margin-bottom: 0; } + +.method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; } +.method_details.first { border: 0; } +p.signature, h3.signature { + font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace; + padding: 6px 10px; margin-top: 18px; + background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px; +} +p.signature tt, +h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; } +p.signature .overload, +h3.signature .overload { display: block; } +p.signature .extras, +h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; } +p.signature .not_defined_here, +h3.signature .not_defined_here, +p.signature .aliases, +h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; } +p.signature .aliases .names, +h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; } + +.tags .tag_title { font-size: 1em; margin-bottom: 0; font-weight: bold; } +.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; } +.tags ul li { margin-bottom: 3px; } +.tags ul .name { font-family: monospace; font-weight: bold; } +.tags ul .note { padding: 3px 6px; } +.tags { margin-bottom: 12px; } + +.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; } +.tags .examples .inline p { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; } + +.tags .overload .overload_item { list-style: none; margin-bottom: 25px; } +.tags .overload .overload_item .signature { + padding: 2px 8px; + background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px; +} +.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; } +.tags .overload .docstring { margin-top: 15px; } + +.defines { display: none; } + +#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; } + +.showSource { font-size: 0.9em; } +.showSource a:link, .showSource a:visited { text-decoration: none; color: #666; } + +#content a:link, #content a:visited { text-decoration: none; color: #05a; } +#content a:hover { background: #ffffa5; } +div.docstring, p.docstring { margin-right: 6em; } + +ul.summary { + list-style: none; + font-family: monospace; + font-size: 1em; + line-height: 1.5em; +} +ul.summary a:link, ul.summary a:visited { + text-decoration: none; font-size: 1.1em; +} +ul.summary li { margin-bottom: 5px; } +.summary .summary_signature { + padding: 1px 10px; + background: #eaeaff; border: 1px solid #dfdfe5; + -moz-border-radius: 3px; -webkit-border-radius: 3px; +} +.summary_signature:hover { background: #eeeeff; cursor: pointer; } +ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;} +ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; } +#content .summary_signature:hover a:link, +#content .summary_signature:hover a:visited { + background: transparent; + color: #48f; +} + +p.inherited a { font-family: monospace; font-size: 0.9em; } +p.inherited { word-spacing: 5px; font-size: 1.2em; } + +p.children { font-size: 1.2em; } +p.children a { font-size: 0.9em; } +p.children strong { font-size: 0.8em; } +p.children strong.modules { padding-left: 5px; } + +ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; } +ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; } +ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHtJREFUeNqMzrEJAkEURdGzuhgZbSoYWcAWoBVsB4JgZAGmphsZCZYzTQgWNCYrDN9RvMmHx+X916SUBFbo8CzD1idXrLErw1mQttgXtyrOcQ/Ny5p4Qh+2XqLYYazsPWNTiuMkRxa4vcV+evuNAUOLIx5+c2hyzv7hNQC67Q+/HHmlEwAAAABJRU5ErkJggg==) no-repeat top center; } +ul.fullTree li:first-child { padding-top: 0; background: transparent; } +ul.fullTree li:last-child { padding-bottom: 0; } +.showAll ul.fullTree { display: block; } +.showAll .inheritName { display: none; } + +#search { position: absolute; right: 14px; top: 0px; } +#search a:link, #search a:visited { + display: block; float: left; margin-right: 4px; + padding: 8px 10px; text-decoration: none; color: #05a; + border: 1px solid #d8d8e5; + -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px; + background: #eaf0ff; + -webkit-box-shadow: -1px 1px 3px #ddd; +} +#search a:hover { background: #f5faff; color: #06b; } +#search a.active { + background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457; + -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; + -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px; +} +#search a.inactive { color: #999; } +.frames #search { display: none; } +.inheritanceTree, .toggleDefines { float: right; } + +#menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; } +#menu .title, #menu a { font-size: 0.7em; } +#menu .title a { font-size: 1em; } +#menu .title { color: #555; } +#menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; } +#menu a:hover { color: #05a; } +#menu .noframes { display: inline; } +.frames #menu .noframes { display: inline; float: right; } + +#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; } +#footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; } +#footer a:hover { color: #05a; } + +#listing ul.alpha { font-size: 1.1em; } +#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; } +#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; } +#listing ul.alpha ul { margin: 0; padding-left: 15px; } +#listing ul small { color: #666; font-size: 0.7em; } + +li.r1 { background: #f0f0f0; } +li.r2 { background: #fafafa; } + +#search_frame { + z-index: 9999; + background: #fff; + display: none; + position: absolute; + top: 36px; + right: 18px; + width: 500px; + height: 80%; + overflow-y: scroll; + border: 1px solid #999; + border-collapse: collapse; + -webkit-box-shadow: -7px 5px 25px #aaa; + -moz-box-shadow: -7px 5px 25px #aaa; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; +} + +#content ul.summary li.deprecated .summary_signature a:link, +#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; } + +#toc { + padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px; + max-width: 300px; + -webkit-box-shadow: -2px 2px 6px #bbb; + -moz-box-shadow: -2px 2px 6px #bbb; + z-index: 5000; + position: relative; + overflow-x: auto; +} +#toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; } +#toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; } +#toc .title { margin: 0; } +#toc ol { padding-left: 1.8em; } +#toc li { font-size: 1.1em; line-height: 1.7em; } +#toc > ol > li { font-size: 1.1em; font-weight: bold; } +#toc ol > ol { font-size: 0.9em; } +#toc ol ol > ol { padding-left: 2.3em; } +#toc ol + li { margin-top: 0.3em; } +#toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; } +#filecontents h1 + #toc.nofloat { margin-top: 0; } + +/* syntax highlighting */ +.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; } +#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; } +#filecontents pre.code, .docstring pre.code { display: block; } +.source_code .lines { padding-right: 12px; color: #555; text-align: right; } +#filecontents pre.code, .docstring pre.code, +.tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; } +pre.code { color: #000; } +pre.code .info.file { color: #555; } +pre.code .val { color: #036A07; } +pre.code .tstring_content, +pre.code .heredoc_beg, pre.code .heredoc_end, +pre.code .qwords_beg, pre.code .qwords_end, +pre.code .tstring, pre.code .dstring { color: #036A07; } +pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s, +pre.code .rubyid_to_sym, pre.code .rubyid_to_f, +pre.code .dot + pre.code .id, +pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; } +pre.code .comment { color: #0066FF; } +pre.code .const, pre.code .constant { color: #585CF6; } +pre.code .label, +pre.code .symbol { color: #C5060B; } +pre.code .kw, +pre.code .rubyid_require, +pre.code .rubyid_extend, +pre.code .rubyid_include { color: #0000FF; } +pre.code .ivar { color: #318495; } +pre.code .gvar, +pre.code .rubyid_backref, +pre.code .rubyid_nth_ref { color: #6D79DE; } +pre.code .regexp, .dregexp { color: #036A07; } +pre.code a { border-bottom: 1px dotted #bbf; } diff --git a/src/clients/lib/ruby/html/favicon.ico b/src/clients/lib/ruby/html/favicon.ico new file mode 100644 index 000000000..e0e80cf8f Binary files /dev/null and b/src/clients/lib/ruby/html/favicon.ico differ diff --git a/src/clients/lib/ruby/html/file_list.html b/src/clients/lib/ruby/html/file_list.html new file mode 100644 index 000000000..7af334dbc --- /dev/null +++ b/src/clients/lib/ruby/html/file_list.html @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + File List + + + + +
    +

    File List

    + + + +
      + + +
    +
    + + diff --git a/src/clients/lib/ruby/html/files/async_rb.html b/src/clients/lib/ruby/html/files/async_rb.html new file mode 100644 index 000000000..0a49170c1 --- /dev/null +++ b/src/clients/lib/ruby/html/files/async_rb.html @@ -0,0 +1,120 @@ + + + + + async.rb + + + + + + + + + + + + + + +
    +
    + +
    + +

    XMMS2 - X Music Multiplexer System Copyright (C) 2003-2016 XMMS2 Team

    + +

    PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!

    + +

    This library is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at +your option) any later version.

    + +

    This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +License for more details.

    + +
    + + + + + +
    Required Files
    +
      + +
    • xmmsclient
    • + +
    + + + + + + + + + +
    Namespace
    + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_collection_c.html b/src/clients/lib/ruby/html/files/rb_collection_c.html new file mode 100644 index 000000000..442d68de9 --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_collection_c.html @@ -0,0 +1,68 @@ + + + + + rb_collection.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_collection_h.html b/src/clients/lib/ruby/html/files/rb_collection_h.html new file mode 100644 index 000000000..e53adfc3b --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_collection_h.html @@ -0,0 +1,68 @@ + + + + + rb_collection.h + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_playlist_c.html b/src/clients/lib/ruby/html/files/rb_playlist_c.html new file mode 100644 index 000000000..ac64dab5f --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_playlist_c.html @@ -0,0 +1,68 @@ + + + + + rb_playlist.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_playlist_h.html b/src/clients/lib/ruby/html/files/rb_playlist_h.html new file mode 100644 index 000000000..5f63f990b --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_playlist_h.html @@ -0,0 +1,68 @@ + + + + + rb_playlist.h + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_result_c.html b/src/clients/lib/ruby/html/files/rb_result_c.html new file mode 100644 index 000000000..e7fa7a689 --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_result_c.html @@ -0,0 +1,68 @@ + + + + + rb_result.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_result_h.html b/src/clients/lib/ruby/html/files/rb_result_h.html new file mode 100644 index 000000000..e72c782ea --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_result_h.html @@ -0,0 +1,68 @@ + + + + + rb_result.h + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_xmmsclient_c.html b/src/clients/lib/ruby/html/files/rb_xmmsclient_c.html new file mode 100644 index 000000000..13bcbeab2 --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_xmmsclient_c.html @@ -0,0 +1,68 @@ + + + + + rb_xmmsclient.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_xmmsclient_ecore_c.html b/src/clients/lib/ruby/html/files/rb_xmmsclient_ecore_c.html new file mode 100644 index 000000000..35414a299 --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_xmmsclient_ecore_c.html @@ -0,0 +1,68 @@ + + + + + rb_xmmsclient_ecore.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_xmmsclient_glib_c.html b/src/clients/lib/ruby/html/files/rb_xmmsclient_glib_c.html new file mode 100644 index 000000000..5c9d73c28 --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_xmmsclient_glib_c.html @@ -0,0 +1,68 @@ + + + + + rb_xmmsclient_glib.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_xmmsclient_h.html b/src/clients/lib/ruby/html/files/rb_xmmsclient_h.html new file mode 100644 index 000000000..0c9efa64a --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_xmmsclient_h.html @@ -0,0 +1,68 @@ + + + + + rb_xmmsclient.h + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/rb_xmmsclient_main_c.html b/src/clients/lib/ruby/html/files/rb_xmmsclient_main_c.html new file mode 100644 index 000000000..1a3d563be --- /dev/null +++ b/src/clients/lib/ruby/html/files/rb_xmmsclient_main_c.html @@ -0,0 +1,68 @@ + + + + + rb_xmmsclient_main.c + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/sync_rb.html b/src/clients/lib/ruby/html/files/sync_rb.html new file mode 100644 index 000000000..de66e512d --- /dev/null +++ b/src/clients/lib/ruby/html/files/sync_rb.html @@ -0,0 +1,135 @@ + + + + + sync.rb + + + + + + + + + + + + + + +
    +
    + +
    + +

    XMMS2 - X Music Multiplexer System Copyright (C) 2003-2016 XMMS2 Team

    + +

    PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!

    + +

    This library is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at +your option) any later version.

    + +

    This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +License for more details.

    + +
    + + + + + +
    Required Files
    +
      + +
    • xmmsclient
    • + +
    + + + + + + + + + +
    Namespace
    + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/files/xmmsclient_rb.html b/src/clients/lib/ruby/html/files/xmmsclient_rb.html new file mode 100644 index 000000000..2559c7201 --- /dev/null +++ b/src/clients/lib/ruby/html/files/xmmsclient_rb.html @@ -0,0 +1,110 @@ + + + + + xmmsclient.rb + + + + + + + + + + + + + + +
    +
    + +
    + +

    XMMS2 - X Music Multiplexer System Copyright (C) 2003-2016 XMMS2 Team

    + +

    PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!

    + +

    This library is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at +your option) any later version.

    + +

    This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +License for more details.

    + +
    + + + + + +
    Required Files
    +
      + +
    • xmmsclient_ext
    • + +
    + + + + + + + + + +
    Namespace
    + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + diff --git a/src/clients/lib/ruby/html/fonts/Lato-Light.ttf b/src/clients/lib/ruby/html/fonts/Lato-Light.ttf new file mode 100644 index 000000000..b49dd4372 Binary files /dev/null and b/src/clients/lib/ruby/html/fonts/Lato-Light.ttf differ diff --git a/src/clients/lib/ruby/html/fonts/Lato-LightItalic.ttf b/src/clients/lib/ruby/html/fonts/Lato-LightItalic.ttf new file mode 100644 index 000000000..7959fef07 Binary files /dev/null and b/src/clients/lib/ruby/html/fonts/Lato-LightItalic.ttf differ diff --git a/src/clients/lib/ruby/html/fonts/Lato-Regular.ttf b/src/clients/lib/ruby/html/fonts/Lato-Regular.ttf new file mode 100644 index 000000000..839cd589d Binary files /dev/null and b/src/clients/lib/ruby/html/fonts/Lato-Regular.ttf differ diff --git a/src/clients/lib/ruby/html/fonts/Lato-RegularItalic.ttf b/src/clients/lib/ruby/html/fonts/Lato-RegularItalic.ttf new file mode 100644 index 000000000..bababa09e Binary files /dev/null and b/src/clients/lib/ruby/html/fonts/Lato-RegularItalic.ttf differ diff --git a/src/clients/lib/ruby/html/fonts/SourceCodePro-Bold.ttf b/src/clients/lib/ruby/html/fonts/SourceCodePro-Bold.ttf new file mode 100644 index 000000000..61e3090c1 Binary files /dev/null and b/src/clients/lib/ruby/html/fonts/SourceCodePro-Bold.ttf differ diff --git a/src/clients/lib/ruby/html/fonts/SourceCodePro-Regular.ttf b/src/clients/lib/ruby/html/fonts/SourceCodePro-Regular.ttf new file mode 100644 index 000000000..85686d967 Binary files /dev/null and b/src/clients/lib/ruby/html/fonts/SourceCodePro-Regular.ttf differ diff --git a/src/clients/lib/ruby/html/fr_class_index.html b/src/clients/lib/ruby/html/fr_class_index.html new file mode 100644 index 000000000..3f8396081 --- /dev/null +++ b/src/clients/lib/ruby/html/fr_class_index.html @@ -0,0 +1,75 @@ + + + + + + + + + + + + diff --git a/src/clients/lib/ruby/html/fr_file_index.html b/src/clients/lib/ruby/html/fr_file_index.html new file mode 100644 index 000000000..be9b2eb42 --- /dev/null +++ b/src/clients/lib/ruby/html/fr_file_index.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + diff --git a/src/clients/lib/ruby/html/fr_method_index.html b/src/clients/lib/ruby/html/fr_method_index.html new file mode 100644 index 000000000..9addea085 --- /dev/null +++ b/src/clients/lib/ruby/html/fr_method_index.html @@ -0,0 +1,4745 @@ + + + + + + + + + +
    +

    Method Index

    + +
    + + + +
      +
    1. #real (Xmms::Client::Async)
    2. +
    3. #real (Xmms::Client::Sync)
    4. +
    5. #real (Xmms::Collection::Async)
    6. +
    7. #real (Xmms::Collection::Sync)
    8. +
    9. #real (Xmms::Playlist::Async)
    10. +
    11. #real (Xmms::Playlist::Sync)
    12. +
    13. ::decode_url (Xmms)
    14. +
    15. ::new (Xmms::Client)
    16. +
    17. ::new (Xmms::Client::Async)
    18. +
    19. ::new (Xmms::Client::Sync)
    20. +
    21. ::new (Xmms::Collection)
    22. +
    23. ::new (Xmms::Collection::Async)
    24. +
    25. ::new (Xmms::Collection::Attributes)
    26. +
    27. ::new (Xmms::Collection::Operands)
    28. +
    29. ::new (Xmms::Collection::Sync)
    30. +
    31. ::new (Xmms::Playlist)
    32. +
    33. ::new (Xmms::Playlist::Async)
    34. +
    35. ::new (Xmms::Playlist::Sync)
    36. +
    37. ::parse (Xmms::Collection)
    38. +
    39. ::universe (Xmms::Collection)
    40. +
    41. ::userconfdir (Xmms)
    42. +
    43. #& (Xmms::Collection)
    44. +
    45. #<< (Xmms::Collection::Operands)
    46. +
    47. #[] (Xmms::Collection::Attributes)
    48. +
    49. #[] (Xmms::Dict)
    50. +
    51. #[]= (Xmms::Collection::Attributes)
    52. +
    53. #add_collection (Xmms::Playlist)
    54. +
    55. #add_entry (Xmms::Playlist)
    56. +
    57. #and (Xmms::Collection)
    58. +
    59. #attributes (Xmms::Collection)
    60. +
    61. #bindata_add (Xmms::Client)
    62. +
    63. #bindata_list (Xmms::Client)
    64. +
    65. #bindata_remove (Xmms::Client)
    66. +
    67. #bindata_retrieve (Xmms::Client)
    68. +
    69. #broadcast_coll_changed (Xmms::Client)
    70. +
    71. #broadcast_config_value_changed (Xmms::Client)
    72. +
    73. #broadcast_mediainfo_reader_status (Xmms::Client)
    74. +
    75. #broadcast_medialib_entry_added (Xmms::Client)
    76. +
    77. #broadcast_medialib_entry_changed (Xmms::Client)
    78. +
    79. #broadcast_medialib_entry_removed (Xmms::Client)
    80. +
    81. #broadcast_medialib_entry_updated (Xmms::Client)
    82. +
    83. #broadcast_playback_current_id (Xmms::Client)
    84. +
    85. #broadcast_playback_status (Xmms::Client)
    86. +
    87. #broadcast_playback_volume_changed (Xmms::Client)
    88. +
    89. #broadcast_playlist_changed (Xmms::Client)
    90. +
    91. #broadcast_playlist_current_pos (Xmms::Client)
    92. +
    93. #broadcast_playlist_loaded (Xmms::Client)
    94. +
    95. #broadcast_quit (Xmms::Client)
    96. +
    97. #clear (Xmms::Playlist)
    98. +
    99. #coll_find (Xmms::Client)
    100. +
    101. #coll_get (Xmms::Client)
    102. +
    103. #coll_idlist_from_playlist_file (Xmms::Client)
    104. +
    105. #coll_list (Xmms::Client)
    106. +
    107. #coll_query (Xmms::Client)
    108. +
    109. #coll_query_ids (Xmms::Client)
    110. +
    111. #coll_query_info (Xmms::Client)
    112. +
    113. #coll_remove (Xmms::Client)
    114. +
    115. #coll_rename (Xmms::Client)
    116. +
    117. #coll_save (Xmms::Client)
    118. +
    119. #complement (Xmms::Collection)
    120. +
    121. #config_get_value (Xmms::Client)
    122. +
    123. #config_list_values (Xmms::Client)
    124. +
    125. #config_register_value (Xmms::Client)
    126. +
    127. #config_set_value (Xmms::Client)
    128. +
    129. #connect (Xmms::Client)
    130. +
    131. #current_pos (Xmms::Playlist)
    132. +
    133. #delete (Xmms::Collection::Attributes)
    134. +
    135. #delete (Xmms::Collection::Operands)
    136. +
    137. #delete! (Xmms::Client)
    138. +
    139. #disconnect (Xmms::BroadcastResult)
    140. +
    141. #disconnect (Xmms::SignalResult)
    142. +
    143. #each (Xmms::Collection::Attributes)
    144. +
    145. #each (Xmms::Collection::Operands)
    146. +
    147. #each (Xmms::Dict)
    148. +
    149. #each_key (Xmms::Collection::Attributes)
    150. +
    151. #each_key (Xmms::Dict)
    152. +
    153. #each_pair (Xmms::Collection::Attributes)
    154. +
    155. #each_pair (Xmms::Dict)
    156. +
    157. #each_value (Xmms::Collection::Attributes)
    158. +
    159. #each_value (Xmms::Dict)
    160. +
    161. #empty? (Xmms::Dict)
    162. +
    163. #entries (Xmms::Playlist)
    164. +
    165. #error (Xmms::Result)
    166. +
    167. #error? (Xmms::Result)
    168. +
    169. #has_key? (Xmms::Collection::Attributes)
    170. +
    171. #has_key? (Xmms::Dict)
    172. +
    173. #idlist (Xmms::Collection)
    174. +
    175. #idlist= (Xmms::Collection)
    176. +
    177. #include? (Xmms::Collection::Attributes)
    178. +
    179. #include? (Xmms::Dict)
    180. +
    181. #insert_entry (Xmms::Playlist)
    182. +
    183. #inspect (Xmms::Collection::Attributes)
    184. +
    185. #inspect (Xmms::Dict)
    186. +
    187. #intersect (Xmms::Collection)
    188. +
    189. #io_disconnect (Xmms::Client)
    190. +
    191. #io_fd (Xmms::Client)
    192. +
    193. #io_in_handle (Xmms::Client)
    194. +
    195. #io_on_need_out (Xmms::Client)
    196. +
    197. #io_out_handle (Xmms::Client)
    198. +
    199. #io_want_out (Xmms::Client)
    200. +
    201. #key? (Xmms::Collection::Attributes)
    202. +
    203. #key? (Xmms::Dict)
    204. +
    205. #last_error (Xmms::Client)
    206. +
    207. #length (Xmms::Dict)
    208. +
    209. #load (Xmms::Playlist)
    210. +
    211. #main_stats (Xmms::Client)
    212. +
    213. #medialib_add_entry (Xmms::Client)
    214. +
    215. #medialib_entry_move (Xmms::Client)
    216. +
    217. #medialib_entry_property_remove (Xmms::Client)
    218. +
    219. #medialib_entry_property_set (Xmms::Client)
    220. +
    221. #medialib_entry_remove (Xmms::Client)
    222. +
    223. #medialib_get_id (Xmms::Client)
    224. +
    225. #medialib_get_info (Xmms::Client)
    226. +
    227. #medialib_path_import (Xmms::Client)
    228. +
    229. #medialib_path_import_encoded (Xmms::Client)
    230. +
    231. #medialib_rehash (Xmms::Client)
    232. +
    233. #member? (Xmms::Collection::Attributes)
    234. +
    235. #member? (Xmms::Dict)
    236. +
    237. #method_missing (Xmms::Client::Async)
    238. +
    239. #method_missing (Xmms::Client::Sync)
    240. +
    241. #method_missing (Xmms::Collection::Async)
    242. +
    243. #method_missing (Xmms::Collection::Sync)
    244. +
    245. #method_missing (Xmms::Playlist::Async)
    246. +
    247. #method_missing (Xmms::Playlist::Sync)
    248. +
    249. #move_entry (Xmms::Playlist)
    250. +
    251. #name (Xmms::Playlist)
    252. +
    253. #not (Xmms::Collection)
    254. +
    255. #notifier (Xmms::Result)
    256. +
    257. #on_disconnect (Xmms::Client)
    258. +
    259. #operands (Xmms::Collection)
    260. +
    261. #or (Xmms::Collection)
    262. +
    263. #playback_current_id (Xmms::Client)
    264. +
    265. #playback_pause (Xmms::Client)
    266. +
    267. #playback_playtime (Xmms::Client)
    268. +
    269. #playback_seek_ms (Xmms::Client)
    270. +
    271. #playback_seek_ms_rel (Xmms::Client)
    272. +
    273. #playback_seek_samples (Xmms::Client)
    274. +
    275. #playback_seek_samples_rel (Xmms::Client)
    276. +
    277. #playback_start (Xmms::Client)
    278. +
    279. #playback_status (Xmms::Client)
    280. +
    281. #playback_stop (Xmms::Client)
    282. +
    283. #playback_tickle (Xmms::Client)
    284. +
    285. #playback_volume_get (Xmms::Client)
    286. +
    287. #playback_volume_set (Xmms::Client)
    288. +
    289. #playlist (Xmms::Client)
    290. +
    291. #playlist_current_active (Xmms::Client)
    292. +
    293. #playlist_list (Xmms::Client)
    294. +
    295. #playlist_set_next (Xmms::Client)
    296. +
    297. #playlist_set_next_rel (Xmms::Client)
    298. +
    299. #plugin_list (Xmms::Client)
    300. +
    301. #push (Xmms::Collection::Operands)
    302. +
    303. #quit (Xmms::Client)
    304. +
    305. #radd (Xmms::Playlist)
    306. +
    307. #remove (Xmms::Playlist)
    308. +
    309. #remove_entry (Xmms::Playlist)
    310. +
    311. #rinsert (Xmms::Playlist)
    312. +
    313. #shuffle (Xmms::Playlist)
    314. +
    315. #signal_mediainfo_reader_unindexed (Xmms::Client)
    316. +
    317. #signal_playback_playtime (Xmms::Client)
    318. +
    319. #size (Xmms::Dict)
    320. +
    321. #sort (Xmms::Playlist)
    322. +
    323. #to_propdict (Xmms::RawDict)
    324. +
    325. #type (Xmms::Collection)
    326. +
    327. #union (Xmms::Collection)
    328. +
    329. #value (Xmms::Result)
    330. +
    331. #wait (Xmms::Result)
    332. +
    333. #xform_media_browse (Xmms::Client)
    334. +
    335. #| (Xmms::Collection)
    336. +
    337. #~ (Xmms::Collection)
    338. +
    +
    + + diff --git a/src/clients/lib/ruby/html/frames.html b/src/clients/lib/ruby/html/frames.html new file mode 100644 index 000000000..87a4a6df1 --- /dev/null +++ b/src/clients/lib/ruby/html/frames.html @@ -0,0 +1,26 @@ + + + + + + Documentation by YARD 0.8.7.6 + + + + diff --git a/src/clients/lib/ruby/html/i/arrows.png b/src/clients/lib/ruby/html/i/arrows.png new file mode 100755 index 000000000..e54060f44 Binary files /dev/null and b/src/clients/lib/ruby/html/i/arrows.png differ diff --git a/src/clients/lib/ruby/html/i/results_bg.png b/src/clients/lib/ruby/html/i/results_bg.png new file mode 100755 index 000000000..199ba6923 Binary files /dev/null and b/src/clients/lib/ruby/html/i/results_bg.png differ diff --git a/src/clients/lib/ruby/html/i/tree_bg.png b/src/clients/lib/ruby/html/i/tree_bg.png new file mode 100755 index 000000000..7d236633d Binary files /dev/null and b/src/clients/lib/ruby/html/i/tree_bg.png differ diff --git a/src/clients/lib/ruby/html/images/add.png b/src/clients/lib/ruby/html/images/add.png new file mode 100644 index 000000000..6332fefea Binary files /dev/null and b/src/clients/lib/ruby/html/images/add.png differ diff --git a/src/clients/lib/ruby/html/images/arrow_up.png b/src/clients/lib/ruby/html/images/arrow_up.png new file mode 100644 index 000000000..1ebb19324 Binary files /dev/null and b/src/clients/lib/ruby/html/images/arrow_up.png differ diff --git a/src/clients/lib/ruby/html/images/brick.png b/src/clients/lib/ruby/html/images/brick.png new file mode 100644 index 000000000..7851cf34c Binary files /dev/null and b/src/clients/lib/ruby/html/images/brick.png differ diff --git a/src/clients/lib/ruby/html/images/brick_link.png b/src/clients/lib/ruby/html/images/brick_link.png new file mode 100644 index 000000000..9ebf013a2 Binary files /dev/null and b/src/clients/lib/ruby/html/images/brick_link.png differ diff --git a/src/clients/lib/ruby/html/images/bug.png b/src/clients/lib/ruby/html/images/bug.png new file mode 100644 index 000000000..2d5fb90ec Binary files /dev/null and b/src/clients/lib/ruby/html/images/bug.png differ diff --git a/src/clients/lib/ruby/html/images/bullet_black.png b/src/clients/lib/ruby/html/images/bullet_black.png new file mode 100644 index 000000000..57619706d Binary files /dev/null and b/src/clients/lib/ruby/html/images/bullet_black.png differ diff --git a/src/clients/lib/ruby/html/images/bullet_toggle_minus.png b/src/clients/lib/ruby/html/images/bullet_toggle_minus.png new file mode 100644 index 000000000..b47ce55f6 Binary files /dev/null and b/src/clients/lib/ruby/html/images/bullet_toggle_minus.png differ diff --git a/src/clients/lib/ruby/html/images/bullet_toggle_plus.png b/src/clients/lib/ruby/html/images/bullet_toggle_plus.png new file mode 100644 index 000000000..9ab4a8966 Binary files /dev/null and b/src/clients/lib/ruby/html/images/bullet_toggle_plus.png differ diff --git a/src/clients/lib/ruby/html/images/date.png b/src/clients/lib/ruby/html/images/date.png new file mode 100644 index 000000000..783c83357 Binary files /dev/null and b/src/clients/lib/ruby/html/images/date.png differ diff --git a/src/clients/lib/ruby/html/images/delete.png b/src/clients/lib/ruby/html/images/delete.png new file mode 100644 index 000000000..08f249365 Binary files /dev/null and b/src/clients/lib/ruby/html/images/delete.png differ diff --git a/src/clients/lib/ruby/html/images/find.png b/src/clients/lib/ruby/html/images/find.png new file mode 100644 index 000000000..154747964 Binary files /dev/null and b/src/clients/lib/ruby/html/images/find.png differ diff --git a/src/clients/lib/ruby/html/images/loadingAnimation.gif b/src/clients/lib/ruby/html/images/loadingAnimation.gif new file mode 100644 index 000000000..82290f483 Binary files /dev/null and b/src/clients/lib/ruby/html/images/loadingAnimation.gif differ diff --git a/src/clients/lib/ruby/html/images/macFFBgHack.png b/src/clients/lib/ruby/html/images/macFFBgHack.png new file mode 100644 index 000000000..c6473b324 Binary files /dev/null and b/src/clients/lib/ruby/html/images/macFFBgHack.png differ diff --git a/src/clients/lib/ruby/html/images/package.png b/src/clients/lib/ruby/html/images/package.png new file mode 100644 index 000000000..da3c2a2d7 Binary files /dev/null and b/src/clients/lib/ruby/html/images/package.png differ diff --git a/src/clients/lib/ruby/html/images/page_green.png b/src/clients/lib/ruby/html/images/page_green.png new file mode 100644 index 000000000..de8e003f9 Binary files /dev/null and b/src/clients/lib/ruby/html/images/page_green.png differ diff --git a/src/clients/lib/ruby/html/images/page_white_text.png b/src/clients/lib/ruby/html/images/page_white_text.png new file mode 100644 index 000000000..813f712f7 Binary files /dev/null and b/src/clients/lib/ruby/html/images/page_white_text.png differ diff --git a/src/clients/lib/ruby/html/images/page_white_width.png b/src/clients/lib/ruby/html/images/page_white_width.png new file mode 100644 index 000000000..1eb880947 Binary files /dev/null and b/src/clients/lib/ruby/html/images/page_white_width.png differ diff --git a/src/clients/lib/ruby/html/images/plugin.png b/src/clients/lib/ruby/html/images/plugin.png new file mode 100644 index 000000000..6187b15ae Binary files /dev/null and b/src/clients/lib/ruby/html/images/plugin.png differ diff --git a/src/clients/lib/ruby/html/images/ruby.png b/src/clients/lib/ruby/html/images/ruby.png new file mode 100644 index 000000000..f763a1688 Binary files /dev/null and b/src/clients/lib/ruby/html/images/ruby.png differ diff --git a/src/clients/lib/ruby/html/images/tag_blue.png b/src/clients/lib/ruby/html/images/tag_blue.png new file mode 100644 index 000000000..3f02b5f8f Binary files /dev/null and b/src/clients/lib/ruby/html/images/tag_blue.png differ diff --git a/src/clients/lib/ruby/html/images/tag_green.png b/src/clients/lib/ruby/html/images/tag_green.png new file mode 100644 index 000000000..83ec984bd Binary files /dev/null and b/src/clients/lib/ruby/html/images/tag_green.png differ diff --git a/src/clients/lib/ruby/html/images/transparent.png b/src/clients/lib/ruby/html/images/transparent.png new file mode 100644 index 000000000..d665e179e Binary files /dev/null and b/src/clients/lib/ruby/html/images/transparent.png differ diff --git a/src/clients/lib/ruby/html/images/wrench.png b/src/clients/lib/ruby/html/images/wrench.png new file mode 100644 index 000000000..5c8213fef Binary files /dev/null and b/src/clients/lib/ruby/html/images/wrench.png differ diff --git a/src/clients/lib/ruby/html/images/wrench_orange.png b/src/clients/lib/ruby/html/images/wrench_orange.png new file mode 100644 index 000000000..565a9330e Binary files /dev/null and b/src/clients/lib/ruby/html/images/wrench_orange.png differ diff --git a/src/clients/lib/ruby/html/images/zoom.png b/src/clients/lib/ruby/html/images/zoom.png new file mode 100644 index 000000000..908612e39 Binary files /dev/null and b/src/clients/lib/ruby/html/images/zoom.png differ diff --git a/src/clients/lib/ruby/html/index.html b/src/clients/lib/ruby/html/index.html new file mode 100644 index 000000000..a752ff4a1 --- /dev/null +++ b/src/clients/lib/ruby/html/index.html @@ -0,0 +1,132 @@ + + + + + + +RDoc Documentation + + + + + + + + + + + + + + +
    +

    This is the API documentation for RDoc Documentation. +

    + + + + + diff --git a/src/clients/lib/ruby/html/js/app.js b/src/clients/lib/ruby/html/js/app.js new file mode 100644 index 000000000..d933ebcf5 --- /dev/null +++ b/src/clients/lib/ruby/html/js/app.js @@ -0,0 +1,219 @@ +function createSourceLinks() { + $('.method_details_list .source_code'). + before("[View source]"); + $('.toggleSource').toggle(function() { + $(this).parent().nextAll('.source_code').slideDown(100); + $(this).text("Hide source"); + }, + function() { + $(this).parent().nextAll('.source_code').slideUp(100); + $(this).text("View source"); + }); +} + +function createDefineLinks() { + var tHeight = 0; + $('.defines').after(" more..."); + $('.toggleDefines').toggle(function() { + tHeight = $(this).parent().prev().height(); + $(this).prev().show(); + $(this).parent().prev().height($(this).parent().height()); + $(this).text("(less)"); + }, + function() { + $(this).prev().hide(); + $(this).parent().prev().height(tHeight); + $(this).text("more..."); + }); +} + +function createFullTreeLinks() { + var tHeight = 0; + $('.inheritanceTree').toggle(function() { + tHeight = $(this).parent().prev().height(); + $(this).parent().toggleClass('showAll'); + $(this).text("(hide)"); + $(this).parent().prev().height($(this).parent().height()); + }, + function() { + $(this).parent().toggleClass('showAll'); + $(this).parent().prev().height(tHeight); + $(this).text("show all"); + }); +} + +function fixBoxInfoHeights() { + $('dl.box dd.r1, dl.box dd.r2').each(function() { + $(this).prev().height($(this).height()); + }); +} + +function searchFrameLinks() { + $('.full_list_link').click(function() { + toggleSearchFrame(this, $(this).attr('href')); + return false; + }); +} + +function toggleSearchFrame(id, link) { + var frame = $('#search_frame'); + $('#search a').removeClass('active').addClass('inactive'); + if (frame.attr('src') == link && frame.css('display') != "none") { + frame.slideUp(100); + $('#search a').removeClass('active inactive'); + } + else { + $(id).addClass('active').removeClass('inactive'); + frame.attr('src', link).slideDown(100); + } +} + +function linkSummaries() { + $('.summary_signature').click(function() { + document.location = $(this).find('a').attr('href'); + }); +} + +function framesInit() { + if (hasFrames) { + document.body.className = 'frames'; + $('#menu .noframes a').attr('href', document.location); + try { + window.top.document.title = $('html head title').text(); + } catch(error) { + // some browsers will not allow this when serving from file:// + // but we don't want to stop the world. + } + } + else { + $('#menu .noframes a').text('frames').attr('href', framesUrl); + } +} + +function keyboardShortcuts() { + if (window.top.frames.main) return; + $(document).keypress(function(evt) { + if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return; + if (typeof evt.target !== "undefined" && + (evt.target.nodeName == "INPUT" || + evt.target.nodeName == "TEXTAREA")) return; + switch (evt.charCode) { + case 67: case 99: $('#class_list_link').click(); break; // 'c' + case 77: case 109: $('#method_list_link').click(); break; // 'm' + case 70: case 102: $('#file_list_link').click(); break; // 'f' + default: break; + } + }); +} + +function summaryToggle() { + $('.summary_toggle').click(function() { + if (localStorage) { + localStorage.summaryCollapsed = $(this).text(); + } + $('.summary_toggle').each(function() { + $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); + var next = $(this).parent().parent().nextAll('ul.summary').first(); + if (next.hasClass('compact')) { + next.toggle(); + next.nextAll('ul.summary').first().toggle(); + } + else if (next.hasClass('summary')) { + var list = $('
      '); + list.html(next.html()); + list.find('.summary_desc, .note').remove(); + list.find('a').each(function() { + $(this).html($(this).find('strong').html()); + $(this).parent().html($(this)[0].outerHTML); + }); + next.before(list); + next.toggle(); + } + }); + return false; + }); + if (localStorage) { + if (localStorage.summaryCollapsed == "collapse") { + $('.summary_toggle').first().click(); + } + else localStorage.summaryCollapsed = "expand"; + } +} + +function fixOutsideWorldLinks() { + $('a').each(function() { + if (window.location.host != this.host) this.target = '_parent'; + }); +} + +function generateTOC() { + if ($('#filecontents').length === 0) return; + var _toc = $('
        '); + var show = false; + var toc = _toc; + var counter = 0; + var tags = ['h2', 'h3', 'h4', 'h5', 'h6']; + var i; + if ($('#filecontents h1').length > 1) tags.unshift('h1'); + for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; } + var lastTag = parseInt(tags[0][1], 10); + $(tags.join(', ')).each(function() { + if ($(this).parents('.method_details .docstring').length != 0) return; + if (this.id == "filecontents") return; + show = true; + var thisTag = parseInt(this.tagName[1], 10); + if (this.id.length === 0) { + var proposedId = $(this).attr('toc-id'); + if (typeof(proposedId) != "undefined") this.id = proposedId; + else { + var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_'); + if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; } + this.id = proposedId; + } + } + if (thisTag > lastTag) { + for (i = 0; i < thisTag - lastTag; i++) { + var tmp = $('
          '); toc.append(tmp); toc = tmp; + } + } + if (thisTag < lastTag) { + for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent(); + } + var title = $(this).attr('toc-title'); + if (typeof(title) == "undefined") title = $(this).text(); + toc.append('
        1. ' + title + '
        2. '); + lastTag = thisTag; + }); + if (!show) return; + html = ''; + $('#content').prepend(html); + $('#toc').append(_toc); + $('#toc .hide_toc').toggle(function() { + $('#toc .top').slideUp('fast'); + $('#toc').toggleClass('hidden'); + $('#toc .title small').toggle(); + }, function() { + $('#toc .top').slideDown('fast'); + $('#toc').toggleClass('hidden'); + $('#toc .title small').toggle(); + }); + $('#toc .float_toc').toggle(function() { + $(this).text('float'); + $('#toc').toggleClass('nofloat'); + }, function() { + $(this).text('left'); + $('#toc').toggleClass('nofloat'); + }); +} + +$(framesInit); +$(createSourceLinks); +$(createDefineLinks); +$(createFullTreeLinks); +$(fixBoxInfoHeights); +$(searchFrameLinks); +$(linkSummaries); +$(keyboardShortcuts); +$(summaryToggle); +$(fixOutsideWorldLinks); +$(generateTOC); diff --git a/src/clients/lib/ruby/html/js/darkfish.js b/src/clients/lib/ruby/html/js/darkfish.js new file mode 100644 index 000000000..b789a6563 --- /dev/null +++ b/src/clients/lib/ruby/html/js/darkfish.js @@ -0,0 +1,161 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-heading').click( showSource ); +}; + +function hookSearch() { + var input = $('#search-field').eq(0); + var result = $('#search-results').eq(0); + $(result).show(); + + var search_section = $('#search-section').get(0); + $(search_section).show(); + + var search = new Search(search_data, input, result); + + search.renderItem = function(result) { + var li = document.createElement('li'); + var html = ''; + + // TODO add relative path to + + + + + Method List + + + + +
          +

          Method List

          + + + + +
          + + diff --git a/src/clients/lib/ruby/html/panel/index.html b/src/clients/lib/ruby/html/panel/index.html new file mode 100755 index 000000000..f815a1132 --- /dev/null +++ b/src/clients/lib/ruby/html/panel/index.html @@ -0,0 +1,73 @@ + + + + + + search index + + + + + + + + + + +
          +
          +
          + +
    + +
    + +
    + +
    +
      +
    +
    +
    +
      +
    +
    + + index + + diff --git a/src/clients/lib/ruby/html/panel/links.html b/src/clients/lib/ruby/html/panel/links.html new file mode 100644 index 000000000..fd77f1367 --- /dev/null +++ b/src/clients/lib/ruby/html/panel/links.html @@ -0,0 +1,34 @@ + + File index + + + async.rb + + rb_collection.c + + rb_collection.h + + rb_playlist.c + + rb_playlist.h + + rb_result.c + + rb_result.h + + rb_xmmsclient.c + + rb_xmmsclient.h + + rb_xmmsclient_ecore.c + + rb_xmmsclient_glib.c + + rb_xmmsclient_main.c + + sync.rb + + xmmsclient.rb + + + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/panel/tree.js b/src/clients/lib/ruby/html/panel/tree.js new file mode 100644 index 000000000..2bdf12e4e --- /dev/null +++ b/src/clients/lib/ruby/html/panel/tree.js @@ -0,0 +1 @@ +var tree = [["","","files",[["async.rb","files/async_rb.html","",[]],["rb_collection.c","files/rb_collection_c.html","",[]],["rb_collection.h","files/rb_collection_h.html","",[]],["rb_playlist.c","files/rb_playlist_c.html","",[]],["rb_playlist.h","files/rb_playlist_h.html","",[]],["rb_result.c","files/rb_result_c.html","",[]],["rb_result.h","files/rb_result_h.html","",[]],["rb_xmmsclient.c","files/rb_xmmsclient_c.html","",[]],["rb_xmmsclient.h","files/rb_xmmsclient_h.html","",[]],["rb_xmmsclient_ecore.c","files/rb_xmmsclient_ecore_c.html","",[]],["rb_xmmsclient_glib.c","files/rb_xmmsclient_glib_c.html","",[]],["rb_xmmsclient_main.c","files/rb_xmmsclient_main_c.html","",[]],["sync.rb","files/sync_rb.html","",[]],["xmmsclient.rb","files/xmmsclient_rb.html","",[]]]],["Xmms","classes/Xmms.html","",[["BroadcastResult","classes/Xmms/BroadcastResult.html"," < Xmms::Result",[]],["Client","classes/Xmms/Client.html"," < Object",[["Async","classes/Xmms/Client/Async.html"," < Object",[]],["ClientError","classes/Xmms/Client/ClientError.html"," < StandardError",[]],["DisconnectedError","classes/Xmms/Client/DisconnectedError.html"," < Xmms::Client::ClientError",[]],["Sync","classes/Xmms/Client/Sync.html"," < Object",[]]]],["Collection","classes/Xmms/Collection.html"," < Object",[["Async","classes/Xmms/Collection/Async.html"," < Object",[]],["Attributes","classes/Xmms/Collection/Attributes.html"," < Object",[]],["ClientError","classes/Xmms/Collection/ClientError.html"," < StandardError",[]],["CollectionError","classes/Xmms/Collection/CollectionError.html"," < StandardError",[]],["DisconnectedError","classes/Xmms/Collection/DisconnectedError.html"," < Xmms::Collection::ClientError",[]],["Operands","classes/Xmms/Collection/Operands.html"," < Object",[]],["PatternError","classes/Xmms/Collection/PatternError.html"," < StandardError",[]],["Sync","classes/Xmms/Collection/Sync.html"," < Object",[]]]],["Dict","classes/Xmms/Dict.html"," < Object",[]],["Playlist","classes/Xmms/Playlist.html"," < Object",[["Async","classes/Xmms/Playlist/Async.html"," < Object",[]],["ClientError","classes/Xmms/Playlist/ClientError.html"," < StandardError",[]],["DisconnectedError","classes/Xmms/Playlist/DisconnectedError.html"," < Xmms::Playlist::ClientError",[]],["PlaylistError","classes/Xmms/Playlist/PlaylistError.html"," < StandardError",[]],["Sync","classes/Xmms/Playlist/Sync.html"," < Object",[]]]],["RawDict","classes/Xmms/RawDict.html"," < Xmms::Dict",[]],["Result","classes/Xmms/Result.html"," < Object",[["ResultError","classes/Xmms/Result/ResultError.html"," < StandardError",[]],["ValueError","classes/Xmms/Result/ValueError.html"," < Xmms::Result::ResultError",[]]]],["SignalResult","classes/Xmms/SignalResult.html"," < Xmms::Result",[]]]],["unknown","classes/unknown.html"," < Object",[]]] \ No newline at end of file diff --git a/src/clients/lib/ruby/html/table_of_contents.html b/src/clients/lib/ruby/html/table_of_contents.html new file mode 100644 index 000000000..1ccd23147 --- /dev/null +++ b/src/clients/lib/ruby/html/table_of_contents.html @@ -0,0 +1,917 @@ + + + + + + +Table of Contents - RDoc Documentation + + + + + + + + + + + + +
    +

    Table of Contents - RDoc Documentation

    + + +

    Classes and Modules

    + + +

    Methods

    + +
    + + + + diff --git a/src/clients/lib/ruby/html/top-level-namespace.html b/src/clients/lib/ruby/html/top-level-namespace.html new file mode 100644 index 000000000..64205f455 --- /dev/null +++ b/src/clients/lib/ruby/html/top-level-namespace.html @@ -0,0 +1,112 @@ + + + + + + Top Level Namespace + + — Documentation by YARD 0.8.7.6 + + + + + + + + + + + + + + + + + + + + + +

    Top Level Namespace + + + +

    + +
    + + + + + + + + +
    +
    + +

    Defined Under Namespace

    +

    + + + Modules: Xmms + + + + +

    + + + + + + + + + +
    + + + + + \ No newline at end of file diff --git a/src/clients/lib/ruby/html/unknown.html b/src/clients/lib/ruby/html/unknown.html new file mode 100644 index 000000000..93638aa0d --- /dev/null +++ b/src/clients/lib/ruby/html/unknown.html @@ -0,0 +1,102 @@ + + + + + + +class unknown - RDoc Documentation + + + + + + + + + + + + + + +
    +

    + class unknown +

    + +
    + +
    + + + + +
    + + + + + + + + + +
    +
    + + + + diff --git a/src/clients/lib/ruby/rb_collection.c b/src/clients/lib/ruby/rb_collection.c index 56e23f837..92f2ecb80 100644 --- a/src/clients/lib/ruby/rb_collection.c +++ b/src/clients/lib/ruby/rb_collection.c @@ -537,6 +537,10 @@ c_operands_each (VALUE self) void Init_Collection (VALUE mXmms) { +#if RDOC_CAN_PARSE_DOCUMENTATION + mXmms= rb_define_module("Xmms"); +#endif + cColl = rb_define_class_under (mXmms, "Collection", rb_cObject); rb_define_alloc_func (cColl, c_alloc); diff --git a/src/clients/lib/ruby/rb_playlist.c b/src/clients/lib/ruby/rb_playlist.c index 92148ade5..6976b4b58 100644 --- a/src/clients/lib/ruby/rb_playlist.c +++ b/src/clients/lib/ruby/rb_playlist.c @@ -108,6 +108,7 @@ c_alloc (VALUE klass) /* * call-seq: * pl = Xmms::Playlist.new(xc, [name]) + * * Initializes a new Xmms::Playlist using the playlist named _name_ and the * Xmms::Client instance _xc_. Xmms::Client#playlist(name) is a useful * shortcut. _name_ is is the name of the playlist and the active playlist will @@ -142,6 +143,7 @@ c_init (int argc, VALUE *argv, VALUE self) /* * call-seq: * pl.name -> string + * * Returns the name of the playlist in the medialib as a String. */ static VALUE @@ -384,6 +386,10 @@ c_add_collection (int argc, VALUE *argv, VALUE self) VALUE Init_Playlist (VALUE mXmms) { +#if RDOC_CAN_PARSE_DOCUMENTATION + mXmms= rb_define_module("Xmms"); +#endif + VALUE c; c = rb_define_class_under (mXmms, "Playlist", rb_cObject); diff --git a/src/clients/lib/ruby/rb_result.c b/src/clients/lib/ruby/rb_result.c index 0e0dcf654..9156ca7bb 100644 --- a/src/clients/lib/ruby/rb_result.c +++ b/src/clients/lib/ruby/rb_result.c @@ -367,7 +367,7 @@ c_dict_inspect (VALUE self) { return rb_protect_inspect (dict_inspect, self, 0); } -#endif /* HAVE_RB_PROTECT_INSPECT */ +#endif static VALUE c_dict_size (VALUE self) @@ -544,6 +544,10 @@ c_raw_dict_to_propdict (int argc, VALUE *argv, VALUE self) void Init_Result (VALUE mXmms) { +#if RDOC_CAN_PARSE_DOCUMENTATION + mXmms= rb_define_module("Xmms"); +#endif + cResult = rb_define_class_under (mXmms, "Result", rb_cObject); /* ugh, we have to define the "new" method, @@ -576,7 +580,7 @@ Init_Result (VALUE mXmms) #ifdef HAVE_RB_PROTECT_INSPECT rb_define_method (cDict, "inspect", c_dict_inspect, 0); -#endif /* HAVE_RB_PROTECT_INSPECT */ +#endif rb_define_method (cDict, "size", c_dict_size, 0); rb_define_method (cDict, "empty?", c_dict_empty, 0); diff --git a/src/clients/lib/ruby/rb_xmmsclient.c b/src/clients/lib/ruby/rb_xmmsclient.c index b836bce38..c6ff3d51e 100644 --- a/src/clients/lib/ruby/rb_xmmsclient.c +++ b/src/clients/lib/ruby/rb_xmmsclient.c @@ -346,7 +346,7 @@ c_io_in_handle (VALUE self) * xc.io_out_handle -> nil * * Sends one outgoing (to server) clientlib command. You should check - * Xmms::Client#io_want_out before calling this method. + * #io_want_out before calling this method. */ static VALUE c_io_out_handle (VALUE self) @@ -785,7 +785,7 @@ c_playlist_set_next_rel (VALUE self, VALUE pos) /* call-seq: * xc.playlist([name]) -> p * - * Shortcut for Xmms::Playlist#new(xc, [name]). Creates a new Xmms::Playlist + * Shortcut for Xmms::Playlist.new. Creates a new Xmms::Playlist * object tied to the current Xmms::Client instance. _name_ is is the name of * the playlist and the active playlist will be used if it is not specified. * Raises PlaylistError if the playlist name is invalid. @@ -843,7 +843,7 @@ c_medialib_get_info (VALUE self, VALUE id) * Write info to the medialib at _id_. _source_ is an optional argument that * describes where to write the mediainfo. If _source_ is omitted, the * mediainfo is written to "client/" where is the - * name you specified in _Xmms::Client.new(name)_. + * name you specified in ::new. */ static VALUE c_medialib_entry_property_set (int argc, VALUE *argv, VALUE self) @@ -900,8 +900,7 @@ c_medialib_entry_property_set (int argc, VALUE *argv, VALUE self) * Remove a custom field in the medialib associated with the entry _id_. * _source_ is an optional argument that describes where to write the * mediainfo. If _source_ is omitted, "client/" is used, - * where is the name you specified in - * _Xmms::Client.new(name)_. + * where is the name you specified in ::new. */ static VALUE c_medialib_entry_property_remove (int argc, VALUE *argv, VALUE self) @@ -1603,6 +1602,10 @@ parse_string_array2 (VALUE value) void Init_Client (VALUE mXmms) { +#if RDOC_CAN_PARSE_DOCUMENTATION + mXmms= rb_define_module("Xmms"); +#endif + VALUE c; c = rb_define_class_under (mXmms, "Client", rb_cObject); diff --git a/src/clients/lib/ruby/sync.rb b/src/clients/lib/ruby/sync.rb index 812299e4d..37ad73462 100644 --- a/src/clients/lib/ruby/sync.rb +++ b/src/clients/lib/ruby/sync.rb @@ -15,65 +15,68 @@ require 'xmmsclient' -class Xmms::Client::Sync - attr_reader(:real) +module Xmms + class Client::Sync + attr_reader(:real) - def initialize(name) - @real = Xmms::Client.new(name) - end + def initialize(name) + @real = Xmms::Client.new(name) + end - def method_missing(id, *args) - args.push(&block) if(id == 'on_disconnect') - ret = @real.send(id, *args) - if(ret.is_a?(Xmms::Result) || ret.is_a?(Xmms::BroadcastResult) || - ret.is_a?(Xmms::SignalResult)) - ret.wait.value - elsif(ret.is_a?(Xmms::Client)) - self - elsif(ret.is_a?(Xmms::Collection)) - Xmms::Collection::Sync.new(ret) - elsif(ret.is_a?(Xmms::Playlist)) - Xmms::Playlist::Sync.new(ret) - else - ret + def method_missing(id, *args) + args.push(&block) if(id == 'on_disconnect') + ret = @real.send(id, *args) + if(ret.is_a?(Xmms::Result) || ret.is_a?(Xmms::BroadcastResult) || + ret.is_a?(Xmms::SignalResult)) + ret.wait.value + elsif(ret.is_a?(Xmms::Client)) + self + elsif(ret.is_a?(Xmms::Collection)) + Xmms::Collection::Sync.new(ret) + elsif(ret.is_a?(Xmms::Playlist)) + Xmms::Playlist::Sync.new(ret) + else + ret + end end end -end -class Xmms::Collection::Sync - attr_reader(:real) - def initialize(coll) - @real = coll - end + class Collection::Sync + attr_reader(:real) - def method_missing(id, *args) - ret = @real.send(id, *args) - if(ret.is_a?(Xmms::Result)) - ret.wait.value - elsif(ret.is_a?(Xmms::Collection)) - self - else - ret + def initialize(coll) + @real = coll + end + + def method_missing(id, *args) + ret = @real.send(id, *args) + if(ret.is_a?(Xmms::Result)) + ret.wait.value + elsif(ret.is_a?(Xmms::Collection)) + self + else + ret + end end end -end -class Xmms::Playlist::Sync - attr_reader(:real) + class Playlist::Sync + attr_reader(:real) - def initialize(plist) - @real = plist - end + def initialize(plist) + @real = plist + end - def method_missing(id, *args) - ret = @real.send(id, *args) - if(ret.is_a?(Xmms::Result)) - ret.wait.value - elsif(ret.is_a?(Xmms::Collection)) - self - else - ret + def method_missing(id, *args) + ret = @real.send(id, *args) + if(ret.is_a?(Xmms::Result)) + ret.wait.value + elsif(ret.is_a?(Xmms::Collection)) + self + else + ret + end end end end