|
So now I've got a lightweight front-end going. Nama is a recorder, mixer application suited for audio production. It implements the usual DAW abstractions: tracks, effects, buses, marks, fades, inserts, edits, regions, clips, sequences and submixes. Julien Claassen, a prog-rock composer and musician, has used it on the console to produce quite a lot of music.
- written in perl
- small, hackable codebase
- Tracks can be bounced/frozen/cached as necessary to save CPU, and later be uncached, i.e. restored to their original, malleable state.
- project history and snapshots are managed internally by git
- From the user standpoint, named snapshots are saved and loaded just as with files (save initial-mix, get initial-mix) however they grow as branches, retaining their history, and unlike files, they are never overwritten.
- Tk GUI emulates a simple hard-disk recorder
- Full-featured command prompt with help, autocompletion and command history
Developing Nama has been the driver for my learning more about Perl and exploring the highways and byways of computer science.