Copyright © 2002, 2003 Pascal Haakmat
Revision History | ||
---|---|---|
Revision 0 | April 2003 | ph |
Initial revision (GNUsound 0.60 release). |
Table of Contents
Oi babes. GNUsound is a powerful sound editor for GNOME. GNUsound wants to be reliable, fast, and uncomplicated and it's using me as a tool to get it there. GNUsound is always looking to expand it's toolset, so if you want to slave the night away for no pay under an unforgiving master, drop me a note and I'll hook you up.
I won't claim that GNUsound will change the way you work because I am a reactionary bastard who thinks most change is bunk[1]. As far as I am concerned software should bend over backwards to accomodate the way I work, so in general, I don't like software that promises to revolutionize the way I work. Especially if that software then doesn't even compile or is so clumsy as to be practically useless.
With GNUsound I wanted to create a very practical program to address some very immediate needs and wants. So rather than following a strictly hierarchical software development approach where development starts with a lot of plumbing and then proceeds upward until the program is finished, GNUsound development has followed a more vertically aligned, goal-oriented strategy. In this way I've tried to avoid the danger -- especially present with volunteer-based projects such as GNUsound -- that the project never leaves the plumbing stage or that when it does, there is not enough energy left to tackle the upper layers and to work on actual usability (let's call it the Sourceforge syndrome). I think that strategy has played out well.
GNUsound is not for everyone. It needs lots of memory to perform well. In some cases, it may trade audio quality for speed (although it will usually warn you when that is the case). And it's not finished.
I don't want to spend a lot of time writing documentation because I have other things to do and nobody reads documentation anyways. Besides, I am of the opinion that a program should not need a lot of documentation. It should allow the user to explore and discover the functionality without exploding whenever the user makes a mistake. So there you go. But I'll try and use this space to explain how things work and why.