wavedit v0.1 by Aaron Goldstein Well, I haven't seen any other waveform editors that work under Linux, so I decided to write one. This program is presently very simple - it supports loading/saving waveforms (not very well), and a few basic clipboard operations (cut, copy, paste, trim to selection). It's presently written entirely in C++. There's no particularly good reason for this, except that I need to learn C++ a bit better for my CS classes. I'm releasing this copy (instead of a good one), because I want help/suggestions/random comments/etc. for this program. About the program: wavedit recognizes the following commands: (all of these are lower-case ONLY) clipboard operations x - cut the selection and place it in the clipboard c - copy the selection to the clipboard v - paste the clipboard to the current mouse location z - trim waveform to the current selection space - clear current selection other stuff p - play waveform Plays either the entire waveform (if there is no current selection), or the selection (highlighted area) if there is a selection. This is one of my first targets for improvement, since the program doesn't do anything else while playing a wave (including updating the mouse pointer). s - save waveform to disk Watch out - my line editor really needs work q - quit program Be careful - it assumes you know what you're doing. If you just spent 2 hours trimming your waveform to be just exactly how you like it, and then quit without saving, wavedit will not complain mouse interface left-click / drag This will select a portion of the wave, and high-light that piece of the waveform. Clipboard operations will affect this highlighted portion of the wave (except paste, which pastes the clipboard at the current x-location of the mouse, and sets the selection to the newly inserted section of waveform). middle/right buttons do nothing, as of now About me: I'm presently a sophomore in computer science at Carnegie Mellon University in Pittsburgh, Pennsylvania. I'm originally from a tiny little town called Valley Cottage, in the suburbs of New York City. I can be reached at any of the following three e-mail addresses. ag4z@andrew.cmu.edu (most likely to reach me) breadmold@breadmold.pc.cc.cmu.edu (preferred, but not always online) breadmold1@aol.com (if you feel like waiting) Credits: I lifted code from a couple of different places, and just generally feel like giving credit where credit is due. Thanks to - Linus Torvalds for Linux! Hannu Savolainen for the voxware sound drivers Brad Pitzel - I've stolen a little code from his soundIt library and demos (get it...it's really cool), and plan on stealing more, once I've properly dissected soundIt.c! Michael Beck - format.h is an abbreviated version of 'fmtheaders.h', which is part of the source code for vplay (a very happy little program). Thanks much. All my friends who listened to me babbling about this thing while I was writing (and who will have to continue to listen to me, while I improve it). Especially thanks to Noah, who I've babbled at the most (and who has, on occasion, given me some useful tips). Random/Important stuff: I'm distributing this program completely free of charge. Give it to anyone and everyone you want to. Give it to people you don't want to. Threaten your neighbors with my source code. Whatever you like. However, I'd really appreciate it if you'd credit me when using my source code in one of your programs (I'd be even happier if you'd send me a copy). The current version of wavedit can always be found (using anonymous ftp) at 'breadmold.pc.cc.cmu.edu' as the file '/pub/software/waveditvX.X.tgz', where X.X is the version number (v0.1 is current as of this moment). wavedit was compiled using voxware v2.9-2 (if anyone asks, I'll compile it under v2.5...I was just too lazy to actually go and recompile something else in order to distribute this), and svgalib v1.11. I used g++ v2.5.8, and libc v4.5.26 to compile it. Hope you enjoy this program. -Aaron