Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Back/Forward - general solidity #40

Closed
simmoe opened this issue Dec 17, 2011 · 2 comments
Closed

Back/Forward - general solidity #40

simmoe opened this issue Dec 17, 2011 · 2 comments
Assignees
Labels

Comments

@simmoe
Copy link
Contributor

simmoe commented Dec 17, 2011

This issue is a little hard to debug if we don't get the terms right: As far as I can see, there's three different ways the rewind/forward buttons could react:

1 By chapter
2 By section
3 By subsection

Right?

I think the most generic way would be to implement it as a setting that defaults to section (i.e Opikayana ?book=36738 would be played page by page). The other jumps could either be triggered by manually changing default settings, implement it as user-prefs or adding interface buttons.

Right now - I think - the interface tries to switch per subsection - it doesn't always work out - try Opikayana for example. Actually I think subsections are the least important option - so we could choose not to implement that and just leave it as an unhandled setting. In my view the most obvious is to switch between sections. But chapter switching is already implemented, so we might as well include it as a setting option.

@ghost ghost assigned Flambino Dec 17, 2011
@simmoe
Copy link
Contributor Author

simmoe commented Dec 17, 2011

BTW jumping subsections reminds - aspiring to assimilates - jumping by clicking on the audio statusbar. Which seems to work seamlessly. If we want to implement it easily (for no other reason than knowing it works if we need it), why not fake a timeswitch?

@Flambino
Copy link
Contributor

I'm not sure I completely understand what you mean. As you say, it's difficult unless we're using the same terms.

Here's what I've been calling things so far (and this is what it's called in the code, too):

  1. Section refers to anything with its own heading (regardless of level) in the NCC file. Sections map 1:1 to SMIL files, and thus 1:1 to MP3s. Sections can be nested, but they are still played back separately.
  2. Segment refers to a time-slice in a section's MP3 file. This is the smallest "unit" in the system.

It's confusing to call something a "chapter" because we can't tell from the structure of an NCC if something's literally a chapter or not. E.g. the back cover of the book isn't a chapter, but it is a section.

Right now the back/forward buttons skip through segments, until it reaches the start/end of the current section. At the point it'll skip to the previous/next section, and then skip through that section's segments.

Things get confusing/hard to code because books are divided in different ways. Sometimes several time-slices will refer to the same piece of text or the same panel in a comic book; sometimes it's 1:1. Sometimes the whole book is divided neatly into "1 section per chapter", and other times it's divided into "everything in 1 section".

None of this is a problem if you're reading the book, and just want to play something as audio (and everything is a local file with zero download time). If you're just reading, you can alway drill down to the piece(s) of audio that belongs to a given piece of text.
But we're doing the opposite: Playing back audio, and showing the text. And that's makes everything about the Daisy system maddening.

Anyway, let's talk more about this on Monday

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants