Documentation

SongsFilters
in package

Class for songs filtering.

Tags
author

Farottone

OA\Schema

( schema="SongsFilters", title="SongsFilters", description="Schema for songs filtering. All available filtering options are listed and documented here Filters are different from searches for common fields (like artist and author) in that filters are fixed parameters while search are based on free text - If you want results based on set option values (for example songs by the band "Rush"), use filters, because they use set values (so "rush" as artist shortname) - If you want results based on text strings (for example songs by any band with "Rush" in the name) use text search ", @OA\Xml( name="Songs Filters library" ) )

Table of Contents

$audio  : string
$decade  : int
$fullband  : bool
$gender  : string
$genre  : string
$instrument  : string
$rating  : string
$reductions  : bool
$source  : string
$tier  : string
$tierinstrument  : string
$vocals  : string
$DB  : mixed
Library for song filtering Some of the filters are hardcoded, some are taken from the DB, eventually they should all be pulled querying the DB Some filters have their own class because they are complex entities, others only require a simple straight array
__construct()  : mixed
_instruments_diff()  : mixed
audio()  : mixed
decade()  : mixed
filters()  : mixed
fullband()  : mixed
gender()  : mixed
genre()  : mixed
instrument()  : mixed
rating()  : mixed
reductions()  : mixed
source()  : mixed
tier()  : mixed
tierinstrument()  : mixed
vocals()  : mixed

Properties

$audio

public string $audio
Tags
OA\Property

( description="Type of audio", enum={"full","karaoke","partial","single"} )

$decade

public int $decade
Tags
OA\Property

( description="Decade when the song was released", )

$fullband

public bool $fullband
Tags
OA\Property

( description="Flag identifying whether a song has all instruments authored", )

$gender

public string $gender
Tags
OA\Property

( description="Vocal gender of the singer", enum={"male","female"} )

$genre

public string $genre
Tags
OA\Property

( description="Music genre.", enum={"|genre"} )

$instrument

public string $instrument
Tags
OA\Property

( description="Instrument(s) the song must have authored", enum={"guitar","bass","drums","vocals","keys","prokeys","probass","proguitar"} )

$rating

public string $rating
Tags
OA\Property

( description="Parental guidance rating for the song. nr: Unrated, ff: Family Friendly, sr: Supervision Recommended, m: Mature ", enum={"nr","ff","sr","m"} )

$reductions

public bool $reductions
Tags
OA\Property

( description="Flag identifying whether a song has all difficulties authored", )

$source

public string $source
Tags
OA\Property

( description="Creator of the song", enum={"|songcreators"} )

$tier

public string $tier
Tags
OA\Property

( description="Difficulty level for an instrument. - Levels start at 1 for all games, even those like Rock Band 3 that formally have a 0 tier (we then translate 1 to x tiers to actual game tiers). - 0 means the song doesn't have that instrument part - -1 means the instrument hasn't been authored ", enum={"|tiers"}

)

$tierinstrument

public string $tierinstrument
Tags
OA\Property

( description="Instrument(s) for which the song must have authored at a required difficulty tier. Multiple selection allowed.", enum={"guitar","bass","drums","vocals","keys","prokeys","probass","proguitar"} )

$vocals

public string $vocals
Tags
OA\Property

( description="Type of vocals authoring", enum={"pitched","unpitched"} )

$DB

Library for song filtering Some of the filters are hardcoded, some are taken from the DB, eventually they should all be pulled querying the DB Some filters have their own class because they are complex entities, others only require a simple straight array

private mixed $DB

Methods

__construct()

public __construct(mixed $game) : mixed
Parameters
$game : mixed
Return values
mixed

_instruments_diff()

public _instruments_diff() : mixed
Return values
mixed

audio()

public audio() : mixed
Tags
OA\Parameter

( name="audio", description="Type of audio. full: Multitrack, karaoke: Karaoke, partial: Partial Multitracks, single: Single Track ", in="query", @OA\Schema( type="array", @OA\Items( enum={"full","karaoke","partial","single"} ) ) )

Return values
mixed

decade()

public decade() : mixed
Tags
OA\Parameter

( name="decade", description="Decade when the song was released", in="query", @OA\Schema( type="array", @OA\Items( enum={"|decades"} ) ) )

Return values
mixed

filters()

public filters([mixed $type = false ]) : mixed
Parameters
$type : mixed = false
Return values
mixed

fullband()

public fullband() : mixed
Tags
OA\Parameter

( name="fullband", description="Whether a song has all instruments authored", in="query", @OA\Schema( type="boolean" ) )

Return values
mixed

gender()

public gender() : mixed
Tags
OA\Parameter

( name="gender", description="Vocal gender of the singer.", in="query", @OA\Schema( type="array", @OA\Items( enum={"male","female"} ) ) )

Return values
mixed

genre()

public genre([mixed $all = false ][, mixed $keys_only = false ]) : mixed
Parameters
$all : mixed = false
$keys_only : mixed = false
Tags
OA\Parameter

( name="genre", description="Music genre shortname. Every game has its own set of genres or might not have any, so make sure to check valid shortnames are /genres", in="query", @OA\Schema( type="array", @OA\Items( enum={"|genre"} ) ) )

Return values
mixed

instrument()

public instrument([mixed $all = false ]) : mixed
Parameters
$all : mixed = false
Tags
OA\Parameter

( name="instrument", description="Instrument(s) the song must have authored. Multiple selection allowed.", in="query", @OA\Schema( type="array", @OA\Items( enum={"guitar","bass","drums","vocals","keys","prokeys","probass","proguitar"} ) ) )

Return values
mixed

rating()

public rating() : mixed
Tags
OA\Parameter

( name="rating", description="Parental guidance rating for the song. nr: Unrated, ff: Family Friendly, sr: Supervision Recommended, m: Mature ", in="query", @OA\Schema( type="array", @OA\Items( enum={"nr","ff","sr","m"} ) ) )

Return values
mixed

reductions()

public reductions() : mixed
Tags
OA\Parameter

( name="reductions", description="Whether a song has all difficulties authored", in="query", @OA\Schema( type="boolean" ) )

Return values
mixed

source()

public source() : mixed
Tags
OA\Parameter

( name="source", description="Creator of the song", in="query", @OA\Schema( type="array", @OA\Items( enum={"|songcreators"} ) ) )

Return values
mixed

tier()

public tier() : mixed
Tags
OA\Parameter

( name="tier", description="Difficulty level for an instrument. - Levels start at 1 for all games, even those like Rock Band 3 that formally have a 0 tier (we then translate 1 to x tiers to actual game tiers). - 0 means the song doesn't have that instrument part - -1 means the instrument hasn't been authored ", in="query", @OA\Schema( type="array", @OA\Items( enum={"|tiers"} ) ) )

Return values
mixed

tierinstrument()

public tierinstrument([mixed $all = false ]) : mixed
Parameters
$all : mixed = false
Tags
OA\Parameter

( name="tierinstrument", description="Instrument(s) for which the song must have authored at a required difficulty tier. Multiple selection allowed.", in="query", @OA\Schema( type="array", @OA\Items( enum={"guitar","bass","drums","vocals","keys","prokeys","probass","proguitar"} ) ) )

Return values
mixed

vocals()

public vocals() : mixed
Tags
OA\Parameter

( name="vocals", description="Type of vocals authoring", in="query", @OA\Schema( type="array", @OA\Items( enum={"pitched","unpitched"} ) ) )

Return values
mixed

Search results