Its a .bat file that sets up various folders and files.
I do plan to eventually support linux and mac.
Code:
RENAME TABLE `a46`.`song` to `a46`.`globalsong`;
ALTER TABLE `a46`.`globalsong` CHANGE iTimesPlayed iTimesPlayed1 INT;
ALTER TABLE `a46`.`globalsong` ADD iTimesPlayed2 INT(11) AFTER iTimesPlayed1;
ALTER TABLE `a46`.`globalsong` ADD iTimesPlayed3 INT(11) AFTER iTimesPlayed2;
ALTER TABLE `a46`.`globalsong` ADD iTimesPlayed4 INT(11) AFTER iTimesPlayed3;
ALTER TABLE `a46`.`globalsong` ADD iTimesPlayed5 INT(11) AFTER iTimesPlayed4;
ALTER TABLE `a46`.`globalsong` CHANGE lastPlayed lastPlayed1 VARCHAR(20);
ALTER TABLE `a46`.`globalsong` ADD lastPlayed2 VARCHAR(20) AFTER lastPlayed1;
ALTER TABLE `a46`.`globalsong` ADD lastPlayed3 VARCHAR(20) AFTER lastPlayed2;
ALTER TABLE `a46`.`globalsong` ADD lastPlayed4 VARCHAR(20) AFTER lastPlayed3;
ALTER TABLE `a46`.`globalsong` ADD lastPlayed5 VARCHAR(20) AFTER lastPlayed4;
CREATE VIEW `a46`.`song`
AS SELECT
`a46`.`globalsong`.`idSong` AS `idSong`,
`a46`.`globalsong`.`idAlbum` AS `idAlbum`,
`a46`.`globalsong`.`idPath` AS `idPath`,
`a46`.`globalsong`.`strArtists` AS `strArtists`,
`a46`.`globalsong`.`strGenres` AS `strGenres`,
`a46`.`globalsong`.`strTitle` AS `strTitle`,
`a46`.`globalsong`.`iTrack` AS `iTrack`,
`a46`.`globalsong`.`iDuration` AS `iDuration`,
`a46`.`globalsong`.`iYear` AS `iYear`,
`a46`.`globalsong`.`dwFileNameCRC` AS `dwFileNameCRC`,
`a46`.`globalsong`.`strFileName` AS `strFileName`,
`a46`.`globalsong`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`a46`.`globalsong`.`iTimesPlayed1` AS `iTimesPlayed`,
`a46`.`globalsong`.`iStartOffset` AS `iStartOffset`,
`a46`.`globalsong`.`iEndOffset` AS `iEndOffset`,
`a46`.`globalsong`.`idThumb` AS `idThumb`,
`a46`.`globalsong`.`lastplayed1` AS `lastplayed`,
`a46`.`globalsong`.`comment` AS `comment`,
`a46`.`globalsong`.`rating` AS `rating`
FROM `a46`.`globalsong`;
CREATE DATABASE b46;
CREATE VIEW `b46`.`album` AS SELECT * FROM `a46`.`album`;
CREATE VIEW `b46`.`album_artist` AS SELECT * FROM `a46`.`album_artist`;
CREATE VIEW `b46`.`album_genre` AS SELECT * FROM `a46`.`album_genre`;
CREATE VIEW `b46`.`albuminfosong` AS SELECT * FROM `a46`.`albuminfosong`;
CREATE VIEW `b46`.`art` AS SELECT * FROM `a46`.`art`;
CREATE VIEW `b46`.`artist` AS SELECT * FROM `a46`.`artist`;
CREATE VIEW `b46`.`content` AS SELECT * FROM `a46`.`content`;
CREATE VIEW `b46`.`discography` AS SELECT * FROM `a46`.`discography`;
CREATE VIEW `b46`.`genre` AS SELECT * FROM `a46`.`genre`;
CREATE VIEW `b46`.`karaokedata` AS SELECT * FROM `a46`.`karaokedata`;
CREATE VIEW `b46`.`path` AS SELECT * FROM `a46`.`path`;
CREATE VIEW `b46`.`song_artist` AS SELECT * FROM `a46`.`song_artist`;
CREATE VIEW `b46`.`song_genre` AS SELECT * FROM `a46`.`song_genre`;
CREATE VIEW `b46`.`version` AS SELECT * FROM `a46`.`version`;
CREATE VIEW `b46`.`song`
AS SELECT
`a46`.`globalsong`.`idSong` AS `idSong`,
`a46`.`globalsong`.`idAlbum` AS `idAlbum`,
`a46`.`globalsong`.`idPath` AS `idPath`,
`a46`.`globalsong`.`strArtists` AS `strArtists`,
`a46`.`globalsong`.`strGenres` AS `strGenres`,
`a46`.`globalsong`.`strTitle` AS `strTitle`,
`a46`.`globalsong`.`iTrack` AS `iTrack`,
`a46`.`globalsong`.`iDuration` AS `iDuration`,
`a46`.`globalsong`.`iYear` AS `iYear`,
`a46`.`globalsong`.`dwFileNameCRC` AS `dwFileNameCRC`,
`a46`.`globalsong`.`strFileName` AS `strFileName`,
`a46`.`globalsong`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`a46`.`globalsong`.`iTimesPlayed2` AS `iTimesPlayed`,
`a46`.`globalsong`.`iStartOffset` AS `iStartOffset`,
`a46`.`globalsong`.`iEndOffset` AS `iEndOffset`,
`a46`.`globalsong`.`idThumb` AS `idThumb`,
`a46`.`globalsong`.`lastplayed2` AS `lastplayed`,
`a46`.`globalsong`.`comment` AS `comment`,
`a46`.`globalsong`.`rating` AS `rating`
FROM `a46`.`globalsong`;
CREATE VIEW `b46`.`albumartistview`
AS SELECT
`album_artist`.`idAlbum` AS `idAlbum`,
`album_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`album_artist`.`boolFeatured` AS `boolFeatured`,
`album_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`album_artist`.`iOrder` AS `iOrder`
FROM (`b46`.`album_artist` join `b46`.`artist` on((`album_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `b46`.`albumview`
AS SELECT
`album`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`album`.`strMusicBrainzAlbumID` AS `strMusicBrainzAlbumID`,
`album`.`strArtists` AS `strArtists`,
`album`.`strGenres` AS `strGenres`,
`album`.`iYear` AS `iYear`,
`album`.`strMoods` AS `strMoods`,
`album`.`strStyles` AS `strStyles`,
`album`.`strThemes` AS `strThemes`,
`album`.`strReview` AS `strReview`,
`album`.`strLabel` AS `strLabel`,
`album`.`strType` AS `strType`,
`album`.`strImage` AS `strImage`,
`album`.`iRating` AS `iRating`,
`album`.`bCompilation` AS `bCompilation`,min(`song`.`iTimesPlayed`) AS `iTimesPlayed`
FROM (`b46`.`album` left join `b46`.`song` on((`album`.`idAlbum` = `song`.`idAlbum`))) group by `album`.`idAlbum`;
CREATE VIEW `b46`.`artistview`
AS SELECT
`artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`artist`.`strBorn` AS `strBorn`,
`artist`.`strFormed` AS `strFormed`,
`artist`.`strGenres` AS `strGenres`,
`artist`.`strMoods` AS `strMoods`,
`artist`.`strStyles` AS `strStyles`,
`artist`.`strInstruments` AS `strInstruments`,
`artist`.`strBiography` AS `strBiography`,
`artist`.`strDied` AS `strDied`,
`artist`.`strDisbanded` AS `strDisbanded`,
`artist`.`strYearsActive` AS `strYearsActive`,
`artist`.`strImage` AS `strImage`,
`artist`.`strFanart` AS `strFanart`
FROM `b46`.`artist`;
CREATE VIEW `b46`.`songartistview`
AS SELECT
`song_artist`.`idSong` AS `idSong`,
`song_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`song_artist`.`boolFeatured` AS `boolFeatured`,
`song_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`song_artist`.`iOrder` AS `iOrder`
FROM (`b46`.`song_artist` join `b46`.`artist` on((`song_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `b46`.`songview`
AS SELECT
`song`.`idSong` AS `idSong`,
`song`.`strArtists` AS `strArtists`,
`song`.`strGenres` AS `strGenres`,
`song`.`strTitle` AS `strTitle`,
`song`.`iTrack` AS `iTrack`,
`song`.`iDuration` AS `iDuration`,
`song`.`iYear` AS `iYear`,
`song`.`dwFileNameCRC` AS `dwFileNameCRC`,
`song`.`strFileName` AS `strFileName`,
`song`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`song`.`iTimesPlayed` AS `iTimesPlayed`,
`song`.`iStartOffset` AS `iStartOffset`,
`song`.`iEndOffset` AS `iEndOffset`,
`song`.`lastplayed` AS `lastplayed`,
`song`.`rating` AS `rating`,
`song`.`comment` AS `comment`,
`song`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`path`.`strPath` AS `strPath`,
`karaokedata`.`iKaraNumber` AS `iKaraNumber`,
`karaokedata`.`iKaraDelay` AS `iKaraDelay`,
`karaokedata`.`strKaraEncoding` AS `strKaraEncoding`,
`album`.`bCompilation` AS `bCompilation`,
`album`.`strArtists` AS `strAlbumArtists`
FROM (((`b46`.`song` join `b46`.`album` on((`song`.`idAlbum` = `album`.`idAlbum`))) join `b46`.`path` on((`song`.`idPath` = `path`.`idPath`))) left join `b46`.`karaokedata` on((`song`.`idSong` = `karaokedata`.`idSong`)));
CREATE DATABASE c46;
CREATE VIEW `c46`.`album` AS SELECT * FROM `a46`.`album`;
CREATE VIEW `c46`.`album_artist` AS SELECT * FROM `a46`.`album_artist`;
CREATE VIEW `c46`.`album_genre` AS SELECT * FROM `a46`.`album_genre`;
CREATE VIEW `c46`.`albuminfosong` AS SELECT * FROM `a46`.`albuminfosong`;
CREATE VIEW `c46`.`art` AS SELECT * FROM `a46`.`art`;
CREATE VIEW `c46`.`artist` AS SELECT * FROM `a46`.`artist`;
CREATE VIEW `c46`.`content` AS SELECT * FROM `a46`.`content`;
CREATE VIEW `c46`.`discography` AS SELECT * FROM `a46`.`discography`;
CREATE VIEW `c46`.`genre` AS SELECT * FROM `a46`.`genre`;
CREATE VIEW `c46`.`karaokedata` AS SELECT * FROM `a46`.`karaokedata`;
CREATE VIEW `c46`.`path` AS SELECT * FROM `a46`.`path`;
CREATE VIEW `c46`.`song_artist` AS SELECT * FROM `a46`.`song_artist`;
CREATE VIEW `c46`.`song_genre` AS SELECT * FROM `a46`.`song_genre`;
CREATE VIEW `c46`.`version` AS SELECT * FROM `a46`.`version`;
CREATE VIEW `c46`.`song`
AS SELECT
`a46`.`globalsong`.`idSong` AS `idSong`,
`a46`.`globalsong`.`idAlbum` AS `idAlbum`,
`a46`.`globalsong`.`idPath` AS `idPath`,
`a46`.`globalsong`.`strArtists` AS `strArtists`,
`a46`.`globalsong`.`strGenres` AS `strGenres`,
`a46`.`globalsong`.`strTitle` AS `strTitle`,
`a46`.`globalsong`.`iTrack` AS `iTrack`,
`a46`.`globalsong`.`iDuration` AS `iDuration`,
`a46`.`globalsong`.`iYear` AS `iYear`,
`a46`.`globalsong`.`dwFileNameCRC` AS `dwFileNameCRC`,
`a46`.`globalsong`.`strFileName` AS `strFileName`,
`a46`.`globalsong`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`a46`.`globalsong`.`iTimesPlayed3` AS `iTimesPlayed`,
`a46`.`globalsong`.`iStartOffset` AS `iStartOffset`,
`a46`.`globalsong`.`iEndOffset` AS `iEndOffset`,
`a46`.`globalsong`.`idThumb` AS `idThumb`,
`a46`.`globalsong`.`lastplayed3` AS `lastplayed`,
`a46`.`globalsong`.`comment` AS `comment`,
`a46`.`globalsong`.`rating` AS `rating`
FROM `a46`.`globalsong`;
CREATE VIEW `c46`.`albumartistview`
AS SELECT
`album_artist`.`idAlbum` AS `idAlbum`,
`album_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`album_artist`.`boolFeatured` AS `boolFeatured`,
`album_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`album_artist`.`iOrder` AS `iOrder`
FROM (`c46`.`album_artist` join `c46`.`artist` on((`album_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `c46`.`albumview`
AS SELECT
`album`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`album`.`strMusicBrainzAlbumID` AS `strMusicBrainzAlbumID`,
`album`.`strArtists` AS `strArtists`,
`album`.`strGenres` AS `strGenres`,
`album`.`iYear` AS `iYear`,
`album`.`strMoods` AS `strMoods`,
`album`.`strStyles` AS `strStyles`,
`album`.`strThemes` AS `strThemes`,
`album`.`strReview` AS `strReview`,
`album`.`strLabel` AS `strLabel`,
`album`.`strType` AS `strType`,
`album`.`strImage` AS `strImage`,
`album`.`iRating` AS `iRating`,
`album`.`bCompilation` AS `bCompilation`,min(`song`.`iTimesPlayed`) AS `iTimesPlayed`
FROM (`c46`.`album` left join `c46`.`song` on((`album`.`idAlbum` = `song`.`idAlbum`))) group by `album`.`idAlbum`;
CREATE VIEW `c46`.`artistview`
AS SELECT
`artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`artist`.`strBorn` AS `strBorn`,
`artist`.`strFormed` AS `strFormed`,
`artist`.`strGenres` AS `strGenres`,
`artist`.`strMoods` AS `strMoods`,
`artist`.`strStyles` AS `strStyles`,
`artist`.`strInstruments` AS `strInstruments`,
`artist`.`strBiography` AS `strBiography`,
`artist`.`strDied` AS `strDied`,
`artist`.`strDisbanded` AS `strDisbanded`,
`artist`.`strYearsActive` AS `strYearsActive`,
`artist`.`strImage` AS `strImage`,
`artist`.`strFanart` AS `strFanart`
FROM `c46`.`artist`;
CREATE VIEW `c46`.`songartistview`
AS SELECT
`song_artist`.`idSong` AS `idSong`,
`song_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`song_artist`.`boolFeatured` AS `boolFeatured`,
`song_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`song_artist`.`iOrder` AS `iOrder`
FROM (`c46`.`song_artist` join `c46`.`artist` on((`song_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `c46`.`songview`
AS SELECT
`song`.`idSong` AS `idSong`,
`song`.`strArtists` AS `strArtists`,
`song`.`strGenres` AS `strGenres`,
`song`.`strTitle` AS `strTitle`,
`song`.`iTrack` AS `iTrack`,
`song`.`iDuration` AS `iDuration`,
`song`.`iYear` AS `iYear`,
`song`.`dwFileNameCRC` AS `dwFileNameCRC`,
`song`.`strFileName` AS `strFileName`,
`song`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`song`.`iTimesPlayed` AS `iTimesPlayed`,
`song`.`iStartOffset` AS `iStartOffset`,
`song`.`iEndOffset` AS `iEndOffset`,
`song`.`lastplayed` AS `lastplayed`,
`song`.`rating` AS `rating`,
`song`.`comment` AS `comment`,
`song`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`path`.`strPath` AS `strPath`,
`karaokedata`.`iKaraNumber` AS `iKaraNumber`,
`karaokedata`.`iKaraDelay` AS `iKaraDelay`,
`karaokedata`.`strKaraEncoding` AS `strKaraEncoding`,
`album`.`bCompilation` AS `bCompilation`,
`album`.`strArtists` AS `strAlbumArtists`
FROM (((`c46`.`song` join `c46`.`album` on((`song`.`idAlbum` = `album`.`idAlbum`))) join `c46`.`path` on((`song`.`idPath` = `path`.`idPath`))) left join `c46`.`karaokedata` on((`song`.`idSong` = `karaokedata`.`idSong`)));
CREATE DATABASE d46;
CREATE VIEW `d46`.`album` AS SELECT * FROM `a46`.`album`;
CREATE VIEW `d46`.`album_artist` AS SELECT * FROM `a46`.`album_artist`;
CREATE VIEW `d46`.`album_genre` AS SELECT * FROM `a46`.`album_genre`;
CREATE VIEW `d46`.`albuminfosong` AS SELECT * FROM `a46`.`albuminfosong`;
CREATE VIEW `d46`.`art` AS SELECT * FROM `a46`.`art`;
CREATE VIEW `d46`.`artist` AS SELECT * FROM `a46`.`artist`;
CREATE VIEW `d46`.`content` AS SELECT * FROM `a46`.`content`;
CREATE VIEW `d46`.`discography` AS SELECT * FROM `a46`.`discography`;
CREATE VIEW `d46`.`genre` AS SELECT * FROM `a46`.`genre`;
CREATE VIEW `d46`.`karaokedata` AS SELECT * FROM `a46`.`karaokedata`;
CREATE VIEW `d46`.`path` AS SELECT * FROM `a46`.`path`;
CREATE VIEW `d46`.`song_artist` AS SELECT * FROM `a46`.`song_artist`;
CREATE VIEW `d46`.`song_genre` AS SELECT * FROM `a46`.`song_genre`;
CREATE VIEW `d46`.`version` AS SELECT * FROM `a46`.`version`;
CREATE VIEW `d46`.`song`
AS SELECT
`a46`.`globalsong`.`idSong` AS `idSong`,
`a46`.`globalsong`.`idAlbum` AS `idAlbum`,
`a46`.`globalsong`.`idPath` AS `idPath`,
`a46`.`globalsong`.`strArtists` AS `strArtists`,
`a46`.`globalsong`.`strGenres` AS `strGenres`,
`a46`.`globalsong`.`strTitle` AS `strTitle`,
`a46`.`globalsong`.`iTrack` AS `iTrack`,
`a46`.`globalsong`.`iDuration` AS `iDuration`,
`a46`.`globalsong`.`iYear` AS `iYear`,
`a46`.`globalsong`.`dwFileNameCRC` AS `dwFileNameCRC`,
`a46`.`globalsong`.`strFileName` AS `strFileName`,
`a46`.`globalsong`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`a46`.`globalsong`.`iTimesPlayed4` AS `iTimesPlayed`,
`a46`.`globalsong`.`iStartOffset` AS `iStartOffset`,
`a46`.`globalsong`.`iEndOffset` AS `iEndOffset`,
`a46`.`globalsong`.`idThumb` AS `idThumb`,
`a46`.`globalsong`.`lastplayed4` AS `lastplayed`,
`a46`.`globalsong`.`comment` AS `comment`,
`a46`.`globalsong`.`rating` AS `rating`
FROM `a46`.`globalsong`;
CREATE VIEW `d46`.`albumartistview`
AS SELECT
`album_artist`.`idAlbum` AS `idAlbum`,
`album_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`album_artist`.`boolFeatured` AS `boolFeatured`,
`album_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`album_artist`.`iOrder` AS `iOrder`
FROM (`d46`.`album_artist` join `d46`.`artist` on((`album_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `d46`.`albumview`
AS SELECT
`album`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`album`.`strMusicBrainzAlbumID` AS `strMusicBrainzAlbumID`,
`album`.`strArtists` AS `strArtists`,
`album`.`strGenres` AS `strGenres`,
`album`.`iYear` AS `iYear`,
`album`.`strMoods` AS `strMoods`,
`album`.`strStyles` AS `strStyles`,
`album`.`strThemes` AS `strThemes`,
`album`.`strReview` AS `strReview`,
`album`.`strLabel` AS `strLabel`,
`album`.`strType` AS `strType`,
`album`.`strImage` AS `strImage`,
`album`.`iRating` AS `iRating`,
`album`.`bCompilation` AS `bCompilation`,min(`song`.`iTimesPlayed`) AS `iTimesPlayed`
FROM (`d46`.`album` left join `d46`.`song` on((`album`.`idAlbum` = `song`.`idAlbum`))) group by `album`.`idAlbum`;
CREATE VIEW `d46`.`artistview`
AS SELECT
`artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`artist`.`strBorn` AS `strBorn`,
`artist`.`strFormed` AS `strFormed`,
`artist`.`strGenres` AS `strGenres`,
`artist`.`strMoods` AS `strMoods`,
`artist`.`strStyles` AS `strStyles`,
`artist`.`strInstruments` AS `strInstruments`,
`artist`.`strBiography` AS `strBiography`,
`artist`.`strDied` AS `strDied`,
`artist`.`strDisbanded` AS `strDisbanded`,
`artist`.`strYearsActive` AS `strYearsActive`,
`artist`.`strImage` AS `strImage`,
`artist`.`strFanart` AS `strFanart`
FROM `d46`.`artist`;
CREATE VIEW `d46`.`songartistview`
AS SELECT
`song_artist`.`idSong` AS `idSong`,
`song_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`song_artist`.`boolFeatured` AS `boolFeatured`,
`song_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`song_artist`.`iOrder` AS `iOrder`
FROM (`d46`.`song_artist` join `d46`.`artist` on((`song_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `d46`.`songview`
AS SELECT
`song`.`idSong` AS `idSong`,
`song`.`strArtists` AS `strArtists`,
`song`.`strGenres` AS `strGenres`,
`song`.`strTitle` AS `strTitle`,
`song`.`iTrack` AS `iTrack`,
`song`.`iDuration` AS `iDuration`,
`song`.`iYear` AS `iYear`,
`song`.`dwFileNameCRC` AS `dwFileNameCRC`,
`song`.`strFileName` AS `strFileName`,
`song`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`song`.`iTimesPlayed` AS `iTimesPlayed`,
`song`.`iStartOffset` AS `iStartOffset`,
`song`.`iEndOffset` AS `iEndOffset`,
`song`.`lastplayed` AS `lastplayed`,
`song`.`rating` AS `rating`,
`song`.`comment` AS `comment`,
`song`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`path`.`strPath` AS `strPath`,
`karaokedata`.`iKaraNumber` AS `iKaraNumber`,
`karaokedata`.`iKaraDelay` AS `iKaraDelay`,
`karaokedata`.`strKaraEncoding` AS `strKaraEncoding`,
`album`.`bCompilation` AS `bCompilation`,
`album`.`strArtists` AS `strAlbumArtists`
FROM (((`d46`.`song` join `d46`.`album` on((`song`.`idAlbum` = `album`.`idAlbum`))) join `d46`.`path` on((`song`.`idPath` = `path`.`idPath`))) left join `d46`.`karaokedata` on((`song`.`idSong` = `karaokedata`.`idSong`)));
CREATE DATABASE e46;
CREATE VIEW `e46`.`album` AS SELECT * FROM `a46`.`album`;
CREATE VIEW `e46`.`album_artist` AS SELECT * FROM `a46`.`album_artist`;
CREATE VIEW `e46`.`album_genre` AS SELECT * FROM `a46`.`album_genre`;
CREATE VIEW `e46`.`albuminfosong` AS SELECT * FROM `a46`.`albuminfosong`;
CREATE VIEW `e46`.`art` AS SELECT * FROM `a46`.`art`;
CREATE VIEW `e46`.`artist` AS SELECT * FROM `a46`.`artist`;
CREATE VIEW `e46`.`content` AS SELECT * FROM `a46`.`content`;
CREATE VIEW `e46`.`discography` AS SELECT * FROM `a46`.`discography`;
CREATE VIEW `e46`.`genre` AS SELECT * FROM `a46`.`genre`;
CREATE VIEW `e46`.`karaokedata` AS SELECT * FROM `a46`.`karaokedata`;
CREATE VIEW `e46`.`path` AS SELECT * FROM `a46`.`path`;
CREATE VIEW `e46`.`song_artist` AS SELECT * FROM `a46`.`song_artist`;
CREATE VIEW `e46`.`song_genre` AS SELECT * FROM `a46`.`song_genre`;
CREATE VIEW `e46`.`version` AS SELECT * FROM `a46`.`version`;
CREATE VIEW `e46`.`song`
AS SELECT
`a46`.`globalsong`.`idSong` AS `idSong`,
`a46`.`globalsong`.`idAlbum` AS `idAlbum`,
`a46`.`globalsong`.`idPath` AS `idPath`,
`a46`.`globalsong`.`strArtists` AS `strArtists`,
`a46`.`globalsong`.`strGenres` AS `strGenres`,
`a46`.`globalsong`.`strTitle` AS `strTitle`,
`a46`.`globalsong`.`iTrack` AS `iTrack`,
`a46`.`globalsong`.`iDuration` AS `iDuration`,
`a46`.`globalsong`.`iYear` AS `iYear`,
`a46`.`globalsong`.`dwFileNameCRC` AS `dwFileNameCRC`,
`a46`.`globalsong`.`strFileName` AS `strFileName`,
`a46`.`globalsong`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`a46`.`globalsong`.`iTimesPlayed5` AS `iTimesPlayed`,
`a46`.`globalsong`.`iStartOffset` AS `iStartOffset`,
`a46`.`globalsong`.`iEndOffset` AS `iEndOffset`,
`a46`.`globalsong`.`idThumb` AS `idThumb`,
`a46`.`globalsong`.`lastplayed5` AS `lastplayed`,
`a46`.`globalsong`.`comment` AS `comment`,
`a46`.`globalsong`.`rating` AS `rating`
FROM `a46`.`globalsong`;
CREATE VIEW `e46`.`albumartistview`
AS SELECT
`album_artist`.`idAlbum` AS `idAlbum`,
`album_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`album_artist`.`boolFeatured` AS `boolFeatured`,
`album_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`album_artist`.`iOrder` AS `iOrder`
FROM (`e46`.`album_artist` join `e46`.`artist` on((`album_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `e46`.`albumview`
AS SELECT
`album`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`album`.`strMusicBrainzAlbumID` AS `strMusicBrainzAlbumID`,
`album`.`strArtists` AS `strArtists`,
`album`.`strGenres` AS `strGenres`,
`album`.`iYear` AS `iYear`,
`album`.`strMoods` AS `strMoods`,
`album`.`strStyles` AS `strStyles`,
`album`.`strThemes` AS `strThemes`,
`album`.`strReview` AS `strReview`,
`album`.`strLabel` AS `strLabel`,
`album`.`strType` AS `strType`,
`album`.`strImage` AS `strImage`,
`album`.`iRating` AS `iRating`,
`album`.`bCompilation` AS `bCompilation`,min(`song`.`iTimesPlayed`) AS `iTimesPlayed`
FROM (`e46`.`album` left join `e46`.`song` on((`album`.`idAlbum` = `song`.`idAlbum`))) group by `album`.`idAlbum`;
CREATE VIEW `e46`.`artistview`
AS SELECT
`artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`artist`.`strBorn` AS `strBorn`,
`artist`.`strFormed` AS `strFormed`,
`artist`.`strGenres` AS `strGenres`,
`artist`.`strMoods` AS `strMoods`,
`artist`.`strStyles` AS `strStyles`,
`artist`.`strInstruments` AS `strInstruments`,
`artist`.`strBiography` AS `strBiography`,
`artist`.`strDied` AS `strDied`,
`artist`.`strDisbanded` AS `strDisbanded`,
`artist`.`strYearsActive` AS `strYearsActive`,
`artist`.`strImage` AS `strImage`,
`artist`.`strFanart` AS `strFanart`
FROM `e46`.`artist`;
CREATE VIEW `e46`.`songartistview`
AS SELECT
`song_artist`.`idSong` AS `idSong`,
`song_artist`.`idArtist` AS `idArtist`,
`artist`.`strArtist` AS `strArtist`,
`artist`.`strMusicBrainzArtistID` AS `strMusicBrainzArtistID`,
`song_artist`.`boolFeatured` AS `boolFeatured`,
`song_artist`.`strJoinPhrase` AS `strJoinPhrase`,
`song_artist`.`iOrder` AS `iOrder`
FROM (`e46`.`song_artist` join `e46`.`artist` on((`song_artist`.`idArtist` = `artist`.`idArtist`)));
CREATE VIEW `e46`.`songview`
AS SELECT
`song`.`idSong` AS `idSong`,
`song`.`strArtists` AS `strArtists`,
`song`.`strGenres` AS `strGenres`,
`song`.`strTitle` AS `strTitle`,
`song`.`iTrack` AS `iTrack`,
`song`.`iDuration` AS `iDuration`,
`song`.`iYear` AS `iYear`,
`song`.`dwFileNameCRC` AS `dwFileNameCRC`,
`song`.`strFileName` AS `strFileName`,
`song`.`strMusicBrainzTrackID` AS `strMusicBrainzTrackID`,
`song`.`iTimesPlayed` AS `iTimesPlayed`,
`song`.`iStartOffset` AS `iStartOffset`,
`song`.`iEndOffset` AS `iEndOffset`,
`song`.`lastplayed` AS `lastplayed`,
`song`.`rating` AS `rating`,
`song`.`comment` AS `comment`,
`song`.`idAlbum` AS `idAlbum`,
`album`.`strAlbum` AS `strAlbum`,
`path`.`strPath` AS `strPath`,
`karaokedata`.`iKaraNumber` AS `iKaraNumber`,
`karaokedata`.`iKaraDelay` AS `iKaraDelay`,
`karaokedata`.`strKaraEncoding` AS `strKaraEncoding`,
`album`.`bCompilation` AS `bCompilation`,
`album`.`strArtists` AS `strAlbumArtists`
FROM (((`e46`.`song` join `e46`.`album` on((`song`.`idAlbum` = `album`.`idAlbum`))) join `e46`.`path` on((`song`.`idPath` = `path`.`idPath`))) left join `e46`.`karaokedata` on((`song`.`idSong` = `karaokedata`.`idSong`)));
Its the same instructions as video. Get XBMC to create a database called 'a46' with advancedsettings.xml
Then run the query.
It renames the 'song' table to 'globalsong' and adds a place for b, c, d and e to store iTimesPlayed and lastplayed columns. Then links everything up.