mirror of
https://github.com/BradNut/graphbrainz
synced 2025-09-08 17:40:32 +00:00
199 lines
6.1 KiB
JavaScript
199 lines
6.1 KiB
JavaScript
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 don’t 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 artist’s 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'
|
||
}
|
||
}
|
||
})
|