Sputter: Another Update

In the last post I mentioned I did not want to post updates unless there is something substantial to report like a new version. Quite a while has gone since then and no new updates has been made to Sputter, so I thought a status update would be appropriate in any case.

First and foremost, there has been significant progress in making the playhead move smoothly. Here is a video showing the current working revision (sorry about lack of sound):

Personally I think the app looks and feels massively nicer and more professional now, even with this being just a superficial improvement. The reason for this change, though, is more than a cooler look. It will also allow for audio latency compensation. In other words, displaying the playhead relative to the latency of the audio being played in the speakers. Most video players does this, which is useful for example if you are watching a video with bluetooth headphones to sync the video and audio. It will also be beneficial for users of phones with high audio latency.

Per now I have the smooth moving playhead pretty much working, but there still are some inconsistencies with regards to how position data is handled. For example, where to display the playhead when the user has deleted a pattern or group which the playhead is currently on. In the current production version it will simply jump to where the sequencer logic puts it after the delete operation, but we have to keep in mind that we are displaying the position of where the sequencer logic was, not where it currently is. This is especially relevant in situations with high audio latency.

I am a bit unsure wether to release the version I am currently working to internal testing or maybe as a beta. It still has some bugs, but it is mostly working fine. Today I have been sketching out some ideas which likely will fix the remaining issues and make the code less convoluted and more consistent. We’ll see if there will be a new test/beta version next week or not. In any case, it will not be far off.