Permalink
Browse files

Initial open source release

Based on the code for the 4.5.2 release, with the serial number system
ripped out and some third party code (the Growl framework) that can be
obtained elsewhere removed.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
  • Loading branch information...
0 parents commit d98f2d463d8c86039a11fefaa65248abc00563e5 @wincent committed Feb 26, 2012
Showing 559 changed files with 205,804 additions and 0 deletions.
@@ -0,0 +1,6 @@
+index
+com.wincent.buildtools.gitrev.h
+*.temp
+*.bak
+
+*.lyx~
@@ -0,0 +1,6 @@
+[submodule "buildtools"]
+ path = buildtools
+ url = git://git.wincent.com/buildtools.git
+[submodule "WOPublic"]
+ path = WOPublic
+ url = git://git.wincent.com/WOPublic.git
@@ -0,0 +1,22 @@
+Copyright 2002-2012 Wincent Colaiuta. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,55 @@
+Synergy
+=======
+
+ The lightweight iTunes controller for Mac OS X
+ https://wincent.com/products/synergy/
+
+ Control iTunes from any application using hot keys, an always-available global
+ menu, or attractive, unobtrusive buttons in your menu bar. Get instant
+ feedback with transparent overlay windows. Enjoy "scrobbling" integration with
+ last.fm and cover art downloads from amazon.com.
+
+About the open source release
+-----------------------------
+
+Synergy was originally released in November 2002, and over the years has
+received many updates. Due to competing demands on my time, the release rate
+slowed down as the years went on, and at the time of writing, the last release
+was version 4.5.2, on February 1, 2011.
+
+In March 2011 I started a new job building the world's largest platform for
+collective action at Causes (http://www.causes.com/).
+
+I've realized that this means that in the immediate future Synergy is unlikely
+to get the attention from me that it deserves, yet people still use it and would
+like to see development work to continue.
+
+The simplest way to make that possible is to open source the project. This isn't
+just a means to keep the project alive; I strongly believe that open source is
+the right way to do software development and in the future it will be the only
+way that seriously-taken software is developed.
+
+The source code is now BSD licensed. The initial source code release is based
+off the code that was used to build version 4.5.2, minus the serial number code
+and third-party code (such as a local copy of the Growl framework) which I did
+not want to distribute. I'm hoping this will be just the first of several such
+open source releases that I can make in the near future.
+
+Synergy will still be available for download and purchase on wincent.com. Maybe
+in the future my circumstances will change and I'll be able to fully re-enter
+the world of Mac OS X development, in which case I'd like to work on getting
+Synergy into Apple's App Store.
+
+In any case, here's the code, in all its shameful glory. This was the first time
+I'd written a piece of software that went beyond a pet project. Looking back at
+it now, I truly shudder at some of the ghastly code I wrote while I was learning
+C, learning Objective-C, learning Apple's APIs, learning object-oriented
+programming, design patterns etc, all at once. Some of this stuff, particularly
+the files and methods that were written earlier on, is truly cringe-worthy and
+would not look out of place on thedailywtf.com.
+
+On the other hand, looking back on it makes me realize how much I've grown as a
+developer over the last ten years. Its been an amazing ride.
+
+Wincent Colaiuta
+February 25, 2012
@@ -0,0 +1,30 @@
+require 'pathname'
+
+def release_version
+ return @release_version if @release_version
+ version_file = Pathname.new('WOSynergy_Version.h').read
+ version_line = version_file.lines.find do |line|
+ line =~ /\A#define\s+WO_INFO_PLIST_VERSION\s+(.+)\s*\z/
+ end or raise "could not find version number"
+ @release_version = $~[1]
+end
+
+desc 'create a Git tag for the current build'
+task :tag do
+ if release_version=~ /\+\z/
+ raise "refusing to tag intermediate (not official release) version " +
+ "(version number '#{release_version}' ends in '+')"
+ else
+ sh "./tag-release.sh #{release_version}"
+ end
+end
+
+desc 'upload the current build to Amazon S3'
+task :upload do
+ sh 'aws put ' +
+ "s3.wincent.com/synergy/releases/synergy-#{release_version}.zip " +
+ "../../build/Release/synergy-#{release_version}.zip"
+ sh 'aws put ' +
+ "s3.wincent.com/synergy/releases/synergy-#{release_version}.zip?acl " +
+ '--public'
+end
@@ -0,0 +1,4 @@
+*.mode1*
+*.pbxuser
+!default.pbxuser
+
Oops, something went wrong.

0 comments on commit d98f2d4

Please sign in to comment.