From a6e892f206a46c3ccfa07ba255284f9f272d1da4 Mon Sep 17 00:00:00 2001
From: Richard <peper03@yahoo.com>
Date: Sat, 17 Nov 2012 14:38:36 +0100
Subject: [PATCH] Changed DVD angle handling to be 1-based throughout (as they
are on DVDs). This also affects the SWITCHTOANGLE action
via the Services API.
---
mythtv/libs/libmythtv/Bluray/mythbdplayer.cpp | 4 ++--
mythtv/libs/libmythtv/DVD/mythdvdplayer.cpp | 8 ++++----
mythtv/libs/libmythtv/tv_play.cpp | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/mythtv/libs/libmythtv/Bluray/mythbdplayer.cpp b/mythtv/libs/libmythtv/Bluray/mythbdplayer.cpp
index a86faeb..f8c9c25 100644
a
|
b
|
QString MythBDPlayer::GetTitleName(int title) const |
239 | 239 | |
240 | 240 | QString MythBDPlayer::GetAngleName(int angle) const |
241 | 241 | { |
242 | | if (angle >= 0 && angle < GetNumAngles()) |
| 242 | if (angle >= 1 && angle <= GetNumAngles()) |
243 | 243 | { |
244 | | QString name = QObject::tr("Angle %1").arg(angle+1); |
| 244 | QString name = QObject::tr("Angle %1").arg(angle); |
245 | 245 | return name; |
246 | 246 | } |
247 | 247 | return QString(); |
diff --git a/mythtv/libs/libmythtv/DVD/mythdvdplayer.cpp b/mythtv/libs/libmythtv/DVD/mythdvdplayer.cpp
index 0230428..1c4fa45 100644
a
|
b
|
int MythDVDPlayer::GetCurrentAngle(void) const |
628 | 628 | |
629 | 629 | QString MythDVDPlayer::GetAngleName(int angle) const |
630 | 630 | { |
631 | | if (angle >= 0 && angle < GetNumAngles()) |
| 631 | if (angle >= 1 && angle <= GetNumAngles()) |
632 | 632 | { |
633 | | QString name = QObject::tr("Angle %1").arg(angle+1); |
| 633 | QString name = QObject::tr("Angle %1").arg(angle); |
634 | 634 | return name; |
635 | 635 | } |
636 | 636 | return QString(); |
… |
… |
bool MythDVDPlayer::SwitchAngle(int angle) |
642 | 642 | if (!total || angle == GetCurrentAngle()) |
643 | 643 | return false; |
644 | 644 | |
645 | | if (angle >= (int)total) |
646 | | angle = 0; |
| 645 | if (angle < 1 || angle > (int)total) |
| 646 | angle = 1; |
647 | 647 | |
648 | 648 | return player_ctx->buffer->DVD()->SwitchAngle(angle); |
649 | 649 | } |
diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
index 26220bd..7fa0cc8 100644
a
|
b
|
void TV::FillOSDMenuNavigate(const PlayerContext *ctx, OSD *osd, |
11431 | 11431 | currenttext = tr("Angle"); |
11432 | 11432 | int current_angle = GetCurrentAngle(ctx); |
11433 | 11433 | |
11434 | | for (int i = 0; i < num_angles; i++) |
| 11434 | for (int i = 1; i <= num_angles; i++) |
11435 | 11435 | { |
11436 | 11436 | QString angleIdx = QString("%1").arg(i, 3, 10, QChar(48)); |
11437 | 11437 | QString desc = GetAngleName(ctx, i); |