MIDI File Export... Not So Fast!

So I have looked a bit more into bringing MIDI file export to Sputter. This could be very useful, making it possible to use Sputter as an on-the-go drafting tool. This summer I have been reading up on and implementing code for the MIDI file format. This has gone really well. By this point it is a quite old and simple format, so writing the code for it was quite easy.

Sputter 1.1.4 Released, MIDI Export in the Works

Yesterday Sputter 1.1.4 was made public on Google Play. This release fixes some cringeworthy glitches in the UI, as well as an attempted fix for file export issues. Additionally I am happy to report that work on MIDI file export has finally begun. This has been a frequently requested feature, and would make Sputter become a decent on-the-go sketching tool for ideas to bring back home to a fully featured DAW.

What Is the Current Instrument in Sputter?

Initially I had intended to implement a feature suggested by several users, which I also sometimes feel the need for when using Sputter: Highlighting the currently “active” instrument, something like this: My first thought was that this would not make 100% sense since after making a change to the “current” instrument, like adjusting ADSR, you are not strictly speaking on that specific instrument any longer since it has been altered. The solution proposed from a user was to mark it as “edited”, something like this:

Sputter 1.1.3 Released

At last, the changes made to Sputter during the last 10 months has been made public in the form of version 1.1.3! The planned automatic detection of output latency for both bluetooth and internal speakers has boiled down to a settings screen where it can be set quite easily, although manually, like this: Later I am planning on porting the audio engine of Sputter to the Oboe library, which will allow for lower output latency, possibly also for bluetooth.

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.

Bluetooth: The good, the Bad and the Compromise

After a lot of messing around an researching the issue, it seems like automatically determining latency for bluetooth audio is a long shot. Not only is it hard to determine the latency, but it seems like it can vary during a session too. Various other sequencers I have tried do not seem to attempt to do this. Nevertheless, I think there should be an option for adjusting this manually, in a user friendly and simple way.

Sputter 1.1.1 Released

Finally, after way too much refactoring, experimenting and re-thinking, Sputter 1.1.1 finally went out the door to Google Play today. This release will probably seems quite subtle to most users, with the movement of the playhead indicator being the only visible change. However, this will pave way for better A/V sync with regards to audio latency, which will be tackled in a forthcoming release. If Sputter is going to live a long and healthy life, it is crucial that a good foundation is layed and we don’t end up with an unrecoverable mess.

Sputter 1.1.1-beta2 (and beta1) Released

Sputter 1.1.1-beta1 was released today. Within hours I discovered several bugs which I was able to fix, so I uploaded an additional beta2. At the time of writing beta2 is still under review by Google Play, but I assume it will be available shortly. The plan for me going forward is to attempt to make another demo tune and video. The smoothly moving playhead indicator brings a quite improved look and feel to the app, so this should be showcased in the video on the Google Play product page.

Sputter 1.1.1-alpha1 Released to Internal Testers

After way too long of a development period, I am finally releasing Sputter 1.1.1-alpha1 to internal testers on Google Play. As you already know if you have been reading this blog, this version features a smooth moving playhead as opposed to the current stable version which moves 1/16th at a time. This makes for a much nicer visual look, and allows for forthcoming improved A/V sync. There will probably be a couple of bugs, but possibly less crashes than on the current stable version.

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):