XMF

XMF (Extensible Music Format) is a tree-based digital container format used to bundle music-oriented content, such as a MIDI file and optionally the sounds it uses, liner notes or other content grouped by language-codes.

The first XMF definitions were to allow the bundling of a musical performance with the musical sounds used. For instance, a MIDI file could be stored together with a Downloadable Sounds file, and both files would travel together inside one XMF file. This specific use of an XMF file is referred to as XMF File Type 0 (streaming) or XMF File Type 1 (non-streaming), depending on whether the type of the MIDI file is 0 or 1, respectively.

There are currently five XMF File Types defined. The latest of which is XMF File Type 4 (counted from zero) and is called Interactive XMF (iXMF).[1]

The specifications for the XMF were first published in 2001 by the MMA.[2]

Features

  • Resources can be referenced internally (in the XMF file) or referenced externally using a URI.
  • Resources can be country- and language-coded so that text could be shown in the right language depending on context.
  • Resources can be compressed using ZLIB.
  • Size information is stored using variable-length quantities, ensuring that the format can support an infinite number, while at the same time saving storage space.
gollark: Specifically, 22 bytes for the private key and 21 for the public key on ccecc.py and 25 and 32 on the actual ingame one.
gollark: <@!206233133228490752> Sorry to bother you, but keypairs generated by `ccecc.py` and the ECC library in use in potatOS appear to have different-length private and public keys, which is a problem.EDIT: okay, apparently it's because I've been accidentally using a *different* ECC thing from SMT or something, and it has these parameters instead:```---- Elliptic Curve Arithmetic---- About the Curve Itself-- Field Size: 192 bits-- Field Modulus (p): 65533 * 2^176 + 3-- Equation: x^2 + y^2 = 1 + 108 * x^2 * y^2-- Parameters: Edwards Curve with c = 1, and d = 108-- Curve Order (n): 4 * 1569203598118192102418711808268118358122924911136798015831-- Cofactor (h): 4-- Generator Order (q): 1569203598118192102418711808268118358122924911136798015831---- About the Curve's Security-- Current best attack security: 94.822 bits (Pollard's Rho)-- Rho Security: log2(0.884 * sqrt(q)) = 94.822-- Transfer Security? Yes: p ~= q; k > 20-- Field Discriminant Security? Yes: t = 67602300638727286331433024168; s = 2^2; |D| = 5134296629560551493299993292204775496868940529592107064435 > 2^100-- Rigidity? A little, the parameters are somewhat small.-- XZ/YZ Ladder Security? No: Single coordinate ladders are insecure, so they can't be used.-- Small Subgroup Security? Yes: Secret keys are calculated modulo 4q.-- Invalid Curve Security? Yes: Any point to be multiplied is checked beforehand.-- Invalid Curve Twist Security? No: The curve is not protected against single coordinate ladder attacks, so don't use them.-- Completeness? Yes: The curve is an Edwards Curve with non-square d and square a, so the curve is complete.-- Indistinguishability? No: The curve does not support indistinguishability maps.```so I might just have to ship *two* versions to keep compatibility with old signatures.
gollark: > 2. precompilation to lua bytecode and compressionThis was considered, but the furthest I went was having some programs compressed on disk.
gollark: > 1. multiple layers of sandboxing (a "system" layer that implements a few things, a "features" layer that implements most of potatOS's inter-sandboxing API and some features, a "process manager" layer which has inter-process separation and ways for processes to communicate, and a "BIOS" layer that implements features like PotatoBIOS)Seems impractical, although it probably *could* fix a lot of problems
gollark: There's a list.

See also

References

  1. "XMF Specification (All)". Retrieved 2017-10-19.
  2. "MMA Announcement". Archived from the original on January 20, 2012.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.