internal ProjectSong(Project project, SongQb songQb)
{
_lastChanged = DateTime.MinValue;
_qbLastChanged = DateTime.MinValue;
_recordChange = false;
_project = project;
_songQb = songQb;
_artist = this.SongQb.Artist;
_title = this.SongQb.Title;
if (_project.Defaults.SongVolumeMode == DefaultSettingMode.Game)
_year = this.SongQb.Year;
else
_year = _project.Defaults.Year;
if (_project.Defaults.SongVolumeMode == DefaultSettingMode.Game)
_songVolume = this.SongQb.SongVolume;
else
_songVolume = _project.Defaults.SongVolume;
if (_project.Defaults.GuitarVolumeMode == DefaultSettingMode.Game)
_guitarVolume = this.SongQb.GuitarVolume;
else
_guitarVolume = _project.Defaults.GuitarVolume;
if (_project.Defaults.SingerMode == DefaultSettingMode.Game)
_singer = this.SongQb.Singer;
else
_singer = _project.Defaults.Singer;
_originalArtist = true; // this.Song.OriginalArtist;
_minMsBeforeNotesStart = _project.Defaults.MinMsBeforeNotesStart;
_startPaddingMs = 0;
_audio = new ProjectSongAudio(_project, this);
_notes = new ProjectSongNotes(_project, this);
_audio.PreviewFadeLength = _project.Defaults.PreviewFadeLength;
_audio.PreviewLength = _project.Defaults.PreviewLength;
_audio.PreviewStart = _project.Defaults.PreviewStart;
_audio.PreviewVolume = _project.Defaults.PreviewVolume;
_audio.PreviewIncludeGuitar = _project.Defaults.PreviewIncludeGuitar;
_audio.PreviewIncludeRhythm = _project.Defaults.PreviewIncludeRhythm;
_notes.HoPoMeasure = _project.Defaults.HoPoMeasure;
_notes.Gh3SustainClipping = _project.Defaults.Gh3SustainClipping;
_notes.ForceNoStarPower = _project.Defaults.ForceNoStarPower;
}