History Of Changes To DAP ------------------------- * Ability to load and save effects parameter settings OK - 10/7/96 * Implemented Auto Pan OK - 13/7/96 * Bug fix in time remaining on DSP execute screen corrected OK - 14/7/96 * Two channel mixing, slider fades samples correctly OK - 14/7/96 * Loading of samples,checking for loop markers eased (were problems when loading non-looped samples) OK - 16/7/96 * Four channel capability added to entire package - note the switch to put the SG into 4 channel mode is on the playback page OK - 6/8/96 * Warning when operation requires sample, range or clip and none available (or zero length range, or requires stereo). OK - 22/3/97 * An hour-glass/clock mouse pointer for when the program is busy OK - 25/3/97 * Possible error with trim logic and function when resetting range if there was no range to begin with. OK - 6/4/97 * Separate preferences form with load and save (to home directory) - automatically reload on startup OK - 7/4/97 * Warn if exiting/opening/clearing/newing and changes to buffer OK - 19/4/97 * Do I want all windows closed upon DSP operation then opened again once DSP has finished ? (preference = auto DSP close) OK - 19/4/97 * Load in samples given in command line (after DAP) OK - 8/5/97 * Desk (8 channel) mix play - allow choosing of samples OK - 8/5/97 * No changes to audio globals on start-up/load/create/select/exit (preference = auto global adjust) OK - 8/5/97 * Save copyright chunk ? (preference = sox compatibility mode) OK - 8/5/97 * Edit forms which depend on range / duration - update if range changes and re-check range valid and non-zero when click OK OK - 12/5/97 * Linux conversion for AudioFile library OK - 1/6/97 * Linux conversion for Audio Library OK - 1/6/97 * Run Shell command (one buffer/all buffers/stored macros/load/ save as with preferences) OK - 21/6/97 * More checks on text input (ignore blanks) OK - 22/7/97 * Adjust DC working correctly on stereo and quadro samples OK - 22/7/97 * Macros working correctly (text, raw, temp and AIFF) OK - 22/7/97 * When adjusting ranges/loops centre around mouse position (adjust for "middle") OK - 22/7/97 * Sorted out resize on suitable forms (gravities and show mode) OK - 22/7/97 * Go through all forms - remove excess button bordering and reduce form size where possible OK - 22/7/97 * Reduce borders and minimum size on main form OK - 22/7/97 * All forms must be visible on 640 x 480 screen (except pitch form as the keyboard is long) OK - 22/7/97 * Wait cursor should appear on all forms - not just main form OK - 22/7/97 * Add new edit menu item - "remove" - same as copy then a zero OK - 22/7/97 * "Single" edit mode - range marking - selects track depending where you push the mouse (preference = auto edit mode) OK - 22/7/97 * Put in idle delta value of 500ms (preference for time) + remove idle delta (zero) when record levels on or keyboard pitch select on + put back to 500ms when record levels off or keyboard pitch select off + put up to 2000ms (preference for time) when intense processing (time stretching or DSP) + put back to 500ms when time stretch or DSP finished OK - 22/7/97 * Ramp form - can ramp balance (must be stereo/quadro) as well as amplitude (NB chan 1/2 select for quadro) OK - 22/7/97 * Sample display - quick or accurate. Quick is as now - one sample per pixel. Accurate calculates maximum and minimum sample for each pixel) OK - 22/7/97 * Sort out "_ALerror: code=12 ALgetdefault: invalid audio device parameter: 15/17" on some SGs - don't attempt ALgetdefault if first time fails OK - 22/7/97 * Range select mode - normal/alternative. Normal is as now - but right button grabs and drags range start / end - whichever is nearest. Alternative is left button to grab / drag range start, right button is range end. OK - 22/7/97 * Range crossover mode - on/off. Affects crossover ability when dragging ranges and adjusting range with range form buttons and textual inputs. If set on, will drag both start and end forwards or backwards with buttons and textual inputs (length stays at zero). Normal left button drag will always crossover - on normal mode only affects right button drag. OK - 22/7/97 * DSP execute - time remaining dodgy - check the way it is calculated and make more stable (eg can't increase by less than 5 seconds) OK - 10/8/97 * Window titles for convert forms are too wide for actual forms OK - 10/8/97 * Take out register variables in resampling - can cause problems OK - 11/8/97 * Sample rate selector is too wide on play, record, post and mix play forms - make it smaller OK - 12/8/97 * Accurate line draw - need to draw extra line between previous min/max and current max/min if not overlapping (to give continuous line) OK - 13/8/97 * Performing undo/redo maintains edit mode OK - 27/9/97 * Added button bar with new and open buttons and key shortcuts OK - 27/9/97 * Added save, cut, copy and paste buttons OK - 14/10/97 * Added shortcuts for existing buttons and updated menu entries OK - 14/10/97 * Macro - when in single channel mode, with pipe or raw and a single channel range selected now saves out and reloads correctly (deals just with the channel selected) OK - 14/10/97 * Executing macros (with pipe or raw) now maintains loop positioning OK - 14/10/97 * Complete overhaul of directory structure and makefiles - note all architectures now use gcc/g++ OK - 14/10/97 * Linux audio stuff (DPTich_linux_audio, DPTich_linux_audiofile, DPTich_linux_ieee, DPTich_linux_macros) converted to C (rather than C++) so that they are easier for other people to use !! OK - 15/10/97 * Revamped Sun compile to use OSS and XPM directories as I don't have root password on the Sun at work !! OK - 25/11/97 * Added raw event handler on main form which looks out for keyboard shortcuts with no appropriate button (eg CTRL-Q quits the program) OK - 25/11/97 * Added shortcuts to most "dialog" forms - CTRL-O is OK and CTRL-C is cancel. OK - 4/12/97 * Added preference for input text size (FL_TINY or FL_SMALL) - appropriate text boxes also affected. OK - 4/12/97 * Fixed bug in linux audio library - wrong size for array - could lead to seg faults :(( OK - 21/12/97 * Added cool zoom slider with snazzy buttons onto zoom form - makes quick zooming in and out a breeze !! OK - 22/12/97 * Added vertical zoom and scroll controls for vertical detail OK - 22/12/97 * Tidied up forms - particularly resizing problems OK - 6/1/98 * Moved normal zoom slider onto the main form for easier access OK - 6/1/98 * Sorted out macros to work slightly more intuitively when deleting and adding macros. OK - 8/1/98 * Added new macro mode so that mutiple channel macro runs may be run as interleaved single outputs (as before) or separate macro runs for each channel. This allows single channel macros to be applied to each channel individually !! (thanks to Amrose Field for the suggestion). OK - 8/1/98 * Improved macro feature such that multiple macro output windows may be created and displayed. OK - 8/1/98 * Fixed bug in drawing routine for sample - taking log10 of zero causes problems on some architectures :( (Linux Alpha is one of them !!). OK - 26/1/98 * Fixed bug when quitting time stretch resampling - could cause multiple do_forms calls which then never quit - simple locking to solve. Also means heavy/normal idle back in for resampling :) OK - 26/1/98 * Added makefiles for Linux Alpha (same as Linux but not Big Endian) OK - 15/2/98 * Fixed bug - normal/heavy idle time preferences were not being updated from the preferences form correctly OK - 28/6/98 * Added a wrapper around fl_get_input calls (fl_safe_get_input) which can never return NULL. This is because it was always assumed that fl_get_input didn't return a NULL but actually it can sometimes OK - 28/6/98 * Added a border width preference so the user can change the border width of all xforms objects used in DAP OK - 28/6/98 * Fixed a bug in the linux audiofile source code - AFseekframe wasn't taking the number of channels into account OK - 28/6/98 * Slightly better handling of which directory preferences and macros are saved in - more likely to use $HOME now which is much better than using "." OK - 28/6/98 * Improved time-stretch resampling for high quaity setting OK - 7/11/98 * Reorganised entire project structure to have libaudio and libaudiofile in separate build directories OK - 7/11/98 * Took out nearly all references to "long" and replaced with "int" so the Linux/Alpha compile should work better OK - 7/11/98 * Added ability to select endian-ness of raw data when using macros OK - 16/11/98 * Added ability to import and export RAW samples to and from DAP. The selection of data format, signed-ness, endian-ness and number of channels (import only) are selectable by the user. The data formats are the same as those provided by the raw data macro facilities. OK - 18/11/98 * Improved closing of audio ports on Linux by using the new Linux only Audio Library call, ALflushport, to output the current sample buffer immediately. This stops the annoying "sample stopped playing too early" that used to happen - particularly noticable with short one-shot samples. OK - 18/11/98 * Improved the code in DAP to allow "all warnings" compiles - ie you can compile with -Wall in gcc and get no warnings. The majority of changes were removing unused parameters and variables. OK - 12/12/98 * Improved the use of file selectors within DAP. Now the same file selector is always used so the "current" directory is always the last directory you loaded from or saved to. The code for file selection was tidied up as well. OK - 12/12/98 * Added the ability to import and export WAV files to and from DAP OK - 14/12/98 * Improved makefiles - better include for /usr/X11R6 and the sound directory test program (SampleTest) builds with no reference to xforms or X11 stuff. OK - 10/1/99 * Added makefiles and modifications for building under NetBSD (thanks to Berndt Josef Wulf for providing these) OK - 11/11/99 * Updated documentation and added versioning to DAP starting with version 2.1. Also removed redundant revision and date from all source code files OK - 20/02/00 * Added ability for libaudio to take in devices for dsp and mixer OK - 20/02/00 * Sox now has all string handling broken for miscellaneous string (it cannot handle odd lengths - pad byte isn't handled) so "Sox Compatibility" now save no miscellaneous strings at all OK - 20/02/00 * Fixed potential bug with record channel switches OK - 23/02/00 * Changed libaudiofile to use system buffered IO (using FILE * pointers) rather than raw unbuffered IO (using integer file descriptors) to give increased loading and saving times OK - 28/02/00 * Added ability to specify audio and mixer devices in preferences OK - 29/02/00 * Merged in NetBSD patches for makefiles and standard audio device OK - 29/02/00 * Added ability to balance / pan in mixplay screens (2, 4, desk) OK - 07/03/00 * Added FEATURES document OK - 07/11/00 * Update TODO document with user suggestions OK - 07/11/00 * Remove Linux signal workaround (does not appear to be needed any more but have left the code in place) OK - 07/11/00 * Fixed up a small bug in the WAV export routines (chunk size of the "cue" chunk was wrong) OK - 03/10/01 * Fixed up a bug which meant while recording (either actual recording or calibration) you could attempt to record the display, calibrate, or switch on the level meters. This would cause DAP to lock /dev/dsp and crash out. Now these buttons are disabled during any record process. OK - 03/10/01 * Fixed up build so that the location of XForms is always grabbed from the XFORMS environment variable rather than being defined explicitly in all of the makefiles. OK - 04/07/02 * Added play (sample, display, range), stop, release, select all buttons in main toolbar (all with shortcuts). Also added shortcuts for zoom in/out/all, scroll left/right/fast/slow and being/end. OK - 08/07/02 * Fixed up reading of textfields on range, display and loop screens so that empty strings do nothing (caused problems when hiding the forms as the strings got read and things got set). OK - 08/07/02 * SG makefiles now use CC by default and added another ignored warning for this platform. OK - 08/07/02