If you don't want to embed annotations, then there is no easy solution. It's going to requires substantial design changes to tackle to this problem. The idea of adding "bookmarks" to a setlist sounds fine but the only way I would envision that working is having to disable certain parts of the application when working with a bookmark, as otherwise some actions wouldn't make sense when working with a bookmark vs the full song. The biggest problem will most likely be with dealing with database updates caused by an update to the parts of the song referenced in the bookmark, which means adding another layer of indirection between understanding what the current page really maps to in certain contexts (page in terms of the setlist -> bookmark page -> song page -> PDF page). There are many scenarios that are going to get messy with this, such as - if you have a bookmark to pages 6 through 8 tied to a song, then you edit the song and change the file and those page numbers are either no longer valid or offset, how should the bookmark be updated? Sometimes it will be obvious, sometimes it will not be. Do I just leave bookmarks as invalid past that point? Do I then have to add large amounts of warnings to users every time they make an action that could potentially impact bookmarks tied to a song?
I'm sure it will be possible to figure out all these answers with enough time and work, but it's certainly not a small change.
I have to say, I don't like the idea of using the term "bookmark" in reference to something that actually represents a range of pages. A physical bookmark just marks a single page. That's how a table of contents reference works, how PDF bookmarks work, etc. That's why I went with the term snippet. I'm not sure what the best term is for this, but if I want to support having a reference to a page range from a song that can be referenced in a setlist, I'd rather either change the snippet implementation so it supports either mode of operation, or come up a with a new term that doesn't have an overloaded meaning. I know apps like forScore have handled bookmarks this way - I'm saying I disagree with using that terminology as it's confusing in my opinion.
Mike
I'm sure it will be possible to figure out all these answers with enough time and work, but it's certainly not a small change.
I have to say, I don't like the idea of using the term "bookmark" in reference to something that actually represents a range of pages. A physical bookmark just marks a single page. That's how a table of contents reference works, how PDF bookmarks work, etc. That's why I went with the term snippet. I'm not sure what the best term is for this, but if I want to support having a reference to a page range from a song that can be referenced in a setlist, I'd rather either change the snippet implementation so it supports either mode of operation, or come up a with a new term that doesn't have an overloaded meaning. I know apps like forScore have handled bookmarks this way - I'm saying I disagree with using that terminology as it's confusing in my opinion.
Mike