Contents
=====
This package contains the source for musicGuru. To learns how to build it, refer to the "Build musicGuru" section. Below is the description of the various subfolders:
- core: Contains the core logic code for musicGuru. It's Python code written in TDD style.
- cocoa: UI code for the Cocoa toolkit. It's Objective-C code.
- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt. Before redistributing changes in this part of the code, read the "qt/WARNING" file.
- images: Images used by the different UI codebases.
- data: Data used by the different UI codebases.
- currency_server: Code used for currency.hardcoded.net
There are also other sub-folder that comes from external repositories (automatically checked out
with svn:externals):
- hsutil: A collection of helpers used across HS applications.
- hscommon: Code common to HS apps, yet not common enough to be called "hsutil"
- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications.
- qtlib: A collection of helpers used across Qt UI codebases of HS applications.
musicGuru Dependencies
=====
Before being able to build musicGuru, a few dependencies have to be installed:
General dependencies
-----
- Python 2.6 (http://www.python.org)
- hsutil 1.0.2 (http://hg.hardcoded.net/hsutil)
- PyYaml, for help files and the build system. (http://pyyaml.org/)
- Markdown, for help files. (http://www.freewisdom.org/projects/python-markdown/)
- py.test, to run unit tests. (http://codespeak.net/py/dist/test/)
OS X prerequisites
-----
- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
- Sparkle (http://sparkle.andymatuschak.org/)
- PyObjC 2.3. (http://pyobjc.sourceforge.net/)
- py2app 0.5.4 (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)
Windows prerequisites
---
- PyQt 4.6 (http://www.riverbankcomputing.co.uk/news)
- cx_Freeze, if you want to build a exe. You don’t need it if you just want to run musicGuru. (http://cx-freeze.sourceforge.net/)
- Advanced Installer, if you want to build the installer file. (http://www.advancedinstaller.com/)
Building musicGuru
=====
First, make sure you meet the dependencies listed in the section above. Then you need to configure your build with:
python configure.py
If you want, you can specify a UI to use with the `--ui` option. So, if you want to build musicGuru with Qt on OS X, then you have to type `python configure.py --ui=qt`. You can also use the `--dev` flag to indicate a dev build (it will build `mg_cocoa.plugin` in alias mode).
Then, just build the thing and then run it with:
python build.py
python run.py
If you want to create ready-to-upload package, run:
python package.py