It took a lot of time & effort but it was a necessary step and I’m happy with how it went.
Generally I wanted to keep the app working at the end of each programming session. I started with a few refactorings of the Objective-C code that I knew would make things easier later. Then I rewrote the smaller components and worked my way up to the main view controllers. Those took the most effort and multiple nights to complete.
In the iOS app, there are about 300 lines of Objective-C left, which I’m probably going to keep. They make interfacing with the C-based HTTP server a bit easier. I got rid of the C++ HTML templating code and replaced it with a simpler Swift version because it’s easier to integrate with the rest of the new code base.
The Mac app is 100% Swift, plain and simple. It felt quite nice completing the last bit and deleting all the @objc attributes.
I’m currently testing both apps, looking for regressions. The first release based on this new codebase probably won’t contain any major user-facing changes. However, the rewrite opens the door to new features and performance & reliability improvements in the future.
Tiny Player for Mac version 1.4.3 is out now. This update brings back the flat icon, adds ability to click right time indicator to toggle remaining/total track time and 1 bugfix.
Tiny Player for Mac version 1.4.2 is out now. This update brings a new design for the “empty playlist” area and 2 bugfixes.
Tiny Player for Mac version 1.4.0 is out now. This update brings cover art in the main window. Use the horizontal split divider above the playlist to adjust.
Drag the divider all the way down to collapse the playlist completely and show just the playback controls and cover art.
And of course going 100% tiny is still an option, too.
Tiny Player for Mac version 1.3.0 is out now. This update brings the following improvements:
- Control center and media keys support
- Customization of displayed track information
- Fix sorting of files dropped on Dock icon
- Winamp-style keyboard shortcuts (ZXCVB)
- Drag playlist items into other apps as files
See the full changelog for more details.
UPDATE: version 1.3.5 is out now with some fixes.
Tiny Player for Mac version 1.2.13 is out now. This update brings the following improvements:
- Optimized for Apple Silicon Macs
- Big Sur style icon