fm.freemix.release
A release: a top-level container that groups member leaves into a put-out work (FM-549 s38). Single-owner (distinct from collection.*, the curatorial multi-owner lens). Container points DOWN at its members.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | freemix.fm |
| Indexed |
Record
record · key tidProperties
coverArtHash
stringSHA-256 hash of the cover art.
maxLength: 200
coverArtUrl
string · uriURL to cover art image.
maxLength: 3000
Record creation timestamp.
maxLength: 100
currency
stringISO-4217 currency code. Phase 1 = USD only. INLINE sellability shape — keep in sync across sellable types.
maxLength: 3knownValues: USD
description
stringRelease description.
maxLength: 5000
The product form of the release (FM-549 s41: 8 values). OPEN enum by design — adding a kind later is a data change, not a lexicon change. `stems` = a stems bundle; `trackWithStems` = track + its stems; `samplePack` = samples as members; `djSet` = a DJ set.
maxLength: 50knownValues: single | ep | album | compilation | stems | trackWithStems | samplePack | djSet
licenseSummary
stringDERIVED summary cache (FM-549 s40): the shared license value when all member leaves agree, or 'mixed' when they differ. Powers Browse license search + display. Recomputed at publish and on any post-publish leaf edit. READ-ONLY for sort/display — NEVER read by enforcement (gate/cascade/charge read the LEAF, not this).
maxLength: 100
members
arrayOrdered member leaves of this release (FM-549 s38: containers point DOWN at members). Each is an AT-URI ref to a track / stem / sample / group.stems record.
maxLength: 200
priceCents
integerOn-network price in integer cents (FM-549: price on-network; offer public, sale private). 0 or absent = free. Hard price floor enforced in app, not schema. INLINE sellability shape — authored identically in fm.freemix.release and fm.freemix.group.stemsGroup; keep in sync (s41).
minimum: 0
royaltySummary
stringDERIVED summary cache (FM-549 s40): the shared royalty posture when member leaves agree, or 'mixed' when they differ. Same rules as licenseSummary — read-only, never read by enforcement. Royalties themselves stay track-level only.
maxLength: 100
parties.seller (s39): the single account DID that owns and sells this release (owner = seller = uploader; may be an org account). Charge/entitlement read THIS field. INLINE — keep in sync.
Release title.
maxLength: 300
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
fm.freemix.group.stems
recordA stems group: a structural grouping of stems that is downloadable/sellable as a unit, independent of any release (FM-549 s38). First record under the net-new group.* segment (named group.stems, not group.stemsGroup — the segment already says 'group') (for sets that fit neither collection.* — the curatorial lens — nor release — the put-out work). Points DOWN at its member stems; the sold-product name lives here. RELATIONSHIP TO fm.freemix.release: a release is a separate 'put-out work' wrapper t
-
fm.freemix.group.samples
recordA samples group: a structural grouping of samples uploaded and presented as a unit, independent of any release (FM-824; mirrors fm.freemix.group.stems, FM-549 s38). A sample PACK is this same record with a price — one record type, pricing optional. Points DOWN at its member samples, which carry an optional parentGroup back-ref (the only upward ref); members[] is authoritative for membership and order. RELATIONSHIP TO fm.freemix.release: a release is a separate 'put-out work' wrapper that MAY inc
-
fm.freemix.track
recordA music track record on FreeMix. Top-level leaf (FM-549 s38: pulled out from under the release.* prefix; release.track -> track).
-
fm.freemix.release.track
recordA music track record on FreeMix
-
fm.freemix.release.stem
recordA stem (isolated track component) belonging to a parent track