Esempio n. 1
0
 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));
 }
Esempio n. 2
0
        public void DeletePlaylist(string playlistName)
        {
            WorkoutPlaylist playlistByName = this.GetPlaylistByName(playlistName);

            if (playlistByName == null)
            {
                return;
            }
            this.DeletePlaylist(playlistByName);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 5
0
        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;
                }
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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;
 }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 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);
 }
Esempio n. 11
0
 public void ShufflePlaylistTracks(WorkoutPlaylist playlist) => playlist.songs.Shuffle <SongDefinition>();
Esempio n. 12
0
 public void DeletePlaylist(WorkoutPlaylist playlist)
 {
     this.DeleteJsonFile(playlist.definition.workoutName);
     this.workoutPlaylists.Remove(playlist);
     //this.Saveplaylists();
 }