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 metadataRecording- Represents recordings and performance metadataRelease- 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.
- Midds
String - Bounded string type used throughout MIDDS for text fields.
- Midds
Vec - Bounded vector type used throughout MIDDS for collections.