UnExoticA/Structure

From ExoticA

UnExoticA is a large archive of Amiga computer music, ripped from Amiga games and demos.

Archive organisation

The collection is organised as Amiga LhA archives, stored in a hierarchical directory structure:

formats.txt
The format description file.
Demo/
Music ripped from Amiga demoscene demos and intros
Game/
Music ripped from Amiga games and demos of Amiga games
Demo/Updates/YYYY_MM_DD_name.txt
Game/Updates/YYYY_MM_DD_name.txt
Update description files where YYYY_MM_DD is the date of the update and name is the name of the person who did the update
Demo/Composers/Composer_Name.txt
Game/Composers/Composer_Name.txt
Composer description files for composers that don't have their own directory. The filename should use the format Forename_Surname.txt or Onlyname.txt
Demo/Composer_Name/
Game/Composer_Name/
One directory for each notable composer, with the format Surname_Forename/ or Onlyname/
Demo/Composer_Name/composer.txt
Game/Composer_Name/composer.txt
a composer description file for this composer
Demo/Composer_Name/Demo_Name.lha
Game/Composer_Name/Game_Name.lha
This is the archive file for a particular game or demo
The same Demo_Name.lha or Game_Name.lha is allowed in more than one composer's directory. This allows for splitting up a game with several composers' music into multiple archives
Demo/Composer_Name/Demo_Name.txt
Game/Composer_Name/Game_Name.txt
This is the archive description file for a particular game or demo
Demo/Composer_Name/Demo_Name_CDDA.lha
Game/Composer_Name/Demo_Name_CDDA.lha
archives with the suffix "_CDDA" are considered the same as archives without that suffix, So Game_Name.lha and Game_Name_CDDA.lha are from the same game

Examples:

Filename Note
Demo/Akesson_Linus/ demo music by Linus Akesson (surname first, then forename)
Demo/Akesson_Linus/A_Bit_More.lha archive called "A_Bit_More"...
Demo/Akesson_Linus/A_Bit_More.txt ... and a matching .txt file to describe it
Demo/Akesson_Linus/composer.txt Linus Akesson's composer.txt
Demo/Composers/Flemming_Sondergaard.txt Flemming Sondergaard's composer.txt (does not have their own directory)
Demo/Composers/Abstract.txt Abstract's composer.txt (only their handle is known)
Demo/Feldkoetter_Jochen/In_the_Kitchen.lha Jochen Feldkötter's music from In The Kitchen...
Demo/Feldkoetter_Jochen/In_the_Kitchen.txt ... and matching .txt file
Demo/Simmonds_Matthew/In_the_Kitchen.lha Matthew Simmonds' music from In The Kitchen (same filename seen in Jochen Feldkötter's directory)
Demo/Simmonds_Matthew/In_the_Kitchen.txt ...and .txt file. Will be merged with the .txt file from Jochen Feldkötter's directory
Demo/Updates/2005_09_05_XtC.txt update made by XtC on 5th September 2005
Game/Deenen_Charles/Castles_2_CD32.lha Native amiga music from Castles 2 CD³²...
Game/Deenen_Charles/Castles_2_CD32_CDDA.lha ...and CD audio tracks from Castles 2 CD³²

Guidelines for archiving

  • Music should preferably be disk-ripped, i.e. ripped directly from the disk, without executing the game or demo code to load it into memory. If it can't be disk ripped for whatever reason, it should be ripped direct from memory while it's playing.
  • If a game or demo's music has more than one composer, consider creating several archives; one for each significant piece of work. UnExoticA is not exacting, so you don't need to have only one composer per LhA archive, but often people want to collect a single composer's work, and don't want the others. For example, Agony features music principally by Tim Wright and Jeroen Tel, with additional music by Martin Wall, Robert Ling, Matthew Simmonds and Martin Iveson. We created Game/Tel_Jeroen/Agony.lha with Jeroen Tel's music (all ingame music), and Game/Wright_Tim/Agony.lha with Tim Wright's music (the title music), plus the additional music from the other musicians.
  • Always attempt to get a composer's real name, where that's possible. You can research this at Amiga Music Preservation, Demozoo and Kestra Bitworld. If their real name is not known, but you know their handle, use that. Use their most up to date known handle, even if the game or demo credits them with their older handle. Don't use their group name. Old handles and group names can be mentioned in the composer file
  • Guidelines on archive filenames:
    • Keep the filename under 30 characters, including the .lha file extension. Standard Amiga filesystems have a limit of 31 characters per filename
    • Games or demos which begin with "the" should have the "the" removed. For example "The Speris Legacy" becomes Speris_Legacy.lha
    • Games or demos with Roman numerals should become Arabic/Indian numerals, e.g. Turrican II becomes Turrican_2.lha
    • Only use ASCII alphanumeric characters (A-Z a-z 0-9) and the punctuation ! . _ + -. Replace non-ASCII characters with their nearest equivalent, e.g. Chris Hülsbeck becomes Huelsbeck_Chris
Replace à á â ã å ä æ ç ð è é ê ë ì í î ï ñ ò ó ô õ ø ö ß þ ù ú û ü ý ÿ
with... a aa ae c d e i n o oe ss th u ue y

Format description file

This file, "formats.txt" in the top level of the UnExoticA archive, contains text descriptions of all known music file formats.

The list does not have to be ordered. For each entry, first there is the filename prefix/extension. In this example, "smus" and "jt". Then there is whitespace, preferably one tab character. Then there is the format's name, in the example "Sonix Music Driver" and "Jeroen Tel". Then there is a newline and a description of the format. As many lines may be used as desired. A blank line indicates the end of the entry, and the next entry begins. The list should end with an extra blank line, or the last entry is missed out.

Example:

smus    Sonix Music Driver
Also known as IFF-SMUS, its Another Electronic Arts standardised music format, created
along with 8SVX, ILBM and FTXT as the EA IFF 1984 specification.  Other than the
archaic Aegis Sonix and EA's own Deluxe Music Construction Set (DMCS), almost no
software uses this format.

jt      Jeroen Tel
Also known as 'Maniacs Of Noise Old', this music format was created by Charles Deenen
and Jeroen Tel, used by the Maniacs of Noise.

Archive files

UnExoticA archives are Amiga LhA format archives with the file extension ".lha". Each archive should unpack into a directory with the same name as the archive, so Agony.lha should contain the file Agony/mod.agony_end of game, etc.

Each music file in the archive should have an Amiga file comment in this format for games:

filenote #? "Composer Name(s) | Game Name | Year of release | Team / Publisher"

...and for demos:

filenote #? "Composer Name(s) | Demo Name | Year of release | Group / Party"

Archive description files

These files describe what's in the corresponding archive. They have the same filename as the archive, but with a .txt extension instead of .lha

The files are in YAML format with ISO-8859-1 encoding (the Amiga's native character set). They have these attributes:

type
what kind of production the music was ripped from (required). Must be one of Game, Demo, Dentro, Intro, Musicdisk or Slideshow. Note that "Game" marks the archive as game-type and any other choice marks the archive as demo-type
title
the full title of the production (required). If the production has a sub-title, then use a hyphen between two spaces to separate it, e.g "Game Title - Sub Title Of Game". Games without sub-titles should avoid using " - ", as this is what triggers the sub-title recognition ("-" is OK)
alternative titles
alternative titles for the production (optional) - can be a single value or a list. UnExoticA adds default alternatives: the main title with its subtitle stripped off, and the title with accented characters converted to ASCII, so these alternatives do not have to be explicitly added
composer
the author(s) of the music (required) - can be a single value or a list. You can add a comment about each composer in parentheses after their name
format
file format of the music (required) - can be a single value or a list
year
the year of the production's release (required)
team
the team(s) who developed this game (optional, only for game-type archives) - can be a single value or a list
publisher
the company or companies who published this game (optional, only for game-type archives) - can be a single value or a list
box scan
the name of an ExoticA box scan for this game (optional, only for game-type archives)
hol id
Hall Of Light database ID(s) (optional, only for game-type archives) - can be a single value or a list.
lemon id
Lemon Amiga database ID(s) (optional, only for game-type archives) - can be a single value or a list
group
the demo group(s) who created this production (optional, only for demo-type archives) - can be a single value or a list
party
the demo group(s) who created this production (optional, only for demo-type archives) - can be a single value or a list
rip type
the ripping method used (required). Must be one of disk, memory or both
ripped by
the ripper(s) of the music (required) - can be a single value or a list
comments
comments about the title, or specific files in this archive.

Quick guide to YAML

If you don't know YAML, here is a quick primer:

  • Write single entries as "key: value" pairs. If values need to include ": " (colon-space), " #" (space-hash) or begin with quote or double-quote symbols, then they need to be "quoted" to avoid being ambiguous. Examples:
title: Turrican II - The Final Fight   # no quotes needed
title: "Phalanx II: The Return"        # has a colon-space, must be quoted
title: "Hubbard Music #2"              # has a space-hash, must be quoted
title: "'Nam 1965-1975"                # begins with a single quote, must be quoted
  • Write lists over several lines, using hyphens to indent the list:
composer:
 - Tim Wright (Title)
 - Franck Sauer (Co-Composed Title)
 - Martin Wall (Loader and Game End)
 - ...
  • Use a pipe symbol | for the comments section and indent the comments with spaces:
 comments: |
  Comments start here!
  
  Multiple lines of text

Game example

type: Game
title: Project-X
alternative titles: Project X
composer:
 - Allister Brimble (Title, Loader and Ingame)
 - Bjørn Lynne (Game Completion)
format:
 - Protracker
 - SoundMon 2.0
year: 1992
team: Team17
publisher: Team17
hol id: 1164
lemon id: 2035
rip type: Both
ripped by:
 - XtC
 - Bjørn Lynne
box scan: p/Project-X
comments: |
 mod.thesmophoria originally featured on Newsflash Diskmagazine 19A.

Demo example

type: Demo
title: Full Moon
composer:
- Sami Arola (intro tune)
- Aleksi Eeben (main tune)
- Jogeir Liljedahl (endpart)
format: The Player 5.x
year: 1993
group: Virtual Dreams
party: The Party '93
rip type: Disk
ripped by: Kyzer
comments: |
 Jogeir's endpart is a cover of Jochen Hippel's "A Prehistoric Tale" title music.

Update description files

These describe the changes the maintainers have made to the archive. The filename contains the date and the name of the maintainer, e.g. 2006_04_02_XtC.txt was a update on 2nd April 2006 made by XtC.

The file is split into three sections: ADDED, AMENDED and DELETED. These words need to start at the beginning of the line and there should be nothing else on the line. Then follows a list of filenames, ended with a blank line. Updates in Demo/Updates/ can only have archives from the Demo/ directory and updates in Game/Updates/ can only have archives from the Game/ directory. Any further text on a filename line is commentary, e.g. why the file was updated or deleted.

Example:

ADDED
Stone_Chris/Dragons_Lair_Demo.lha
Stone_Chris/Space_Ace_Demo.lha
Williams_Bill/Knights_Crystallion.lha
Williams_Bill/Knights_Crystallion_CDDA.lha

AMENDED
Brimble_Allister/Full_Contact.lha  Added missing ingame music.
Cuomo_Jim/Defender_of_the_Crown.lha  Replaced with a more accurate custom.
Ouwehand_Reyn/Last_Ninja_3.lha  Added missing game completion music.
Williams_Glyn/Warhead.lha  Replaced with an updated version.

DELETED
Foster_David/Space_Ace_Demo.lha  Re-added under correct composer name.
Linden_Randy/Dragons_Lair_Demo.lha  Re-added under correct composer name.

Composer description files

This files are either composer.txt in a composer's own directory, or named after the composer in Demo/Composers/ or Game/Composers/

The files are in YAML format with ISO-8859-1 encoding (the Amiga's native character set). They have these attributes:

name
the composer's name (required)
This must match the name given in archive description files, and must add an underscore to indicate where the composer's surname begins.
  • If a surname has a preposition such as Da Silva, van der Valk, de la Cruze or de Agger then the underscore should be placed after the preposition, i.e. Da _Silva, van der _Valk, de la _Cruze and de _Agger respectively. This rule does not currently apply to prepositions such as MacDonald, Fitzpatrick or O'Connor.
  • If the composer only has one name, the underscore should be at the start of the line
handle
the composer's current handle (optional). Past handles should be listed in the comments
homepage
the URL of the composer's homepage (optional)
comments
any extra comments about the composer (optional)

Example:

name: Allister _Brimble
handle: The Demon
homepage: http://ourworld.compuserve.com/homepages/allister_brimble/index.html
comments: |
 Allister's handle of The Demon is not to be confused with Demon on the C64.