NIPL/Implementation
From ThorxWiki
				
								
				
				
																
				
				
								
				Implementing a NIPL.
First up, we need to consider what we need to store.
- The music
 - MetaData about the music
 - Scores for song-pairs.
 
Method
-  Music
- Music is stored on a per-track basis as any format supported by the player. (.ogg and/or .mp3 most likely)
 
 
-  MetaData
- Music metadata should be stored in an associated file - simple text file initially? (this ensures the data is stored in a consistent manner regardless of music format type)
 - The Album, track number, Artist(s), date recorded, instruments played, genre... there could be alot of stuff. Refer to:
 
 
-  Scores
- For SongA->SongB where SongB follows songA, we cannot score the A->B pair untill after B begins. Nevertheless, we want to store the score with SongA, since that's where we'll need to know about it for next time we want to refer to it.
 - For each song, a simple textfile holding the scores and the song that score relates to. (maybe hold the number of votes also, for added precision when re-scoring)
 
 
Issues to think about:
-  Implied scores (album/artist/genre) are difficult without further lookup tables keeping track of what songs belong to which album(s), artist(s) and genre(s)... 
- Implied scores are gonna be kinda nescessary IMHO, given it's the only reasonable way to populate the scoring database with any reasonable speed.