4champ is an app that provides a mobile interface to Amiga Music Preservation database on iOS devices
Back in May 2012 I quite abruptly found myself without a project when my customer then decided to pull the plug on a whole platform development program. I had been working mostly with QT/QML on mobile linux and Symbian platforms, but there was no new projects in the radar for the time being on those platforms. So I decided to get familiar with something new, namely iOS. I wanted to learn with a project that would be fun to work with, and the idea to create a mod player for iOS came to me pretty quickly. It took a couple of weeks to create the first rough bare bones version that never got published, but was already capable of downloading modules from amp.dascene.net and playing them back with Bass audio library.
After getting aqcuianted with Objective-C and iOS I quite promtply got involved a customer project and the development mode for 4champ changed to a leisure time project. Thus it took almost a year to get the 1.0 version published in AppStore in April 2013. By then, I had ditched the Bass library in favor of libmodplug, as it was free and supported more module formats.
During the app development, Boogie Software Hackfests have been essential in getting the new features pushed, as these 3-day trips to the countryside with geek colleagues really help getting things done at least to a certain level. Looking at the git commit history of the original repository the hackfest weekends show pretty clearly.
Initial release. This version had composer and module name search, and you mark your favorite mods once downloaded.
Search in local modules, search groups in amp.dascene.net, multiple playlists.
Minor update with STK format support added, and some graphical enhancements
4champ radio introduced (random playback from the full amp.dascene.net catalog). AFAIK 4champ was the first iOS mod player app to have this kind of feature.
Module sharing implemented, i.e. users can share what they are listening to Twitter/Facebook etc. I have been using this quite a bit myself on my @4champ_app twitter account, and occasionally I’ve seen some others use it too!
Added New in AMP radio channel that enables playback of the most recently added tunes. Local notification implemented that shows the number of new mods available in amp.dascene.net. First 64-bit version of the app.
Added analytics to the project to gain some insights about users, operating system related changes.
In-app settings added for controlling playback settings and some other things. Shuffle mode added to playlists.
Localisation added in six languages (en, fi, dk, no, de, ru). App rating dialog added.
First version to support download of all modules by a composer in one go.
The Assembly 2015 release (out just before ASM2015 which was the first Assembly I participated after my teens!). Now playing view added to the player (see module sample texts while playing). This was also the first version where the background play feature was no longer an in-app purchase, but free for all users.
After August 2015 I have done a whole lot:
When I was about to publish all this, my app review seemed to take unusually long. After a couple of weeks I asked the review team what was going on, and got a response that there’s some issues yet to be checked and they’d come back to me soon. And so they did, with a rejection. A lengthy correspondence with Apple Review and Amiga Music Preservation staff followed, but eventually I decided to give it a rest and removed the app from store. Read the whole story: Why I removed 4champ from AppStore.
In the year 2020 I have managed to finalise two things needed to get the app back into App Store.
The application is in Testflight Beta as of Easter 2020. I’m anticipating an app store within a couple of weeks.
First public release since 2015! Hooray!
Small update to enable app reviews.
Adopted Swift Package Manager.
Support for importing module files from local file system / network drive / cloud.
Radio session play history added to enable moving back in the session.
UADE player integration
Update UADE library with PRT (PreTracker) support.
Fourth channel (custom) added to 4champ radio.
New music visualizer added - you can select either the channelbars or amplitude graph from the top right button on the Now playing view.