App Crash on iPad
When describing problems, always mention your OS and game version (shown at the bottom of the title screen).
If your keyboard has USB or MIDI ports, there is a tremendously high chance (>99%) it will work with Synthesia. See what you'll need on the keyboards page.
If your keyboard has USB or MIDI ports, there is a tremendously high chance (>99%) it will work with Synthesia. See what you'll need on the keyboards page.
This issue occurs both playing and perusing through the songs.
If you double tap on the song, then double tap to start practice, then realise the song is too hard so tap back, then tap songs.
Do this like 5~10 times in a row, the app crashes and all saved progressed is lost.
EDIT: v10.6.1.5337
Music Input = touchscreen keyboard 88key off and casio usb-midi 61key on
Music Output = off and off
If you double tap on the song, then double tap to start practice, then realise the song is too hard so tap back, then tap songs.
Do this like 5~10 times in a row, the app crashes and all saved progressed is lost.
EDIT: v10.6.1.5337
Music Input = touchscreen keyboard 88key off and casio usb-midi 61key on
Music Output = off and off
This sounds like the same thing that's plaguing the latest Android build, too.
It's in the most inexplicable place. One of those things that should never be able to crash. Like... the code isn't even really doing anything at the point where it's having trouble. In any event, hopefully I'll be able to track this down in the next couple days. Sorry again for the inconvenience!
It's in the most inexplicable place. One of those things that should never be able to crash. Like... the code isn't even really doing anything at the point where it's having trouble. In any event, hopefully I'll be able to track this down in the next couple days. Sorry again for the inconvenience!
Curiously, this is starting to look like one of those horrible bugs that programmers tell like ghost stories around the campfire: it doesn't seem to occur in "debug mode" (which is the way a programmer generally works 95% or more of the time) but it does in "release mode", where the compiler optimizes the code even further.
When the only difference between the bug occurring and not occurring is which of the (totally opaque) optimizations the compiler decided it might be able to employ on your source code, it can often be next to impossible to track down what's going on. The last time this happened (in 2012, while developing the more robust UI system for the not-yet-released iPad version), sometimes tapping a button (any button on any screen at about a 1% chance) would cause the app to crash. But only in release mode. My solution at the time was to simply turn off optimizations in Release mode until I eventually tore out the whole button event-notification handler code and rewrote it from the ground up.
Following the old advice, I started trying to track this down by spending a couple hours adding a small Lua scripting component to the app. (This is exactly the type of thing that Lua is for.) From there it only took five lines of script to tell the app to "exercise" itself: from the title screen press enter 3 times, then press escape 3 times. That makes it all the way into a song and all the way back out to the title screen. Then, I had it repeat that 50 times, fast enough that I could run the test in under two minutes.
No crash.
Trying each run of fifty attempts more than a dozen times now (in debug mode), still no crash. On any platform.
Then it was Christmas.
My next test will be in release mode. Then we'll see if it's compiler optimizations causing the trouble. The bad news is that tracking crashes down in release mode is usually about as easy as it is from the crash dumps I've already seen for this problem.
When the only difference between the bug occurring and not occurring is which of the (totally opaque) optimizations the compiler decided it might be able to employ on your source code, it can often be next to impossible to track down what's going on. The last time this happened (in 2012, while developing the more robust UI system for the not-yet-released iPad version), sometimes tapping a button (any button on any screen at about a 1% chance) would cause the app to crash. But only in release mode. My solution at the time was to simply turn off optimizations in Release mode until I eventually tore out the whole button event-notification handler code and rewrote it from the ground up.
Following the old advice, I started trying to track this down by spending a couple hours adding a small Lua scripting component to the app. (This is exactly the type of thing that Lua is for.) From there it only took five lines of script to tell the app to "exercise" itself: from the title screen press enter 3 times, then press escape 3 times. That makes it all the way into a song and all the way back out to the title screen. Then, I had it repeat that 50 times, fast enough that I could run the test in under two minutes.
No crash.
Trying each run of fifty attempts more than a dozen times now (in debug mode), still no crash. On any platform.
Then it was Christmas.
My next test will be in release mode. Then we'll see if it's compiler optimizations causing the trouble. The bad news is that tracking crashes down in release mode is usually about as easy as it is from the crash dumps I've already seen for this problem.