04-20-2026, 02:17 PM
Hello all and especially Michael Zuber,
I'm Bill Lyons, a Mobile Sheets user on Windows and a user of many other music tools, including forScore on iPad. I have an extensive .pdf collection of Fake Books that I have collected since the 80s when I worked on the road and on cruise ships. Most of my stuff is stored using forScores really awkward .csv format. I was really delighted to see that Mobile Sheets uses a proper relational database. I played on the road for a few years and continued to gig to the present day. But more importantly, I worked for Oracle Corporation as a lead Java Engineer in Consulting. I have deep knowledge of both relational and object models.
I've made a copy of the mobilesheets.db and work with a read only copy so that I don't mess anything up in my experiments.
I've already figured out how to access mobilesheets.db through DBeaver. I've already discovered some things that are troubling to me. For fakebooks, I would have thought that I would have been given the option to store the Fake Book as both a file and a book. Was the book feature ever implemented? Fake Books contain hundreds of songs. The only way that I can see that it's possible to use your product would be to split each fake book up into individual charts and then load them from there. This would take a massive amount of time. It appears that your DB model supports the notion of a book a join table with BookSong, but those tables are not populated by the app. Am I missing something?
DBeaver does not show any DB triggers on the tables. It also does not show any foreign key constraints. It looks like you're just enforcing those through code. That's fine. I have loads of experience working with pseudo-relational models where the developer is responsible for enforcing DB constraints and integrity.
That brings up a couple of questions regarding importing data, however. I would love to be able to import the 50 Fake Books that I use on gigs into MobileSheets running on Windows. If possible, I would like to be able to import each Fake Book as a Book and then to be able to create an entry for each Song. Then, I'd create an entry in BookSong joining the Song to the Book. There's probably loads of other tables that I have to insert into in order to load a book, and a song properly. Is there some sort of insert script that you could provide so that I make sure that I stuff the right keys and dates in the right places?
Has this been asked for in the past? You've been in business for quite awhile. There are loads of other tools that are in use including forScore, iGigBook, unRealBook, and many others. I would love to be able to migrate to your tool and call it a day.
Can you please help me?
Sincerely,
Bill Lyons
blyons3@yahoo.com
I'm Bill Lyons, a Mobile Sheets user on Windows and a user of many other music tools, including forScore on iPad. I have an extensive .pdf collection of Fake Books that I have collected since the 80s when I worked on the road and on cruise ships. Most of my stuff is stored using forScores really awkward .csv format. I was really delighted to see that Mobile Sheets uses a proper relational database. I played on the road for a few years and continued to gig to the present day. But more importantly, I worked for Oracle Corporation as a lead Java Engineer in Consulting. I have deep knowledge of both relational and object models.
I've made a copy of the mobilesheets.db and work with a read only copy so that I don't mess anything up in my experiments.
I've already figured out how to access mobilesheets.db through DBeaver. I've already discovered some things that are troubling to me. For fakebooks, I would have thought that I would have been given the option to store the Fake Book as both a file and a book. Was the book feature ever implemented? Fake Books contain hundreds of songs. The only way that I can see that it's possible to use your product would be to split each fake book up into individual charts and then load them from there. This would take a massive amount of time. It appears that your DB model supports the notion of a book a join table with BookSong, but those tables are not populated by the app. Am I missing something?
DBeaver does not show any DB triggers on the tables. It also does not show any foreign key constraints. It looks like you're just enforcing those through code. That's fine. I have loads of experience working with pseudo-relational models where the developer is responsible for enforcing DB constraints and integrity.
That brings up a couple of questions regarding importing data, however. I would love to be able to import the 50 Fake Books that I use on gigs into MobileSheets running on Windows. If possible, I would like to be able to import each Fake Book as a Book and then to be able to create an entry for each Song. Then, I'd create an entry in BookSong joining the Song to the Book. There's probably loads of other tables that I have to insert into in order to load a book, and a song properly. Is there some sort of insert script that you could provide so that I make sure that I stuff the right keys and dates in the right places?
Has this been asked for in the past? You've been in business for quite awhile. There are loads of other tools that are in use including forScore, iGigBook, unRealBook, and many others. I would love to be able to migrate to your tool and call it a day.
Can you please help me?
Sincerely,
Bill Lyons
blyons3@yahoo.com

