project
*******
name:      LAoE (Layer-based AudiO Editor)
version:   0.7.02
autor:     oli4, olivier gaeumann, switzerland      


License 
**********
LAoE (Layer-based AudiO Editor)
Copyright (c) 2000-2010 oli4, switzerland

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.



about
*******
LAoE means "Layer-based AudiO Editor" and it is an audiosample-editor
suitable for manipulate sound, such as filtering, retouching, resampling, and
effects, like reverb, echo, compress, expand, pitch-shift, time-stretch, and
much more... 


install
*******
The installation of LAoE is simple:    
- if not available, install the java runtime environment JRE 6 or higher
- extract the file laoe_x_y_zz.tar.gz into a desired location
- linux/mac: make laoe script executable, then run ./laoe to launch LAoE 
- windows: run the batch laoe.bat to launch LAoE 
- if the given user starts LAoE for the first time, a .laoe directory is automatically
  created in the user home directory
- LAoE icons available: iconXX.png
- read the "tip of the day" to learn how to use LAoE

 
detailed changes compared to previous version
*********************************************
	.  better channel scale text (vertical, more dense)
	.  zoom-plugin: translating (shifting the clip) is shown immediately at runtime now
	.  play loop rec: implement scratching (like video editors), play like cursor motion... (works when paused with shift-key down)
	.  avoid mouse moving events from non-focussed clips
	.  add a status bar on bottom of the clip frame (showing focussed plugin, selected layer/channel and cursor position)
	.  set useful unit presets for all spinners (GControlText...)
	.  introduce scratch-cursor icon
	.  status bar: describe mouse move/drag/click function when press no/ctrl/shift for mask/measure/move/playLoopRec/select/spectrogramfilter/zoom
	.  status bar: avoid moving all fields when coordinates change
	.  better icon color scheme for all icons!
	.  autovolume: make dry and wet part
	.  some plugins would like to be updated even when not focussed (e.g. layer-stack, channel-stack, history) --> performs on all visible plugins!!!
	.  select better supported on history
	.  select intensity must be better supported on history
	.  undo history: manual save: allow to add user text
	.  make main frame always on top configurable
	.  abandon plugin history 
	.  zoom: mouse drag is too slow, performance problem! do we update all plugins at each motion step????
	.  scratch play plays white noise sometimes when moving back from end of clip
	.  status bar: use better layout
	.  all plugins: refresh all UiControlText-objects in plugin's reload()-method
	.  make vu-meter a little more responsive, and prolongue peak view
	.  implement a better compress-expand-plugin
	.  (re???)introduce autoclose of plugins: 'apply' action closes the plugin, no intelligence, no management of visible plugins, all immediate
	.  clip ruler units: make them switchable directly in clip frame instead of in global view options 
	.  clip ruler units: make them clip-individual instead of global
	.  add 'dB' unit for vertical clip ruler
	.  cleanup ruler painting
	.  GControlText should update unit conversion more often (sometimes shows value 0, but behind it is not zero)
	.  abandon other useless plugins...
	.  is repaintFocussedClipEditor contained in reloadFocussedClipEditor? if yes, remove double calls found in some plugins! yes, it is! concerns all selectXXX/unselectXXX plugins
	.  when starting a plugin from menu, it is hard to make it two times because the already open plugin toggles visibility! find a better way!
	.  abstracting channel sample access via method call: ch.laoe.audio, ch.laoe.clip and ch.laoe.ui prepared
	.  operation-toolkit: use ASamples instead of raw arrays
	.  operations: use ASamples instead of raw arrays
	.  AChannel: integrate MMArray instead of raw array
	.  plugins: use ASamples instead of raw arrays
	.  search for more raw array replacement (concerns potentially big arrays only)
	.  test all operations against regress !!!!!!!!!!!!!! (array replacement was a huge work on tousands of lines spread all over the code)
	.  clip: make better memory freeing when closing clip, introduce destroy() (there there are still memory leaks)
	.  perform MMArray profiling and strong optimization!
	.  operations: optimize using MMArray optimizations (like copy())
	.  access to channel samples must be abstracted via method call: this allows to optimize memory management (e.g. avoid allocating memory for longer empty signal, higher performance when shifting selections around... etc.)
	.  AOMove: take benefit from new array concept, make move grow clip if moving out of current clip's bounds
	.  why is selection alpha increasing e.g. when clip is played??? --> was a clip/alpha problem
	.  more modern plugin loading concept integrated, needing Java 6 now, input from Nicolay Mitropolsky
	.  make more plugins capable editing out of bounds (including selection)
	.  select plugin: paint move icon also when mouse moving (not only when mouse dragging)
	.  move plugin: allow moving by exceeding bounds (making sample array longer)
	.  event-listener pattern: use "weak" collection to avoid memory leaks
	.  when no focussed clip anymore, then plugin show neutral state now, and better memory resource savings
	.  optimize for big clips: cache reduced sample paintings (min/max values of 1/1000 reduction)
	.  reduced sample painting: refine reduction, we can see the change when variing zoom (peaks get thicker when entering cached paint)
	.  channel: check if all samples manipulation are commited using changeId(), and by the way rename it "markChange()". it is used by cache for reduced sample painting. 
	.  bugfix: when playing clips (repaint thread...), then the menus are not painted correctly. you have to sweep with the mouse to see the menu again
	.  bugfix: still noise when play scratching --> scratch during playing is supported now
	-  undo history: avoid double store when clip has not changed (e.g. when storing select mouse releases and clicks) --> not needed, since already optimized, stores only modified channels
	.  layer stack: remove redundant layer-type combobox (checkbox is sufficient)
	.  make a better (2D) color chooser
	.  spectrogram view: support same color settings
	.  stacks: make custom icons for audible and visible checkboxes
	.  loop ponts: paint also the loop range (as a horizontal semi-transparent rectangle ???)
	.  bugfix: histogram clip: cannot zoom y, why?
	.  zoom paint onto clip: has this unexpected alpha now?!!
	.  introduce mouse scrolling for zoom/scroll
	.  play/loop/rec: for/rewind with mouse wheel introduced



