GSoC:2008/Collections 2.0/Operator list

From XMMS2

Jump to: navigation, search

Contents

General operators

Universe

Type identifier XMMS_COLLECTION_TYPE_UNIVERSE
Result

All mediaids in the medialibrary

Attributes

none

Operands

none


Idlist

Type identifier XMMS_COLLECTION_TYPE_IDLIST
Result

A medialist containing the mediaids in the idlist found within the operator.

Attributes
  • type: The type of playlist. Typically list, queue or pshuffle. The default value is list.
  • any
Operands

Zero or one


Reference

Type identifier XMMS_COLLECTION_TYPE_REFERENCE
Result

All mediaids in the collection identified by the namespace and reference attributes

Attributes
  • namespace: The namespace of the referenced collection, e.g. Playlists or Collections
  • reference: The name of the referenced, e.g. Muse, Never Played, That grand Opeth album or just Default
Operands

none (except on the daemon-side, where the referenced collection can be attached as an operand to the reference-operator)

Combining operators

Complement

Type identifier XMMS_COLLECTION_TYPE_COMPLEMENT
Result

All mediaids in medialibrary, except those in the operand.

Attributes

none

Operands

Exactly one


Intersection

Type identifier XMMS_COLLECTION_TYPE_INTERSECTION
Result

The mediaids that appear in all operands

Attributes

none

Operands

One or more


Union

Type identifier XMMS_COLLECTION_TYPE_UNION
Result

The mediaids that appear in any of the operands

Attributes

none

Operands

One or more


Concatenation

Type identifier XMMS_COLLECTION_TYPE_CONCATENATION
Result

A medialist of the operands behind each other

Attributes

none

Operands

One or more medialists


Intersection Ordered (soon too be abolished in favour of Intersection)

Type identifier XMMS_COLLECTION_TYPE_INTERSECTION_ORDERED
Result

The first operand, but only with the mediaids that are also in the second operand

Attributes

none

Operands

Exactly two

Filtering operators

Has

Type identifier XMMS_COLLECTION_TYPE_HAS
Result

The operand, but only with the mediaids that have a property with a given name, as well as a given source, where only properties are examined using the given source-preference.

Attributes
  • field: The name of the property, e.g. artist, album or title. If this is not specified the name of the property is not taken into account.
  • source: The source of the property, e.g. server, plugin/vorbis, client/xmms2-cli or 2 (only for the daemon). If this is not specified the source of the property is not taken into account.
  • source-preference: The source-preference that needs to be applied, e.g. server:plugin/id3v2:client:plugin:plugin/pls (see Source-Preference Specification). If this is not specified the global source-preference will be used. (Currently only default and all are possible.)
Operands

Exactly one


Id

Type identifier XMMS_COLLECTION_TYPE_ID
Result

The operand, but only with the mediaids for which id [operation] [value] (e.g. id = 100, id <= 55) is true

Attributes
  • operation: One of <, <=, =, >=, >= and !=. The default is =
  • value: A number
Operands

Exactly one


Compare

Type identifier XMMS_COLLECTION_TYPE_COMPARE
Result

The operand, but only with the mediaids that have a property with a given name, as well as a given source and a value for which the expression value [operation] [value] is true, given a collation, where only properties are examined using the given source-preference.

Attributes
  • operation: One of <, <=, =, >=, >=, != and prefix. The default is =.
  • field: The name of the property, e.g. artist, album or title. If this is not specified the name of the property is not taken into account.
  • value: A string.
  • collation: A collation to be used when comparing the value from the medialib and the value attribute, e.g. NOCASE, BINARY, INTCOLL or NATCOLL. The default-value is NATCOLL
  • source: The source of the property, e.g. server, plugin/vorbis, client/xmms2-cli or 2 (only for the daemon). If this is not specified the source of the property is not taken into account.
  • source-preference: The source-preference that needs to be applied, e.g. server:plugin/id3v2:client:plugin:plugin/pls (see Source-Preference Specification). If this is not specified the global source-preference will be used. (Currently only default and all are possible.)
Operands

Exactly one


Match

Type identifier XMMS_COLLECTION_TYPE_MATCH
Result

The operand, but only with the mediaids that have a property with a given name, as well as a given source and a value matching the pattern found in the value attribute, given a collation, where only properties are examined using the given source-preference. The pattern uses the glob-syntax, with the * and ? wildcards.

Attributes
  • field: The name of the property, e.g. artist, album or title. If this is not specified the name of the property is not taken into account.
  • value: A string.
  • collation: A collation to be used when comparing the value from the medialib and the value attribute, e.g. NOCASE, BINARY, INTCOLL or NATCOLL. Currently only BINARY and NOCASE are supported, as the semantics of some patterns for the other two collations is not clear. The default-value is NOCASE.
  • source: The source of the property, e.g. server, plugin/vorbis, client/xmms2-cli or 2 (only for the daemon). If this is not specified the source of the property is not taken into account.
  • source-preference: The source-preference that needs to be applied, e.g. server:plugin/id3v2:client:plugin:plugin/pls (see Source-Preference Specification). If this is not specified the global source-preference will be used. (Currently only default and all are possible.)
Operands

Exactly one


Token

Type identifier XMMS_COLLECTION_TYPE_TOKEN
Result

The operand, but only with the mediaids that have a property with a given name, as well as a given source and a value consisting of no other tokens than those in the value-attribute, given a collation, where only properties are examined using the given source-preference.

To tokenize a string it is split on whitespace, after which all non-alphanumeric characters are stripped from the separate parts.

Attributes
  • field: The name of the property, e.g. artist, album or title. If this is not specified the name of the property is not taken into account.
  • value: A string, which will be tokenized. If a token ends in * prefix-matching will be used for that token.
  • collation: A collation to be used when comparing the value from the medialib and the value attribute, e.g. NOCASE, BINARY, INTCOLL or NATCOLL. Currently only BINARY and NOCASE are supported for prefix-matching, as the semantics of some patterns for the other two collations is not clear.
  • source: The source of the property, e.g. server, plugin/vorbis, client/xmms2-cli or 2 (only for the daemon). If this is not specified the source of the property is not taken into account.
  • source-preference: The source-preference that needs to be applied, e.g. server:plugin/id3v2:client:plugin:plugin/pls (see Source-Preference Specification). If this is not specified the global source-preference will be used. (Currently only default and all are possible.)
Operands

Exactly one


Date (reserved)

Type identifier XMMS_COLLECTION_TYPE_DATE
Result

undefined

Attributes

undefined

Operands

Exactly one

'Medialist' operators

Order

Type identifier XMMS_COLLECTION_TYPE_ORDER
Result

A medialist, with the mediaids in the operand sorted according to a value depending on the type attribute and the mediaid. If the operand also is an order operator, then the values generated by that will be used for secondary sorting.

Attributes
  • order: ASC or DESC for ascending and descending ordering. The default-value is ASC.
  • collation: A collation to be used when the values are strings. The default-value is NATCOLL.
  • type: What kind of value should be retrieved, typically value, field, id or random. The default value is value.
  • field: If type=value, defines which property to order by.
Operands

Exactly one


Limit

Type identifier XMMS_COLLECTION_TYPE_LIMIT
Result

A medialist equal to the operand, but without the first start entries and containing length or fewer entries.

Attributes
  • start: an integer, defaulting to 0.
  • length: an integer, defaulting to UINT_MAX.
Operands

Exactly one (a medialist)


Mediaset

Type identifier XMMS_COLLECTION_TYPE_MEDIASET
Result

A mediaset containing the mediaids in the operand. (Removing duplicates and order)

Attributes

none

Operands

Exactly one

Personal tools