* Main task: Tracks-database-Traktor
1) Directory & file structure - "DIR"
2) ORG database - "ORG"
3) Traktor NML file - "NML"
1-2-3 linked by filename + directory
*** Part 1: DIR
-------------
- current: wav
/year/Author - Title (version).wav
/year/v_Author - Title (version).wav
- current: mp3, m4a
/1mp3/Author - Title (version).mp3
/1mp3/Author - Title (version).year.mp3
/1m4a/Author - Title (version).m4a
/1m4a/Author - Title (version).year.m4a
- example: http://hpac.rwth-aachen.de/teaching/sem-ell-18/tracks-sample.txt
- TODO:
/year/prefix_Author* - Title* (version*).ext
separator between Author and Title: " - "
separator between Title and version: " ("
separator between version and extension: ")."
- mp3 & m4a: CHANGE DIRECTORY when possible
- prefix_: either empty or "v_" (= vynil)
- Author*: shorter version of Author
- NEW FILENAME!
- no "feat", "ft", "presents", "pres", "with", "introduce" / replace with special symbol
Steal Vybe ft Alexis Simmons - Selene ->
Steal Vybe_- Selene
- if filename too long: possible cut at "&" and "vs"
Djaimin & Oliver P & Barbara Tucker ->
Djaimin & Oliver P &_-
- Title*: shorter version of Title
- NEW FILENAME!
- no parenthesis in the title
Freaks - The Creeps (You're Giving Me) (Justin Robertson Remix).wav ->
Freaks - The Creeps_(Justin Robertson Remix).wav
- if filename "too long"
1) title to initials:
If Everybody In The World Loved Everybody In The World (Original).wav ->
IEITWLWITW (Original).wav
2) cut + symbol
If Everybody In The World Loved Everybody In The World (Original).wav ->
If Everybody_(Original).wav
3) ???
- Version*: shorter version of Version
- NEW FILENAME!
- no parenthesis in the version
Space Cowboy - Crazy Talk (Pique & Nique (You Will Miss Me Remix)) ->
Space Cowboy - Crazy Talk (Pique & Nique _)
- (Special Danny Krivit Extended Re-edit 12" Mix).wav ->
(Special_Mix).wav [Mix|Remix|Version]
- "too long" = 64? 80?
- TODO: if filename renamed and filename.jpg
-> rename filename.jpg too!
- TODO: if filename (and dir) renamed
-> NO INFORMATION LOST! -> change ORG and NML
- TODO: check for errors (duplicates)!!!
*** Part 2: ORG
-------------
- for each track in DIR -> one entry in ORG
ORG: Header + Properties
Header: filename
Properties (fields): Author, (Author+), Title, (Title+), Version, (Version +), year
Ignore other properties (Notes, Release, format, extension, ...)
- Are there files in DIR which are not in ORG?
-> create ORG entry; make sure it's unique
- Files in DIR with corresponding entry in ORG -> update/complete
- Are the entries in ORG consistent with the files in DIR?
Check info - report errors!
Do the ORG entries actually exist? Suggestions?
Does the year match the directory?
- Example: http://hpac.rwth-aachen.de/teaching/sem-ell-18/tracks.org
*** Part 3: "NML"
---------------
-
...
...
...
- Example: http://hpac.rwth-aachen.de/teaching/sem-ell-18/collection.nml
- If entry in ORG does not exist in NML -> nothing to do
- if entry in ORG is in NML: check/update
- TITLE, ARTIST, DIR, FILE, MIX
- Are the entries in NML consistent with ORG (and DIR)?
- PLAYLISTS, NODE, PLAYLIST, FOLDER, PRIMARYKEY ... -> update!
*** Objectives
- clarity
- (document/visualize the actions)
- extensibility/customization
- programmability?
we want to assess the language
* Secondary tasks:
1) Spectrogram
- libraries
- real time
- visualization
2) Stone-grid (2,3,4 players)
- logic (not strategy)
- multi-player
- visualization
3) Ray-tracing algorithm
- computation
- objects
- NOT visualization
4) Chess re-player/analyzer