[mythtv-firehose] mythtv branch master updated by jpoet. v29-pre-84-g5933e03

Git Repo Owner noreply at mythtv.org
Sun Jun 12 07:18:45 UTC 2016

The branch, master has been updated on the
mythtv repository by gitolite user jpoet.
       via  5933e03efdb136a5bd35f60bdcf24f8a1a32749b (commit)
       via  67f4135dfd1d9e5408e16581b92612805645fb88 (commit)
       via  009758c26b7b82e51279e34e29e185b2ba1b263a (commit)
      from  838cdc44ea7c7eb4b1e635e530bec2185e17dd45 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5933e03efdb136a5bd35f60bdcf24f8a1a32749b
Author:    John Poet <jpoet at mythtv.org> at Sun, 12 Jun 2016 01:17:40 -0600
Committer: John Poet <jpoet at mythtv.org> at Sun, 12 Jun 2016 01:18:21 -0600
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=5933e03efdb136a5bd35f60bdcf24f8a1a32749b

mythfilldatabase: Also try matching ATSC major.minor when update xmltvid.

commit 67f4135dfd1d9e5408e16581b92612805645fb88
Author:    Roger Siddons <rsiddons at mythtv.org> at Thu, 21 Jan 2016 13:46:11 +0000
Committer: John Poet <jpoet at mythtv.org> at Sun, 12 Jun 2016 01:18:21 -0600
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=67f4135dfd1d9e5408e16581b92612805645fb88

>From 7bfc97ed65809d0ecd8c7b0394f7fa12e50ea28f Mon Sep 17 00:00:00 2001 Subject: [PATCH 2/2] Watchlist with lastPlayPos
Watchlist: Refactor & remove debug info

The watchlist abuses ProgramInfo::recpriority2 to cache scores for display on the Info/ProgDetails screen.
The score/state is of no interest to the user, who cannot alter it. It is debug information that belongs in the logs and has been removed from the screens.
Themes should remove WATCH_LIST_SCORE & WATCH_LIST_STATUS widgets from htmls/progdetails*.html. However they are set as empty to prevent breakage for now.

Refs #12296

Watchlist: Group by title rather than record rule

Watchlist groups titles using the record rule id.
Thus different titles recorded by a one rule are confusingly grouped together.
And the same title recorded by different rules are shown in different groups.
Also a pre-requisite for selection by episode number.

Grouping ignores title case, whitespace and punctuation.

Ref #12296

Watchlist: Use season/episode when selecting an episode

Watchlist always selects the earliest/oldest episode, so the wrong recording is shown when episodes are recorded out of order.
This patch uses season/episode data to override the oldest selection, where appropriate.

Refs #12296

Watchlist: Add theme widget to show watchlist episode count

A new UI widget "watchtotal" enables the watchlist to show the number of episodes available for each title.
For example a "recordings" buttonlist specification of:

<textarea name="title">
  <template>%title%% (|watchtotal| episodes)%% - "|subtitle|"%</template>

will produce:

The Simpsons (15 episodes) - "Homer does something stupid"

This widget is only set when the Watchlist group is selected in the groups list - for other groups it will show the usual:

The Simpsons - "Homer does something stupid"

Refs #12296

Watchlist: Add 'Limited Oldest' strategy

Adds a new simplified sort strategy "LimitedOldest" that is more stable, intuitive & useful than the current 'Classic' one.
Titles are ordered by record date (oldest first) so the list is predictable and does not spontaneously shuffle.
Optionally new titles & quickly-watched titles can be promoted to the top and titles that remain unwatched for a long period can be relegated to the bottom.
Two new settings "PlaybackWLRecentLimit" & "PlaybackWLOldLimit" are introduced so the user can adjust this behaviour.

User can choose between this and the 'classic' sort strategy via a new setting "PlaybackWLOrder"

Fixes #12296

Watchlist: Place part-watched shows at top

Watchlist: Update watchlist after metadata edits

Prevent metadata edits updating the recording list directly.
They must be processed by a ProgInfo update in order to update watchlist.

commit 009758c26b7b82e51279e34e29e185b2ba1b263a
Author:    Roger Siddons <rsiddons at mythtv.org> at Fri, 6 May 2016 16:12:19 +0100
Committer: John Poet <jpoet at mythtv.org> at Sun, 12 Jun 2016 01:18:21 -0600
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=009758c26b7b82e51279e34e29e185b2ba1b263a

>From 11d3185a118ff0e42e2b8ab3e6499b8d97ad3b07 Mon Sep 17 00:00:00 2001 Subject: [PATCH 1/2] Use lastPlayPos instead of bookmark
This is a combination of 11 commits

Enable 'Play from last play position'

38443b8e disabled playing recordings from last play position mark.
This patch re-enables it for recordings.

Add MConcurrent

Provides a simple version of QtConcurrent::run() that uses MThreadPool rather
than QThreadPool. Useful for starting background threads in 1 line.

Given a class method of:

  void Class::fn(arg1, arg2...)

you can run it in a different thread using:

  MConcurrent::run("thread name", &Class instance, &Class::fn, arg1, arg2...)

Refer to QtConcurrent::run for further details

1. Accepts 0-5 arguments
2. Only class methods are supported (most typical in Myth)
3. Only non-const classes & methods are supported (most typical in Myth)
4. The method must have return type of void (QFuture is not easily ported to
   MThreadPool. Use signals/events instead)

Add UI progress indicator to Watch Recordings

Adds theme widget 'progresspercent' to watchrecordings window to show
percentage of recording that has been watched.

MythUI: Implement progressbar on buttonlist items

Allows buttonlists to contain a progressbar.

Show play position as a progress bar in Watch recordings

Allows recording list to show part-watched recordings using a progressbar.
Demo uses Mythcenter-wide theme

Move automatic bookmark updates to last play position.

Convert bookmarks to a user aid only. They will never be automatically updated/removed by playback.
Last play position mark is now used instead.

Settings "Clear bookmark on playback" & "Action on playback exit"/"Save position and exit" are
removed (from UI only) as they are now redundant.

Last play position is never updated within 30 secs of playback start.
Thereafter it records position on playback exit (as well as the existing periodic 30 sec update).
At end of recording it is reset.

Note: 'Automatically Mark watched' is now also actioned by end-of-playback dialog (it wasn't previously)
It also will not trigger for first 30 secs of playback.

Default recording playback from last play position

Playback of recordings now starts from:

- last play position, if present
- bookmark, if present (so user can override progstart)
- program start mark, if present
- beginning of file

Menu options allow user to start from last play position, bookmark or 'beginning'
(prog start/file start) where applicable.

Add menu options to Clear bookmark and Clear last play position for recordings

Allow user to easily reset last play position and bookmark.

Start video playback as per recordings

Video playback starts from:

- last played position, if present
- bookmark, if present
- file start

Menu options allow user to explicitly select option and reset last played position & bookmark

Plays from last played position, then bookmark, then file start
Add menu options to Play from bookmark & Play from beginning
Add menu options to Clear Bookmark & Clear last played position

Preview generator uses last played position

Previews are now generated from:

- last played position, if present
- bookmark, if present,
- prog start mark, if present
- existing offset, which us unchanged (it does not use the progstart mark.)

Add progress bar to Upcoming Recordings.

Progress of an active recording is shown by a progress bar and
'progresspercent' theme widget. Both are based on rec start/end and current time.


Summary of changes:
 mythtv/libs/libmyth/programinfo.cpp                |   62 ++-
 mythtv/libs/libmyth/programinfo.h                  |   11 +-
 mythtv/libs/libmyth/programtypes.h                 |    7 -
 mythtv/libs/libmythbase/libmythbase.pro            |    2 +-
 mythtv/libs/libmythbase/mconcurrent.h              |  176 ++++
 mythtv/libs/libmythtv/mythplayer.cpp               |   10 +-
 mythtv/libs/libmythtv/mythplayer.h                 |    1 -
 mythtv/libs/libmythtv/previewgenerator.cpp         |   16 +-
 mythtv/libs/libmythtv/tv_play.cpp                  |  124 +--
 mythtv/libs/libmythtv/tv_play.h                    |   11 +-
 mythtv/libs/libmythui/mythuibuttonlist.cpp         |   22 +
 mythtv/libs/libmythui/mythuibuttonlist.h           |    5 +
 mythtv/libs/libmythui/mythuiprogressbar.cpp        |   10 +
 mythtv/libs/libmythui/mythuiprogressbar.h          |    1 +
 mythtv/programs/mythfilldatabase/channeldata.cpp   |   39 +-
 mythtv/programs/mythfilldatabase/channeldata.h     |    6 +-
 mythtv/programs/mythfrontend/globalsettings.cpp    |  108 ++-
 mythtv/programs/mythfrontend/globalsettings.h      |    7 +
 mythtv/programs/mythfrontend/main.cpp              |   77 ++-
 mythtv/programs/mythfrontend/playbackbox.cpp       |  902 +++++++++++---------
 mythtv/programs/mythfrontend/playbackbox.h         |   82 ++-
 mythtv/programs/mythfrontend/progdetails.cpp       |   32 +-
 mythtv/programs/mythfrontend/programinfocache.cpp  |  172 +++-
 mythtv/programs/mythfrontend/programinfocache.h    |   16 +-
 mythtv/programs/mythfrontend/viewscheduled.cpp     |  200 +++--
 mythtv/programs/mythfrontend/viewscheduled.h       |    5 +
 .../MythCenter-wide/htmls/progdetails_page2.html   |    2 -
 mythtv/themes/MythCenter-wide/recordings-ui.xml    |   24 +-
 mythtv/themes/MythCenter-wide/schedule-ui.xml      |   20 +-
 .../themes/MythCenter/htmls/progdetails_page2.html |    2 -
 mythtv/themes/MythCenter/recordings-ui.xml         |   14 +-
 mythtv/themes/Terra/htmls/progdetails_page2.html   |    2 -
 mythtv/themes/Terra/recordings-ui.xml              |    7 +
 mythtv/themes/default/htmls/progdetails_page2.html |    2 -
 34 files changed, 1447 insertions(+), 730 deletions(-)
 create mode 100644 mythtv/libs/libmythbase/mconcurrent.h


More information about the mythtv-firehose mailing list