public TrackData NewTrackData( UserSongClip clip, BeatStructureMadmom bsm, LocationMode locationMode) { TrackData trackData = new TrackData(); trackData.originalFilePath = clip.originalFilePath; trackData.originalTrackName = clip.trackData.originalTrackName; trackData.originalArtist = clip.trackData.originalArtist; trackData.trackId = new TrackId(clip.originalFilePath); trackData.bpm = bsm._beatList.AverageBpm; trackData.beatStrucureJSON = BeatStructureToJSON(bsm); trackData.duration = clip.trackData.duration; trackData.locationMode = locationMode; trackData.firstBeatOffset = bsm.Beats[0]._triggerTime; SaveTrackData(trackData); TrackDefinition trackDefinition = new TrackDefinition(); trackDefinition.locationMode = locationMode; trackDefinition.trackId = trackData.trackId; trackDefinition.tagLibTitle = trackData.originalTrackName; trackDefinition.tagLibArtist = trackData.originalArtist; trackDefinition.duration = trackData.duration; trackDefinition.bpm = trackData.bpm; trackDefinition.trackData = trackData; trackDefinition.SaveTrackDefinition(); this.trackDefinitionsPlayer.Add(trackDefinition); return(trackData); }
private Boolean isApproachingStartLine(TrackDefinition track, float previousLapDistance, float currentLapDistance) { if (track == null) { return(false); } float checkPoint = track.trackLength - distanceBeforeStartLineToWarnOfPitExit; return(previousLapDistance < checkPoint && currentLapDistance > checkPoint); }
public static void UpdateFromTrackDefinition(TrackDefinition trackDefinition) { useOvalLogic = trackDefinition.isOval; // this is called when we start a session, so update the spotter enabled flag based on the initial state spotterEnabled = spotterEnabledInitialState && (useOvalLogic || !realisticMode); if (useOvalLogic) { Console.WriteLine("Track is marked as oval"); } }
public TrackData GetTrackDataByID(string trackDataId) { TrackDefinition trackDefinition = this.GetTrackDefinition(trackDataId); if (trackDefinition == null) { return((TrackData)null); } trackDefinition.LoadTrackData(); return(trackDefinition.trackData); }
public void AddToPlaylist(TrackDefinition trackDefinition) { if (Current == null) { MultipleAddToPlaylistAndPlay(new[] { trackDefinition }, 0); return; } Current.AddTrack(trackDefinition); _currentTracks.Source = Current.Tracks; CurrentTracks.Refresh(); OnPropertyChanged(nameof(CurrentTracks)); }
public TrackDefinition GetTrackDefinition(string trackId) { TrackDefinition trackDefinition = (TrackDefinition)null; for (int index = 0; index < this.trackDefinitionsResources.Count; ++index) { if (this.trackDefinitionsResources[index].trackId.trackId == trackId) { trackDefinition = this.trackDefinitionsResources[index]; break; } } if (trackDefinition == null) { for (int index = 0; index < this.trackDefinitionsPlayer.Count; ++index) { if (this.trackDefinitionsPlayer[index].trackId.trackId == trackId) { trackDefinition = this.trackDefinitionsPlayer[index]; break; } } } if (trackDefinition == null) { for (int index = 0; index < this.trackDefinitionsEditor.Count; ++index) { if (this.trackDefinitionsEditor[index].trackId.trackId == trackId) { trackDefinition = this.trackDefinitionsEditor[index]; break; } } } if (trackDefinition == null) { for (int index = 0; index < this.trackDefinitionsDLC.Count; ++index) { if (this.trackDefinitionsDLC[index].trackId.trackId == trackId) { trackDefinition = this.trackDefinitionsDLC[index]; break; } } } return(trackDefinition); }
public void LoadTrackDefinitionLists() { this.trackDataLoadComplete = false; this.trackDefinitionsResources = new List <TrackDefinition>(); this.trackDefinitionsPlayer = new List <TrackDefinition>(); this.trackDefinitionsEditor = new List <TrackDefinition>(); this.myWorkoutTrackDataList = new List <TrackData>(); this.trackDefinitionsDLC = new List <TrackDefinition>(); string str = Paths.DefinitionsFolder(LocationMode.Workouts); int count; string path1 = Paths.DefinitionsFolder(LocationMode.PlayerData); string[] fileNames; if (Directory.Exists(path1)) { fileNames = Directory.GetFiles(path1, "*.wdef.txt"); for (count = 0; count < fileNames.Length; ++count) { TrackDefinition trackDefinition = JsonConvert.DeserializeObject <TrackDefinition>(System.IO.File.ReadAllText(fileNames[count])); if (this.GetTrackDefinition(trackDefinition.trackId.trackId) == null) { trackDefinition.locationMode = LocationMode.PlayerData; this.trackDefinitionsPlayer.Add(trackDefinition); } } fileNames = (string[])null; } string path2 = Paths.DefinitionsFolder(LocationMode.Editor); if (Directory.Exists(path2)) { fileNames = Directory.GetFiles(path2, "*.wdef.txt"); for (count = 0; count < fileNames.Length; ++count) { TrackDefinition trackDefinition = JsonConvert.DeserializeObject <TrackDefinition>(System.IO.File.ReadAllText(fileNames[count])); if (this.GetTrackDefinition(trackDefinition.trackId.trackId) == null) { this.trackDefinitionsEditor.Add(trackDefinition); } trackDefinition.locationMode = LocationMode.Editor; } fileNames = (string[])null; } this.trackDataLoadComplete = true; }
internal void Log(TrackDefinition trackDefinition, string message) { LogBase(new LogEntry(trackDefinition), message); }
public Member(TrackDefinition track, long position) { Track = track; Position = position; }
public void AddTrack(TrackDefinition trackDefinition) { Tracks.Add(new Member(trackDefinition, Tracks.Count + 1)); }