* 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