public void ExportPlaylistJson(WorkoutPlaylist playlist) { playlist.CalcTotalLength(); if (playlist.definition.originalName != playlist.definition.workoutName) { DeleteJsonFile(playlist.definition.originalName); } File.WriteAllText(Path.Combine(this.playlistsPath, playlist.definition.workoutName + ".workoutplaylist.txt"), JsonConvert.SerializeObject(playlist)); }
public void DeletePlaylist(string playlistName) { WorkoutPlaylist playlistByName = this.GetPlaylistByName(playlistName); if (playlistByName == null) { return; } this.DeletePlaylist(playlistByName); }
public void PlaylistEditName(WorkoutPlaylist playlist, string newName) { string workoutName = playlist.definition.workoutName; if (newName == workoutName) { return; } playlist.definition.workoutName = newName; this.ExportPlaylistJson(playlist); this.DeleteJsonFile(workoutName); }
public void SaveWorkout(WorkoutPlaylist workout, LocationMode savingMode) { string str = Paths.WorkoutDefinitionFolder(savingMode, workout.definition.game); for (int index = 0; index < workout.songs.Count; ++index) { workout.songs[index].serialisedActionList = new MusicActionListSerializable(); workout.songs[index].serialisedActionList.actionList = MusicActionListSerializer.Instance.BuildSerializableMusicActionList(workout.songs[index].musicActionList); } this.currentpath = str + "/" + workout.definition.workoutName + ".workoutplaylist.txt"; File.WriteAllText(this.currentpath, JsonConvert.SerializeObject(workout)); }
public void PlayistRemoveEntry(WorkoutPlaylist playlist, string filePath) { string withoutExtension = Path.GetFileNameWithoutExtension(filePath); for (int index = 0; index < playlist.songs.Count; ++index) { if (playlist.songs[index].trackDataName == withoutExtension) { playlist.RemoveSong(index); this.ExportPlaylistJson(playlist); break; } } }
public List <WorkoutPlaylist> LoadAllWorkoutPlaylistsFromDisk() { List <WorkoutPlaylist> workoutPlaylistList = new List <WorkoutPlaylist>(); if (Directory.Exists(this.playlistsPath)) { foreach (string visibleFile in Tools.IO.GetVisibleFiles(this.playlistsPath, "*.workoutplaylist.txt")) { WorkoutPlaylist workoutPlaylist = new WorkoutPlaylist(); string jsonString = File.ReadAllText(visibleFile); workoutPlaylist.LoadFromJSON(jsonString); workoutPlaylistList.Add(workoutPlaylist); } } return(workoutPlaylistList); }
public List <TrackDefinition> ReturnPlaylistTrackDefinitions( WorkoutPlaylist playlist) { List <TrackDefinition> trackDefinitionList = new List <TrackDefinition>(); if (playlist == null || playlist.songs == null) { return((List <TrackDefinition>)null); } for (int index = 0; index < playlist.songs.Count; ++index) { playlist.songs[index].trackDefinition = TrackDataManager.instance.GetTrackDefinition(playlist.songs[index].trackDataName); trackDefinitionList.Add(playlist.songs[index].trackDefinition); } return(trackDefinitionList); }
private void LoadFromDataPath() { if (Directory.Exists(this.currentpath)) { foreach (FileSystemInfo file in new DirectoryInfo(this.currentpath).GetFiles("*.txt")) { WorkoutPlaylist workoutPlaylist = new WorkoutPlaylist(); string jsonString = File.ReadAllText(file.FullName); workoutPlaylist.LoadFromJSON(jsonString); if (!this.workoutList.Contains(workoutPlaylist)) { this.workoutList.Add(workoutPlaylist); } } this.workoutList.Sort((Comparison <WorkoutPlaylist>)((p1, p2) => p1.definition.duration.CompareTo(p2.definition.duration))); } this.workoutsLoaded = true; }
public WorkoutPlaylist AddNewPlaylist(string name = "") { if (this.workoutPlaylists == null) { this.workoutPlaylists = new List <WorkoutPlaylist>(); } if (name == "") { name = this.GeneratePlaylistName(); } WorkoutPlaylist workoutPlaylist = new WorkoutPlaylist() { definition = new WorkoutInfo() }; workoutPlaylist.definition.workoutName = name; workoutPlaylist.definition.originalName = name; workoutPlaylist.definition.workoutType = WorkoutType.BoxVR_Playlist; this.workoutPlaylists.Add(workoutPlaylist); return(workoutPlaylist); }
public SongDefinition PlaylistAddEntry(WorkoutPlaylist playlist, string fileName, LocationMode location) { if (this.playlistQueue == null) { this.playlistQueue = new List <PlaylistManager.PlaylistToAdd>(); } PlaylistManager.PlaylistToAdd playlistToAdd = new PlaylistManager.PlaylistToAdd() { playlistToAdd = playlist, songToAdd = new SongDefinition() }; playlistToAdd.songToAdd.trackDefinition = new TrackDefinition(); playlistToAdd.originalFilePath = fileName; playlistToAdd.location = location; this.playlistQueue.Add(playlistToAdd); if (this.isProcessing) { throw new Exception("Can't batch add yet"); } this.PlaylistAddProcess(); return(playlistToAdd.songToAdd); }
public void ShufflePlaylistTracks(WorkoutPlaylist playlist) => playlist.songs.Shuffle <SongDefinition>();
public void DeletePlaylist(WorkoutPlaylist playlist) { this.DeleteJsonFile(playlist.definition.workoutName); this.workoutPlaylists.Remove(playlist); //this.Saveplaylists(); }