Notalib / LYT

m.e17.dk
GNU Lesser General Public License v3.0
10 stars 12 forks source link

Fix issue #579 - support for DAISY pipeline books #598

Closed saebekassebil closed 10 years ago

saebekassebil commented 10 years ago

This PR includes some major changes of the internals. All this is described in the commit message of 790af14:

This commit introduces some major changes to the internal class
strucures. These changes include:
 - Merging the former Playlist class into both the Player and the Book
 - Refactor the SMILDocument so that it is decoupled from the Section
 - Section searching/traversing is now located in the Book
 - NCC sections that link to the same SMIL file now work, by also
   sending the proper fragment
 - Since sections are actually "bookmarks" and not container elements
   for segments, it's no longer directly possible to access a section
   from a segment, without calling a utility method on the Book

In general we're trying to seperate responsibilities, so that the Book
has no clue as to were the Player currently is and is only used as a
data model.

The most "breaking" change is that it's no longer possible to do a segment.section, since these two structures doesn't really reflect a "parent-child" relationship. You can still get the "containing"/last section by the utility method

book.getSectionBySegment segment

Because of crazy commit-mess I've reset and committed it as one big commit. A lot of the git blame should however have gone to @LDHGithub

mzedeler commented 10 years ago

I'll read through this request.