public void InitializeDatabase(IDatabaseComponent database, DatabaseInitializeType type) { ComponentRegistry.Instance.ForEach <IDatabaseInitializer>(component => { try { component.InitializeDatabase(database, type); } catch (Exception e) { Logger.Write(this, LogLevel.Warn, "Failed to initialize database {0}: {1}", component.GetType().Name, e.Message); } }); }
public void InitializeDatabase(IDatabaseComponent database, DatabaseInitializeType type) { //IMPORTANT: When editing this function remember to change the checksum. if (!type.HasFlag(DatabaseInitializeType.MetaData)) { return; } using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel)) { var set = database.Set <MetaDataProvider>(transaction); set.Clear(); //No default data, yet. if (transaction.HasTransaction) { transaction.Commit(); } } }
public void InitializeDatabase(IDatabaseComponent database, DatabaseInitializeType type) { //IMPORTANT: When editing this function remember to change the checksum. if (!type.HasFlag(DatabaseInitializeType.Playlist)) { return; } using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel)) { var set = database.Set <PlaylistColumn>(transaction); set.Add(new PlaylistColumn() { Name = "Playing", Type = PlaylistColumnType.Plugin, Sequence = 0, Plugin = this.Id, Enabled = true }); transaction.Commit(); } }
public void InitializeDatabase(IDatabaseComponent database, DatabaseInitializeType type) { //IMPORTANT: When editing this function remember to change the checksum. if (!type.HasFlag(DatabaseInitializeType.Playlist)) { return; } var scriptingRuntime = ComponentRegistry.Instance.GetComponent <IScriptingRuntime>(); if (scriptingRuntime == null) { return; } using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel)) { { var set = database.Set <Playlist>(transaction); foreach (var playlist in set) { //TODO: Bad .Wait() PlaylistTaskBase.RemovePlaylistItems(database, playlist.Id, PlaylistItemStatus.None, transaction).Wait(); } set.Clear(); set.Add(new Playlist() { Name = "Default", Type = PlaylistType.None, Enabled = true }); } { var set = database.Set <PlaylistColumn>(transaction); set.Clear(); set.Add(new PlaylistColumn() { Name = "Artist / album", Type = PlaylistColumnType.Script, Sequence = 1, Script = scriptingRuntime.CoreScripts.Artist_Album, Width = PlaylistColumn.WIDTH_LARGE, Enabled = true }); set.Add(new PlaylistColumn() { Name = "Track no", Type = PlaylistColumnType.Script, Sequence = 2, Script = scriptingRuntime.CoreScripts.Track, Enabled = true }); set.Add(new PlaylistColumn() { Name = "Title / track artist", Type = PlaylistColumnType.Script, Sequence = 3, Script = scriptingRuntime.CoreScripts.Title_Performer, Width = PlaylistColumn.WIDTH_LARGE, Enabled = true }); set.Add(new PlaylistColumn() { Name = "Duration", Type = PlaylistColumnType.Tag, Sequence = 4, Tag = CommonProperties.Duration, Format = CommonFormats.TimeSpan, Enabled = true }); set.Add(new PlaylistColumn() { Name = "Codec", Type = PlaylistColumnType.Script, Sequence = 5, Script = scriptingRuntime.CoreScripts.Codec, Enabled = true }); set.Add(new PlaylistColumn() { Name = "BPM", Type = PlaylistColumnType.Tag, Sequence = 6, Tag = CommonMetaData.BeatsPerMinute, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Album gain", Type = PlaylistColumnType.Script, Sequence = 7, Script = scriptingRuntime.CoreScripts.ReplayGainAlbumGain, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Album peak", Type = PlaylistColumnType.Script, Sequence = 8, Script = scriptingRuntime.CoreScripts.ReplayGainAlbumPeak, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Track gain", Type = PlaylistColumnType.Script, Sequence = 9, Script = scriptingRuntime.CoreScripts.ReplayGainTrackGain, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Track peak", Type = PlaylistColumnType.Script, Sequence = 10, Script = scriptingRuntime.CoreScripts.ReplayGainTrackPeak, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Play count", Type = PlaylistColumnType.Script, Sequence = 11, Script = scriptingRuntime.CoreScripts.PlayCount, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Last played", Type = PlaylistColumnType.Script, Sequence = 12, Script = scriptingRuntime.CoreScripts.LastPlayed, Enabled = false }); set.Add(new PlaylistColumn() { Name = "Initial key", Type = PlaylistColumnType.Tag, Sequence = 13, Tag = CommonMetaData.InitialKey, Enabled = false }); } transaction.Commit(); } }
public void InitializeDatabase(IDatabaseComponent database, DatabaseInitializeType type) { //IMPORTANT: When editing this function remember to change the checksum. if (!type.HasFlag(DatabaseInitializeType.Library)) { return; } var scriptingRuntime = ComponentRegistry.Instance.GetComponent <IScriptingRuntime>(); if (scriptingRuntime == null) { return; } using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel)) { var set = database.Set <LibraryHierarchy>(transaction); foreach (var libraryHierarchy in set) { //TODO: Bad .Wait() LibraryTaskBase.RemoveHierarchies(database, libraryHierarchy, null, transaction).Wait(); } set.Clear(); set.Add(new LibraryHierarchy() { Name = "Artist/Album/Title", Type = LibraryHierarchyType.Script, Sequence = 0, Enabled = true, Levels = new ObservableCollection <LibraryHierarchyLevel>() { new LibraryHierarchyLevel() { Sequence = 0, Script = scriptingRuntime.CoreScripts.Artist }, new LibraryHierarchyLevel() { Sequence = 1, Script = scriptingRuntime.CoreScripts.Year_Album }, new LibraryHierarchyLevel() { Sequence = 2, Script = scriptingRuntime.CoreScripts.Disk_Track_Title } } }); set.Add(new LibraryHierarchy() { Name = "Genre/Album/Title", Type = LibraryHierarchyType.Script, Sequence = 1, Enabled = false, Levels = new ObservableCollection <LibraryHierarchyLevel>() { new LibraryHierarchyLevel() { Sequence = 0, Script = scriptingRuntime.CoreScripts.Genre }, new LibraryHierarchyLevel() { Sequence = 1, Script = scriptingRuntime.CoreScripts.Year_Album }, new LibraryHierarchyLevel() { Sequence = 2, Script = scriptingRuntime.CoreScripts.Disk_Track_Title } } }); set.Add(new LibraryHierarchy() { Name = "Genre/Rating/Artist - Title [BPM]", Type = LibraryHierarchyType.Script, Sequence = 2, Enabled = false, Levels = new ObservableCollection <LibraryHierarchyLevel>() { new LibraryHierarchyLevel() { Sequence = 0, Script = scriptingRuntime.CoreScripts.Genre }, new LibraryHierarchyLevel() { Sequence = 1, Script = scriptingRuntime.CoreScripts.Rating }, new LibraryHierarchyLevel() { Sequence = 2, Script = scriptingRuntime.CoreScripts.Artist_Title_BPM } } }); set.Add(new LibraryHierarchy() { Name = "Folder Structure", Type = LibraryHierarchyType.FileSystem, Sequence = 3, Enabled = false }); transaction.Commit(); } }