graphbrainz/src/types/enums.js

192 lines
6.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { GraphQLEnumType } from 'graphql/type'
export const ArtistType = new GraphQLEnumType({
name: 'ArtistType',
description: `A type used to describe artists, e.g. person, group, character,
etc.`,
values: {
PERSON: {
name: 'Person',
description: 'This indicates an individual person.',
value: 'Person'
},
GROUP: {
name: 'Group',
description: `This indicates a group of people that may or may not have a
distinctive name.`,
value: 'Group'
},
ORCHESTRA: {
name: 'Orchestra',
description: 'This indicates an orchestra (a large instrumental ensemble).',
value: 'Orchestra'
},
CHOIR: {
name: 'Choir',
description: 'This indicates a choir/chorus (a large vocal ensemble).',
value: 'Choir'
},
CHARACTER: {
name: 'Character',
description: 'This indicates an individual fictional character.',
value: 'Character'
},
OTHER: {
name: 'Other',
description: 'An artist which does not fit into the other categories.',
value: 'Other'
}
}
})
export const ReleaseStatus = new GraphQLEnumType({
name: 'ReleaseStatus',
description: `A type used to describe the status of releases, e.g. official,
bootleg, etc.`,
values: {
OFFICIAL: {
name: 'Official',
description: `Any release officially sanctioned by the artist and/or their
record company. (Most releases will fit into this category.)`,
value: 'Official'
},
PROMOTION: {
name: 'Promotion',
description: `A giveaway release or a release intended to promote an
upcoming official release, e.g. prerelease albums or releases included with a
magazine.`,
value: 'Promotion'
},
BOOTLEG: {
name: 'Bootleg',
description: `An unofficial/underground release that was not sanctioned by
the artist and/or the record company.`,
value: 'Bootleg'
},
PSEUDORELEASE: {
name: 'Pseudo-Release',
description: `A pseudo-release is a duplicate release for
translation/transliteration purposes.`,
value: 'Pseudo-Release'
}
}
})
export const ReleaseGroupType = new GraphQLEnumType({
name: 'ReleaseGroupType',
description: `A type used to describe release groups, e.g. album, single, EP,
etc.`,
values: {
ALBUM: {
name: 'Album',
description: `An album, perhaps better defined as a “Long Play” (LP)
release, generally consists of previously unreleased material (unless this type
is combined with secondary types which change that, such as “Compilation”). This
includes album re-issues, with or without bonus tracks.`,
value: 'Album'
},
SINGLE: {
name: 'Single',
description: `A single typically has one main song and possibly a handful
of additional tracks or remixes of the main track. A single is usually named
after its main song.`,
value: 'Single'
},
EP: {
name: 'EP',
description: `An EP is a so-called “Extended Play” release and often
contains the letters EP in the title. Generally an EP will be shorter than a
full length release (an LP or “Long Play”) and the tracks are usually exclusive
to the EP, in other words the tracks dont come from a previously issued
release. EP is fairly difficult to define; usually it should only be assumed
that a release is an EP if the artist defines it as such.`,
value: 'EP'
},
OTHER: {
name: 'Other',
description: 'Any release that does not fit any of the other categories.',
value: 'Other'
},
BROADCAST: {
name: 'Broadcast',
description: `An episodic release that was originally broadcast via radio,
television, or the Internet, including podcasts.`,
value: 'Broadcast'
},
COMPILATION: {
name: 'Compilation',
description: `A compilation is a collection of previously released tracks
by one or more artists.`,
value: 'Compilation'
},
SOUNDTRACK: {
name: 'Soundtrack',
description: `A soundtrack is the musical score to a movie, TV series,
stage show, computer game, etc.`,
value: 'Soundtrack'
},
SPOKENWORD: {
name: 'Spoken Word',
description: 'A non-music spoken word release.',
value: 'Spoken Word'
},
INTERVIEW: {
name: 'Interview',
description: `An interview release contains an interview, generally with
an artist.`,
value: 'Interview'
},
AUDIOBOOK: {
name: 'Audiobook',
description: 'An audiobook is a book read by a narrator without music.',
value: 'Audiobook'
},
LIVE: {
name: 'Live',
description: 'A release that was recorded live.',
value: 'Live'
},
REMIX: {
name: 'Remix',
description: `A release that was (re)mixed from previously released
material.`,
value: 'Remix'
},
DJMIX: {
name: 'DJ-mix',
description: `A DJ-mix is a sequence of several recordings played one
after the other, each one modified so that they blend together into a continuous
flow of music. A DJ mix release requires that the recordings be modified in some
manner, and the DJ who does this modification is usually (although not always)
credited in a fairly prominent way.`,
value: 'DJ-mix'
},
MIXTAPE: {
name: 'Mixtape/Street',
description: `Promotional in nature (but not necessarily free), mixtapes
and street albums are often released by artists to promote new artists, or
upcoming studio albums by prominent artists. They are also sometimes used to
keep fans attention between studio releases and are most common in rap & hip
hop genres. They are often not sanctioned by the artists label, may lack proper
sample or song clearances and vary widely in production and recording quality.
While mixtapes are generally DJ-mixed, they are distinct from commercial DJ
mixes (which are usually deemed compilations) and are defined by having a
significant proportion of new material, including original production or
original vocals over top of other artists instrumentals. They are distinct from
demos in that they are designed for release directly to the public and fans, not
to labels.`,
value: 'Mixtape/Street'
},
DEMO: {
name: 'Demo',
description: `A release that was recorded for limited circulation or
reference use rather than for general public release.`,
value: 'Demo'
},
NAT: {
name: 'Non-Album Track',
description: 'A non-album track (special case).',
value: 'NAT'
}
}
})