Alpha Anywhere in Practice: Spartito Music App
Spartito is an app for scrolling sheet music. As is usually the case, this app was created to solve a problem.
Here’s the story.
I play the piano. I am classically trained and started playing at an age I can’t recall now. My family didn’t actually have a piano but I took lessons anyway… and brought home a cardboard keyboard which unfolded to reveal 88 keys upon which I would practice… very quietly. I think this went on for about a year.
My father announced one day that we were getting a piano from a neighbour who was moving. It was a full upright which means it has a full grand harp. It was crafted by The Newcombe Piano Company of Toronto in 1906 and was around 57 years old the first time I saw it, cost $100, and it was magnificent. It’s been with me all my life and currently sits in my living room.
Now… this piano has a very wide area upon which to lay out sheet music. But it’s not quite wide enough for the 8 pages of Nuvole Bianche, a brilliant piece written by Ludovilo Einaudi. I first encountered this piece while watching an excellent British show a few years ago… Derek. Nuvole Bianche was used as the theme. I had to learn it… so I found it, bought it (I think) and printed it.
I realized early only that this beautiful piece of music did not allow a performer to take their hands off the keyboard. Usually, most music, will allow some brief amount of time to turn a page. Not so here. Not only couldn’t I see all pages at once but I didn’t have time to grab pages either. Since I’d been looking to do something for myself with Alpha Anywhere I created Spartito… Italian for “Sheet Music”.
Spartito uses 3 List controls:
Music List : a list of all the music pieces in the app
Pages List : pages of music within a piece along with their details
Music Sheets : Images of each page
The 3 Lists are fed by 2 tables in a SQLite database housed within the app. You add music by getting PNG images to your device and importing them into Spartito.
In the Detail View of the Music Sheets you give each page an amount of time for playing. As each page image is displayed a countdown timer shows and as it gets close to zero the page starts to scroll up. The List control is perfect for this as it allows me to specify exactly how fast, or slow, each page scrolls. As scrolling takes place I can continue playing and also see what’s coming up to play on the next page.
There are lots of options involved in all this. Sheet Music Title, Composer, Image, Time, Page # etc. I wanted a really, really nice way of adding data. I wasn’t happy with anything I’d created so far… but lived with it. Then Selwyn release the ControlBar… and I had to replace all my Panel Headers. I had no choice… the ControlBar was perfect.
Disclosures sliding in from everywhere, collecting data, showing options. ControlBars changing from Play to Pause, Pause to Stop, Stop to Play… beautiful.
Overall, it’s a fairly straight forward app. But it utilizes features of Alpha that are perfect for this type of application. It’s completely stand-alone, includes a SQLite database, allows full control over scrolling, Disclosures and multiple ControlBar Layouts make the app look good, and, because it’s a PhoneGap Build App I get to include an option for AirTurn PED.
AirTurn PED is a Hands-Free Bluetooth Controller. Typically, it sits on the floor and you tap one of its 2 pedals with your foot in order to scroll music up or down a page. AirTurn offers a PhoneGap plugin which I then modified a bit for use with PhoneGap Build.
I can now play all 8 pages of Nuvole Bianche without stopping… on an App I created with Alpha Anywhere and which was accepted into the Apple App Store and Google Play Store. Very cool.
Guest Post by David Kates, Owner of Adjustable Software and an Alpha Anywhere developer.