Archives For Uncategorized

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.

Like this:

Looks like that’s it for now.

SlapAMac sources are now available on github. Something I wanted to do it for a while but never had time for. ToDo list is one item shorter.

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

You can grab it on this site or get from Mac AppStore

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.

Good news! Audiobook Binder has been approved for Mac App Store. You can get it here

Audiobook Binder 1.12

January 31, 2011 — Leave a comment

Released v1.12 of Audiobook binder. No significant changes except Norwegian localization provided by John André Netland, www.a-pro-studio.no. The more (languages) the merrier :)

The rest of changes are minor improvements and bugfixes:

  • Do not convert cover image format if it’s not really necessary
  • Do not resize cover image in order to have better-looking artwork on iPad
  • Play button now acts properly when resizing window (technically it was in 1.11 release, but I didn’t announce it)