Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!


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

- 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 3.1 (
- hsaudiotag3k 1.1.1 (
- jobprogress (
- PyYaml, for help files and the build system. (
- Markdown, for help files. (
- py.test 2.0, to run unit tests. (

OS X prerequisites

- XCode 3.1 (
- Sparkle (
- PyObjC 2.3. (
- py2app 0.5.4 (

Windows prerequisites

- PyQt 4.6 (
- cx_Freeze, 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:


Recent activity

Virgil Dupras

Commits by Virgil Dupras were pushed to hsoft/musicguru

e0aa584 - Modernized codebase to adapt to the latest changes in hscommon. Fixed imports (hsutil --> hscommon, hscommon.job --> jobprogress), converted changelog format.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.