GithubHelp home page GithubHelp logo

Comments (6)

danielweck avatar danielweck commented on July 3, 2024

3 options when user "manually" scrolls the viewport:

  1. (default?) shift playback to "top-most" visible element
  2. continue playback even if active element is invisible (style highlight, but no "bring into view" scroll). Problem: users looses track of playback location (hard to find by just scrolling around), maybe switching back to option (1) is acceptable to bring back active element into view? ... but what if paused?)
  3. pause (user is required to explicitly resume ... but we then need new "pause/resume" logic in the MO engine, because right now the playback starts at the topmost visible element, not the preserved previously-paused location)

Side issue: this configurable user setting (preference dialog or top-level MO UI switch) may also impact paginated reflowable view (i.e. when switching page, obviously there is no "user scroll" interaction).

from readium-shared-js.

danielweck avatar danielweck commented on July 3, 2024

Related issue:
#58

from readium-shared-js.

danielweck avatar danielweck commented on July 3, 2024

For options (1) and (2) above:

https://github.com/readium/readium-shared-js/blob/develop/js/views/media_overlay_player.js#L1543

==> An additional condition is needed for call to reader.insureElementVisibility(), which in the case of the scroll view, results in:

https://github.com/readium/readium-shared-js/blob/develop/js/views/scroll_view.js#L1290

...and for the paginated view:

https://github.com/readium/readium-shared-js/blob/develop/js/views/reflowable_view.js#L718

...fixed layout view assume "always visible":

https://github.com/readium/readium-shared-js/blob/develop/js/views/fixed_view.js#L651

from readium-shared-js.

danielweck avatar danielweck commented on July 3, 2024

Setting would need to be implemented here:

https://github.com/readium/readium-shared-js/blob/develop/js/models/viewer_settings.js#L34

...and UI affordance in readium-js-viewer:

https://github.com/readium/readium-js-viewer/blob/master/lib/EpubReaderMediaOverlays.js

from readium-shared-js.

dmitrym0 avatar dmitrym0 commented on July 3, 2024

The default behaviour seems reasonable if the assumed use case is to follow along with the text being read. I don't think I can actively listen and jump around the book.

from readium-shared-js.

danielweck avatar danielweck commented on July 3, 2024

Hi @dmitrym0, there is a high-importance feature request for use-case (2), namely: manual scroll to peek at content (e.g. image, diagrams) after or before currently-spoken text.
I have implemented the required feature in shared-js (with "ensure visibility" mechanism to restore visual position by using pause/play, or previous/next, or click-on-text, etc. (basically, anything other than just manually scrolling)):
78dfc8e

Note that there is no js-viewer UI yet to control this option.

from readium-shared-js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.