Skip to main content

Crate allfeat_midds_v2

Crate allfeat_midds_v2 

Source
Expand description

§MIDDS v2 - Music Industry Data Description Standard

This crate provides comprehensive data structures for representing music industry metadata in a blockchain-compatible format. MIDDS v2 includes structures for musical works, tracks, releases, and associated metadata.

§Core Types

  • MusicalWork - Represents compositions and songwriting metadata
  • Recording - Represents recordings and performance metadata
  • Release - Represents albums, EPs, singles and distribution metadata

§Key Features

  • Substrate Compatible: All types implement necessary traits for blockchain storage
  • Validation-Free: No runtime validation, designed for application-level validation
  • Industry Standards: Uses ISWC, ISRC, EAN/UPC and other industry identifiers
  • Comprehensive Metadata: Supports extensive metadata for all music industry use cases

§Example Usage

use allfeat_midds_v2::{
    musical_work::{MusicalWork, Creator, CreatorRole},
    shared::{PartyId, Key, Language},
};

// Create a musical work
let work = MusicalWork {
    iswc: b"T1234567890".to_vec().try_into().unwrap(),
    title: b"Example Song".to_vec().try_into().unwrap(),
    creation_year: Some(2024),
    instrumental: Some(false),
    language: Some(Language::English),
    bpm: Some(120),
    key: Some(Key::C),
    work_type: None,
    creators: vec![Creator {
        id: PartyId::Ipi(123456789),
        role: CreatorRole::Composer,
    }].try_into().unwrap(),
    classical_info: None,
};

Modules§

musical_work
Musical work types and related structures.
recording
Recording types and audio recording metadata.
release
Release types and distribution metadata.
shared
Shared utility types and common enumerations.

Type Aliases§

MiddsId
Unique identifier type used across all MIDDS entities.
MiddsString
Bounded string type used throughout MIDDS for text fields.
MiddsVec
Bounded vector type used throughout MIDDS for collections.