musicguru /

Filename Size Date modified Message
hsdocgen [3b5f26be5107]
hsfs [fd1e339f55df]
hsmedia [e84d2e85aaae]
hsutil [971c3a939046]
qtlib [b76d7169cefd]
252 B
199 B
240 B
1.7 KB
2.7 KB
2.8 KB
1.2 KB
1.0 KB
845 B

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

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.
- hsdocgen: An ad-hoc document generation used across HS project (used for help files)
- 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 (
- Mako, to generate help files. (
- PyYaml, for help files and the build system. (
- Nose, to run unit tests. (

OS X prerequisites

- XCode 3.1 (
- Sparkle (
- PyObjC. Although Tiger support has been dropped with musicGuru 1.7, I still use PyObjC 1.4 because funky stuff happens with newer releases. However, it's mostly related to packaging with py2app. (
- py2app (

Windows prerequisites

- PyQt 4.6 (
- PyInstaller, if you want to build a exe. You don't need it if you just want to run musicGuru. (
- Advanced Installer, if you want to build the installer file. (

Building musicGuru

First, make sure you meet the dependencies listed in the section above. Then you need to configure your build with:

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 --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:


If you want to create ready-to-upload package, run: