Difference between revisions of "For Developers"

From Audacity Wiki
Jump to: navigation, search
(patch is archaic.)
(redundant cruft removed)
 
(19 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
{|
 
{|
Audacity aims to be a '''simple to use''' but '''powerful audio editor'''.
+
 
* We have [[Design Topics|design guidelines]] to make the user interface consistent and more discoverable.
+
'''Code we Like!'''<br clear=all> <br clear=all>
* We have [[CodingStandards|coding standards]] to improve consistency in how we code.
+
 
* We have a vibrant [[Community|community]] beyond the developers who support users, get feedback, test and document Audacity.
+
 
 +
Audacity aims to be a '''simple to use''' but '''powerful audio editor'''.  We're open to exciting new features, bugfixes (yes please!) and new ideas, and at the same time, we need to do things a certain way.
 +
 
 +
* We want to avoid making Audacity over complex.  The majority of our users are newish to audio editing.  The simple things ought to be easy to do for them.  The more advanced things can be there, but should not 'get in the way'.  Many of our users do not [https://manual.audacityteam.org/ read the manual]. Follow our ''[[Design Topics|design guidelines]]'' to make the user interface consistent and more discoverable.
 +
* We don't know that you will stay around after you have contributed code, so new code should follow our ''[[CodingStandards|coding standards]]'' so that it is more maintainable by us.
 +
* To get the best from contributing to open source, you should become aware of the ''[[Community|community]]'' beyond the developers who support users, get feedback, test and document Audacity.  The experience they have can often help what you write be better, and save you time too.
 
|}
 
|}
  
Line 18: Line 23:
 
| &nbsp; &nbsp;
 
| &nbsp; &nbsp;
 
| style="vertical-align:top;" |
 
| style="vertical-align:top;" |
* If you're a programmer, check out the '''''[[Developer_Guide|developer guide]]''''' and subscribe to the [http://lists.sourceforge.net/lists/listinfo/audacity-devel audacity-devel] mailing list
+
'''Guides and Connecting'''
* If you are already compiling Audacity, great.  If not tell us where our instructions for doing so suck.
 
<br clear="all">
 
  
'''We ''always'' need more developers!'''   
+
* Check out the ''[[Developer_Guide|developer guide]]'' and subscribe to the ''[http://lists.sourceforge.net/lists/listinfo/audacity-devel audacity-devel mailing list]''
 +
 
 +
Why subscribe?  We have found time and again that good programmers are overly reluctant to ask for actual help.  It is usually our fault, not yours, if you can't compile.  Our instructions and guides are not always good and up to date.  Especially if you have difficulty compiling Audacity, reach out to one of us on the mailing list, and talk us through how far you get. Together we can work to fix it, and to fix the compiling instructions, so that other people have an easier time in future.
  
* Rather than just post a pull request to our GitHub repo, join our [http://lists.sourceforge.net/lists/listinfo/audacity-devel developers' mailing list] and introduce yourself!  You'll have a far better chance of your proposed changes being adapted and accepted.  You don't have to have a pull request already.  We're very happy to have lurkers on the list.  If you are keen to interact, you are welcome to:
 
** tell us if there's any bugs on the '''''[[Bug Lists|Bug List]]''''' you've solved or
 
** tell us about any [[:Category:Feature Planning|new or improved features]] you are working on.
 
 
|}
 
|}
 
<div id="links"></div>
 
<div id="links"></div>
Line 33: Line 35:
  
 
<div style="width:50%;float:left;">
 
<div style="width:50%;float:left;">
 +
===Building===
 +
*[https://github.com/audacity/audacity Our code on GitHub]
 +
*[[Building On Windows]]
 +
*[[Building On Linux]]
 +
*[[Building On Mac]]
 +
*[[CMake Options]]
 +
*[[Building On Cygwin]] (Deprecated/Not Maintained)
 +
*[[Building The Manual]]
 +
 
===Developer Documentation===
 
===Developer Documentation===
 
<!--
 
<!--
 
*[[Developer_Guide#Platform_Specific_Guides|Building Audacity from Source]]
 
*[[Developer_Guide#Platform_Specific_Guides|Building Audacity from Source]]
 
-->
 
-->
*[[The Feature Requests Pipeline]]
 
*[[ArchitecturalDesign|Audacity Architecture]]
 
 
*[[Developer Guide|Guide for New Audacity Developers]]
 
*[[Developer Guide|Guide for New Audacity Developers]]
 
**[[Theming HowTo]]
 
**[[Theming HowTo]]
 
**[[Nyquist|Nyquist plug-ins HowTo]]
 
**[[Nyquist|Nyquist plug-ins HowTo]]
 
**[https://alphamanual.audacityteam.org/man/scripting Scripting]
 
**[https://alphamanual.audacityteam.org/man/scripting Scripting]
*[[Making Audacity Translatable]]
+
*[[Standards and Conventions]]
*[[Making Audacity Doxygenable]]
+
**[[CodingStandards|Coding Standards]]
*[https://github.com/audacity/audacity Our code on GitHub]
+
**[[Code Review Triage|Code Review]]
*[https://doxy.audacityteam.org/annotated.html Doxygenated class list]
+
*[[The Feature Requests Pipeline]]
 +
**[[Proposals]]
 +
**[[Feature Requests]]
 +
*[[ArchitecturalDesign|Audacity Architecture]]
 +
*[[Making Audacity Translatable|Xgettext &amp; Translation]]
 +
*[[Making Audacity Doxygenable|Doxygen &amp; Smart Comments]]
 +
**[https://doxy.audacityteam.org/annotated.html Doxygenated class list]
 
</div>
 
</div>
 
<div style="width:50%;float:left;">
 
<div style="width:50%;float:left;">
 +
===Development Activity===
 +
*[[Next Release]] that we are working on
 +
**[[Wording|Wording changes]] required in the app
 +
<!---**[[Wish-lists for 2.3.2]]--->
 +
*Active [[Development Projects]]
 +
** [[Macros discussion page]]
 
===Quality Assurance===
 
===Quality Assurance===
*[[CodingStandards|Coding Standards]]
+
*[[QA Procedures overview]]
*[[Code Review Triage|Code Review]]
+
*[[Bug testing workbench]]
 +
*[[Unitary Project - issue tracking]]
 +
*[[ToDo:_Unstick_%27Stuck_In_a_Mode%27|Bear Traps]]
 
*[[Using Bugzilla]]
 
*[[Using Bugzilla]]
 
*[[Bug Lists]]
 
*[[Bug Lists]]
 +
**[[Plug-ins that crash Audacity or fail to work properly in Audacity|Plug-ins that crash or fail in Audacity]]
 +
*[[Bug Counts]]
 +
*[https://bugzilla.audacityteam.org/ Bugzilla]
 
*[[Design Topics]]
 
*[[Design Topics]]
 
*[https://alphamanual.audacityteam.org/man/Consistency_in_wording_and_punctuation_in_Audacity '''Wording and punctuation guidelines''']
 
*[https://alphamanual.audacityteam.org/man/Consistency_in_wording_and_punctuation_in_Audacity '''Wording and punctuation guidelines''']
 
**[[Guidelines on capitalization in Audacity dialogs and messages|Capitalization Guidelines]]
 
**[[Guidelines on capitalization in Audacity dialogs and messages|Capitalization Guidelines]]
*[[Builds for alpha testing]]
 
===Macros===
 
*[[Macros discussion page]] temporary page for issues and discussions regarding the transition to Macros from Chains
 
 
</div><br clear="both"/>
 
</div><br clear="both"/>
<div style="width:50%;float:left;">
 
===Development Activity===
 
*[[Next Release]] that we are working on
 
**[[Wording|Wording changes]] required in the app
 
*[[Proposals]]
 
*[[Feature Requests]]
 
*Active [[Development Projects]]
 
 
 
</div>
 
 
<div style="clear:both"></div>
 
<div style="clear:both"></div>
  

Latest revision as of 14:34, 17 September 2021



Code we Like!

Audacity aims to be a simple to use but powerful audio editor. We're open to exciting new features, bugfixes (yes please!) and new ideas, and at the same time, we need to do things a certain way.
  • We want to avoid making Audacity over complex. The majority of our users are newish to audio editing. The simple things ought to be easy to do for them. The more advanced things can be there, but should not 'get in the way'. Many of our users do not read the manual. Follow our design guidelines to make the user interface consistent and more discoverable.
  • We don't know that you will stay around after you have contributed code, so new code should follow our coding standards so that it is more maintainable by us.
  • To get the best from contributing to open source, you should become aware of the community beyond the developers who support users, get feedback, test and document Audacity. The experience they have can often help what you write be better, and save you time too.

Develop.png

This is how we get from ideas to new releases of Audacity
Feature Requests   -->   Proposals   -->   Projects   -->   Releases
   

Guides and Connecting

Why subscribe? We have found time and again that good programmers are overly reluctant to ask for actual help. It is usually our fault, not yours, if you can't compile. Our instructions and guides are not always good and up to date. Especially if you have difficulty compiling Audacity, reach out to one of us on the mailing list, and talk us through how far you get. Together we can work to fix it, and to fix the compiling instructions, so that other people have an easier time in future.

Topics for Developers



Ideas? Want to Contact Us?

Didn't find what you were looking for? Here are various ways to contact us.