public void InitializeData(DVDPlayerDeviceDesign device) { base.InitializeData(); CollapsedRGBOption = true; /////инициализация параметров по девайсу _DVDType = device.InterfaceType; UpdateView(true, device, device.IsPlayerOn, "00:00:00", -1, -1, DVDState.NO_CD); switch (device.InterfaceType) { case InterfaceTypeEnum.IR: InitIR(device); //SetControlPlayerTimerEnable(false, 1); break; case InterfaceTypeEnum.RS232: InitRS232(device); //SetControlPlayerTimerEnable(true, 1000); break; } cbaChapter.Enabled = itbChapter.Enabled = (device.MediumType == MediumTypeEnum.DVD ? true : false); /////////////////////////////////// }
public void UpdateView(bool available, DVDPlayerDeviceDesign device, bool IsPlayerOn, string elapsedTime, int trackCurrNumber, int chapterCurrNumber, DVDState state) { if (InvokeRequired) { Invoke(new UpdateViewDelegate(UpdateView), available, device, IsPlayerOn, elapsedTime, trackCurrNumber, chapterCurrNumber, state); return; } SetAvailableStatus(available); if (available) { if (IsPlayerOn) { baPower.State = ButtonAdvState.Pressed; if ((_prevTotalTrackNumber != device.TrackAmount) || (_prevTotalChapterNumber != device.DVDChapterAmount)) InitRS232(device); if (state != DVDState.NO_CD) { if (_prevCurrChapterNumber != chapterCurrNumber) { _prevCurrChapterNumber = chapterCurrNumber; if (chapterCurrNumber >= 0) { cbaChapter.SelectedItem = chapterCurrNumber.ToString(); itbChapter.Text = chapterCurrNumber.ToString(); } } if (_prevCurrTrackNumber != trackCurrNumber) { _prevCurrTrackNumber = trackCurrNumber; if (trackCurrNumber >= 0) { cbaTrack.SelectedItem = trackCurrNumber.ToString(); itbTrack.Text = trackCurrNumber.ToString(); } } cbaChapter.Enabled = (device.MediumType == MediumTypeEnum.DVD ? true : false); if (device.MediumType == MediumTypeEnum.DVD) cbaTrack.Enabled = string.IsNullOrEmpty((string)cbaChapter.SelectedItem) ? false : true; timeLabel.Text = elapsedTime + "/" + device.TotalPlaybackTime; rewButton.State = playButton.State = stopButton.State = pauseButton.State = ffButton.State = ButtonAdvState.Default; switch (state) { case DVDState.Playback: playButton.State = ButtonAdvState.Pressed; break; case DVDState.Pause: pauseButton.State = ButtonAdvState.Pressed; break; case DVDState.Stopped: stopButton.State = ButtonAdvState.Pressed; break; case DVDState.FFWD: ffButton.State = ButtonAdvState.Pressed; break; case DVDState.REW: rewButton.State = ButtonAdvState.Pressed; break; } } else { //плеер включен но диска нет setDVDDefaultState(); } } else { //плеер выключен baPower.State = ButtonAdvState.Default; setDVDDefaultState(); } } else { //состояние железа не доступно } this.Refresh(); }
private void InitRS232(DVDPlayerDeviceDesign device) { _prevTotalChapterNumber = device.DVDChapterAmount; _prevTotalTrackNumber = device.TrackAmount; cbaChapter.Visible = cbaTrack.Visible = true; itbChapter.Visible = itbTrack.Visible = false; object chapterSelected = cbaChapter.SelectedItem; object trackSelected = cbaTrack.SelectedItem; cbaChapter.Items.Clear(); cbaTrack.Items.Clear(); cbaChapter.Items.Add(string.Empty); for (int i = 1; i <= device.DVDChapterAmount; i++) { cbaChapter.Items.Add(i.ToString()); } cbaTrack.Items.Add(string.Empty); for (int i = 1; i <= device.TrackAmount; i++) { cbaTrack.Items.Add(i.ToString()); } cbaChapter.SelectedItem = chapterSelected; cbaTrack.SelectedItem = trackSelected; rewButton.PushButton = playButton.PushButton = stopButton.PushButton = pauseButton.PushButton = ffButton.PushButton = true; rewButton.State = playButton.State = stopButton.State = pauseButton.State = ffButton.State = ButtonAdvState.Default; }
private void InitIR(DVDPlayerDeviceDesign device) { cbaChapter.Visible = cbaTrack.Visible = false; itbChapter.Visible = itbTrack.Visible = true; rewButton.PushButton = playButton.PushButton = stopButton.PushButton = pauseButton.PushButton = ffButton.PushButton = false; }