MobileSheets Forums

Full Version: Connect Tablets (transposed charts on each tablet), Combine Songs, Connection Issues
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Android OS SDK v22
MobileSheetsPro v2.9.0 from Google Play
Device: SM-P905V

Hi Michael,

I've been racking my brain trying to get Mobile Sheets to allow me to load a concert key chart on my master tablet and then load a Bb Instrument chart on the slave tablet. 

I understand that I can go to "Connect Tablets -> Settings" on the slave tablet and select "Song ID" or "Custom", which gives me this functionality as long as I have set the Song ID or Custom field on each tablet to corresond to each other. 

The problem is that if I set up, let's say 25 song files (concert and Bb versions) to match up across the two tablets in this manner, it all gets wiped away as soon as I clone my master tablet to my slave tablet.  Incidentally, I clone my library by copying the folder "com.zubersoft.mobilesheetspro" from my master tablet to my computer and then copying the folder from my computer to my slave tablet.  I began using this method instead of the backup/restore feature when I started to run into problems creating backup files because my database is larger than 4GB (I use my external SD card as the storage location for my library, and there is a 4GB filesize limit).

I have an idea that could solve my problem.  Song ID is probably not going to help because the same Song ID can't be assigned to two song files on the same tablet.  But it looks like I can assign two different song files with the same Custom field.  For instance, let's say that I have a song on the master tablet called "All of Me (C instruments)" and a song calIed "All of Me (Bb Instruments)" on the slave tablet.  If I enter "All of Me (Bb Instruments)" into the custom field of each song, then everything works great.  That is, until I clone my master tablet to my slave tablet.  At that point, loading "All of Me (C Instruments)" on my my master tablet will load "All of Me (C Instruments)" on my slave tablet, which doesn't help at all because then the "Match songs using: Custom" is functioning exactly like the "Match songs using: Title" parameter.

But if I were to enter "All of Me (Bb Instruments)" into the Custom field on both of the files "All of Me (C Instruments)" and "All of Me (Bb Instruments)" on the master tablet (which would also mean on the slave tablet after cloning), then that puts me one step closer to a solution.

Currently if I enter "All of Me (Bb Instruments)" into the custom fields in the song files "All of Me (C Instruments)" and "All of Me (Bb Instruments)" on the slave tablet AND I load "All of Me (C Instruments)" on the master tablet, then "All of Me (C Instruments) will load on the slave tablet.  Mobile Sheets Pro seems to prioritize loading the song with the matching title even though there is a second song titled "All of Me (Bb Instruments)" with the same parameter entered into the Custom field.

So my question is: Would it be possible to add another option on the slave tablet called "Match songs using: Custom (and skip files with the same title)"?  Or alternatively add a tickbox called "skip files with the same title" that appears when "Match songs using: Custom" is selected?  There are probably other ways to accomplish this, but this solution seems like it could work for my situation.  I suppose what I'm really asking for is a second level of options for the "Match songs using:" feature.  Or perhaps using the "Key" parameter as the second level of options if "Match songs using: Title" is selected?

I understand that it has been suggested in this forum that a workaround to achieving this functionlity is to create multi-page PDFs with page one being a concert chart, page 2 being a Bb chart, page 3 being an Eb chart, etc.  For various reasons it makes more sense for me to keep the transposed charts as separate documents. 

If we could somehow figure out a way to add this functionality to MSP, I think it could benefit a lot of people.  I know it would help me a lot!  I am a full-time musician playing in a variety of profesionnal bands (Swing, Dixieland, Klezmer, Irish, Contra Dance, Reggae, Funk, Afrobeat, Cover/Pop, etc).  I literally just got home from a Klezmer gig where this feature woud have been very useful!  I have three tablets (one master and two clones).  I had the master tablet, and I gave the two slave tablets to the bassist and the clarinetist.  So basically the clarinetist had to read concert charts for the whole gig.  To his credit, he did pretty well with the transposition, but he definitely made some mistakes that he wouldn't have made if he had been reading Bb charts.

I do love MSP and I use it in many of the bands that I play with. In the Cover/Pop band, I love the fact that I can send patch change messages to my keyboard when I load a song!  That means that my keyboard is set up instantly with horns, strings, synths, piano, organ, splits, layers, etc.  The band no longer has to wait for the the keyboardist (me) to be ready before starting a song!  This feature is also great for accompanying theatrical troupes, since I can break the PDF script that I work from into separate pages whenever a patch change is needed (on my keyboard I can also store "performances" which include drum beats and tempos -- very useful for theatre gigs, solo gigs, etc.).

Thank you for creating and developing such a wonderful app, Mike! I have recommended it to many people Smile

PS - One more feature request....I often need to combine two (or more) files into one multi-page file.  I realize that this feature exists in the "Edit -> Files" screen, but this method doesn't work for me because my library is quite large (22,983 songs), so searching my entire library for each song takes way too much time using the file browser.  What I would like to do instead is to select two (or more) songs and then use a "combine" feature in the overflow menu to create a new multi-page song.  My workaround is to print the selected files as a multi-page PDF, save the PDF to Drive, and then import the PDF into MSP from Drive.  It just seems strange that there isn't a more direct way to accomplish this within MSP.

Also, for some reason one of my slave tablets always connects to the master, but the other slave connects about 50% of the time.  I'm connecting via Bluetooth (I've tried toggling Bluetooth off/on on each device, but that doesn't help).  All three tablets are identical models, and have identical device settings and MSP settings. The master tablet runs Android 4.4.2, and both slave tablets run Android 5.1.1 (I've had trouble upgrading the master tablet to 5.1.1). I'm usually able to get the third tablet to connect if I restart it.  But that means waiting for it to reboot and then waiting for the external SD card to be recognized (which can sometimes take up to 10 minutes).  Not fun if I'm loading into a gig, setting up the PA, etc.



--
Sent from Outlook Email App for Android
The real solution to this problem is the song versioning and roles feature that I plan on implementing later this year. You'd have just a single entry for the song with multiple versions, and you could specify on your other tablet that it is a "Bb instrument" (you would create that role), and then every time it loaded a song, it would automatically load the Bb version for that song. That's my vision for handling this problem, as it comes up fairly often.

I can also consider adding a secondary matching field so that you could match on custom first, and if multiple songs match on custom, it would then look at the secondary field. I'm okay with adding that solution more than an option to ignore matching titles.

I've had adding an option to combine songs on my TODO list for awhile, I just don't get very many requests for it.

As far as the bluetooth connection issue, I'm not sure why you are seeing that. Does it matter in which order you connect the slaves? Makes me wonder if there are some slight hardware differences with the bluetooth radios...

Mike
Hi Mike,

Thanks for your quick reply Smile

The versioning feature sounds like it could work.  If there is a single entry for each song, would there be some indication that a song has multiple versions when it appears in a collection, set list, or search?

Allowing for a second matching field would work well for me  (the Key field seems like a logical choice to me, but I suppose just a second "custom" field would also work).  It would be great if it was a field that I could enter by batch editing a group of files (for instance, I could tag all of my "Bb" charts at once, all of my "Eb" charts at once, etc.).  While you're at it, it might be helpful to add a third matching field option just in case that would be useful for someone.

I think it's good to have multiple solutions  to offer the most flexibility to users.

Bluetooth connection issues - it doesn't matter what order I connect the slaves.  My second bluetooth tablet is just unreliable connection-wise for some reason.  Perhaps it's hardware as you said.  But at least I found a way around it by rebooting the slave tablet.  I just have to put it into my gig workflow to not try to connect the tablets right before the band has to start playing, or at least to just reboot that tablet as soon as I arrive at the venue.

Brian
Yes, my plan is to allow you to have two different ways of selecting versions for collections/setlists/etc:

1) If you use the role feature (which will be a selection on the library screen to switch roles), then the version of a song used in a setlist/collection/etc is always tied to the active role

2) If no role is used, for each group (setilst, collection, etc), you can choose which version of a song should be loaded.

The song version selected on the Songs tab can be different than what is selected for setlists and such. If a song version has not been selected in a setlist, it will default to using the same version of the song specified on the Songs tab (so you can switch the version of a song used throughout the library at once if needed). 

You can already batch edit songs - long press, tap each one to select it (or use the select all icon in the floating toolbar), then tap the edit action at the top of the screen. It's going to be a little bit before I can add support for matching on a second field, as I really need to get the annotations redesign done. If a lot of users push for getting this added sooner, then I can do so, but at the moment, I can't prioritize it over work that is frequently requested by lots of users.

Mike
OK, thanks Mike! 

I'm not sure I completely follow what you're describing with roles, but as long as it works in conjunction with the Connect Tablets feature and gives me the "transposed slave tablet" functionality I'm looking for, I'll be happy!

Brian
(03-12-2020, 01:38 AM)Zubersoft Wrote: [ -> ]The real solution to this problem is the song versioning and roles feature that I plan on implementing later this year. You'd have just a single entry for the song with multiple versions, and you could specify on your other tablet that it is a "Bb instrument" (you would create that role), and then every time it loaded a song, it would automatically load the Bb version for that song. That's my vision for handling this problem, as it comes up fairly often.

Hi Mike - what happened to this planned feature?  Did it turn into something else that achieves the same thing?

This is exactly the problem I'm planning to resolve.  Do you have any "best practice" guides for setting up MobileSheets Pro with a group of musicians and conductor.  How best to manage the "music library" across all the musicians and their instruments?

I can probably work out a way from scratch eventually, but I would welcome advice on the the best way to setup a MobileSheets Pro network of tablets for:

- Conductor chooses new piece, all musicians get the new piece displayed on their personal tablets appropriate their instrument (e.g. via wifi client/slave connection);
- Librarian wants to add a new piece or set list to each musicians/conductors MobileSheets library from her/his master PC.

Thanks.


--Andrew
The feature is next up after the iOS version is finished, along with things like chord grids for chord pro files. 

I would say, if you have a group like that, use the sync library feature to merge to a cloud folder, and try to only push changes from one master device to keep everything clean. The other devices can pull changes, and optionally not sync things like annotations so each musician can have their own annotations. However, if you need each musician to be able to access a different version of each score, each musician would need to swap out the file in each song for the version they need. The sync feature would only then be able to be used to synchronize new songs, not existing ones, as otherwise you'd get conflicts on each device (change the merge behavior in the sync screen to only merge new songs).

Things are a little suboptimal at the moment for this kind of scenario. The features I've described are really needed for this. You can certainly get by with the current featureset, but as mentioned, there isn't a good way to handle synchronizing changes to existing songs in the library, and each musician wil have to set up their library differently to get the scores they need for their instrument. 

Mike
Hi Andrew. I work with string quartets. The orchestra version of what I do would look like this:
(steps 2-9 need to be done on the same device - possibly a master device kept by the librarian)
1. For each piece, create a PDF with the conductor's score and all the parts
2. In MSP create a custom field for 'instrument' with each instrument as a field
3. Create a separate library for the conductor as well as for each instrument or group of instruments that needs its own set of parts
4. Import the PDF for any piece you're playing into the conductor's library (and set any attributes you use - composer, difficulty, length, pages, cuts, links etc) and set the 'instrument' field to 'conductor'
5. Export the piece as an msf file. Save the msf in a folder outside MSP
6. Switch to the library of one of the instruments that plays the piece
7. Import the msf file into that library. MSP will ask whether you want to use the original file or create a new one - choose the option to use the original. Edit the piece to change the page limits to the right pages for that instrument and change the 'instrument' field to the name of that instrument
8. Repeat 6 & 7 for each instrument needed for that piece
9. Repeat 4-8 for each piece you want available
10. Sync each library on that tablet to any tablet you want to use, as well as to a file online if you want the players to be able to access the libraries from their own devices

If the players use their own tablets then they can create a library for their instrument in their own version of MSP then restore the library from the file for their instrument online. If the players use the orchestra's tablets then you will have all the libraries on each tablet and when a player uses a tablet they just have to select the right library from the settings menu - any player can use any tablet as long as all your tablets have all the libraries.

When you want to play as a group you can either connect via wifi or bluetooth. Wifi is a bit more reliable but also uses more power and needs an external wifi network. The conductor's tablet is the leader and the players' tablets are followers. When you first set up the new group on the conductor's tablet make sure you have the connections settings you want (e.g. select 'match pieces using Title' and  'load pieces and setlists on follower devices' but not 'turn pages on follower devices').

When the conductor loads a piece it will load the same piece on each of the players' tablets (because they have the same title and file name) but it will load their part for that piece because you've limited the 'song' in that library to the pages of the PDF that have the part for that instrument.

Whenever the librarian wants to add a new piece they create a PDF with all the parts and then go through steps 4-10. When the orchestra wants that piece available they can restore it from the online libraries (if they have their own devices) or the librarian can restore the libraries on each device from the master device (for devices kept by the orchestra).

For the conductor's library you can either have the pages limited to the conductor's score, or if you want to have all the instrumental parts available to the conductor then you can set the page limits accordingly. If you're going to do that then it's probably best to make sure that each PDF has the conductor's score at the start.

Hope that helps. Guy
Thanks Mike and Guy - both very helpful replies.

Guy - if you don't mind sharing a little more detail, how do the players connect to the shared databases MSP file?  I assume you use a cloud service like Google - but do you have to buy a subscription for every player?  Or does your librarian have a subscription and simply share the MSP files from her/his subscription to the players - which I think doesn't require a licence?  Thanks.

Mike - Guy's approach looks well thought out, but requires the players to "pull" the updates by using sync to their local tablet.  In the band I'm looking at their are 30 players with mixed technical ability.  I'd much rather have the option "push" updates without them doing anything.  Do you have any suggestion for that?  Thanks.
Hi Andrew. With the cloud services I've used (dropbox and google drive) the players wouldn't need a subscription/licence. The librarian or the orchestra would have an account, that account would come with some free storage, if you need more storage then you'd pay a subscription (i.e. the librarian or orchestra would). There are then a couple of ways to give the players access to the files. The person controlling the account can either create a link to the file/folder (which can then be sent to the players) or can add the players' email addresses to a list of emails associated with the file/folder. In either case the players can then access the files without having to pay for a subscription or licence.

In terms of how the players connect to the files, I find the MSP sync feature works really well. The other option is backup/restore but sync worked better for me.

You might want to think about having the players learn how to use MSP themselves so that they can pull the pieces up from the library rather than having the conductor control their setlist. It's very straightforward and I imagine it would be less hassle than maintaining the connection between the devices, particularly given that you're only likely to need to change pieces a handful of times in a session. If you're worried about the players not being tech savvy then you could manage the settings for them to make it as simple as needed. If you do decide to use the leader/follower connection feature then I imagine you'll need to use wifi rather than bluetooth because I think Mike mentioned that most devices are limited to around half a dozen bluetooth connections but I don't think that limit applies to wifi connections.


Cheers, Guy
Andrew, I was just thinking about your question about pushing updates to the players' devices. I'd been assuming it wouldn't be possible but just realised that it might be.

MSP maintains a file for each piece (the PDF/text file etc that has the music on it) as well as a database which contains the metadata (annotations, attributes etc) for all the pieces plus system settings I think. Usually MSP controls the location of the files and the database but you can choose to control them (unselect 'let MSP manage my files', choose a storage location, then select 'expose database file'). Each player's device could have the storage location for the files and database be, say, a dropbox folder on their device. Your librarian could maintain a device with a separate dropbox folder for each player. The players would have to have dropbox (or whichever cloud storage you use) on their devices but shouldn't need to pay for it because they could use the free storage that comes with the app.

If the librarian wanted to add a piece to a player's device they would just have to make sure the dropbox folder for that player was up to date (so as not to delete their annotations etc), move the files and database from that folder into the storage location on the librarian's device, open MSP and add the piece, close MSP and move the files from the storage location back to the player's dropbox folder (i.e. the one on the librarian's device). The next time the player turned on their device, as long as the dropbox app was on then the new piece would be added to their MSP folder with the updated database and then when MSP is switched on the new piece should be there. 

One complication I can see there is that if the player has made some changes (e.g. put in some fingerings) but hasn't connected to the internet then those changes would be lost when your librarian adds a new piece but that shouldn't be too much of a problem. Orchestras often switch repertoire completely between the last performance of one programme and the start of rehearsals for the next so the updates could be done in that time. If you needed to add a piece after rehearsals have started then you could easily time it to avoid losing the players' changes.

I haven't tried it but it might work, as long as moving the database into a dropbox folder doesn't cause any problems. If you have a couple of devices you could try it our for yourself. Let me know if you need a hand with that. Cheers, Guy