Getting Started Hacking

Okay guys, with the help of some people on this forum a couple weeks ago I managed to compile Audacity 2.0.4 on windows. Now the real work has begun and I have spent many hours pouring through source code and documentation on the wiki and wherever links have led me. I searched this forum to no avail as well (sorry if I missed something).

So here is what I ask: Can somebody lead me to a breakdown of the source code, or give me some leads as to where to start.

My project involves wiring audacity up to a website that will host tracks for editing. Editing tracks will require authentication with our website. We are hoping to make some small UI changes as well to accommodate new features.

I would first like to make the authentication work (looking to release this feature by February). I would appreciate any help anyone could offer.

a website that will host tracks for editing.

Does this mean the track is on a server in Philadelphia but the person editing is in San Francisco?

Audacity doesn’t “know” about network delays. Most attempts at split editing like that don’t work very well – even if you have terrifically good control over each end. Did someone say you could do this by tweaking the code?


Yes this is what I mean. I do not want to do editing in real-time but will offer a sort of check-out system like SVN or Git.

Nobody has said anything about the possibility of this, I know it is a very ambitious project, but I am part of a very ambitious team.

The goal is to have the site open tracks in audacity, use either a popup window or eventually UI based login/authentication then allow the user to edit tracks he/she has access to.

Do you think this is possible? I understand that it wont be easy.

Is the idea to have Audacity running on your server with the GUI showing up in the user’s browser? If so, this will be a LOT of work. Audacity is very sensitive to mouse position and cursor location, things like dragging to select and the visual snap guide are examples.

I have not looked at this section of the code but it might be possible to start by converting the Audacity Project window so that it uses a wxWidgets HTML window.

This is that project, but the architecture has changed. We gave up on processing on a server due to cost constraints and power constraints. Now the goal is to essentially hold a database for completed songs and something like a repository for incomplete(unpublished) songs. Our modified audacity will be downloaded by the user (with proper credits) and songs will be downloaded or cached for edit in the program. The program will however authenticate or require login for editing tracks of an unfinished song.

If you’ve not already done so, you will find it useful to carefully read these links regarding licensing:

I would also recommend that when you have made some progress, but well before you release, that you contact the Audacity team (contact details in first link) to ensure that there is no licensing or trademark conflict.

Yes definitely, I want to be sure that it is all legal and the Audacity team gets all due credit.