<table><tr><td style="">kossebau created this revision.<br />kossebau added a reviewer: Okular.<br />Restricted Application added a project: Okular.<br />kossebau requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D11250">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>When going into presentation mode, a D-Bus object is created that<br />
implements MPRIS spec and exposes control to the presentation.<br />
By that any existing MPRIS controllers can be used next to the existing<br />
direct control by Okular UI itself.<br />
This includes e.g.</p>
<ul class="remarkup-list">
<li class="remarkup-list-item">keyboard mediakeys (Play/Pause, Stop, Next, Previous), as handled by Plasma mpris dataengine</li>
<li class="remarkup-list-item">KDE Connect MPris plugin</li>
</ul>
<p>Motivation:<br />
For giving a presentation and not having to stand next to the computer<br />
which runs Okular, one can use wireless input controllers.<br />
Sometimes though one would like more rich remote controllers, e.g.<br />
with a display showing notes for the current page, giving a preview<br />
of the next/previous page, or allowing to jump to a page directly<br />
without everyone following on the big screen the search in the pages list.<br />
Such a rich remote controller could be done e.g. by an app for a mobile,<br />
which then connects to Okular.<br />
Instead of writing a custom controller app and designing a custom protocol,<br />
another option is to use the MPRIS spec and map the concepts of the<br />
Okular document and its pages onto the MPRIS tracklist and tracks.<br />
After all the "media player" in MPRIS is an abstraction, and to a good<br />
degree it is possible to make the Okular presentation mode an<br />
instantiation of it.<br />
While the current version 2 of MPRIS seems done rather with typical<br />
music players or movie players in mind, a future version shall also<br />
take presentation shows more into the design.<br />
This initial patch already enables simple Play/Pause/Next/Previous<br />
remote control, which is handy for remote controlling via KDE Connect.</p>
<p>Future patches should also implement tracklist support, so a controller<br />
is e.g. able to show the complete list of tracks^Wpages as thumbnails.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Load a document, enter presentation mode and see Okular appear in the<br />
KDE Connect Multimedia Remote Control, following commands or updating<br />
the states.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R223 Okular</div></div></div><br /><div><strong>BRANCH</strong><div><div>addmprisservice</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11250">https://phabricator.kde.org/D11250</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
mpris2/dbusabstractadaptor.cpp<br />
mpris2/dbusabstractadaptor.h<br />
mpris2/mpris2service.cpp<br />
mpris2/mpris2service.h<br />
mpris2/mprismediaplayer2.cpp<br />
mpris2/mprismediaplayer2.h<br />
mpris2/mprismediaplayer2player.cpp<br />
mpris2/mprismediaplayer2player.h<br />
ui/presentationwidget.cpp<br />
ui/presentationwidget.h</div></div></div><br /><div><strong>To: </strong>kossebau, Okular<br /><strong>Cc: </strong>KDE Connect, michaelweghorn, ngraham, aacid<br /></div>