Sputter 1.1.2: A Dumb Release
Some days ago, this crash report was sent to my Google Play Developer Console:
For those not in the know it basically means that the UI is requesting a sequence position which does not exist in the sequencer logic. This was not unheard of before the great refactoring, but I thought I had taken care of it and that it couldn’t really happen anymore.
I first thought this was caused by some unlikely but possible condition in which two or more threads do operations on the same data in parallel. That is a classic case in software in general, but I did not find anywhere where it seemed likely to happen.
Upon further inspection I discovered that it is (was) in fact possible to lock the sequencer to an invalid position, by longpressing one of the unpopulated slots in the timeline:
When a position is locked the sequencer immediately jumps to that position, and in this case there is nothing there so that will make the app crash. I must admit I had forgot that it was even possible to lock a sequence position by longpressing like that. It is also missing from the help slides.
I guess this must be the dumbest mistake in the development of Sputter so far. Please update to version 1.1.2 now available on Google Play to escape this mess.