Skip to content

Latest commit

 

History

History
1725 lines (692 loc) · 30.6 KB

definitions.md

File metadata and controls

1725 lines (692 loc) · 30.6 KB

Protocol Documentation

Table of Contents

Top

artist.proto

Artist

Field Type Label Description
uuid UUID UUID.
sequence int32 The Sequence of the Artist.
name string The name of the Artist.
profile Profile A Profile for an Artist.
registrations Registration repeated An Artist's Registration details at a Rights Organisation: organisation, code. e.g. 'PPL', '12489754'.
urls URL repeated Associated urls for an artist.
mscm_id string A mscmeta ID for the Artist.
role Artist.Role The Role of the Artist.

Artist.Role

Name Number Description
ROLE_UNSPECIFIED 0
ROLE_MAIN 1
ROLE_FEATURED 2
ROLE_REMIXER 3
ROLE_DJ 4

Top

attachment.proto

Attachment

Field Type Label Description
uuid UUID
file File

Top

base_genre.proto

BaseGenre

Field Type Label Description
uuid UUID
name BaseGenre.Name

BaseGenre.Name

Name Number Description
NAME_UNSPECIFIED 0
NAME_ALTERNATIVE 1
NAME_AUDIO_BOOKS 2
NAME_BLUES 3
NAME_CHILDRENS_MUSIC 4
NAME_CLASSICAL 5
NAME_COMEDY 6
NAME_COUNTRY 7
NAME_DANCE 8
NAME_ELECTRONIC 9
NAME_FOLK 10
NAME_HIPHOP_RAP 11
NAME_HOLIDAY_MUSIC 12
NAME_INSPIRATIONAL 13
NAME_JAZZ 14
NAME_LATIN 15
NAME_NEW_AGE 16
NAME_OPERA 17
NAME_POP 18
NAME_RB_SOUL 19
NAME_REGGAE 20
NAME_ROCK 21
NAME_SOUNDTRACK 22
NAME_SPOKEN_WORD 23
NAME_VOCAL 24
NAME_WORLD 25

Top

company.proto

Company

Field Type Label Description
uuid UUID A UUID for the Company record.
mscm_id string The Companies assigned ID from The Music Network - mscmetadata.
name string The Company name.
profile Profile

Top

contributor.proto

Contributor

Field Type Label Description
uuid UUID
name string The Contributors Name
profile Profile Contributor Profile
registrations Registration repeated A Contributors Registration details at a Rights Organisation: organisation, code. e.g. 'PPL', '12489754'.
urls URL repeated Any urls associated with A Contributor

Top

contributor_role.proto

Contributor Roles Schema.

ContributorRole

Field Type Label Description
uuid UUID UUID
role ContributorRole.Role Select a Role for a Contributor

ContributorRole.Role

Name Number Description
ROLE_UNSPECIFIED 0
ROLE_ARTWORK 1
ROLE_PHOTOGRAPHY 2
ROLE_EXECUTIVE_PRODUCER 3
ROLE_OTHER 4
ROLE_WRITTEN_BY 5
ROLE_PUBLISHER 6

Top

country.proto

Country

Field Type Label Description
uuid UUID Country uuid
name string
iso_alpha_two string
iso_alpha_three string
iso_numeric string

Top

delivery.proto

Delivery

Field Type Label Description
uuid UUID
delivery_id string
attachments Attachment
type Delivery.Type

Delivery.Type

Name Number Description
TYPE_RELEASE_UNSPECIFIED 0
TYPE_RECORDING 1
TYPE_RINGTONE 2
TYPE_MOVIE 3

Top

file.proto

File

Field Type Label Description
uuid UUID
name string The filename of the File.
size int32 The size of the File in bytes.
extension string The extension of the File.
mime_type string The mime type of the File.
created_at string The createion date of the File.
location string The URI of the stored File.
notes string Any additional notes regarding the File.
checksum string
checksum_algo string

Top

format.proto

Format

Field Type Label Description
name Format.Name

Format.Name

Name Number Description
NAME_DIGITAL_UNSPECIFIED 0
NAME_PHYSICAL 1
NAME_RINGTONE 2

Top

genre.proto

Genre

Field Type Label Description
uuid UUID
name string

Top

identifier.proto

Identifier

Field Type Label Description
uuid UUID
name string
reference string

Top

label.proto

Label

Field Type Label Description
uuid UUID A UUID for the Label record.
tmn_id string The Label's assigned ID from The Music Network.
name string The Label's name
profile Profile A Label's associated profile
urls URL repeated Associated urls for a label.

Top

language.proto

Language

Field Type Label Description
uuid UUID
family string
name string
native_name string
iso_alpha_two string
iso_alpha_three string
english_iso_alpha_three string
macro_iso_alpha_three string
notes string

Top

performer.proto

Performer

Field Type Label Description
uuid UUID Performer uuid
name string Performer name
registrations Registration repeated A Performer's Registration details at a Rights Organisation: organisation, code. e.g. 'PPL', '12489754'.

Top

product.proto

Product

Field Type Label Description
uuid UUID
release Release
sender Sender
recipient Recipient
product_type Product.ProductType
product_release_date_time string
pre_order bool
pre_order_date_time string
timed bool
genres Genre repeated

Product.ProductType

Name Number Description
PRODUCT_TYPE_DIGITAL_UNSPECIFIED 0
PRODUCT_TYPE_PHYSICAL 1

Top

profile.proto

Profile

Field Type Label Description
uuid UUID
email string The Profile email.
alternative_email string The Profile alternative email
address string A postal address associated with the Parent
phone_number string A Phone Number asssociated with the Parent
urls URL repeated Any Associated URLs
service_ids ServiceID repeated IDs for any Services

Top

publisher.proto

Publisher

Field Type Label Description
uuid UUID Publisher uuid
name string Publisher Name
registrations Registration repeated Associated registrations for Publisher
profile Profile Associated profile for a Publisher

Top

recipient.proto

Recipient

Field Type Label Description
uuid UUID UUID.
name string The name of the Recipient.
mscmid string A mscmeta ID for this Recipient.

Top

recording_contributor.proto

RecordingContributor

Field Type Label Description
uuid UUID
recording Recording
contributor Contributor
contributor_role ContributorRole

Top

recording_identifier.proto

RecordingIdentifier

Field Type Label Description
uuid UUID
type RecordingIdentifier.Type Predefined types for Recording identifier
custom_identifier string If using a Custom ID, add an identifier for it. e.g. TUNECODE
code string The code of the Recording Identifier

RecordingIdentifier.Type

Name Number Description
ISRC 0 International Standards Recording Code
ISWC 1
ISMN 2
CUSTOM 3 A Custom ID for your Recording

Top

recording.proto

AdditionalDetails

Recording

Field Type Label Description
uuid UUID A Unique Identifier, it is best to use a Cryptographically sound way to generate these, do not rely on pseudo random human generated strings.
artists Artist repeated Artists that are on this Recording.
position int32 The position of the recording if included in a Release configuration.
title string The title of the Recording.
mix_title string A mix title for the Recording.
copyright_year int32 The Copyright Year for the Recording.
explicit bool Does the Recording have explicit lyrics?
c_line string The C Line of the Recording.
p_line string The P Line of the Recording.
length int32 The length of the Audio related to this recording.
album_only bool Is the Recording Album Only?
status Recording.Status If relevant you can give a Recording a status.
alternative_title string
remastered bool
recording_venue string
recording_date string
sample bool
medley bool
category string
ident bool
film_tv bool
classical bool
dramatico bool
additional_details AdditionalDetails
country_of_recording Country
country_of_commissioning Country
country_of_first_publication Country
language Language
company Company
instrumentation string
lyrics string
tempo string
sentiment string
danceability string
energy string
loudness string
musical_key string
time_signature string
genres Genre repeated repeated Registration registrations = 39; /// ['organisation': 'PPL', 'code': '2398543']

/ Genres of this Recording. | | contributors | Contributor | repeated | Contributors to the Recording. | | recording_identifiers | RecordingIdentifier | repeated | ['type': 'ISRC', 'code': 'GB4QK000000'] | | files | File | repeated | Related Files for this recording e.g. Audio, Individual Artwork, Contract file etc. | | writers | Writer | repeated | | | performers | Performer | repeated | | | publishers | Publisher | repeated | | | rightsholders | Rightsholder | repeated | |

Recording.Status

Name Number Description
DRAFTED 0
SUBMITTED 1
PENDING 2
APPROVED 3
ACCEPTED 4
IMPORTED 5
DISTRIBUTED 6
LIVE 7
REJECTED 8
DELETED 9

Top

registration.proto

Registration

Field Type Label Description
uuid UUID
organisation string Organisation of the Registration
code string The Identifier or Code of the Registration

Top

release_identifier.proto

ReleaseIdentifier

Field Type Label Description
uuid UUID
type ReleaseIdentifier.Type Predefined types for Recording identifier.
custom_type string If using a Custom ID, add an identifier for it.
code string The code of the Recording Identifier.

ReleaseIdentifier.Type

Name Number Description
BARCODE 0 A Barcode Identifier for this Release.
EAN13 0 A Barcode Identifier for this Release.
GTIN12 0 A Barcode Identifier for this Release.
GTIN13 0 A Barcode Identifier for this Release.
UPC 0 A Barcode Identifier for this Release.
GRID 1 ISO646
SID 2 Source Identifier Code
CUSTOM 3 Custom Identifier, eg. Discogs ID.
MUSICBRAINZ 4 Musicbrainz Identifier.
MATRIX 5 A matrix is usually found on a vinyl disc in the run-out.
ASIN 6 Amazon Standard Identification Number.
DISCOGS 7 Discogs Release ID
ALLMUSIC 8 Allmusic ID

Top

release.proto

Release

Field Type Label Description
uuid UUID A Unique Identifier, it is best to use a Cryptographically sound way to generate these, do not rely on pseudo random human generated strings.
files File repeated A list of files related to this Release at a Release level.
artists Artist repeated Artists that appear on the Release.
headline_artist string A String containing the Display Artist(s) of the Release.
title string The title of the Release.
version string A String containing the Version of the Release.
total_volumes int32 The number of Volumes on this Release.
compilation bool is this release a compilation or not.
format Format The Format of the Release.
explicit Release.Explicit
catalogue_number string The Catalogue Number for the Release.
original_release_date string The Original Release Date for the Release.
release_date string The Release Date for the Release.
record_label string TODO: Could change.
identifiers ReleaseIdentifier repeated See Release Identifiers for usage
primary_genre BaseGenre
primary_subgenre Genre
secondary_genre BaseGenre
secondary_subgenre Genre
copyright_year int32 The Year of the Copyright (c) for the Release configuration.
phonographic_copyright_year int32 The Year of the Phographic Copyright (p) for the Release configuration.
c_line string The Copyright line for the Release.
p_line string The Phonographic Copyright line for the Release.
biography string A Biography or Liner Notes for the Release.
original_format string The Original Format of the Release.
country_of_issue string The 2 Letter ISO for the Country of Issue.
contributors Contributor repeated A list of Contributors to the Release.
recordings Recording repeated A list of Recordings that belong to the Release.
recordings_count int32 The Number of Recordings on a Release.
metadata_language Language The Metadata Language for this Release.
recording_year string
recording_location string

Release.Explicit

Name Number Description
EXPLICIT_NOT_EXPLICIT_UNSPECIFIED 0
EXPLICIT_EXPLICIT 1
EXPLICIT_CLEAN 2

Top

rightsholder.proto

Rightsholder

Field Type Label Description
uuid UUID
name string
profile Profile

Top

royalty.proto

Royalty

Field Type Label Description
uuid UUID
pay_period string
sale_date string
retailer string
artist_name string
album_title string
recording_title string
upc string
isrc string
cat_no string
revenue_type Royalty.Type
revenue_description string
quantity int32
total_revenue string
artist Artist
company Company
release Release
recording Recording

Royalty.Type

Name Number Description
TYPE_UNSPECIFIED 0
TYPE_SALE 1
TYPE_REFUND 2

Top

sender.proto

Sender

Field Type Label Description
uuid UUID
name string
mscmid string

Top

service_id.proto

ServiceID

Field Type Label Description
uuid UUID
name string
id string

Top

society.proto

Society

Field Type Label Description
uuid UUID

Top

url.proto

URL

Field Type Label Description
uuid UUID
title string The Title of the URL.
link string The link of the URL.

Top

uuid.proto

UUID

Field Type Label Description
value string Value of UUID

Top

work.proto

Work

Field Type Label Description
uuid UUID
title string
recordings Recording repeated

Top

writer.proto

Writer

Field Type Label Description
uuid UUID
society Society
name string
performing_share float
mechanical_share float
role string
membership_number string

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type
double double double float
float float float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long
uint32 Uses variable-length encoding. uint32 int int/long
uint64 Uses variable-length encoding. uint64 long int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long
sfixed32 Always four bytes. int32 int int
sfixed64 Always eight bytes. int64 long int/long
bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode
bytes May contain any arbitrary sequence of bytes. string ByteString str