FinalMix — Project Objectives
FinalMix is multitrack, non-desctructiove and multiplatform wave (audio) editor.
Its purpose is to do simple audio editing and especially real-time multitrack audio
mixing. The key features of this software is:
- Multitrack editing, real-time response
The software works with several wave (audio) tracks at the same time,
allowing to change some of their attributes in real-time during
playback.
- Non-desctructive editing
Disk space is primarily used for wave data storage, allowing
the use of large files. All audio editing (cuts, shifts) are
made in the logic of the software and is not stored in the
original wave files unless explicitly requested.
- Multiplatform design
FinalMix uses wxWidgets multiplatform GUI library
to be easily portable (at least from the user interface
point of view) to many different platforms (currently
GNU/Linux, Microsoft Windows and Apple MacOS X). All internal
parts of the software are designed to be mostly platform/compiler
independent (the use of standardized C++, fixed-length data types,
platform independent file I/O). The certain parts of the software,
which have to be platform dependend (sound input and output), are
designed to compile succesfully on a given platform (or set of
platforms) and to be ignored on the others.
In the first public release, the software has to support at least these
features:
Project specifications
- Basic features
- Multiplatform (using wxWidgets)
- Object implementation, modularity
- Input and output
- Loading and storing of common audio file formats (RIFF WAVE, AIFF)
in basic encodings (PCM, ADPCM, etc.)
- Unlimited file length
- Unlimited number of tracks
- Ability to store the whole project to a file
- Editting
- Non-destructive audio tracks editing (cut, paste, replace)
- Final rendering to file
- Wave input and output
- Real-time multitrack playback
- Track properties applied in real-time (volume, etc.)
- Full duplex mode for simultaneous playback and record