Oh, and since 1.13 Audiobook Binder got new logo. Using iPod nano image violated Apple’s policy sop in order to get new version approved in App Store previous logo has been changed.
1.14 is out. Usually it takes more time to prepare release, but I thought several fixes for crash-bugs worth to be released early. Changes:
- Stability fixes (application no longer crashes on drag’n'drop)
- Try to guess author/title when files are dragged on window
- Add dock icon progress bar that displays overall progress
- Fix abbinder crash
And again I neglected task of announcing new release. Good thing that we have Sparkle framework and Mac App Store to deliver news about new versions to user. So… As you might know Audiobook Binder 1.13 hit the shelves: what’s new and exciting?
First of all – Italian translation. Thanks to Vainer Broccoli, member of universalaccess.it team, Audiobook Binder now parla italiano. Thank you, Vainer.
Then – more columns for file list. In addition to filename user can add new columns to the file list table by right-clicking or Ctrl-clicking on table header. Just like in iTunes or Mail.app. Also it’s possible to sort files by column values.
Minor improvement – application will try to guess author and title based on audiofiles ID3 tags. But only if user hasn’t filled them out before adding files.
One more minor improvement – now it’s possible to disable splitting long audiobooks in volumes. Just slide “Max volume length” to the rightmost position.
Looks like that’s it for now.
I work with *huge* CVS repository on daily basis and must tell you it’s no fun. No fun at all. So couple of weeks ago I decided to create a git mirror. Preliminary research yielded two tools: cvs2git and git-cvsimport. cvs2git required filesystem access to full repository, so it was out and that left me with git-cvsimport. git-cvsimport uses cvsps inorder to It bailed out on me having exhausted 32-bit virtual space with as much as “Segmentation fault” message. 64-bit OS had been installed for cvsimport purpose but after couple of hours of high HDD activity the result was some cryptic error message and cvsimport refused to go further.
At that point I decided that it shouldn’t be that hard to parse “cvs rlog” output and generate patchsets for cvsimport. It’s just plain text file(though relatively large) after all. So I went for it. Few days later script was ready. After some testing and cosmetic improvements it was good enough for public: repository on github.
Recently Apple had made some changes to its AppStore which rendered script useless. A little bit of tinkering and it works again
After major redesign MLSwitcher 1.0 is available for download.
- Windows-style (modifiers-only) shortcuts have been changed for mac-style ones
- Start on login option has been added
- It’s possible now to hide icon in menu bar
- Preferences are accessible by relaunching application
Update: XCS2: next generation of XCS
One of the most irritating flaws of Xcode is lack of proper command-line tools for project file management. There is no easy way to add file to project or remove them from command line. Of course, it’s impossible to develop Cocoa application in SSH session , but working on a utility or framework if you stuck with PC and have a couple hours to waste would be nice. And I thought of coding such tools myself.
This idea was on the back burner for awhile but then on stackoverflow I stumbled across question about Xcode automation using applescript. That was it: pieces fell into place. Several days of experiments and tinkering with rb-appscript and here it is: xcs. In order to save time Thor was used to a dirty job of options parsing.
xcs provides minimal set of tasks required to modify xcode project from command line: create/remove file group, add file to group, remove file, list project content. That’s pretty much what I wanted from this kind of tool. Help output looks like this:
% thor xcs:help Tasks: thor xcs:add File [Group] # Add file to a group. By default adds to "Source" thor xcs:help [TASK] # Describe available tasks or one specific task thor xcs:list [--verbose] # List project contents thor xcs:mkgroup Group # Create new subgroup in root group thor xcs:rm Group/File # Remove file reference from a project thor xcs:rmgroup Group # Remove Group
Generic session is something like:
%thor xcs:list Using /Users/gonzo/Projects/EPUBToolkit/EPUBToolkit.xcodeproj EPUBToolkit/ EPUBFile.h EPUBFile.m Source/ main.m Documentation/ EPUBToolkit.1 Products/ EPUBToolkit Frameworks/ Foundation.framework Other Sources/ EPUBToolkit-Prefix.pch % echo '#import "Foo.h"' > Foo.m % thor xcs:mkgroup FooSources % thor xcs:add Foo.m FooSources
Further documentation available on github
The most inconvenient thing in App Store for me as a developer is inability to get notifications about user reviews by email. Moreover in iTunes Connect there is no way to get user reviews from all markets on one page: developer has to select all markets one by one in order to get latest comments. And to make things even worse: some users leave bug reports or feature requests in reviews. It would be very unfortunate to lose this kind of feedback.
So I spent couple of hours and coded a small script that scraps all available markets in App Stores for new user reviews and sends notifications to your email. It’s supposed to be ran periodically (e.g. by cron). All the gory details are explained in this excelent blog post.
You can get the script from my random-stuff github repo, it’s called appstorereviews.rb.