Synthesia 10.9 - Kind of a grab-bag

Archived development update discussion from past versions
Archived development updates.
Locked
Nicholas
Posts: 13170

Post by Nicholas »

Alright, I think I've put most of the 10.8 fires out. So here are some of the high-level goals for Synthesia 10.9:

Sheet music: We're missing a few key tech pieces before we can use the new MusicXML information verbatim. I'd like to add (at least) one per update until there are no more roadblocks. For 10.9, I think it's the ability to draw ties/slurs. I don't consider slurs to be mandatory for the big MusicXML switch-over, but tied notes will look incorrect without the curved splines.

Website: I've got the usual slew of between-releases website updates. Most of them are already done, but I'd like to migrate to Stripe's "hosted checkout" which should enable a handful of additional payment methods.

Recording: The Free Play multi-track recorder should record pedal events, too.

Performance: There are lots (seven or so major) under-the-hood tasks to begin addressing some of the performance embarassments. I do a little of this all the time, but I've been putting off some bigger work for too long. The biggest of these is that having labels (of any kind) enabled during a song shouldn't double frame time!

• Our computers apparently contain lots of (non-MusicXML) .xml files that shouldn't be showing up in the song list. When it finds something with an .xml extension, the scanner should peek inside at the XML doctype to confirm it's actually MusicXML before reporting it found a song.

• There is some mandatory Android 11 work that Google is imposing before I'm allowed to make another update there.

• I'd like to begin migrating one (or more) of Synthesia's old XML-based data files over to SQLite each release. This is careful, tedious work in order to avoid data loss during the migration. But once they've all been switched over, it should finally ensure the oldest bugs in the app (rare data file corruption and all new data from a session lost on crash) will finally be solved.

That's glossing over quite a few items. On the task list, this chunk of work is ~125 lines. (Some of the tasks are finely detailed across a dozen lines, so hopefully we'll see some nice movement on the chart.)

I'll be the first to admit it's not a particularly focused list, but it's got a lot of small steps in the right direction for several of the longer-term efforts.
JimNYC
Posts: 42

Post by JimNYC »

Nicholas wrote: 11-03-21 4:08 pm
Sheet music: We're missing a few key tech pieces before we can use the new MusicXML information verbatim. I'd like to add (at least) one per update until there are no more roadblocks. For 10.9, I think it's the ability to draw ties/slurs. I don't consider slurs to be mandatory for the big MusicXML switch-over, but tied notes will look incorrect without the curved splines.
Thanks for the details. With regards to sheet music improvements in the app itself (stemming from MusicXML support), is the plan to expose some of that to users and make improvements incrementally? Or are you handling technical issues behind the scenes incrementally and then batching the user-facing sheet music improvements together?

Even if it's a limited set of things initially, just getting the notes on the right staff would be a major improvement to sheet music usage. Anything that improves the current sheet music rendering would be appreciated!
Nicholas
Posts: 13170

Post by Nicholas »

Loading MusicXML files was a lot easier than I expected (all the possibilities notwithstanding). So jimhenry's suggestion back in April to get them loading sooner rather than later was a (very!) good one.

The goal posts seemed much farther away before. Now it doesn't seem so bad. So I've started wondering what's missing before I could just add the extra loading steps of generating sheet music glyphs directly from the MusicXML files. There are lots of little things, but the only "absolutely mandatory or the result will be incomprehensible" things I've been able to identify are:
  • Ties.
  • Beaming between more than two notes (and with variable numbers of beams).
  • Having a sheet music measure represent more than one time point (i.e., many-to-one mapping for real-time measures to sheet music measures) for repeats.
That is a short list (even assuming I've forgotten a few things)! On-staff text can wait (though hopefully not for too long). But once that list is complete, it'll just be a matter of tidying up and pulling apart those layers I'd mentioned before: converting the MIDI to sheet music glyphs is a little lumped together with the general glyph flow/layout steps that always have to happen (ledger line generation, decrowding note heads, line justification, pagination, etc.)

So rather than include any half-measures in the meantime, I'd rather beeline to the finish line now that it appears to be much closer! That does mean an all-at-once quality jump, unfortunately. I would have preferred something a little more incremental if only so you guys can have something in your hands sooner since I've been talking about MusicXML since 2016 or something and you've all waited long enough!
monkel
Posts: 199

Post by monkel »

Thanks for the update. It's nice to see technical obstacles being mastered.

I'm looking forward to a point in time where you can find time to consider further tech features secondary and spend some time to review how the app is being used and what people with a teaching / learning focus have to say, how improvements there could bring the user base forward. Examples being better statistics on playing and analysis of error types, some kind of learning path for people who want to improve precision or practice chord variations.
Nicholas
Posts: 13170

Post by Nicholas »

monkel wrote: 11-05-21 5:59 amI'm looking forward to a point in time where you can find time to consider further tech features secondary and spend some time to review how the app is being used and what people with a teaching / learning focus have to say...
You and me both! :lol:

The task list is moving again at a reasonable clip (my kids are finally old enough to be somewhere else during the day; the medical emergencies have settled down; the rest of the world has reached "normal enough" to not impede progress as much; I've already slogged through the least interesting chunks of the task list so it's clear sailing; etc.). But I understand that it's still a pretty long list.

I don't have much else to say here besides "I hope it won't be much longer". The types of things you mentioned have been absent for quite some time.
Locked