graphbrainz/src/types/enums.js
2016-08-19 22:59:32 -07:00

199 lines
6.1 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'
/*
ReleaseStatus {
OFFICIAL
PROMOTION
BOOTLEG
PSEUDORELEASE
}
*/
export const ReleaseStatus = new GraphQLEnumType({
name: 'ReleaseStatus',
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'
}
}
})
/*
enum ReleaseGroupType {
# Primary types
ALBUM
SINGLE
EP
OTHER
BROADCAST
# Secondary types
COMPILATION
SOUNDTRACK
SPOKEN_WORD
INTERVIEW
AUDIOBOOK
LIVE
REMIX
DJMIX
MIXTAPE
DEMO
NAT
}
*/
export const ReleaseGroupType = new GraphQLEnumType({
name: 'ReleaseGroupType',
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: 'spokenword'
},
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'
}
}
})