Chronotron on ARM and the Chicken and Egg Problem

You may have noticed a number of remarks in the app change log regarding specific improvements on ARM CPUs. Knowing that Chronotron isn’t available for Windows Mobile, what’s the point of those “DSP performance enhancements on ARM”?

The answer is that there are a few Windows laptops and convertibles out there which sport an ARM CPU instead of the more familiar Intel x86 chip, and Chronotron should be able to run on those. For example, the Asus NovaGo, the HP Envy x2 and the recently announced Lenovo Yoga C630 WOS all run full Windows 10 on ARM. And by full, I mean Windows 10, not its Mobile sibling.

I haven’t got my hands yet on a Windows on ARM device I could use for testing and debugging. Currently I rely on the fact that Windows Mobile implements a fair subset of the Windows 10 APIs, so I can run Chronotron on a Lumia 950 phone – which happens to have the same kind of CPU – to perform limited testing and performance optimizations.

This means that I presume the app runs well on Windows on ARM devices, but until I could actually acquire one (they aren’t generally available here in Europe as of this writing), I won’t be able to tell for sure.

It’s not that I haven’t tried, though. I contacted the regional Asus distributor to get a test unit. At the time they didn’t have a review unit yet; however, they told me that once they got one, it would be sent first to tech magazines and websites. This is unfortunate for me, though understandable.

Another thing I did was submitting a suggestion to the Microsoft Developer Rewards Portal about issuing a few perks for developers porting their apps to Windows on ARM. After all, if Microsoft really wanted to incentivize developers to port their apps, the portal would be the place to facilitate early access to the platform. No reaction so far.

There’s also the software side of things. Some tech websites tell you that porting an app to ARM is “as easy as recompiling”, which is not entirely true. For example, Microsoft forgot to enable one of the components of the Windows SDK for the ARM64 target (namely Microsoft.Midi.GmDls), so apps using that specific component can’t just be compiled for 64-bit ARM.

Developers of apps that rely on advanced CPU features and multithreading – like video games and media players – face enough significant differences between the x86 and the ARM architectures to justify serious testing on each. Also, let’s not forget that there are also compiler bugs that surface only when targeting certain CPU architectures.

Going back to the original question in this post, I share the enthusiasm around Windows 10 on ARM: getting Chronotron ready for when such hardware becomes mainstream reflects my endorsement as developer. At the current level of Microsoft involvement, though, it looks like this will take a long time.

The situation I describe above is often referred to as the chicken and egg problem: a platform success depends on apps being developed for it, but there won’t be many apps developed for a platform that isn’t widely available.

Until then, Chronotron on ARM is a chicken hatching from a dinosaur’s egg.

Everyday Chronotron

I’ve been using Chronotron as my daily driver since Release 43, when it first supported playlists.

Even though Chronotron main purpose is to deconstruct tunes – audio and video material in general – and to assist musicians while they practice an instrument, the app has evolved over the years to become an all-rounder media player as well.

Having the developer spend more time testing the app is a good thing, but I also find myself using it regularly because Chronotron fits my own casual usage: I often play a lot of music and videos in sequence on a touchscreen-enabled laptop.

One killer app feature, at least when it comes to playlists, is the ability to apply different parameters – tempo, key, equalizer, etc. – to each individual track. You could, for example, play the same song multiple times at a different pace. And let’s not forget video! You could pump the brightness of those dark Michal Jackson videos a bit up, while playing all other clips in the playlist at the default setting.

As a lesser-known bonus, Chronotron lets you decide which parameters are specific to a playlist item, and which ones apply to the playlist as a whole. After all, you may want to play all video clips in your playlist mirrored without having to toggle the Horizontal Flip switch on every single track.

You do this via the Settings pane, as shown below.

All are unchecked by default, which means that each playlist item will remember its own settings for each parameter, but you can check the ones that will be remembered for the whole playlist regardless of the track (like Video Flip in the example above).

While there are a couple of features you might miss if you’re a Winamp nostalgic – gapless playback is one that comes to mind – Chronotron is still a capable media player.

Do you use Chronotron as your regular player? If not, what features prevent you from doing so? Let me know in the Comments section below.