2009-02-23	Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>

	* README:
	* CMakeLists.txt:
	made 0.4.3 release

	* include/atomic_int.h:
	- fixed typo
	- added copy constructor implementation for AtomicInt class - fixes
	  build failure with Qt < 4.4.0

	* CMakeLists.txt:
	fixed typos

	* cmake/modules/FindSTK.cmake:
	* CMakeLists.txt:
	reflect changes in MinGW crosscompiling environment

2009-02-19	Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>

	* include/fade_button.h:
	* src/gui/widgets/fade_button.cpp:
	rewrote timing of fading animation for not postponing updates of
	hidden fadeButton until it becomes visible

	* src/gui/widgets/automatable_button.cpp:
	* src/core/track.cpp:
	make sure all buttons in trackOperationsWidget have focus-policy
	set to Qt::NoFocus in order to make space play song even if you clicked
	e.g. a mute-button (closes #2486211)

	* include/note.h:
	* src/core/note.cpp:
	- coding style fixes
	- improved handling of shared detuningHelper object

	* include/instrument_track.h:
	* include/piano_roll.h:
	* src/gui/piano_roll.cpp:
	* src/gui/song_editor.cpp:
	* src/tracks/instrument_track.cpp:
	fixed various bugs regarding recording:
	- once recording has been started, stop it as soon as playMode of song
	  changes or similiar things happen (closes #2486341)
	- fixed broken record-accompany in most use-cases other than using
	  record-while-playing-song by also tracking NoteOn events and remember
	  current play position to use the correct note postitions on NoteOff
	  events (play position might have wrapped around in the meantime due
	  to looppoints or end of BB track) (closes #2486299, #2486203)
	- move timeLine marker in Piano Roll and autoscroll when recording while
	  playing song (closes #2486334)

2009-02-14	Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>

	* src/3rdparty/samplerate/samplerate.h:
	reverted rev 2037 as we have custom changes in this file

2009-02-13	Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	- added missing slot declaration for abortFreeze(), fixes lockup when
	  freezing pattern (closes #2530320)
	- update patternView after freezing
	- fixed drawing of frozen pattern

	* include/sample_buffer.h:
	* src/core/sample_buffer.cpp:
	- when resampling whole sampleBuffer, set end_of_input = 1 in
	  libsamplerate data struct - fixes lots of zero samples at the end
	  of output buffer (closes #2531452)
	- coding style fixes
	- removed obsolete save/restore of EOF-property in libsample rate
	  data struct when resampling successively (always use 0)

	* src/3rdparty/samplerate/src_linear.c:
	* src/3rdparty/samplerate/samplerate.h:
	* src/3rdparty/samplerate/src_sinc.c:
	* src/3rdparty/samplerate/src_zoh.c:
	* src/3rdparty/samplerate/samplerate.c:
	* CMakeLists.txt:
	integrated latest libsamplerate which is both faster and more reliable

	* src/gui/widgets/visualization_widget.cpp:
	disable output monitor per default and show click-hint

2009-02-12	Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>

	* include/group_box.h:
	* src/gui/widgets/effect_rack_view.cpp:
	backport: manage effectRackView with a QVBoxLayout

	* src/gui/widgets/controller_rack_view.cpp:
	* src/gui/widgets/effect_rack_view.cpp:
	backport: prevent Horizontal bars from appearing in some cases

	* cmake/modules/Win32Toolchain.cmake:
	reflect recent changes to MinGW cross compiling environment

	* plugins/sf2_player/sf2_player.cpp:
	update patch after loading settings (closes #2486372)

	* src/gui/piano_roll.cpp:
	ensure, cursor is never NULL when painting it in paintEvent()

	* src/core/sample_buffer.cpp:
	do not load samples bigger than 100 MB (closes #2458375)

2009-02-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/caps/dsp/Eq.h:
	better workaround for optimizer bug in GCC >= 4.3

	* plugins/sid/sid_instrument.cpp:
	* plugins/flp_import/unrtf.cpp:
	* src/core/track.cpp:
	added missing header for compilation with GCC 4.4

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	cleanups

	* src/core/envelope_and_lfo_parameters.cpp:
	- simplified formulas for calculating envelope array resulting in about
	  3x performance with traditional FPU code
	- loops now can be vectorized by GCC 4.4

	* include/atomic_int.h:
	* include/audio_port.h:
	* include/mixer.h:
	* src/core/mixer.cpp:
	reworked mixer-threads (synchronization, realization of jobqueue etc.)
	which results in a much better performance and stability

2009-02-04	Andrew Kelley	<superjoe30/at/gmail/dot/com>

	* src/gui/piano_roll.cpp:
	fixed bug: you can use shift+left to move notes past the beginning

2009-02-01	Andrew Kelley	<superjoe30/at/gmail/dot/com>

	* src/core/track.cpp:
	integrated pitanga's patch to fix unquantized BB dragging in 
	song editor. Changed ctrl modifier to alt to be consistent.

2009-01-25	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/tracks/bb_track.cpp:
	Integrate broken BB-clone bug from pitanga

2009-01-25	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/widgets/knob.cpp:
	Fix infinite recursion on Mac OSX

	* plugins/flp_import/unrtf/html.c:
	* plugins/flp_import/unrtf/output.h:
	* plugins/flp_import/unrtf/convert.c:
	Avoid compile warnings

2009-01-03	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/widgets/automatable_button.cpp:
	fix drag support for button groups

2008-12-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	fixed plugins/ directory when updating localization file

	* plugins/flp_import/flp_import.cpp:
	in FL_EffectChannel initialize isMuted member - fixes muted FX channels
	when importing older FLP files

2008-12-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	* README:
	made 0.4.2 release

	* plugins/vst_base/vst_plugin.h:
	* plugins/vst_base/vst_plugin.cpp:
	* plugins/vst_effect/vst_effect_control_dialog.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vestige/vestige.cpp:
	fixed crash when adding VST effects

	* include/project_version.h:
	* src/core/project_version.cpp:
	fixed broken version comparing which indicated 0.x.y to be less than
	0.x.y-patch - fixes messed up projects when loading files created
	with LMMS 0.4.0

2008-12-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	* README:
	made 0.4.1 release

	* cmake/modules/FindSTK.cmake:
	* include/combobox_model.h:
	* include/combobox.h:
	* src/core/config_mgr.cpp:
	* data/CMakeLists.txt:
	* CMakeLists.txt:
	added STK support to win32 version of LMMS

	* data/locale/ja.ts:
	* data/locale/ja.qm:
	added Japanese localization files by
	Keishi Suenaga <skeishi/at/yahoo/dot/co/dot/jp>

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	backport: do not create a instrument track window just for calling
	dragEnterEvent() - use a static method instead

2008-12-17	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/track.h:
	* src/core/track.cpp:
	backport: cache background per-object instead of per-class

2008-12-17	Andrew Kelley	<superjoe30/at/gmail/dot/com>

	* AUTHORS:
	backport: added Andrew Kelley as author

	* src/core/timeline.cpp:
	* src/gui/automatable_model_view.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/widgets/automatable_button.cpp:
	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/tracks/sample_track.cpp:
	backport: changed modifier detection from mainWindow::isCtrlPressed
	etc to Qt framework detection. Fixes a bunch of little glitches and
	enables horizontal scroll wheels.

	* include/midi.h:
	* include/note.h:
	* include/panning.h:
	* include/panning_constants.h:
	* include/pattern.h:
	* include/piano_roll.h:
	* src/core/note.cpp:
	* src/core/piano.cpp:
	* src/tracks/pattern.cpp:
	backport: added support for panning editing of notes

2008-12-15	Paul Giblock <drfaygo/at/gmail/dot/com>
	
	* src/core/track.cpp:
	* include/track.h:
	Cache background per-object instead of per-class.

2008-12-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	require at least Qt 4.3.0

2008-12-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/automation_pattern.h:
	* src/core/automation_pattern.cpp:
	do not disable automation when just editing first point of an
	automation pattern (closes #2146230)

	* include/automation_pattern_view.h:
	* src/gui/automation_pattern_view.cpp:
	splitted view component out of automation_pattern.*

2008-12-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/communication.h:
	* plugins/vst_base/vst_plugin.cpp:
	* plugins/vst_base/remote_vst_plugin.cpp:
	rewrote wide parts of LVSL backend:
	- now supports two threading models which makes LMMS support plugins
	  like Sytrus, z3ta+ etc.
	- on win32 create native widget as parent for plugin's GUI, fixes
	  warning message when loading KarmaSynth (closes #2276787)
	- try more symbol names for entry procedure

	* include/aeffectx.h:
	- made "int"s to "const int"s
	- added CCONST macro

	* include/remote_plugin.h:
	* src/core/remote_plugin.cpp:
	added support for debug messages from remote plugin

2008-12-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/vst_plugin.cpp:
	win32-version: fixed crash when using VST plugins without GUI

	* include/effect_chain.h:
	export effectChain for properly building FLP import DLL

	* include/song_editor.h:
	* src/gui/song_editor.cpp:
	fixed recent commit (m_timeLine was not declared as member yet)

2008-12-07	Andrew Kelley	<superjoe30/at/gmail/dot/com>

	* src/gui/song_editor.cpp:
	fixed glitch where it would auto-scroll even if it was off in
	song-editor

2008-12-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/remote_vst_plugin.cpp:
	explicitely declare updateSampleRate() and updateBufferSize() as virtual

	* src/tracks/instrument_track.cpp:
	decreased step-property of volumeModel and panningModel from 1.0 to 0.1
	for allowing smoother transitions when automating etc.

2008-12-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/ja.ts:
	* data/locale/ja.qm:
	added Japanese localization files by
	Keishi Suenaga <skeishi/at/yahoo/dot/co/dot/jp>

2008-12-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/triple_oscillator/triple_oscillator.cpp:
	per default play sub-octaves of first oscillator in osc 2 and 3

2008-11-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/automatable_model.cpp:
	fixed wrong logic in automatableModel::setValue() which led to bugs when
	changing linked controls to 0

	* src/gui/file_browser.cpp:
	do not allow to import unhandled file types, e.g. ZynAddSubFX presets if
	plugin is not available (closes #2326384)

2008-11-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.h:
	* plugins/flp_import/flp_import.cpp:
	completely rewrote FLP import filter since it didn't work at all
	anymore - it now doesn't create or change any things in LMMS while
	importing and instead builds up a complete data structure first
	which represents the FL Studio project and then creates an LMMS
	project based upon this data structure
	- now supports projects from FL Studio 3 to 8
	- more verbose debug output
	- import volume, panning, pitch and FX channel for instrument tracks
	- import amplification, loop-mode and reverse-mode settings for
	  AudioFileProcessor
	- import FX mixer settings and effects
	- import automation data
	- import channel- and pattern names
	- import volume and panning settings of individual notes
	- add notes of instrument layer master to each layer children for at
	  least having a complete sound - need to replace with real layering
	  support later
	- map more instruments to various LMMS instruments
	- fixed calculations of length and position of notes
	- fixed importing steps/dots
	- fixed scaling factor of various controls (arpeggio time,
	  envelope sustain and amount, filter cut/res, TripleOsc volumes etc.)
	- if three user defined samples were found for TripleOscillator set
	  first oscillator to oscillator::SawWave

	* plugins/flp_import/unrtf.cpp:
	* plugins/flp_import/CMakeLists.txt:
	* plugins/flp_import/unrtf/error.h:
	* plugins/flp_import/unrtf/output.c:
	* plugins/flp_import/unrtf/html.c:
	* plugins/flp_import/unrtf/output.h:
	* plugins/flp_import/unrtf/malloc.c:
	* plugins/flp_import/unrtf/html.h:
	* plugins/flp_import/unrtf/attr.c:
	* plugins/flp_import/unrtf/parse.c:
	* plugins/flp_import/unrtf/word.c:
	* plugins/flp_import/unrtf/malloc.h:
	* plugins/flp_import/unrtf/util.c:
	* plugins/flp_import/unrtf/attr.h:
	* plugins/flp_import/unrtf/parse.h:
	* plugins/flp_import/unrtf/convert.c:
	* plugins/flp_import/unrtf/word.h:
	* plugins/flp_import/unrtf/util.h:
	* plugins/flp_import/unrtf/hash.c:
	* plugins/flp_import/unrtf/convert.h:
	* plugins/flp_import/unrtf/defs.h:
	* plugins/flp_import/unrtf/hash.h:
	* plugins/flp_import/unrtf/main.h:
	* plugins/flp_import/unrtf/error.c:
	updated to latest version of unrtf and improved string operations

	* src/core/main.cpp:
	added support for importing file from commandline

	* include/effect_chain.h:
	added method for enabling/disabling FX chain

	* include/file_browser.h:
	* src/gui/file_browser.cpp:
	enhanced support for importing various file types directly from browser

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	added method for toggling steps

	* include/fx_mixer.h:
	added method for accessing FX channels

	* plugins/midi_import/midi_import.cpp:
	check for tempoAutomationPattern being NULL for not crashing when
	importing to BB-Editor

	* include/instrument_track.h:
	return pointers instead of references to various internal models

	* include/basic_filters.h:
	* include/bb_track_container.h:
	* include/instrument_track.h:
	* include/pattern.h:
	* include/track_container.h:
	* src/core/instrument_functions.cpp:
	* src/tracks/pattern.cpp:
	* src/gui/track_container_view.cpp:
	coding style fixes

2008-11-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/track.cpp:
	* src/core/timeline.cpp:
	* src/core/piano.cpp:
	* src/core/automation_pattern.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/widgets/track_label_button.cpp:
	* src/gui/widgets/visualization_widget.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/tab_widget.cpp:
	* src/gui/widgets/kmultitabbar.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/cpuload_widget.cpp:
	* src/gui/widgets/fade_button.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/widgets/effect_rack_view.cpp:
	* src/gui/widgets/effect_view.cpp:
	* src/gui/automation_editor.cpp:
	set OpaquePaintEvent attribute for all widgets where suitable - makes
	whole GUI less sluggish :)

2008-11-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	fixed broken reference sharing

	* include/automatable_model.h:
	* src/core/automatable_model.cpp:
	fixed loops when adding a controller to a model which is linked to
	another model

	* src/core/effect.cpp:
	call saveSettings()/loadSettings() on model rather than loading/saving
	value directly - fixes lost automation on basic effect controls

2008-10-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	made 0.4.0 release

	* CMakeLists.txt:
	- include all necessary DLLs in win64 build
	- fix versioning for CPack if no VERSION_SUFFIX is set

	* plugins/sid/sid_instrument.cpp:
	* plugins/papu/papu_instrument.cpp:
	* include/clipboard.h:
	include QtXml/QDomElement rather than Qt/QtXml - fixes compilation on
	OS X

2008-10-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	limit processing of TAP Reflector to 192 KHz as it otherwise crashes

	* include/timeline.h:
	* src/gui/piano_roll.cpp:
	fixed autoscroll feature in piano-roll (closes #2204508)

2008-10-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	disabled PortAudio support until a fix for the crash when accepting
	setup-dialog is available

2008-10-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/presets/TripleOscillator/SEGuitar.xpf:
	* data/presets/TripleOscillator/SBass2.xpf:
	* data/presets/TripleOscillator/STrash.xpf:
	* data/presets/TripleOscillator/SString.xpf:
	* data/presets/TripleOscillator/SBass.xpf:
	added some cool presets by Skiessi

	* plugins/ladspa_effect/ladspa_effect.cpp:
	added Freeverb to blacklist as it does not work samplerate independent

	* cmake/modules/Win64Toolchain.cmake:
	* cmake/modules/DetectMachine.cmake:
	* cmake/modules/BuildPlugin.cmake:
	* plugins/ladspa_effect/swh/CMakeLists.txt:
	* plugins/ladspa_effect/cmt/CMakeLists.txt:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	* plugins/ladspa_effect/caps/dsp/windows.h:
	* plugins/vst_base/remote_vst_plugin.cpp:
	* plugins/vst_base/basename.c:
	* plugins/vst_base/CMakeLists.txt:
	* plugins/midi_import/portsmf/allegro.h:
	* src/core/midi/midi_winmm.cpp:
	* src/core/mixer.cpp:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	various fixes for successfully building LMMS for win64

2008-10-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mixer.h:
	* src/core/mixer.cpp:
	* src/core/project_renderer.cpp:
	- initial (not yet enabled) support for binding mixer threads to CPUs to
	  reduce scheduling overhead and cache misses (gives avg. 10% performance
	  boost)
	- merged mixer-thread with first worker-thread - no more duplicate
	  code for single- and multicore processing and better scheduling
	  on multicore systems

	* include/automatable_model.h:
	* src/core/automatable_model.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_jack.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/piano.cpp:
	* src/core/controller.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/widgets/automatable_button.cpp:
	* src/tracks/automation_track.cpp:
	do not inline code for fetching value from controller and thus reduce
	header dependencies

	* plugins/vst_effect/CMakeLists.txt:
	* plugins/vestige/CMakeLists.txt:
	* plugins/vst_base/CMakeLists.txt:
	* CMakeLists.txt:
	made building the WINE-part of VST Support Layer optional to allow
	packaging it in separate package (e.g. on 64 bit platforms)

2008-10-25	dieEasy <dieeasy/at/cheapnet/dot/it>

	* data/locale/it.qm:
	* data/locale/it.ts:
	updated Italian localization

2008-10-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/cs.qm:
	* data/locale/pt_br.qm:
	* data/locale/es.qm:
	* data/locale/fr.qm:
	* data/locale/nl.qm:
	* data/locale/ir.qm:
	* data/locale/en.ts:
	* data/locale/cs.ts:
	* data/locale/pt_br.ts:
	* data/locale/es.ts:
	* data/locale/fr.ts:
	* data/locale/nl.ts:
	* data/locale/ca.qm:
	* data/locale/ir.ts:
	* data/locale/ru.qm:
	* data/locale/sv.qm:
	* data/locale/ca.ts:
	* data/locale/ru.ts:
	* data/locale/sv.ts:
	* data/locale/en.qm:
	refreshed localization files

	* data/locale/de.ts:
	* data/locale/de.qm:
	updated German localization file

	* src/gui/lfo_controller_dialog.cpp:
	fixed strings

	* include/file_browser.h:
	* src/gui/file_browser.cpp:
	renamed class "listView" to "fileBrowserTreeWidget"

	* cmake/modules/DetectMachine.cmake:
	allow specifying destination directory for libs via CMAKE_INSTALL_LIBDIR

	* src/core/sample_buffer.cpp:
	- fixed out-of-boundary array access when reversing samples
	- optimized loops for loading samples

2008-10-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/plugin.h:
	reverted to rev. 1766 - fixes broken label on LADSPA effects

	* include/knob.h:
	* src/gui/widgets/knob.cpp:
	track focusOutEvents in order to unhide cursor in certain situations

2008-10-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	made 0.4.0-rc3 release

	* README:
	various fixes

	* src/gui/dialogs/about_dialog.ui:
	use QTextEdit rather than QPlainTextEdit for Qt 4.3 compatibility

2008-10-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sid/sid_instrument.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/patman/patman.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/organic/organic.cpp:
	* plugins/lb303/lb303.cpp:
	* plugins/stereo_matrix/stereo_matrix.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/peak_controller_effect/peak_controller_effect.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/papu/papu_instrument.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vst_base/vst_base.cpp:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/embed.h:
	* include/lmms_basics.h:
	* include/plugin.h:
	* src/gui/embed.cpp:
	made STRINGIFY_PLUGIN_NAME from embed.h a generic macro STRINGIFY in
	lmms_basics.h

	* include/about_dialog.h:
	* src/gui/about_dialog.cpp:
	* src/gui/dialogs/about_dialog.ui:
	designed-based about dialog

	* src/gui/widgets/rename_dialog.cpp:
	initially select whole string so it can be overwritten easily

	* AUTHORS:
	moved an item to lmms-extras/AUTHORS

	* plugins/vst_base/vst_plugin.h:
	* plugins/vst_base/vst_plugin.cpp:
	* plugins/vst_effect/vst_effect_control_dialog.cpp:
	improved VST GUI embedding (closes #2167745)

	* src/gui/track_container_view.cpp:
	do not call method on deleted trackView but fetch pointer to track
	before deleting trackView (fixes crash when removing a track)

2008-10-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/widgets/track_label_button.cpp:
	more checks before accessing icon - fixes crash when using ZynAddSubFX
	plugin

	* plugins/vst_base/remote_vst_plugin.cpp:
	various tweakings

	* src/core/piano.cpp:
	check for focusWidget() being NULL before checking inheritance - fixes
	crash for example when loading VST plugins

	* src/gui/main_window.cpp:
	use "Root directory" rather than "My computer" in non-win32-version

	* cmake/modules/FindAlsa.cmake:
	* CMakeLists.txt:
	do not create alsaconfig.h

	* plugins/sf2_player/sf2_player.cpp:
	do not mess around with global static pointers for a single instance
	of patchesDialog - create a local object instead (closes #2139701)

	* include/file_browser.h:
	* src/gui/file_browser.cpp:
	added filter feature allowing quick file access

	* include/file_browser.h:
	* src/gui/main_window.cpp:
	* src/gui/file_browser.cpp:
	* data/themes/default/computer.png:
	* data/themes/default/home.png:
	- renamed tab "root" to "My computer"
	- on win32 allow browsing drives in "My computer" tab
	- improved icons for home and "My computer" browser

	* include/embed.h:
	* include/instrument_track.h:
	* include/plugin.h:
	* include/track_label_button.h:
	* src/gui/widgets/track_label_button.cpp:
	in instrument tracks draw icon of instrument rather than displaying the
	full name of the instrument on track label button

	* src/tracks/instrument_track.cpp:
	do not call trackView::dragEnterEvent() if instrument track window
	already accepted drag event - fixes dragging of presets and
	instruments onto track label button

	* src/core/piano.cpp:
	do not reclaim keyboard focus if new focus widget is a QLineEdit

2008-10-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/remote_plugin.h:
	* src/core/remote_plugin.cpp:
	added helper thread processWatcher which monitors the remote plugin
	process - if it terminates unexpectedly, invalidate remotePlugin so
	LMMS doesn't lock up - fixes crashes and lockups when using VST
	plugins or ZynAddSubFX plugin

2008-10-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/piano.cpp:
	reclaim keyboard focus if the current focus-widget lives in the same
	instrument-track-window as the previously active test piano - this way
	running notes are not stopped when modifying a control in the same
	instrument-track-window (closes #2139806)

	* include/file_browser.h:
	* src/gui/file_browser.cpp:
	heavily improved performance when adding items to file browser
	tree-widget (closes #2146218)

2008-10-15	dieEasy <dieeasy/at/cheapnet/dot/it>

	* data/locale/it.qm:
	* data/locale/it.ts:
	updated Italian localization

2008-10-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/cs.qm:
	* data/locale/cs.ts:
	added Czech localization by Ludek Cerny <erl/at/erlmedia/dot/cz>

	* src/core/timeline.cpp:
	move position marker lines even if autoscrolling is disabled

	* include/envelope_and_lfo_parameters.h:
	* src/core/envelope_and_lfo_parameters.cpp:
	reverted to rev. 1479 as the optimizations lately completely screwed
	up things...

	* plugins/flp_import/flp_import.cpp:
	* include/basic_filters.h:
	cleanups

2008-10-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* tests/README:
	* tests/emptyproject.mmp:
	first initial "test"

	* src/core/mixer.cpp:
	- use ordered memory semantics for atomic int
	- more debug output when encountering bad jobqueue items

	* CMakeLists.txt:
	improved dependency handling for building manpage

2008-10-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mmp.h:
	* include/cpuload_widget.h:
	* include/endian_handling.h:
	* include/track.h:
	* include/controller_rack_view.h:
	* include/mixer.h:
	* include/ladspa_manager.h:
	* include/instrument_functions.h:
	* include/sample_buffer.h:
	* include/effect_lib.h:
	* include/midi.h:
	* include/effect_rack_view.h:
	* include/graph.h:
	* include/micro_timer.h:
	* include/envelope_and_lfo_parameters.h:
	* include/piano_roll.h:
	* include/volume.h:
	* include/midi_time.h:
	* include/basic_filters.h:
	* include/journalling_object.h:
	* include/automation_editor.h:
	* include/panning.h:
	* include/project_journal.h:
	* include/play_handle.h:
	* plugins/bit_invader/bit_invader.h:
	* plugins/vibed/vibrating_string.h:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/string_container.h:
	* plugins/vst_base/remote_vst_plugin.cpp:
	* src/core/base64.cpp:
	* src/gui/widgets/side_bar_widget.cpp:
	renamed types.h to lmms_basics.h

2008-10-06	Attila Herman <attila589/at/gmail/dot/com>

	* plugins/papu/papu_intrument.cpp:
	- renamed from PAPU to FreeBoy
	- help added to the knobs

2008-10-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/kicker/kicker.cpp:
	moved constants out of loop

	* include/types.h:
	set global alignment via a #define

	* src/gui/piano_roll.cpp:
	- fixed typo
	- do not crash when pressing right mouse button while moving a note
	  with left mouse button

	* src/core/song.cpp:
	lock mixer while adjusting lengths of notePlayHandles after tempo change

	* src/gui/file_browser.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/audio/audio_port.cpp:
	coding style fixes

	* include/mixer.h:
	* src/core/mixer.cpp:
	removed fine-granular locking of various playHandle-vectors, just use
	one global big lock for everything now - prevents various
	deadlocks (e.g. when previewing samples in file browser)

	* src/gui/automation_editor.cpp:
	in erase-mode do not remove values without clicking

	* src/core/envelope_and_lfo_parameters.cpp:
	fixed what I broke a few hours ago.. (closes #2146864)

	* src/core/mmp.cpp:
	fixed extension for presets

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* include/automatable_model.h:
	* include/automation_pattern.h:
	* src/core/automatable_model.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/automation_pattern.cpp:
	fixed lost automation relations when switching samplerate

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bass_booster.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/peak_controller_effect/peak_controller_effect.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.h:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
	* plugins/kicker/kicker.cpp:
	* include/sweep_oscillator.h:
	* include/envelope_and_lfo_parameters.h:
	* include/remote_plugin.h:
	* include/types.h:
	* src/core/midi/midi_client.cpp:
	* src/core/journalling_object.cpp:
	* src/core/audio/audio_pulseaudio.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/effect.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/peak_controller.cpp:
	* src/gui/widgets/visualization_widget.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	- added missing includes to compile with GCC 4.4
	- optimized various loops for getting tree-vectorized, especially with
	  upcoming GCC 4.4

	* CMakeLists.txt:
	use -ftree-vectorize per default - everyone compiling LMMS (which
	needs Qt >= 4.3.0) will at least have GCC 4.1, anyways only makes
	sense when setting C(XX)FLAGS=-march=...

	* include/effect_lib.h:
	improved effectLib for not being based on virtual-functions rather than
	direct function-inlining via template parameter

2008-10-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/lb302/lb302.h:
	* plugins/lb303/lb303.h:
	removed obsolete supportsParallelizing() method

	* src/tracks/instrument_track.cpp:
	fixed volume-scaling for IPH-based but not MIDI-based instruments

	* src/core/envelope_and_lfo_parameters.cpp:
	use memset() rather than initializing the buffer in a loop with 0

	* plugins/ladspa_effect/ladspa_effect.cpp:
	fetch pointer to LADSPA port descriptor once outside the inner loops -
	improves performance of ladspaEffect::processAudioBuffer() by 400%

	* include/types.h:
	faster floating point comparison

	* data/locale/ru.ts:
	added updated Russian localization by Alexey Kouznetsov

	* buildtools/bin2res.cpp:
	* include/mmp.h:
	* include/knob.h:
	* include/effect.h:
	* include/templates.h:
	* include/track.h:
	* include/note.h:
	* include/automatable_model.h:
	* include/import_filter.h:
	* include/mixer.h:
	* include/combobox_model.h:
	* include/ladspa_manager.h:
	* include/instrument.h:
	* include/sample_buffer.h:
	* include/midi.h:
	* include/effect_lib.h:
	* include/sample_record_handle.h:
	* include/shared_object.h:
	* include/plugin.h:
	* include/note_play_handle.h:
	* include/instrument_sound_shaping.h:
	* include/oscillator.h:
	* include/tempo_sync_knob.h:
	* include/midi_time.h:
	* include/remote_plugin.h:
	* include/basic_filters.h:
	* include/journalling_object.h:
	* include/types.h:
	* include/dummy_effect.h:
	* include/automatable_model_view.h:
	* include/inline_automation.h:
	* include/audio_device.h:
	* include/panning.h:
	* include/combobox.h:
	* include/ladspa_2_lmms.h:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/song.cpp:
	* src/core/serializing_object.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/remote_plugin.cpp:
	* src/core/journalling_object.cpp:
	* src/core/automatable_model.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_sdl.cpp:
	* src/core/audio/audio_portaudio.cpp:
	* src/core/audio/audio_jack.cpp:
	* src/core/main.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/effect.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/controller_connection.cpp:
	* src/core/track.cpp:
	* src/core/engine.cpp:
	* src/core/piano.cpp:
	* src/core/timeline.cpp:
	* src/core/instrument.cpp:
	* src/core/surround_area.cpp:
	* src/core/sample_buffer.cpp:
	* src/core/oscillator.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/lfo_controller.cpp:
	* src/core/sample_record_handle.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/plugin_browser.cpp:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/kmultitabbar.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/automation_editor.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	fixed a bunch warnings and remarks issued by Intel Compiler

	* include/fx_mixer.h:
	* src/core/fx_mixer.cpp:
	* src/core/mixer.cpp:
	- use one static jobqueue for not getting problems with cached pointers
	- check for job being NULL
	- improved performance of master mix

	* CMakeLists.txt:
	allow overriding compiler flags

2008-09-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sid/sid_instrument.h:
	* plugins/sid/sid_instrument.cpp:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/lb303/lb303.cpp:
	* plugins/lb303/lb303.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	* plugins/papu/papu_instrument.h:
	* plugins/papu/papu_instrument.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	* plugins/kicker/kicker.cpp:
	* plugins/kicker/kicker.h:
	* include/instrument_play_handle.h:
	* include/instrument_track.h:
	* include/instrument.h:
	* include/sample_record_handle.h:
	* include/plugin.h:
	* include/note_play_handle.h:
	* include/sample_play_handle.h:
	* include/remote_plugin.h:
	* include/preset_preview_play_handle.h:
	* include/play_handle.h:
	* src/core/plugin.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/remote_plugin.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/mixer.cpp:
	* src/core/instrument.cpp:
	* src/core/sample_record_handle.cpp:
	* src/tracks/instrument_track.cpp:
	removed obsolete instrument-parallelization support as this is handled
	much better by worker threads and adds unnecessary complexity

	* cmake/modules/FindPCHSupport.cmake:
	* INSTALL:
	* CMakeLists.txt:
	- removed (buggy) PCH support
	- added support for CFLAGS and CXXFLAGS environment variables

2008-09-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	use notePlayHandle::getMidiVelocty() rather than
	notePlayHandle::getVolume() for allowing less bright sounds by
	decreasing instrument-track's volume (if soundfont supports it)

	* plugins/sf2_player/sf2_player.h:
	* plugins/vestige/vestige.h:
	* plugins/vibed/vibed.h:
	* include/instrument.h:
	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	- replaced instrument::notePlayHandleBased() with
	  instrument::isMidiBased()
	- renamed bendable() to isBendable()
	- if the instrument is MIDI based and instrument-track's volume
	  is below 100, adjust velocity of MIDI events and scaling factor when
	  mixing sound

2008-09-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/CMakeLists.txt:
	moved LiveTool to LMMS-extras

	* plugins/live_tool/live_tool.h:
	* plugins/live_tool/live_tool.cpp:
	replaced X11-specific parts by platform independent code but still
	does not work properly

	* src/gui/piano_roll.cpp:
	play preview notes also while playing (closes #2089399)

	* src/gui/widgets/project_notes.cpp:
	minor code improvements

2008-09-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/cmt/src/syndrum.cpp:
	* plugins/ladspa_effect/cmt/src/vcf303.cpp:
	* plugins/ladspa_effect/cmt/src/canyondelay.cpp:
	* plugins/ladspa_effect/cmt/src/lofi.cpp:
	* plugins/ladspa_effect/cmt/src/phasemod.cpp:
	* plugins/ladspa_effect/cmt/src/analogue.cpp:
	* plugins/ladspa_effect/swh/CMakeLists.txt:
	* CMakeLists.txt:
	properly build on OS X

	* src/core/main.cpp:
	do not show splash if environment variable NOSPLASH is set

	* include/audio_portaudio.h:
	* src/core/audio/audio_portaudio.cpp:
	* src/core/audio/audio_pulseaudio.cpp:
	* src/core/sample_buffer.cpp:
	* src/core/sample_record_handle.cpp:
	* src/tracks/sample_track.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/sid/wave.cc:
	* plugins/sid/sid.cc:
	* plugins/sid/sid.h:
	* plugins/sid/filter.cc:
	fixed compiler warnings

	* src/gui/controller_connection_dialog.cpp:
	do not crash when opening controller connection dialog and using a
	non-sequenced (raw) MIDI-client

	* data/presets/TripleOscillator/SawLead.xpf:
	fixed preset name

2008-09-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	made 0.4.0-rc2 release

	* src/gui/song_editor.cpp:
	* data/themes/default/playpos_marker.png:
	improved appearence of position line

	* src/gui/file_browser.cpp:
	if adding play handle failed for some reason, set internal pointer to
	it to NULL

	* include/play_handle.h:
	made QThread pointer const

	* include/mixer.h:
	* src/core/mixer.cpp:
	- lock playHandle mutex in mixer::clear()
	- moved implementation of mixer::removePlayHandle() from header to
	  source-file
	- only delete play-handle in mixer::removePlayHandle() if it was
	  found in playHandle vector (fixes crash when previewing a preset
	  under high load)

2008-09-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	package ZynAddSubFX into win32 build

	* plugins/vst_base/remote_vst_plugin.cpp:
	* include/remote_plugin.h:
	made remotePluginClient::process() have no return value

	* src/core/main.cpp:
	* data/locale/CMakeLists.txt:
	install and load Qt translation files on win32

	* src/core/song.cpp:
	fixed file-dialog for choosing export filename

	* src/core/project_renderer.cpp:
	start render-thread with normal priority on win32 as otherwise the
	whole GUI is almost frozen

	* CMakeLists.txt:
	removed -Wstrict-aliasing=2 warning

	* src/core/midi/midi_winmm.cpp:
	cleanups

	* include/audio_sdl.h:
	* src/core/audio/audio_sdl.cpp:
	fixed deadlocks after projectRenderer ran

	* src/core/main.cpp:
	set PaintOnScreen property for splash for not taking part of
	compositing management

	* include/song_editor.h:
	* include/timeline.h:
	* src/core/timeline.cpp:
	* src/gui/song_editor.cpp:
	added a vertical position line

	* src/core/midi/midi_winmm.cpp:
	added support for MIDI out in WinMM MIDI client

2008-09-22	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/midi_import/portsmf/allegro.cpp:
	fixed broken SVN on 64bit systems. Who needs these printfs anyways?

	* plugins/lb302/lb302.cpp:
	max wave-shape model's max match the new total of wave-shapes.

	* include/peak_controller.h:
	* src/core/peak_controller.cpp:
	delete controller when effect is destroyed, but not the other way around

2008-09-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/plugin.cpp:
	always return a dummy model in plugin::getChildModel() for not
	crashing if something goes wrong

	* include/controller_connection_dialog.h:
	* src/gui/controller_connection_dialog.cpp:
	automatically enable auto-detect LED when selecting a MIDI device

	* include/remote_plugin.h:
	* src/core/audio/audio_device.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/drumsynth.cpp:
	* src/core/main.cpp:
	* src/core/mixer.cpp:
	* src/core/sample_record_handle.cpp:
	* src/core/track_container.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/midi_import/portsmf/allegrosmfwr.cpp:
	* plugins/midi_import/portsmf/allegro.cpp:
	* plugins/midi_import/midi_import.cpp:
	* plugins/papu/gb_apu/Blip_Buffer.cpp:
	* plugins/papu/gb_apu/Blip_Synth.h:
	* plugins/papu/gb_apu/blargg_source.h:
	* plugins/papu/gb_apu/Blip_Buffer.h:
	* plugins/sf2_player/sf2_player.cpp:
	fixed compiler warnings

	* src/core/midi/midi_alsa_seq.cpp:
	fixed subscription of output ports

	* include/group_box.h:
	* include/midi.h:
	* include/midi_port.h:
	* include/instrument_midi_io_view.h:
	* src/core/midi/midi_port.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	* data/themes/default/midi_in.png:
	* data/themes/default/midi_out.png:
	refactored MIDI tab in instrumentTrackWindow which now also allows
	setting arbitrary fixed velocity and defining a program for MIDI output

	* include/midi_mapper.h:
	* src/core/midi/midi_mapper.cpp:
	* data/midi-maps/gm.map:
	* data/midi-maps/YamahaPSS790.map:
	* data/midi-maps/YamahaPSR400.map:
	* data/midi-maps/YamahaPSR500.map:
	* data/midi-maps/YamahaQY10.map:
	* data/midi-maps/README:
	removed obsolete/unused support for MIDI maps

	* CMakeLists.txt:
	enable all compiler warnings per default

	* include/audio_file_ogg.h:
	* include/audio_file_device.h:
	* src/gui/export_project_dialog.cpp:
	* src/core/audio/audio_file_device.cpp:
	* src/core/audio/audio_file_ogg.cpp:
	fixed crashes when exporting as OGG and output file can't be created
	or OGG encoding settings are wrong

	* src/core/automation_pattern.cpp:
	fixed automationPattern::length() for cases where the key of the
	last value was the first tick in a new tact

	* plugins/ladspa_effect/cmt/src/delay.cpp:
	initialize CMT_PluginDescriptor with correct number of ports

	* plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/comb.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/denormals.h:
	fixed strict aliasing violation

	* plugins/ladspa_effect/cmt/src/analogue.cpp:
	initialize members

	* plugins/ladspa_effect/swh/CMakeLists.txt:
	* plugins/ladspa_effect/cmt/CMakeLists.txt:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/basics.h:
	* plugins/ladspa_effect/CMakeLists.txt:
	- build LADSPA-effect plugin after subdirs have been processed,
	  otherwise LADSPA plugins are linked against Qt4 and so on
	- compile with -fno-strict-aliasing, fixes win32 builds of plugins

2008-09-21	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/config_mgr.h:
	* include/setup_dialog.h:
	* src/gui/main_window.cpp:
	* src/gui/setup_dialog.cpp:
	* src/core/config_mgr.cpp:
	Add support for user-configurable backgound artwork

	* src/core/mmp.cpp:
	* data/samples/drumsynth/r_b:
	* data/samples/drumsynth/r_n_b:
	- Fix incorrect replacement for drumsynth/misc
	- Replace r&b,r_b with r_n_b

	* src/core/main.cpp:
	- Make "could not set realtime priority" sound less like an error
	- Actually commit the file

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* src/core/mmp.cpp:
	* data/themes/default/round_square_wave_inactive.png:
	* data/themes/default/round_square_wave_active.png:
	- Remove useless inverted-saw waveform
	- Add Sine, Noise, and Exponential waveforms
	- Use buttons instead of a knob

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	- Add support for pitch bend
	- Move smoothing button to a more noticable location
	- Some coding style changes

	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	Add support for pitch bend

	* src/tracks/instrument_track.cpp:
	* include/instrument_track.h: 
	- Correctly update instrumentTrackView when changing the instrument plugin
	- Add bendable property to hide pitchBend knob for Vibed

	* plugins/vibed/vibed.h:
	* include/instrument.h:
	* src/tracks/instrument_track.cpp:
	Hide pitch bend one vibed instrument
	
	* src/gui/setup_dialog.cpp:
	- Minor layout fix
	- Fix incorrect starting directory for STK

	* data/CMakeLists.txt:
	* data/backgrounds:
	* data/backgrounds/CMakeLists.txt:
	* data/backgrounds/lmms_tile.png:
	* data/backgrounds/vinnie.png:
	- Move llama theme background to backgrounds/
	- Resurrect the old background
	- more to come..

	* data/themes/llama:
	* data/themes/llama/background_artwork.png:
	- Remove llama theme

2008-09-20	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	Fix bug introduced in the last edit.  Reference sharing was not working
	at all because the check was performed with a different filename than
	the insert
	
	* plugins/vibed/logo.png:
	Add fabi's improved vibed logo

	* CMakeLists.txt:
	Fix copy-and-paste error in a message

	* plugins/papu/papu_instrument.cpp:
	- Unselect the noise-channel (ch4) by default
	- Coding style changes

	* src/core/song.cpp:
	Add hard-coded file-extension filters to the import file screen

2008-09-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/config_mgr.cpp:
	set default path if a path only contains of a dir-separator

	* data/presets/CMakeLists.txt:
	fixed extension of presets

	* plugins/ladspa_effect/cmt/doc/bugs.html:
	* plugins/ladspa_effect/cmt/doc/plugins.html:
	* plugins/ladspa_effect/cmt/doc/installation.html:
	* plugins/ladspa_effect/cmt/doc/license.html:
	* plugins/ladspa_effect/cmt/doc/tasks.html:
	* plugins/ladspa_effect/cmt/doc/COPYING:
	* plugins/ladspa_effect/cmt/doc/overview.html:
	* plugins/ladspa_effect/cmt/doc/index.html:
	* plugins/ladspa_effect/cmt/doc/adding_plugins.html:
	* plugins/ladspa_effect/cmt/doc/changes.html:
	* plugins/ladspa_effect/cmt/src/sine.cpp:
	* plugins/ladspa_effect/cmt/src/delay.cpp:
	* plugins/ladspa_effect/cmt/src/syndrum.cpp:
	* plugins/ladspa_effect/cmt/src/vcf303.cpp:
	* plugins/ladspa_effect/cmt/src/utils.h:
	* plugins/ladspa_effect/cmt/src/wshape_sine.cpp:
	* plugins/ladspa_effect/cmt/src/canyondelay.cpp:
	* plugins/ladspa_effect/cmt/src/noise.cpp:
	* plugins/ladspa_effect/cmt/src/amp.cpp:
	* plugins/ladspa_effect/cmt/src/disintegrator.cpp:
	* plugins/ladspa_effect/cmt/src/run_adding.h:
	* plugins/ladspa_effect/cmt/src/hardgate.cpp:
	* plugins/ladspa_effect/cmt/src/cmt.cpp:
	* plugins/ladspa_effect/cmt/src/mixer.cpp:
	* plugins/ladspa_effect/cmt/src/filter.cpp:
	* plugins/ladspa_effect/cmt/src/lofi.cpp:
	* plugins/ladspa_effect/cmt/src/am.cpp:
	* plugins/ladspa_effect/cmt/src/phasemod.cpp:
	* plugins/ladspa_effect/cmt/src/grain.cpp:
	* plugins/ladspa_effect/cmt/src/pink.cpp:
	* plugins/ladspa_effect/cmt/src/init.cpp:
	* plugins/ladspa_effect/cmt/src/ambisonic.cpp:
	* plugins/ladspa_effect/cmt/src/pinknoise.h:
	* plugins/ladspa_effect/cmt/src/organ.cpp:
	* plugins/ladspa_effect/cmt/src/null.cpp:
	* plugins/ladspa_effect/cmt/src/logistic.cpp:
	* plugins/ladspa_effect/cmt/src/descriptor.cpp:
	* plugins/ladspa_effect/cmt/src/freeverb/freeverb.cpp:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.cpp:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/comb.cpp:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/revmodel.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/comb.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/tuning.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/denormals.h:
	* plugins/ladspa_effect/cmt/src/freeverb/Components/revmodel.cpp:
	* plugins/ladspa_effect/cmt/src/freeverb/readme.txt:
	* plugins/ladspa_effect/cmt/src/peak.cpp:
	* plugins/ladspa_effect/cmt/src/pink_full.cpp:
	* plugins/ladspa_effect/cmt/src/dynamic.cpp:
	* plugins/ladspa_effect/cmt/src/cmt.h:
	* plugins/ladspa_effect/cmt/src/pink_sh.cpp:
	* plugins/ladspa_effect/cmt/src/analogue.cpp:
	* plugins/ladspa_effect/cmt/src/sledgehammer.cpp:
	* plugins/ladspa_effect/cmt/src/ladspa_types.h:
	* plugins/ladspa_effect/cmt/CMakeLists.txt:
	* plugins/ladspa_effect/CMakeLists.txt:
	* CMakeLists.txt:
	added CMT LADSPA plugins - should be enough then :)

	* plugins/ladspa_effect/swh/ladspa-util.h:
	* plugins/ladspa_effect/swh/phasers_1217.c:
	* plugins/ladspa_effect/swh/vynil_1905.c:
	* plugins/ladspa_effect/swh/mbeq_1197.c:
	* plugins/ladspa_effect/swh/fast_lookahead_limiter_1913.c:
	* plugins/ladspa_effect/swh/flanger_1191.c:
	* plugins/ladspa_effect/swh/comb_1190.c:
	* plugins/ladspa_effect/swh/dc_remove_1207.c:
	* plugins/ladspa_effect/swh/dj_eq_1901.c:
	* plugins/ladspa_effect/swh/util/biquad.h:
	* plugins/ladspa_effect/swh/CMakeLists.txt:
	* plugins/ladspa_effect/swh/AUTHORS:
	* plugins/ladspa_effect/swh/COPYING:
	* plugins/ladspa_effect/swh/README:
	* plugins/ladspa_effect/CMakeLists.txt:
	* CMakeLists.txt:
	added a selection of nice SWH LADSPA plugins

	* include/piano_roll.h:
	* src/gui/piano_roll.cpp:
	fixed quantization when moving selected notes (closes #2118371)

	* plugins/sid/envelope.h:
	* plugins/sid/extfilt.h:
	* plugins/sid/wave.h:
	* plugins/sid/voice.h:
	* plugins/sid/sid.cc:
	* plugins/sid/sid.h:
	* plugins/sid/filter.h:
	* plugins/sid/sid_instrument.cpp:
	renamed class SID to cSID for not conflicting with data structure SID
	in win32 headers

	* include/ladspa_base.h:
	* src/core/ladspa_control.cpp:
	* src/gui/widgets/ladspa_control_view.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	renamed FLOAT constant to FLOATING for not conflicting with FLOAT type
	in win32 headers

	* include/midi_time.h:
	export MIDI class - DLL version of midiImport plugin needs it

2008-09-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/pt_br.qm:
	* data/locale/fr.qm:
	* data/locale/es.qm:
	* data/locale/nl.qm:
	* data/locale/ir.qm:
	* data/locale/en.ts:
	* data/locale/it.qm:
	* data/locale/pt_br.ts:
	* data/locale/fr.ts:
	* data/locale/es.ts:
	* data/locale/nl.ts:
	* data/locale/ir.ts:
	* data/locale/ca.qm:
	* data/locale/it.ts:
	* data/locale/ru.qm:
	* data/locale/de.qm:
	* data/locale/sv.qm:
	* data/locale/ca.ts:
	* data/locale/ru.ts:
	* data/locale/de.ts:
	* data/locale/sv.ts:
	* data/locale/en.qm:
	refreshed localizations

	* CMakeLists.txt:
	added "finalize-locales" target

	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	* src/core/main.cpp:
	fixed paths when starting with no configuration file

	* src/core/timeline.cpp:
	* src/core/track.cpp:
	* data/themes/default/playpos_marker.png:
	* data/themes/default/loop_points_on.png:
	* data/themes/default/style.css:
	* data/themes/default/loop_point_disabled.png:
	* data/themes/default/autoscroll_off.png:
	* data/themes/default/loop_point.png:
	* data/themes/default/autoscroll_on.png:
	* data/themes/default/loop_points_off.png:
	improved visual appearence of timeline

	* CMakeLists.txt:
	improved detection of Qt4 translation directory

2008-09-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/fx_mixer_view.cpp:
	fixed tooltip of mute button

	* data/presets/AudioFileProcessor/Fat-Reversed-Kick.xpf:
	* data/presets/AudioFileProcessor/orion.xpf:
	* data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.xpf:
	* data/presets/AudioFileProcessor/Erazor.cs.xml:
	* data/presets/AudioFileProcessor/Bass-Mania.xpf:
	* data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
	* data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
	* data/presets/AudioFileProcessor/Bass-Mania.cs.xml:
	* data/presets/AudioFileProcessor/Erazor.xpf:
	* data/presets/LB302/Oh:
	* data/presets/LB302/GoodOldTimes.xpf:
	* data/presets/LB302/Oh:
	* data/presets/Organic/organ_swish.xpf:
	* data/presets/Organic/pad_ethereal.cs.xml:
	* data/presets/Organic/organ_swish.cs.xml:
	* data/presets/Organic/puresine.xpf:
	* data/presets/Organic/default.cs.xml:
	* data/presets/Organic/organ_blues.xpf:
	* data/presets/Organic/puresine.cs.xml:
	* data/presets/Organic/sequencer_64.xpf:
	* data/presets/Organic/organ_blues.cs.xml:
	* data/presets/Organic/organ_risingsun.xpf:
	* data/presets/Organic/pad_sweep.xpf:
	* data/presets/Organic/pad_rich.xpf:
	* data/presets/Organic/sequencer_64.cs.xml:
	* data/presets/Organic/pad_ethereal.xpf:
	* data/presets/Organic/pad_sweep.cs.xml:
	* data/presets/Organic/organ_risingsun.cs.xml:
	* data/presets/Organic/pad_rich.cs.xml:
	* data/presets/BitInvader/drama.xpf:
	* data/presets/BitInvader/pluck.cs.xml:
	* data/presets/BitInvader/bell.cs.xml:
	* data/presets/BitInvader/spacefx.xpf:
	* data/presets/BitInvader/drama.cs.xml:
	* data/presets/BitInvader/default.cs.xml:
	* data/presets/BitInvader/cello.xpf:
	* data/presets/BitInvader/soft_pad.xpf:
	* data/presets/BitInvader/spacefx.cs.xml:
	* data/presets/BitInvader/alien_strings.xpf:
	* data/presets/BitInvader/toy_piano.xpf:
	* data/presets/BitInvader/subbass.xpf:
	* data/presets/BitInvader/wah_synth.xpf:
	* data/presets/BitInvader/cello.cs.xml:
	* data/presets/BitInvader/soft_pad.cs.xml:
	* data/presets/BitInvader/sweep_pad.xpf:
	* data/presets/BitInvader/beehive.xpf:
	* data/presets/BitInvader/toy_piano.cs.xml:
	* data/presets/BitInvader/alien_strings.cs.xml:
	* data/presets/BitInvader/subbass.cs.xml:
	* data/presets/BitInvader/wah_synth.cs.xml:
	* data/presets/BitInvader/epiano.xpf:
	* data/presets/BitInvader/sweep_pad.cs.xml:
	* data/presets/BitInvader/beehive.cs.xml:
	* data/presets/BitInvader/bell.xpf:
	* data/presets/BitInvader/pluck.xpf:
	* data/presets/BitInvader/epiano.cs.xml:
	* data/presets/Vibed/SadPad.cs.xml:
	* data/presets/Vibed/Harpsichord.xpf:
	* data/presets/Vibed/SadPad.xpf:
	* data/presets/Vibed/Harpsichord.cs.xml:
	* data/presets/TripleOscillator/Short4.xpf:
	* data/presets/TripleOscillator/Arpeggio_1.cs.xml:
	* data/presets/TripleOscillator/Fat-FMish-Bells.cs.xml:
	* data/presets/TripleOscillator/AmazingBubbles.xpf:
	* data/presets/TripleOscillator/HiPad.xpf:
	* data/presets/TripleOscillator/Whistle.cs.xml:
	* data/presets/TripleOscillator/Plucked.xpf:
	* data/presets/TripleOscillator/SawLead.cs.xml:
	* data/presets/TripleOscillator/Harp-of-a-Fairy.cs.xml:
	* data/presets/TripleOscillator/Short4.cs.xml:
	* data/presets/TripleOscillator/ArpKing.xpf:
	* data/presets/TripleOscillator/Dull-Bell-Arp.xpf:
	* data/presets/TripleOscillator/Rough!.cs.xml:
	* data/presets/TripleOscillator/Plucked.cs.xml:
	* data/presets/TripleOscillator/Harmonium.xpf:
	* data/presets/TripleOscillator/E-Organ.cs.xml:
	* data/presets/TripleOscillator/Gong.cs.xml:
	* data/presets/TripleOscillator/ArpKing.cs.xml:
	* data/presets/TripleOscillator/AnalogDreamz.xpf:
	* data/presets/TripleOscillator/Harmonium.cs.xml:
	* data/presets/TripleOscillator/PowerStrings.xpf:
	* data/presets/TripleOscillator/SpaceBass.cs.xml:
	* data/presets/TripleOscillator/RaveBass.cs.xml:
	* data/presets/TripleOscillator/ResonantPad.xpf:
	* data/presets/TripleOscillator/SawLead.xpf:
	* data/presets/TripleOscillator/Fat.cs.xml:
	* data/presets/TripleOscillator/ResoBass.xpf:
	* data/presets/TripleOscillator/LovelyDream.xpf:
	* data/presets/TripleOscillator/AnalogTimes2.xpf:
	* data/presets/TripleOscillator/RockOrgan.xpf:
	* data/presets/TripleOscillator/TB303-Arpeggio.xpf:
	* data/presets/TripleOscillator/Xylophon.cs.xml:
	* data/presets/TripleOscillator/E-Organ.xpf:
	* data/presets/TripleOscillator/Short3.cs.xml:
	* data/presets/TripleOscillator/LovelyDream.cs.xml:
	* data/presets/TripleOscillator/SoftStrings.cs.xml:
	* data/presets/TripleOscillator/DeathBass.xpf:
	* data/presets/TripleOscillator/Play-some-rock.xpf:
	* data/presets/TripleOscillator/TranceLead.xpf:
	* data/presets/TripleOscillator/MoveYourBody.xpf:
	* data/presets/TripleOscillator/SpaceBass.xpf:
	* data/presets/TripleOscillator/Harpsichord.xpf:
	* data/presets/TripleOscillator/Freaky-Bass.xpf:
	* data/presets/TripleOscillator/MoveYourBody.cs.xml:
	* data/presets/TripleOscillator/PowerStrings.cs.xml:
	* data/presets/TripleOscillator/Fat-FMish-Bells.xpf:
	* data/presets/TripleOscillator/Arpeggio_1.xpf:
	* data/presets/TripleOscillator/Freaky-Bass.cs.xml:
	* data/presets/TripleOscillator/Bell.xpf:
	* data/presets/TripleOscillator/Arpeggio_2.xpf:
	* data/presets/TripleOscillator/Xylophon.xpf:
	* data/presets/TripleOscillator/Jupiter.xpf:
	* data/presets/TripleOscillator/SawReso.xpf:
	* data/presets/TripleOscillator/LFO-party.cs.xml:
	* data/presets/TripleOscillator/ResonantPad.cs.xml:
	* data/presets/TripleOscillator/Rough!.xpf:
	* data/presets/TripleOscillator/Distorted-FM-Bass.xpf:
	* data/presets/TripleOscillator/Kick.cs.xml:
	* data/presets/TripleOscillator/Short2.cs.xml:
	* data/presets/TripleOscillator/SawReso.cs.xml:
	* data/presets/TripleOscillator/TheFirstOne.xpf:
	* data/presets/TripleOscillator/SoftBass.cs.xml:
	* data/presets/TripleOscillator/AmazingBubbles.cs.xml:
	* data/presets/TripleOscillator/HiPad.cs.xml:
	* data/presets/TripleOscillator/TB303-Arpeggio.cs.xml:
	* data/presets/TripleOscillator/Distorted-FM-Bass.cs.xml:
	* data/presets/TripleOscillator/Analogous.cs.xml:
	* data/presets/TripleOscillator/TheMaster.cs.xml:
	* data/presets/TripleOscillator/WarmStack.cs.xml:
	* data/presets/TripleOscillator/Ravemania.xpf:
	* data/presets/TripleOscillator/PluckArpeggio.cs.xml:
	* data/presets/TripleOscillator/Square.cs.xml:
	* data/presets/TripleOscillator/Play-some-rock.cs.xml:
	* data/presets/TripleOscillator/TranceLead.cs.xml:
	* data/presets/TripleOscillator/Ravemania.cs.xml:
	* data/presets/TripleOscillator/OldComputerGames.xpf:
	* data/presets/TripleOscillator/Harpsichord.cs.xml:
	* data/presets/TripleOscillator/MoogArpeggio.xpf:
	* data/presets/TripleOscillator/Snare.cs.xml:
	* data/presets/TripleOscillator/Harp-of-a-Fairy.xpf:
	* data/presets/TripleOscillator/FutureBass.xpf:
	* data/presets/TripleOscillator/Fat-TB303-Arp.xpf:
	* data/presets/TripleOscillator/SoftBass.xpf:
	* data/presets/TripleOscillator/Bell.cs.xml:
	* data/presets/TripleOscillator/Arpeggio_2.cs.xml:
	* data/presets/TripleOscillator/SoftStrings.xpf:
	* data/presets/TripleOscillator/MoogArpeggio.cs.xml:
	* data/presets/TripleOscillator/Short1.cs.xml:
	* data/presets/TripleOscillator/FatCheese.xpf:
	* data/presets/TripleOscillator/Analogous.xpf:
	* data/presets/TripleOscillator/ResoBass.cs.xml:
	* data/presets/TripleOscillator/Jupiter.cs.xml:
	* data/presets/TripleOscillator/Fat-TB303-Arp.cs.xml:
	* data/presets/TripleOscillator/FutureBass.cs.xml:
	* data/presets/TripleOscillator/Gong.xpf:
	* data/presets/TripleOscillator/TB303.xpf:
	* data/presets/TripleOscillator/RockOrgan.cs.xml:
	* data/presets/TripleOscillator/AnalogTimes2.cs.xml:
	* data/presets/TripleOscillator/PluckArpeggio.xpf:
	* data/presets/TripleOscillator/TheMaster.xpf:
	* data/presets/TripleOscillator/WarmStack.xpf:
	* data/presets/TripleOscillator/FatCheese.cs.xml:
	* data/presets/TripleOscillator/Bell_2.xpf:
	* data/presets/TripleOscillator/Square.xpf:
	* data/presets/TripleOscillator/TheFirstOne.cs.xml:
	* data/presets/TripleOscillator/TB303.cs.xml:
	* data/presets/TripleOscillator/AnalogTimes.xpf:
	* data/presets/TripleOscillator/Dull-Bell-Arp.cs.xml:
	* data/presets/TripleOscillator/ChurchOrgan.xpf:
	* data/presets/TripleOscillator/Kick2.xpf:
	* data/presets/TripleOscillator/Bell_2.cs.xml:
	* data/presets/TripleOscillator/RaveBass.xpf:
	* data/presets/TripleOscillator/Snare.xpf:
	* data/presets/TripleOscillator/ChurchOrgan.cs.xml:
	* data/presets/TripleOscillator/Kick2.cs.xml:
	* data/presets/TripleOscillator/AnalogTimes.cs.xml:
	* data/presets/TripleOscillator/E-Organ2.xpf:
	* data/presets/TripleOscillator/Fat.xpf:
	* data/presets/TripleOscillator/AnalogDreamz.cs.xml:
	* data/presets/TripleOscillator/LFO-party.xpf:
	* data/presets/TripleOscillator/Whistle.xpf:
	* data/presets/TripleOscillator/Short1.xpf:
	* data/presets/TripleOscillator/OldComputerGames.cs.xml:
	* data/presets/TripleOscillator/Kick.xpf:
	* data/presets/TripleOscillator/Short2.xpf:
	* data/presets/TripleOscillator/Short3.xpf:
	* src/gui/main_window.cpp:
	* src/gui/file_browser.cpp:
	* src/tracks/instrument_track.cpp:
	changed preset's extension from "*.cs.xml" to "*.xpf"

	* include/instrument_track.h:
	* include/track.h:
	* include/track_label_button.h:
	* src/core/bb_track_container.cpp:
	* src/core/track.cpp:
	* src/gui/widgets/track_label_button.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	- when used on instrumentTrack, also show instrument name on
	  trackLabelButton
	- removed obsolete support for choosing custom track icons

	* src/core/mixer.cpp:
	when just rendering at console, use DEFAULT_BUFFER_SIZE

	* data/track_icons/harp02.png:
	* data/track_icons/harp03.png:
	* data/track_icons/cello01.png:
	* data/track_icons/guitar_electric01.png:
	* data/track_icons/piano01.png:
	* data/track_icons/guitar_electric02.png:
	* data/track_icons/maracas01.png:
	* data/track_icons/guitar_electric03.png:
	* data/track_icons/guitar_electric04.png:
	* data/track_icons/connectors01.png:
	* data/track_icons/drumset01_.png:
	* data/track_icons/trombone01.png:
	* data/track_icons/CMakeLists.txt:
	* data/track_icons/african_drum01.png:
	* data/track_icons/french_horn01.png:
	* data/track_icons/african_drum02.png:
	* data/track_icons/mouth01.png:
	* data/track_icons/african_drum03.png:
	* data/track_icons/african_drum04.png:
	* data/track_icons/african_drum05.png:
	* data/track_icons/gramophone01.png:
	* data/track_icons/trumpet01.png:
	* data/track_icons/violin01.png:
	* data/track_icons/trumpet02.png:
	* data/track_icons/violin02.png:
	* data/track_icons/trumpet03.png:
	* data/track_icons/microphone01.png:
	* data/track_icons/guitar_bass01.png:
	* data/track_icons/trumpet04.png:
	* data/track_icons/microphone02.png:
	* data/track_icons/microphone03.png:
	* data/track_icons/microphone04.png:
	* data/track_icons/flute01.png:
	* data/track_icons/oboe01.png:
	* data/track_icons/xylophone01.png:
	* data/track_icons/guitar_accoustic01.png:
	* data/track_icons/guitar_accoustic02.png:
	* data/track_icons/speaker01.png:
	* data/track_icons/harp01.png:
	* data/track_icons/guitar_accoustic03.png:
	* data/CMakeLists.txt:
	finally removed obsolete track icons

2008-09-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	try to use relative paths for s_fonts map too as otherwise
	s_fonts.remove( m_filename ) won't do anything if a full path was
	inserted and m_filename was made relative - fixes crash when
	re-opening a soundfont which was shared before

	* plugins/midi_import/portsmf/strparse.cpp:
	fixed compilation issue

2008-09-16	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* plugins/midi_import/portsmf:
	* plugins/midi_import/portsmf/allegrowr.cpp:
	* plugins/midi_import/portsmf/trace.cpp:
	* plugins/midi_import/portsmf/algsmfrd_internal.h:
	* plugins/midi_import/portsmf/trace.h:
	* plugins/midi_import/portsmf/strparse.cpp:
	* plugins/midi_import/portsmf/allegrosmfwr.cpp:
	* plugins/midi_import/portsmf/mfmidi.cpp:
	* plugins/midi_import/portsmf/strparse.h:
	* plugins/midi_import/portsmf/mfmidi.h:
	* plugins/midi_import/portsmf/allegrord.cpp:
	* plugins/midi_import/portsmf/license.txt:
	* plugins/midi_import/portsmf/allegrosmfrd.cpp:
	* plugins/midi_import/portsmf/allegro.cpp:
	* plugins/midi_import/portsmf/allegroserial.cpp:
	* plugins/midi_import/portsmf/algrd_internal.h:
	* plugins/midi_import/portsmf/allegro.h:
	* plugins/midi_import/portsmf/README.txt:
	* plugins/midi_import/CMakeLists.txt:
	* plugins/midi_import/midi_import.cpp:
	* include/meter_model.h:
	* include/instrument_track.h:
	* include/config_mgr.h:
	* include/plugin.h:
	* include/setup_dialog.h:
	* src/gui/setup_dialog.cpp:
	* src/core/plugin.cpp:
	* src/core/config_mgr.cpp:
	- Add Portsmf-based MIDI import to trunk
	- Add default-sf2 to settings dialog, but currently only loads when
	  importing a MIDI

	* src/gui/piano_roll.cpp:
	- Add new shortcuts for change Q and note length
	- Add "Note lock" mode to keep Q equal to note length

2008-09-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/track_container_view.cpp:
	* src/core/track.cpp:
	disabled undo/redo of track/TCO addition/removal as not mature yet and
	causes unnecessary crashes (closes #2014439, #2100407)

	* data/projects/cool_songs/Skiessi-TurningPoint.mmpz:
	* data/projects/cool_songs/Skiessi-RandomProjectNumber14253.mmpz:
	added two cool projects from Skiessi - more to come

	* src/core/track.cpp:
	* src/core/automation_pattern.cpp:
	- fixed cloning of automation-patterns (closes #2102218)
	- allow dropping automation patterns onto existing automation patterns

	* src/core/project_journal.cpp:
	improved usage of random number generator (closes #2109211)

	* plugins/ladspa_effect/tap/tap_pinknoise.c:
	* plugins/ladspa_effect/caps/interface.cc:
	* src/core/drumsynth.cpp:
	* src/core/main.cpp:
	don't mis-initialize random number generator with default value

	* src/core/journalling_object.cpp:
	print name of object which uses ID if another object requests it

	* src/core/automation_pattern.cpp:
	make sure we don't return NULL in automationPattern::firstObject()

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* include/engine.h:
	* include/effect_rack_view.h:
	* include/effect_chain.h:
	* src/core/effect_chain.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/engine.cpp:
	* src/gui/widgets/effect_rack_view.cpp:
	- do not show messages about missing plugins when previewing
	  presets (closes #2110203)
	- clear effect view before loading settings in effectChain

	* CMakeLists.txt:
	improved out-of-tree builds

2008-09-14	Csaba Hruska <csaba.hruska/at/gmail.com>
	
	* src/core/audio/audio_portaudio.cpp:
	Bugfix: Fixed segfault when other app uses and blocks the audio device

2008-09-08	Paul Giblock <drfaygo/at/gmail/dot/com>
	
	* src/core/timeline.cpp:
	Keep loop markers from being in same position

2008-09-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/audio_port.h:
	* include/midi.h:
	* include/mixer.h:
	* include/play_handle.h:
	* include/sample_play_handle.h:
	* include/track.h:
	* src/core/audio/audio_port.cpp:
	* src/core/effect_chain.cpp:
	* src/core/mixer.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/track.cpp:
	- ensure correct thread affinity when deleting play handles - fixes
	  crash when previewing samples and LMMS was linked against Qt 4.3.x
	- renamed destroyed()-signals for not conflicting with
	  QObject::destroyed() in Qt 4.3
	- made effectChain creation in audioPort optional
	- fixed various compiler warnings

2008-09-08	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/papu/gb_abu/Blip_Buffer.cpp:
	Fix PAPU for 64bit machines

2008-09-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	made 0.4.0-rc1 release

	* plugins/vst_base/CMakeLists.txt:
	* CMakeLists.txt:
	- fixed win32-specific build issues
	- on Linux install manpage

	* include/gui_templates.h:
	* src/core/instrument_sound_shaping.cpp:
	* src/gui/widgets/instrument_sound_shaping_view.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* data/locale/de.qm:
	* data/locale/de.ts:
	further UI finetuning

	* include/midi_winmm.h:
	* src/core/midi/midi_winmm.cpp:
	finally made WinMM MIDI driver work properly by fixing internal data
	structures

	* buildtools/bin2res.cpp:
	* plugins/bit_invader/logo.png:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/wavegraph.png:
	* plugins/bit_invader/wavegraph3.png:
	* plugins/bit_invader/artwork.png:
	* plugins/lb302/artwork.png:
	* plugins/papu/artwork.png:
	* plugins/sf2_player/chorus_off.png:
	* plugins/sf2_player/chorus_on.png:
	* plugins/sf2_player/logo.png:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/fileselect_off.png:
	* plugins/sf2_player/fileselect_on.png:
	* plugins/sf2_player/reverb_off.png:
	* plugins/sf2_player/patches_off.png:
	* plugins/sf2_player/patches_on.png:
	* plugins/sf2_player/artwork.png:
	* plugins/sid/3off.png:
	* plugins/sid/8580red.png:
	* plugins/sid/trianglered.png:
	* plugins/sid/logo.png:
	* plugins/sid/bp.png:
	* plugins/sid/6581.png:
	* plugins/sid/8580.png:
	* plugins/sid/syncred.png:
	* plugins/sid/hp.png:
	* plugins/sid/lp.png:
	* plugins/sid/sync.png:
	* plugins/sid/noise.png:
	* plugins/sid/test.png:
	* plugins/sid/pulsered.png:
	* plugins/sid/filter.png:
	* plugins/sid/sawred.png:
	* plugins/sid/3offred.png:
	* plugins/sid/pulse.png:
	* plugins/sid/artwork.png:
	* plugins/sid/saw.png:
	* plugins/sid/bpred.png:
	* plugins/sid/6581red.png:
	* plugins/sid/ring.png:
	* plugins/sid/hpred.png:
	* plugins/sid/triangle.png:
	* plugins/sid/lpred.png:
	* plugins/sid/noisered.png:
	* plugins/sid/testred.png:
	* plugins/sid/filterred.png:
	* plugins/sid/ringred.png:
	* plugins/spectrum_analyzer/log_x_axis.png:
	* plugins/spectrum_analyzer/log_y_axis.png:
	* plugins/spectrum_analyzer/background.png:
	* plugins/spectrum_analyzer/spectrum_background.png:
	* plugins/spectrum_analyzer/spectrum_background_plain.png:
	* plugins/vestige/vestige.cpp:
	* plugins/vst_base/remote_vst_plugin.cpp:
	* data/themes/default/groupbox_led_bg.png:
	* include/aeffectx.h:
	* include/effect_rack_view.h:
	* include/group_box.h:
	* include/gui_templates.h:
	* src/core/piano.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/plugin_browser.cpp:
	* src/gui/widgets/effect_rack_view.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	* src/gui/widgets/instrument_sound_shaping_view.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/tab_widget.cpp:
	UI finetuning / recompression of some PNG-files

	* src/core/remote_plugin.cpp:
	improved destruction

	* src/core/mixer.cpp:
	re-enabled WinMM MIDI

	* include/midi_winmm.h:
	* src/core/midi/midi_winmm.cpp:
	create separate thread for WinMM MIDI

2008-09-08	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sid/logo.png:
	Un-box the sid logo

	* plugins/papu:
	* plugins/papu/Basic_Gb_Apu.cpp:
	* plugins/papu/btn_off.png:
	* plugins/papu/btn_on.png:
	* plugins/papu/papu_instrument.h:
	* plugins/papu/logo.png:
	* plugins/papu/Basic_Gb_Apu.h:
	* plugins/papu/btn_up.png:
	* plugins/papu/btn_15.png:
	* plugins/papu/btn_7.png:
	* plugins/papu/artwork.png:
	* plugins/papu/gb_apu:
	* plugins/papu/gb_apu/Blip_Buffer.cpp:
	* plugins/papu/gb_apu/Gb_Oscs.cpp:
	* plugins/papu/gb_apu/Blip_Synth.h:
	* plugins/papu/gb_apu/Gb_Apu.h:
	* plugins/papu/gb_apu/blargg_source.h:
	* plugins/papu/gb_apu/Multi_Buffer.cpp:
	* plugins/papu/gb_apu/Blip_Buffer.h:
	* plugins/papu/gb_apu/Gb_Oscs.h:
	* plugins/papu/gb_apu/boost:
	* plugins/papu/gb_apu/boost/config.hpp:
	* plugins/papu/gb_apu/boost/cstdint.hpp:
	* plugins/papu/gb_apu/boost/static_assert.hpp:
	* plugins/papu/gb_apu/Multi_Buffer.h:
	* plugins/papu/gb_apu/LGPL.txt:
	* plugins/papu/gb_apu/blargg_common.h:
	* plugins/papu/gb_apu/Gb_Apu.cpp:
	* plugins/papu/btn_down.png:
	* plugins/papu/CMakeLists.txt:
	* plugins/papu/papu_instrument.cpp:
	* plugins/CMakeLists.txt:
	- Add Csaba and Attila's GameBoy emulator so it can be tested in RC1
	- Update artwork to something not trademarked. "Freeboy" is just for now

2008-09-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	- apply release of 128 frames
	- enable loop mode per default

	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/engine.h:
	* include/file_browser.h:
	* include/preset_preview_play_handle.h:
	* include/plugin.h:
	* include/remote_plugin.h:
	* include/sample_play_handle.h:
	* src/core/engine.cpp:
	* src/core/plugin.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/gui/file_browser.cpp:
	* src/gui/main_window.cpp:
	* src/gui/track_container_view.cpp:
	- rewrote the way plugins can handle certain filetypes
	- rewrote various parts of file-browser to be less redundant and
	  more stable (closes #2071891)

	* data/themes/default/sample_file.png:
	renamed from sound_file.png

	* include/midi.h:
	* src/core/midi/midi_client.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	fixed MIDI output channel issues (closes #2098722)

	* include/graph.h:
	* src/gui/widgets/graph.cpp:
	integrated patch by Attila Herman which adds support for colorized
	graph and quantized values

	* src/core/config_mgr.cpp:
	made default VST path to be inside LMMS working directory

	* src/gui/track_container_view.cpp:
	changed size constraint for scrollArea-widget layout - fixes messed up
	Song Editor after loading various projects

	* src/gui/main_window.cpp:
	set QMdiArea::DontMaximizeSubWindowOnActivation option for not
	crashing when loading project while a subwindow is maximized (this
	looks like a bug in Qt) (closes #2077774)

	* src/gui/controller_connection_dialog.cpp:
	fixed crash when closing controller select dialog and no controller
	has been selected (closes #2078357)

	* include/track_container.h:
	* src/core/song.cpp:
	* src/core/track_container.cpp:
	display message if project is empty and user tries to export
	it (closes #2091056)

	* src/core/song.cpp:
	- fixed freeze after adding BB-tracks (closes #2089337)
	- replaced bad cast for calling projectNotes::save/restoreState by
	  proper C++ construct

	* include/controller_rack_view.h:
	* include/fx_mixer_view.h:
	* include/main_window.h:
	* include/piano_roll.h:
	* include/project_notes.h:
	* include/track_container.h:
	* include/track_container_view.h:
	* src/core/song.cpp:
	* src/core/track_container.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/main_window.cpp:
	* src/gui/track_container_view.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* src/tracks/instrument_track.cpp:
	properly save and restore position, size, visibility and state of
	MDI-subwindows (closes #2072383)

	* src/core/serializing_object.cpp:
	fixed hook-mechanism

	* include/song_editor.h:
	* src/gui/song_editor.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/widgets/visualization_widget.cpp:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
	moved peridic update-timer from songEditor to mainWindow

	* data/projects/cool_songs/Chris-HorizonRemix.mmp:
	added song

2008-09-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/themes/default/background_artwork.png:
	added more decent background artwork

	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* include/ladspa_base.h:
	save LADSPA effect filenames without extension and add correct
	one (depending on platform built for) when loading settings - fixes
	missing effects when loading songs in Windows which were made in Linux
	and vice versa

	* include/audio_pulseaudio.h:
	added information about bad latency when using PulseAudio output

	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	only use MIDI anymore for controlling VST instruments

	* plugins/lb302/lb302.cpp:
	* include/note.h:
	* include/instrument_track.h:
	* include/midi.h:
	* include/note_play_handle.h:
	* src/tracks/instrument_track.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/piano.cpp:
	- improved the way, MIDI-events are internally sent and handled
	- fixed names of various member methods of notePlayHandle class
	- full MIDI velocity when pressing key on test piano
	- send volume changes of a notePlayHandle as MidiKeyPressure events
	- send pitch changes of instrument track as MidiPitchBend events
	- added detection for running MIDI notes
	- correct calculation of MIDI key - makes remotePlugins respect
	  base note settings

	* src/core/midi/midi_port.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	fixed broken MIDI-output (when masking output events it didn't match
	against correct output MIDI channel)

2008-09-06	Csaba Hruska <csaba.hruska/at/gmail.com>

	* plugins/sid/sid_instrument.cpp:
	Fixed overlapping notes distorsion SID bug.
	Some warnings are also had removed.

2008-09-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/lmms_style.h:
	* src/gui/lmms_style.cpp:
	* src/core/main.cpp:
	- moved palette initialization into lmmsStyle class
	- added a hack for making titlebar text colors in QMdiSubWindows
	  common on all platforms

2008-09-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/vst_plugin.cpp:
	hold lock while dumping parameters

	* include/remote_plugin.h:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	- set common numeric locale to make atof() work properly in Germany
	- increased SHM_FIFO_SIZE from 4000 to 64000 for not getting stuck
	  when exchanging bigger messages (e.g. parameter dumps)

	* plugins/vst_base/vst_plugin.h:
	* plugins/vst_base/remote_vst_plugin.cpp:
	* plugins/vst_base/communication.h:
	* plugins/vst_base/vst_plugin.cpp:
	* plugins/vst_base/CMakeLists.txt:
	* include/text_float.h:
	* include/remote_plugin.h:
	* CMakeLists.txt:
	made VST support layer work on native win32

2008-09-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/communication.h:
	* plugins/vst_base/vst_plugin.h:
	* plugins/vst_base/vst_plugin.cpp:
	* plugins/vst_base/remote_vst_plugin.cpp:
	* plugins/vst_base/CMakeLists.txt:
	* plugins/vst_effect/vst_effect.h:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	* include/aeffectx.h:
	rewrote VST support layer to use the new remotePlugin-framework

	* include/remote_plugin.h:
	* src/core/remote_plugin.cpp:
	- added channel splitting mode
	- made initial wait optional
	- messages now can be constructed and set inline

	* CMakeLists.txt:
	added hint about removing CMakeCache.txt when libsndfile is missing

2008-09-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* cmake/modules/Win32Toolchain.cmake:
	added include and library-directory of cross compiling environment

	* include/remote_plugin.h:
	use QSystemSemaphore in win32-version as libpthread-w32 does not
	support process shared mutexes and semaphores

	* src/core/mixer.cpp:
	disabled WinMM MIDI for the time being

2008-09-02	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/widgets/graph.cpp:
	Display crosshair cursor as a hint to the user

	* src/gui/piano_roll.cpp:
	Change Piano-Roll paste behavior. Instead of pasting at 0, paste at the
	quantized location of the time-line's position-indicator

	* src/gui/main_window.cpp:
	Display waiting cursor when loading project.  Really only helps when
	loading a large song while another is loaded.  Provides feedback before
	the loading dialog appears (I guess this is during project close)

	* src/core/automation_pattern.cpp:
	Don't connect to the same model more than once

2008-09-01	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/track_container.h:
	* src/core/song.cpp:
	* src/core/track_container.cpp:
	* src/core/track.cpp:
	Add locking to trackContainer::m_tracks and clean up some const-ness
	This should fix most crashes causes by moving/adding TCOs.  This also
	seems to fix the no-sound bug that I hate so much

	* plugins/bit_invader/logo.png:
	* plugins/bit_invader/artwork.png:
	Improve BitInvader logo

	* data/lmms.desktop:
	* lmms.1:
	A more consise description for English

2008-09-02	Csaba Hruska <csaba.hruska/at/gmail.com>

	* include/song.h:
	* src/core/song.cpp:
	* src/gui/song_editor.cpp:
	* src/tracks/sample_track.cpp:
	added implementation for recordAndPlay button
	record button is disabled because it is not handled yet

2008-08-31	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/remote_plugin.h:
	* src/core/remote_plugin.cpp:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	added shmFifo class which replaces communication via pipes and is
	portable as well

2008-08-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sid/sid_instrument.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/patman/patman.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/organic/organic.cpp:
	* plugins/stereo_matrix/stereo_matrix.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/peak_controller_effect/peak_controller_effect.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* plugins/vestige/vestige.cpp:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/plugin.h:
	* include/instrument_track.h:
	* include/instrument.h:
	* include/file_browser.h:
	* include/preset_preview_play_handle.h:
	* src/core/engine.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/gui/file_browser.cpp:
	- improved concept for file types supported by certain plugins
	- various small improvements for an even better ZynAddSubFX integration

	* src/tracks/instrument_track.cpp:
	pass all MIDI events to instrument

	* include/remote_plugin.h:
	* src/core/remote_plugin.cpp:
	added remotePlugin-framework allowing to easily write plugins which
	actually run as external process

2008-08-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_server.cpp:
	* plugins/vst_base/CMakeLists.txt:
	fixed broken VST-support

	* CMakeLists.txt:
	completed information about packages needed for building VST support
	on 64 bit machines (thanks to Stephane Thomas!)

2008-08-28	Csaba Hruska <csaba.hruska/at/gmail.com>

	* include/audio_portaudio.h:
	* src/core/audio/audio_portaudio.cpp:
	fixed segfault in PortAudio's setup widget
	fixed hangon on PortAudio exit

2008-08-27	Csaba Hruska <csaba.hruska/at/gmail.com>

	* include/audio_portaudio.h:
	* src/core/audio/audio_portaudio.cpp:
	PortAudio V18 and V19 are supported now
	
	* cmake/modules/FindPortaudio.cmake:
	* include/audio_portaudio.h:
	* src/core/audio/audio_portaudio.cpp:
	* src/gui/setup_dialog.cpp:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	added support for PortAudio

	* include/mixer.h:
	* include/sample_record_handle.h:
	* include/song_editor.h:
	* include/sample_track.h:
	* include/audio_device.h:
	* src/gui/song_editor.cpp:
	* src/tracks/sample_track.cpp:
	* src/core/audio/audio_device.cpp:
	* src/core/mixer.cpp:
	* src/core/engine.cpp:
	* src/core/sample_record_handle.cpp:
	added basic support for recording sound into sample tracks

2008-08-27	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/controller_view.h:
	* src/gui/widgets/controller_view.cpp:
	Add stub for controller help

	* src/gui/piano_roll.cpp:
	* data/themes/default/note_triplethalf.png:
	* data/themes/default/note_tripleteighth.png:
	* data/themes/default/note_tripletthirtysecond.png:
	* data/themes/default/note_tripletquarter.png:
	* data/themes/default/note_tripletsixteenth.png:
	- Add support for directly entering triplet notes
	- Add support for triplet Quantization
	- Switch grid layout for triplets
	- Add additional 32nd note grid resolution when zooming

2008-08-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* cmake/modules/DetectMachine.cmake:
	* plugins/vst_base/CMakeLists.txt:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	improved detection of machine type

2008-08-26	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/controller_connection.h:
	* include/controller.h:
	* include/controller_rack_view.h:
	* include/automatable_model.h:
	* include/controller_view.h:
	* src/gui/widgets/controller_rack_view.cpp:
	* src/gui/widgets/controller_view.cpp:
	* src/core/automatable_model.cpp:
	* src/core/controller_connection.cpp:
	* src/core/controller.cpp:
	Add basic support for delete.  The controller dialogs probably leak, and
	peakController isn't handled yet

2008-08-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	made 0.4.0-beta2 release

2008-08-24	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sid/sid_instrument.cpp:
	Fix what's this text with extra arg value.

2008-08-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* cmake/modules/BuildPlugin.cmake:
	added missing dependency to bin2res-target in order to build properly
	when using "make -jX"

	* CMakeLists.txt:
	improved summary page (specific information on what to do if a certain
	feature isn't enabled because something was missing)

2008-08-23	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/lfo_controller_dialog.cpp:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/instrument_sound_shaping_view.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* src/gui/widgets/effect_view.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/bb_editor.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/mmp.cpp:
	Fix English grammer, punctuation, and hard to read strings

2008-08-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/automatable_model_view.cpp:
	coding style fixes

	* src/gui/string_pair_drag.cpp:
	if no pixmap was given and parent-widget is valid, use a snapshot of
	the widget as drag-icon

	* src/tracks/instrument_track.cpp:
	added display-name for baseNoteModel

	* src/core/piano.cpp:
	made base-note automatable via drag'n'drop

2008-08-22	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/automatable_model.h:
	* src/gui/automation_editor.cpp:
	* src/gui/lmms_style.cpp:
	* src/core/lfo_controller.cpp:
	Fix various casting warnings

	* src/core/audio/audio_alsa.cpp:
	Fix warning about obsolete snd_pcm_sw_params_set_xfer_align().  
	ALSA >= 1.0.16 defaults to 1 now.

2008-08-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/main.cpp:
	fixed splash-screen for win32

	* src/core/sample_buffer.cpp:
	fixed sampleBuffer::tryToMakeRelative() for win32 - paths to samples
	are now saved relative in win32-version too (if possible)

	* src/core/piano.cpp:
	fixed keycodes for win32 version

	* include/midi_winmm.h:
	fixed missing virtual method

	* include/bb_track_container.h:
	* include/track.h:
	* src/core/track.cpp:
	* src/tracks/bb_track.cpp:
	implemented correct behaviour when cloning BB-tracks (closes #2042409)

	* src/core/midi/midi_alsa_seq.cpp:
	fixed strange ALSA-sequencer behaviour when using MIDI-controllers and
	controlling intrument-tracks via MIDI (closes #2062907)

	* src/gui/piano_roll.cpp:
	fixed notes appearing multiple times in pattern when recording from
	MIDI-device (closes #2058971)

	* src/gui/automation_editor.cpp:
	fixed selection of all bars via Ctrl+A (closes #2048163)

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* include/sample_buffer.h:
	* src/core/sample_buffer.cpp:
	fixed crashes when automating start- and end-point in
	AudioFileProcessor (closes #2048125)

	* include/oscillator.h:
	made oscillator::userWaveSample() const

	* include/instrument_track.h:
	* src/gui/file_browser.cpp:
	* src/tracks/instrument_track.cpp:
	fixed loading presets when dragging them onto existing
	instrument-track-window (finally closes #2025902)

	* src/gui/piano_roll.cpp:
	fixed moving selected notes (closes #2039248, #2039254, #2043463)

2008-08-20	dieEasy <dieeasy/at/cheapnet/dot/it>

	* data/locale/it.qm:
	* data/locale/it.ts:
	updated Italian localization-file

2008-08-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/automatable_model.h:
	restored old controller-behaviour for all models whose step-size is
	not 1, i.e. only round for integer models

	* plugins/sid/sid_instrument.h:
	* plugins/sid/test.png:
	* plugins/sid/sid_instrument.cpp:
	* plugins/sid/testred.png:
	integrated patch by Csaba Hruska

	* src/core/plugin.cpp:
	fixed messages

	* src/core/config_mgr.cpp:
	add trailing slashes to paths where necessary (closes #2056353)

	* data/locale/de.qm:
	* data/locale/de.ts:
	updated German localization file and fixed various messages

	* include/track.h:
	* include/track_label_button.h:
	* src/tracks/bb_track.cpp:
	update combobox in BB-editor when renaming BB-track (closes #2056354)

	* include/controller.h:
	* src/gui/widgets/knob.cpp:
	only skip GUI-updates when connected to frequently changing controllers

	* include/automatable_model.h:
	when connected to controller and returning current value, respect
	step-property of automatableModel

	* src/gui/widgets/instrument_midi_io_view.cpp:
	minor UI improvements

	* include/midi_winmm.h:
	* include/mixer.h:
	* src/core/midi/midi_controller.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/midi/midi_winmm.cpp:
	* src/core/mixer.cpp:
	* src/gui/controller_connection_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	cleanups and coding-style fixes

	* src/core/midi/midi_alsa_seq.cpp:
	* src/core/midi/midi_port.cpp:
	- fixed crash when changing mode of midiPort
	- various small improvements

	* include/instrument_track.h:
	* src/core/note_play_handle.cpp:
	made midiPort of instrumentTrack accessible via getMidiPort()

2008-08-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	fixed reverb/chorus after change of samplerate

	* src/core/main.cpp:
	* lmms.1:
	improved documentation of commandline options

	* src/core/main.cpp:
	* src/core/project_renderer.cpp:
	improved progress information when rendering at console

2008-08-18	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/controller.h:
	* src/core/controller.cpp:
	* src/gui/automatable_model_view.cpp:
	* src/gui/controller_connection_dialog.cpp:
	Detect loops before allowing controller-connection

	* src/core/peak_controller.cpp:
	Changes displayName from LFO to Peak

2008-08-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	made 0.4.0-beta1 release

	* plugins/sid/sid_instrument.h:
	removed unused slot-definitions

	* CMakeLists.txt:
	added missing lmmsconfig.h.in for dist target

2008-08-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sid/wave8580__ST.cc:
	* plugins/sid/spline.h:
	* plugins/sid/3off.png:
	* plugins/sid/8580red.png:
	* plugins/sid/trianglered.png:
	* plugins/sid/logo.png:
	* plugins/sid/bp.png:
	* plugins/sid/6581.png:
	* plugins/sid/wave.cc:
	* plugins/sid/8580.png:
	* plugins/sid/pot.h:
	* plugins/sid/syncred.png:
	* plugins/sid/hp.png:
	* plugins/sid/sid_instrument.h:
	* plugins/sid/lp.png:
	* plugins/sid/sync.png:
	* plugins/sid/noise.png:
	* plugins/sid/wave8580_PST.cc:
	* plugins/sid/envelope.cc:
	* plugins/sid/extfilt.cc:
	* plugins/sid/envelope.h:
	* plugins/sid/extfilt.h:
	* plugins/sid/pulsered.png:
	* plugins/sid/siddefs.h:
	* plugins/sid/filter.png:
	* plugins/sid/sawred.png:
	* plugins/sid/wave6581_PS_.cc:
	* plugins/sid/3offred.png:
	* plugins/sid/pulse.png:
	* plugins/sid/artwork.png:
	* plugins/sid/saw.png:
	* plugins/sid/CMakeLists.txt:
	* plugins/sid/wave8580_P_T.cc:
	* plugins/sid/wave6581__ST.cc:
	* plugins/sid/bpred.png:
	* plugins/sid/6581red.png:
	* plugins/sid/ring.png:
	* plugins/sid/hpred.png:
	* plugins/sid/pot.cc:
	* plugins/sid/sid_instrument.cpp:
	* plugins/sid/triangle.png:
	* plugins/sid/wave.h:
	* plugins/sid/voice.cc:
	* plugins/sid/lpred.png:
	* plugins/sid/noisered.png:
	* plugins/sid/voice.h:
	* plugins/sid/wave6581_PST.cc:
	* plugins/sid/sid.cc:
	* plugins/sid/filterred.png:
	* plugins/sid/sid.h:
	* plugins/sid/version.cc:
	* plugins/sid/filter.cc:
	* plugins/sid/filter.h:
	* plugins/sid/wave6581_P_T.cc:
	* plugins/sid/wave8580_PS_.cc:
	* plugins/sid/ringred.png:
	* plugins/CMakeLists.txt:
	added SID instrument plugin by Attila Herman and Csaba Hruska

	* src/gui/widgets/automatable_button.cpp:
	show context-menu of button-group if a button is part of it

	* plugins/sf2_player/sf2_player.cpp:
	- query data from correct model when activating reverb (closes #2035134)
	- convert from note-play-handle's volume to MIDI-velocity when calling
	  fluid_synth_noteon()
	- set fluidsynth's internal interpolation-method to high-quality when
	  running LMMS in HQ-mode

2008-08-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vst_effect/vst_effect_controls.cpp:
	* include/plugin.h:
	* include/base64.h:
	* include/ladspa_base.h:
	* src/core/plugin.cpp:
	* src/core/effect_chain.cpp:
	* src/core/mmp.cpp:
	* src/core/ladspa_manager.cpp:
	* CMakeLists.txt:
	use XML rather than binary blobs for saving plugin-/effect-key

	* src/core/project_journal.cpp:
	use random-number-generator correctly - fixes predictable random
	numbers and avoids used Journalling-Object-IDs upon loading
	project (closes #2036745) - anyways this still might happen under rare
	circumstances and needs a further fix

2008-08-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/lmms_math.h:
	* src/core/oscillator.cpp:
	made oscillator-phase always being positive which allows further
	optimizations of fraction()-method

2008-08-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/visualization_widget.h:
	* src/gui/widgets/visualization_widget.cpp:
	improved anti-aliased visualization

	* src/core/sample_buffer.cpp:
	heavily improved performance by using QPainter::drawPolylines and
	disabling anti-aliasing if more than 60000 samples have to be
	drawn (closes #1938413)

	* src/core/midi/midi_winmm.cpp:
	added debug-code

	* src/core/song.cpp:
	do not reset window title twice when creating new project

	* src/core/main.cpp:
	when creating a new project, show main-window afterwards - fixes
	behaviour when debugging win32-version via WINE

	* cmake/modules/BuildPlugin.cmake:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	* data/CMakeLists.txt:
	* data/nsis_branding.bmp:
	* CMakeLists.txt:
	* lmms.rc.in:
	- made cmake-files ready for NSIS-packaging
	- added win-resource-object to LMMS-binary

	* plugins/sf2_player/patches_dialog.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/patches_dialog.h:
	* plugins/sf2_player/sf2_player.h:
	* data/themes/default/style.css:
	- integrated patch by Csaba Hruska
	- fixed spinbox-ranges

	* plugins/vst_base/CMakeLists.txt:
	fixed include-directories for lvsl_server-target for allowing
	out-of-tree builds

2008-07-31	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* CMakeLists.txt:
	added win32-pkg target

	* include/fft_helpers.h:
	added missing EXPORT-declarations

	* src/core/midi/midi_winmm.cpp:
	removed some debugging code

2008-07-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* src/core/track.cpp:
	* src/gui/file_browser.cpp:
	* src/tracks/instrument_track.cpp:
	added simple-serializing mode which makes tracks not save their TCOs -
	used for improved save and restore of presets (closes #2025902)

	* src/gui/widgets/effect_view.cpp:
	do not cast model to effect for only calling displayName()

	* src/gui/widgets/effect_rack_view.cpp:
	- initialize bool-map with correct size - fixes crashes under various
	  circumstances
	- do not cast model of effectView as the effect might not exist
	  anymore

	* data/presets/TripleOscillator/Steel.cs.xml:
	* data/presets/TripleOscillator/SawLead.cs.xml:
	* data/presets/TripleOscillator/Bass.cs.xml:
	* data/presets/TripleOscillator/E-Organ.cs.xml:
	* data/presets/TripleOscillator/FM-Wood-Arp.cs.xml:
	* data/presets/TripleOscillator/Harmonium.cs.xml:
	* data/presets/TripleOscillator/NostalgicFeelings.cs.xml:
	* data/presets/TripleOscillator/Moog.cs.xml:
	* data/presets/TripleOscillator/SawLead2.cs.xml:
	* data/presets/TripleOscillator/HardClipping.cs.xml:
	* data/presets/TripleOscillator/RaveBass.cs.xml:
	* data/presets/TripleOscillator/EvilHardcore.cs.xml:
	* data/presets/TripleOscillator/Distorted-FM-Bass_2.cs.xml:
	* data/presets/TripleOscillator/ShortBass.cs.xml:
	* data/presets/TripleOscillator/Crystallo.cs.xml:
	* data/presets/TripleOscillator/Fear.cs.xml:
	* data/presets/TripleOscillator/HorrorBass.cs.xml:
	* data/presets/TripleOscillator/Default.cs.xml:
	* data/presets/TripleOscillator/SoftStrings.cs.xml:
	* data/presets/TripleOscillator/RaveBass_2.cs.xml:
	* data/presets/TripleOscillator/Warmth.cs.xml:
	* data/presets/TripleOscillator/Beam.cs.xml:
	* data/presets/TripleOscillator/SquareLead2.cs.xml:
	* data/presets/TripleOscillator/Weird.cs.xml:
	* data/presets/TripleOscillator/LFO-party.cs.xml:
	* data/presets/TripleOscillator/Nice.cs.xml:
	* data/presets/TripleOscillator/ChurchOrgan_2.cs.xml:
	* data/presets/TripleOscillator/SoftBass.cs.xml:
	* data/presets/TripleOscillator/Stranger.cs.xml:
	* data/presets/TripleOscillator/TB303-Arpeggio.cs.xml:
	* data/presets/TripleOscillator/E-Piano.cs.xml:
	* data/presets/TripleOscillator/PluckArpeggio.cs.xml:
	* data/presets/TripleOscillator/WarmStack.cs.xml:
	* data/presets/TripleOscillator/Square.cs.xml:
	* data/presets/TripleOscillator/MyComputer.cs.xml:
	* data/presets/TripleOscillator/Simple-Acid-Bass.cs.xml:
	* data/presets/TripleOscillator/MoogArpeggio.cs.xml:
	* data/presets/TripleOscillator/Jupiter.cs.xml:
	* data/presets/TripleOscillator/AnalogTimes2.cs.xml:
	* data/presets/TripleOscillator/SquareLead.cs.xml:
	* data/presets/TripleOscillator/TB303.cs.xml:
	* data/presets/TripleOscillator/Detuned-Synced-FM-Bass.cs.xml:
	* data/presets/TripleOscillator/ChurchOrgan.cs.xml:
	* data/presets/TripleOscillator/SquareArp.cs.xml:
	* data/presets/TripleOscillator/OldComputerGames.cs.xml:
	removed old raw presets, tuned others and added a few new ones

	* plugins/stk/mallets/mallets.cpp:
	detect incomplete Stk-installation in model rather than view for not
	crashing when playing without opening the GUI before

	* src/core/main.cpp:
	 - added --dump parameter for easily uncompressing mmpz-files
	 - try to set realtime priority after command-line parsing as the
	   resulting warning might be annoying at this place
	- moved initialization of RNG to top of main()

	* src/core/mmp.cpp:
	quirks for loading drumsynth-samples whose directory-names have
	changed from space to underscore

2008-07-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	fixed linker-flags

	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.h:
	* include/fft_helpers.h:
	* src/core/fft_helpers.cpp:
	* lmmsconfig.h.in:
	moved FFT-helper functions from Spectrum Analyzer plugin to core to
	make it also usable by other plugins

2008-07-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_controls.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/lb303/lb303.cpp:
	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/vst_effect/vst_effect_controls.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stereo_enhancer/stereoenhancer_controls.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_client.h:
	* plugins/kicker/kicker.cpp:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/mmp.h:
	* include/effect.h:
	* include/meter_model.h:
	* include/automatable_slider.h:
	* include/song.h:
	* include/pch.h:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/gui/widgets/meter_dialog.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/effect_chain.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/track_container.cpp:
	* src/core/serializing_object.cpp:
	* src/core/journalling_object.cpp:
	* src/core/config_mgr.cpp:
	* src/core/automatable_model.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/mmp.cpp:
	* src/core/effect.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/controller_connection.cpp:
	* src/core/note.cpp:
	* src/core/timeline.cpp:
	* src/core/surround_area.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/inline_automation.cpp:
	* src/core/fx_mixer.cpp:
	* src/core/controller.cpp:
	* src/core/lfo_controller.cpp:
	* src/core/peak_controller.cpp:
	reduced header-dependencies

	* src/core/plugin.cpp:
	- don't show messagebox if no GUI is running
	- if plugin failed to load also tell about the reason

	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	* src/core/main.cpp:
	* cmake/modules/BuildPlugin.cmake:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	added support for building LMMS on OS X and generating a DMG-package

	* src/core/main.cpp:
	win32-compatibility

	* data/projects/cool_songs/StrictProduction-DearJonDoe.mmp:
	* data/projects/cool_songs/OrtalDj-FirstProyect.mmp:
	* data/projects/cool_songs/TobyDox-Psycho.mmp:
	* data/projects/cool_songs/TobyDox-Confused.mmp:
	* data/projects/cool_songs/Djeezus-BeatRolls.mmp:
	* data/projects/cool_songs/Lokori-Systematic_Chaos.mmp:
	* data/projects/cool_songs/StrictProduction-Underline.mmp:
	* data/projects/cool_songs/Djeezus-Oscilisous.mmp:
	* data/projects/cool_songs/Chris-RaveRiff.mmpz:
	* data/projects/cool_songs/TobyDox-TheFourthDimension.mmp:
	* data/projects/cool_songs/Mart-Concave_flow.mmp:
	* data/projects/cool_songs/MysthR-Living.mmpz:
	* data/projects/cool_songs/Marfil-MarfilDrum01.mmp:
	* data/projects/cool_songs/j1m-DingDong.mmp:
	* data/projects/cool_songs/Malex-Horizon4.mmp:
	* data/projects/cool_songs/Siegel-DreamWave.mmp:
	* data/projects/cool_songs/BlueWolf-DreamTravel.mmp:
	* data/projects/cool_songs/StrictProduction-Lamentelnes.mmp:
	* data/projects/cool_songs/OrtalDj-FirstProyect.mmpz:
	* data/projects/cool_songs/Silva-ElvesCall.mmp:
	upgraded projects to match current file format
	diffstat:  17 files changed, 12811 insertions(+), 37791 deletions(-)

	* include/song_editor.h:
	* src/core/song.cpp:
	make sure all TCOs are shown after loading project (closes #2016741)

	* src/core/automatable_model.cpp:
	when loading legacy automation with only one value in, eliminate
	global automation pattern right after loading data

	* src/core/main.cpp:
	- initialize random-number generation - fixes problems with duplicate
	  JO-IDs
	- show main-window before loading project given on command-line or
	  creating a new project (closes #2016741)

	* src/core/automation_pattern.cpp:
	fixed some segfaults in case of invalid objects in object-vector

	* src/core/mmp.cpp:
	- use QTextStream to save uncompressed XML-files
	- when encountering problems while parsing XML-file, print line and
	  column of problem

2008-07-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/automation_editor.cpp:
	also allow drawing new dots when clicking inside already existing
	value (closes #2026120)

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	reverted previous change of some models from floatModel to intModel as
	it caused crashes in knob-class

	* include/automation_pattern.h:
	* src/core/automation_pattern.cpp:
	when connecting object to automation-pattern which has no object
	connected yet, set default-value (closes #2026102)

	* plugins/vst_base/CMakeLists.txt:
	added missing support for out-of-tree builds

	* README:
	* INSTALL:
	updated documentation on how to build LMMS with cmake

2008-07-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/en.ts:
	* data/locale/pt_br.ts:
	* data/locale/es.ts:
	* data/locale/fr.ts:
	* data/locale/nl.ts:
	* data/locale/ir.ts:
	* data/locale/it.ts:
	* data/locale/ca.ts:
	* data/locale/de.ts:
	* data/locale/sv.ts:
	refreshed localizations
	diffstat:  10 files changed, 34785 insertions(+), 6862 deletions(-)

	* data/locale/ru.ts:
	added updated Russian localization by Alexey Kouznetsov

	* CMakeLists.txt:
	- added locale targets
	- added "update-locales" target
	- added "distclean" target
	- added "tarball" target

	* plugins/organic/organic.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* include/mixer.h:
	* include/sample_buffer.h:
	* include/oscillator.h:
	* include/types.h:
	* src/core/sample_play_handle.cpp:
	* src/core/sample_buffer.cpp:
	* src/core/oscillator.cpp:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	less header-dependencies and moved some type-definitions

2008-07-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/fr.qm:
	* data/locale/fr.ts:
	updated French localization-files by Stephane Thomas

	* cmake/modules/FindPkgConfig.cmake:
	* include/midi_winmm.h:
	* include/midi_alsa_seq.h:
	* CMakeLists.txt:
	* cmake/modules/BuildPlugin.cmake:
	support for cmake < 2.4.8

	* plugins/ladspa_effect/caps/CMakeLists.txt:
	do not compile with -O3 when using GCC 4.1.x as this version segfaults
	while optimizing

	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* include/effect_lib.h:
	fixed compiler-warnings

	* src/core/midi/midi_winmm.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	fixed subscribe/unsubscribe-warnings

	* CMakeLists.txt:
	fixes for cmake 2.4

2008-07-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* cmake/modules/BuildPlugin.cmake:
	* plugins/patman/CMakeLists.txt:
	* plugins/ladspa_effect/CMakeLists.txt:
	* plugins/organic/CMakeLists.txt:
	* plugins/lb302/CMakeLists.txt:
	* plugins/lb303/CMakeLists.txt:
	* plugins/bass_booster/CMakeLists.txt:
	* plugins/stereo_matrix/CMakeLists.txt:
	* plugins/bit_invader/CMakeLists.txt:
	* plugins/vst_effect/CMakeLists.txt:
	* plugins/vibed/CMakeLists.txt:
	* plugins/triple_oscillator/CMakeLists.txt:
	* plugins/live_tool/CMakeLists.txt:
	* plugins/peak_controller_effect/CMakeLists.txt:
	* plugins/audio_file_processor/CMakeLists.txt:
	* plugins/stk/mallets/CMakeLists.txt:
	* plugins/stereo_enhancer/CMakeLists.txt:
	* plugins/sf2_player/CMakeLists.txt:
	* plugins/vestige/CMakeLists.txt:
	* plugins/ladspa_browser/CMakeLists.txt:
	* plugins/spectrum_analyzer/CMakeLists.txt:
	* plugins/kicker/CMakeLists.txt:
	* plugins/flp_import/CMakeLists.txt:
	* CMakeLists.txt:
	various fixes for allowing out-of-tree builds

	* CMakeLists.txt:
	- initial support for CPack
	- remove old include/lmmsconfig.h from the autotools-era

	* cmake/modules/InstallHelpers.cmake:
	fixed INSTALL_DATA_SUBDIRS-macro (use normal string-replace
	instead of regex-replace)

	* include/project_renderer.h:
	* src/core/project_renderer.cpp:
	also compile without OGG/Vorbis-support

	* cmake/modules/Win32Toolchain.cmake:
	* cmake/modules/BuildPlugin.cmake:
	* src/3rdparty/samplerate/config.h:
	* CMakeLists.txt:
	fixes for successfully cross-compiling

	* cmake/modules/Win32Toolchain.cmake:
	* cmake/modules/BuildPlugin.cmake:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	* plugins/vst_effect/CMakeLists.txt:
	* include/audio_sdl.h:
	* src/core/midi/midi_winmm.cpp:
	* build_mingw32:
	* CMakeLists.txt:
	initial support for mingw-cross-compiling

	* include/midi_alsa_seq.h:
	* include/midi_client.h:
	* include/midi_port.h:
	* include/midi_winmm.h:
	* src/core/mixer.cpp:
	* src/core/midi/midi_alsa_raw.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	* src/core/midi/midi_client.cpp:
	* src/core/midi/midi_oss.cpp:
	* src/core/midi/midi_winmm.cpp:
	* src/gui/setup_dialog.cpp:
	added rudimentary WinMM MIDI support

	* src/core/mmp.cpp:
	* plugins/lb302/lb302.h
	* plugins/CMakeLists.txt:
	switched back to LB302 as Paul wants LB303 for 0.4.1

	* cmake/modules/FindAlsa.cmake:
	* cmake/modules/FindOggVorbis.cmake:
	* cmake/modules/FindSTK.cmake:
	* cmake/modules/FindPCHSupport.cmake:
	* cmake/modules/config-alsa.h.cmake:
	* cmake/modules/InstallHelpers.cmake:
	* cmake/modules/FindPulseAudio.cmake:
	* cmake/modules/ChecksForLibSamplerate.cmake:
	* cmake/modules/BuildPlugin.cmake:
	* plugins/patman/patman.cpp:
	* plugins/patman/CMakeLists.txt:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/tap/tap_deesser.c:
	* plugins/ladspa_effect/tap/tap_sigmoid.c:
	* plugins/ladspa_effect/tap/tap_doubler.c:
	* plugins/ladspa_effect/tap/ladspa-local.h:
	* plugins/ladspa_effect/tap/tap_eqbw.c:
	* plugins/ladspa_effect/tap/tap_pinknoise.c:
	* plugins/ladspa_effect/tap/tap_chorusflanger.c:
	* plugins/ladspa_effect/tap/tap_limiter.c:
	* plugins/ladspa_effect/tap/tap_eq.c:
	* plugins/ladspa_effect/tap/tap_vibrato.c:
	* plugins/ladspa_effect/tap/tap_autopan.c:
	* plugins/ladspa_effect/tap/tap_pitch.c:
	* plugins/ladspa_effect/tap/tap_dynamics_st.c:
	* plugins/ladspa_effect/tap/tap_echo.c:
	* plugins/ladspa_effect/tap/tap_tremolo.c:
	* plugins/ladspa_effect/tap/tap_tubewarmth.c:
	* plugins/ladspa_effect/tap/tap_dynamics_m.c:
	* plugins/ladspa_effect/tap/tap_reflector.c:
	* plugins/ladspa_effect/tap/tap_reverb.c:
	* plugins/ladspa_effect/tap/tap_rotspeak.c:
	* plugins/ladspa_effect/tap/CMakeLists.txt:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	* plugins/ladspa_effect/caps/basics.h:
	* plugins/ladspa_effect/caps/CMakeLists.txt:
	* plugins/ladspa_effect/ladspa_controls.cpp:
	* plugins/ladspa_effect/CMakeLists.txt:
	* plugins/organic/organic.cpp:
	* plugins/organic/CMakeLists.txt:
	* plugins/lb302/lb302.cpp:
	* plugins/lb302/CMakeLists.txt:
	* plugins/lb303/lb303.cpp:
	* plugins/lb303/CMakeLists.txt:
	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/bass_booster/CMakeLists.txt:
	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	* plugins/stereo_matrix/CMakeLists.txt:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/CMakeLists.txt:
	* plugins/vst_effect/vst_effect_controls.cpp:
	* plugins/vst_effect/CMakeLists.txt:
	* plugins/vibed/CMakeLists.txt:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/CMakeLists.txt:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/live_tool/CMakeLists.txt:
	* plugins/peak_controller_effect/peak_controller_effect.cpp:
	* plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
	* plugins/peak_controller_effect/CMakeLists.txt:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/CMakeLists.txt:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/CMakeLists.txt:
	* plugins/stk/CMakeLists.txt:
	* plugins/stereo_enhancer/stereoenhancer_controls.cpp:
	* plugins/stereo_enhancer/CMakeLists.txt:
	* plugins/sf2_player/patches_dialog.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/CMakeLists.txt:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/CMakeLists.txt:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/CMakeLists.txt:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/ladspa_browser/ladspa_description.cpp:
	* plugins/ladspa_browser/ladspa_port_dialog.cpp:
	* plugins/ladspa_browser/CMakeLists.txt:
	* plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp:
	* plugins/spectrum_analyzer/CMakeLists.txt:
	* plugins/kicker/kicker.cpp:
	* plugins/kicker/CMakeLists.txt:
	* plugins/flp_import/CMakeLists.txt:
	* plugins/flp_import/unrtf/output.c:
	* plugins/flp_import/unrtf/html.c:
	* plugins/flp_import/unrtf/malloc.c:
	* plugins/flp_import/unrtf/parse.c:
	* plugins/flp_import/unrtf/attr.c:
	* plugins/flp_import/unrtf/word.c:
	* plugins/flp_import/unrtf/util.c:
	* plugins/flp_import/unrtf/convert.c:
	* plugins/flp_import/unrtf/hash.c:
	* plugins/flp_import/unrtf/error.c:
	* plugins/midi_import/CMakeLists.txt:
	* plugins/CMakeLists.txt:
	* Makefile.svn:
	* include/midi_dummy.h:
	* include/midi_alsa_raw.h:
	* include/config_mgr.h:
	* include/audio_file_wave.h:
	* include/audio_file_ogg.h:
	* include/ladspa_manager.h:
	* include/ladspa_control.h:
	* include/ladspa.h:
	* include/midi_oss.h:
	* include/pch.h:
	* include/sample_buffer.h:
	* include/audio_dummy.h:
	* include/midi_mapper.h:
	* include/audio_pulseaudio.h:
	* include/audio_sdl.h:
	* include/micro_timer.h:
	* include/audio_jack.h:
	* include/project_renderer.h:
	* include/midi_alsa_seq.h:
	* include/ladspa-1.1.h:
	* include/setup_dialog.h:
	* include/export_project_dialog.h:
	* include/midi_client.h:
	* include/audio_device.h:
	* include/audio_oss.h:
	* include/audio_alsa.h:
	* src/gui/piano_roll.cpp:
	* src/gui/track_container_view.cpp:
	* src/gui/plugin_browser.cpp:
	* src/gui/controller_dialog.cpp:
	* src/gui/automatable_model_view.cpp:
	* src/gui/effect_select_dialog.cpp:
	* src/gui/effect_control_dialog.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/setup_dialog.cpp:
	* src/gui/controller_connection_dialog.cpp:
	* src/gui/file_browser.cpp:
	* src/gui/widgets/ladspa_control_view.cpp:
	* src/gui/widgets/track_label_button.cpp:
	* src/gui/widgets/graph.cpp:
	* src/gui/widgets/visualization_widget.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/tab_widget.cpp:
	* src/gui/widgets/midi_port_menu.cpp:
	* src/gui/widgets/led_checkbox.cpp:
	* src/gui/widgets/side_bar_widget.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* src/gui/widgets/kmultitabbar.cpp:
	* src/gui/widgets/caption_menu.cpp:
	* src/gui/widgets/instrument_sound_shaping_view.cpp:
	* src/gui/widgets/rename_dialog.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/pixmap_button.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* src/gui/widgets/fade_button.cpp:
	* src/gui/widgets/cpuload_widget.cpp:
	* src/gui/widgets/tab_bar.cpp:
	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/rubberband.cpp:
	* src/gui/widgets/tool_button.cpp:
	* src/gui/widgets/controller_view.cpp:
	* src/gui/widgets/project_notes.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/widgets/effect_rack_view.cpp:
	* src/gui/widgets/effect_view.cpp:
	* src/gui/widgets/nstate_button.cpp:
	* src/gui/widgets/automatable_button.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/gui/export_project_dialog.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/bb_editor.cpp:
	* src/gui/about_dialog.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/3rdparty/samplerate/src_sinc.c:
	* src/3rdparty/samplerate/config.h:
	* src/core/midi/midi_controller.cpp:
	* src/core/midi/midi_mapper.cpp:
	* src/core/midi/midi_oss.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	* src/core/midi/midi_alsa_raw.cpp:
	* src/core/song.cpp:
	* src/core/track_container.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/config_mgr.cpp:
	* src/core/automatable_model.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_file_wave.cpp:
	* src/core/audio/audio_sdl.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_jack.cpp:
	* src/core/audio/audio_pulseaudio.cpp:
	* src/core/audio/audio_file_ogg.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/main.cpp:
	* src/core/mixer.cpp:
	* src/core/combobox_model.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/project_renderer.cpp:
	* src/core/meter_model.cpp:
	* src/core/ladspa_manager.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/controller_connection.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/track.cpp:
	* src/core/piano.cpp:
	* src/core/timeline.cpp:
	* src/core/surround_area.cpp:
	* src/core/sample_buffer.cpp:
	* src/core/mv_base.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/lfo_controller.cpp:
	* src/core/controller.cpp:
	* src/core/peak_controller.cpp:
	* data/locale/CMakeLists.txt:
	* data/track_icons/CMakeLists.txt:
	* data/samples/CMakeLists.txt:
	* data/presets/PluckedStringSynth/Default.cs.xml:
	* data/presets/VeSTige/Default.cs.xml:
	* data/presets/CMakeLists.txt:
	* data/themes/CMakeLists.txt:
	* data/projects/CMakeLists.txt:
	* data/CMakeLists.txt:
	* lmmsconfig.h.in:
	* CMakeLists.txt:
	migrated build-system to CMAKE

	* plugins/patman/Makefile.am:
	* plugins/ladspa_effect/tap/Makefile.am:
	* plugins/ladspa_effect/caps/Makefile.am:
	* plugins/ladspa_effect/Makefile.am:
	* plugins/organic/Makefile.am:
	* plugins/lb302/Makefile.am:
	* plugins/lb303/Makefile.am:
	* plugins/bass_booster/Makefile.am:
	* plugins/stereo_matrix/Makefile.am:
	* plugins/bit_invader/Makefile.am:
	* plugins/vst_effect/Makefile.am:
	* plugins/vibed/Makefile.am:
	* plugins/triple_oscillator/Makefile.am:
	* plugins/live_tool/Makefile.am:
	* plugins/peak_controller_effect/Makefile.am:
	* plugins/audio_file_processor/Makefile.am:
	* plugins/stk/mallets/Makefile.am:
	* plugins/stk/Makefile.am:
	* plugins/stereo_enhancer/Makefile.am:
	* plugins/sf2_player/Makefile.am:
	* plugins/vestige/Makefile.am:
	* plugins/vst_base/Makefile.am:
	* plugins/ladspa_browser/Makefile.am:
	* plugins/spectrum_analyzer/Makefile.am:
	* plugins/kicker/Makefile.am:
	* plugins/Makefile.am:
	* plugins/flp_import/Makefile.am:
	* plugins/midi_import/Makefile.am:
	* data/locale/Makefile.am:
	* data/track_icons/Makefile.am:
	* data/midi-maps/Makefile.am:
	* data/samples/effects/Makefile.am:
	* data/samples/stringsnpads/Makefile.am:
	* data/samples/basses/Makefile.am:
	* data/samples/shapes/Makefile.am:
	* data/samples/latin/Makefile.am:
	* data/samples/Makefile.am:
	* data/samples/bassloopes/Makefile.am:
	* data/samples/drums/Makefile.am:
	* data/samples/instruments/Makefile.am:
	* data/samples/misc/Makefile.am:
	* data/samples/drumsynth/effects/Makefile.am:
	* data/samples/drumsynth/misc_synth/Makefile.am:
	* data/samples/drumsynth/tr606/Makefile.am:
	* data/samples/drumsynth/cr78/Makefile.am:
	* data/samples/drumsynth/tr808/Makefile.am:
	* data/samples/drumsynth/magnetboy/Makefile.am:
	* data/samples/drumsynth/tr909/Makefile.am:
	* data/samples/drumsynth/misc_fx/Makefile.am:
	* data/samples/drumsynth/misc/Makefile.am:
	* data/samples/drumsynth/electro/Makefile.am:
	* data/samples/drumsynth/ferraro/Makefile.am:
	* data/samples/drumsynth/linn/Makefile.am:
	* data/samples/drumsynth/r_b/Makefile.am:
	* data/samples/drumsynth/tr77/Makefile.am:
	* data/samples/drumsynth/misc_bass/Makefile.am:
	* data/samples/drumsynth/misc_perc/Makefile.am:
	* data/samples/drumsynth/latin/Makefile.am:
	* data/samples/drumsynth/instrument/Makefile.am:
	* data/samples/drumsynth/misc_electro/Makefile.am:
	* data/samples/drumsynth/Makefile.am:
	* data/samples/drumsynth/acoustic/Makefile.am:
	* data/samples/drumsynth/misc_hats/Makefile.am:
	* data/samples/drumsynth/farfisa/Makefile.am:
	* data/samples/drumsynth/jorgensohn/Makefile.am:
	* data/samples/drumsynth/cr8000/Makefile.am:
	* data/samples/drumsynth/misc_claps/Makefile.am:
	* data/samples/beats/Makefile.am:
	* data/presets/AudioFileProcessor/Makefile.am:
	* data/presets/Organic/Makefile.am:
	* data/presets/PluckedStringSynth/Makefile.am:
	* data/presets/VeSTige/Makefile.am:
	* data/presets/BitInvader/Makefile.am:
	* data/presets/Makefile.am:
	* data/presets/TripleOscillator/Makefile.am:
	* data/themes/Makefile.am:
	* data/projects/covers/Makefile.am:
	* data/projects/recorded_loops/Makefile.am:
	* data/projects/cool_songs/Makefile.am:
	* data/projects/tutorials/Makefile.am:
	* data/projects/demos/Makefile.am:
	* data/projects/Makefile.am:
	* data/projects/misc/Makefile.am:
	* data/projects/templates/Makefile.am:
	* data/Makefile.am:
	* Makefile.am:
	* acinclude.m4:
	* configure.in:
	removed old autotools-files

2008-07-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/tap/tap_deesser.c:
	* plugins/ladspa_effect/tap/tap_sigmoid.c:
	* plugins/ladspa_effect/tap/tap_doubler.c:
	* plugins/ladspa_effect/tap/tap_eqbw.c:
	* plugins/ladspa_effect/tap/tap_pinknoise.c:
	* plugins/ladspa_effect/tap/tap_chorusflanger.c:
	* plugins/ladspa_effect/tap/tap_eq.c:
	* plugins/ladspa_effect/tap/tap_limiter.c:
	* plugins/ladspa_effect/tap/tap_vibrato.c:
	* plugins/ladspa_effect/tap/tap_pitch.c:
	* plugins/ladspa_effect/tap/tap_autopan.c:
	* plugins/ladspa_effect/tap/tap_dynamics_st.c:
	* plugins/ladspa_effect/tap/tap_echo.c:
	* plugins/ladspa_effect/tap/tap_tremolo.c:
	* plugins/ladspa_effect/tap/tap_tubewarmth.c:
	* plugins/ladspa_effect/tap/tap_dynamics_m.c:
	* plugins/ladspa_effect/tap/tap_reflector.c:
	* plugins/ladspa_effect/tap/tap_reverb.c:
	* plugins/ladspa_effect/tap/tap_rotspeak.c:
	* plugins/ladspa_effect/tap/Makefile.am:
	added constructor/destructor-attribute to _init() and _finit()-methods
	in order to make those LADSPA-plugins work properly in win32-version

	* src/core/config_mgr.cpp:
	* src/core/ladspa_manager.cpp:
	* src/gui/setup_dialog.cpp:
	separate LADSPA-paths with ',' instead of ':' as win32-paths usually
	contain ':'-characters...

	* src/core/ladspa_2_lmms.cpp:
	also allow LADSPA-plugins which are not realtime capable - not all of
	them work properly but most do and it's better to provide more of them

	* src/gui/widgets/effect_view.cpp:
	handled rename of up/down arrow graphics

	* include/ladspa_2_lmms.h:
	cleanups

	* src/core/ladspa_manager.cpp:
	fixed paths to LADSPA-plugins for win32

	* src/gui/string_pair_drag.cpp:
	at destruction check whether mainWindow is still alive

	* src/core/midi/midi_port.cpp:
	range-checking for keys of input-events

	* src/core/song.cpp:
	lock mixer while adding BB-track (finally closes #2014486)

	* src/core/bb_track_container.cpp:
	* src/core/mv_base.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/bb_editor.cpp:
	* src/gui/widgets/knob.cpp:
	* src/tracks/instrument_track.cpp:
	do not create queued signal-slot-connections

	* src/core/audio/audio_sdl.cpp:
	changed number of frames per callback which seems to fix distorted sound

	* plugins/lb303/lb303.h:
	removed declaration of unimplemented slot - fixes win32-build

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/vibed/vibed.cpp:
	* include/controller.h:
	* include/lfo_controller.h:
	* include/midi_controller.h:
	* include/peak_controller.h:
	* include/plugin.h:
	* src/core/controller.cpp:
	* src/core/lfo_controller.cpp:
	* src/core/peak_controller.cpp:
	* src/core/tool.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/gui/effect_control_dialog.cpp:
	* src/gui/effect_select_dialog.cpp:
	* src/gui/main_window.cpp:
	* src/gui/plugin_browser.cpp:
	* src/gui/widgets/controller_view.cpp:
	* src/gui/widgets/effect_view.cpp:
	* src/tracks/instrument_track.cpp:
	removed publicName-properties in various classes and plugin-descriptor
	and use model::displayName instead

	* src/gui/controller_connection_dialog.cpp:
	improved GUI-layout

	* include/automation_pattern.h:
	* src/core/automation_pattern.cpp:
	- removed obsolete variable
	- fixed wrong behaviour of automationPattern::valueAt()
	- in case there's only one initial value in time-map, set it for all
	  objects when loading settings

	* src/tracks/instrument_track.cpp:
	save actual instrument-settings in separate sub-node for not mixing up
	unknown nodes with instruments

	* src/gui/widgets/group_box.cpp:
	only toggle LED on left click

	* include/detuning_helper.h:
	* include/inline_automation.h:
	fixed behaviour for inline-automations with only one value in time-map

	* src/core/mmp.cpp:
	- fixed and improved various tag-renaming-loops
	- added upgrade path from LB302 to LB303

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	fixed compiler warnings

	* plugins/Makefile.am:
	removed lb302 from list of plugins to build

	* plugins/midi_import/midi_import.cpp:
	improved tempo-automation import

	* include/automatable_model.h:
	* include/mv_base.h:
	* src/core/automatable_model.cpp:
	moved displayName-property from automatableModel to model base-class

	* src/tracks/pattern.cpp:
	fixed types

	* src/core/automation_pattern.cpp:
	improved behaviour in automationPattern::clear() and
	automationPattern::putValue()

	* include/instrument_sound_shaping.h:
	* src/core/effect_chain.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/meter_model.cpp:
	* src/core/song.cpp:
	* src/core/track.cpp:
	* src/core/surround_area.cpp:
	* src/gui/widgets/graph.cpp:
	* src/tracks/instrument_track.cpp:
	added more values for displayName-property

	* include/track_label_button.h:
	* src/gui/widgets/track_label_button.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* Makefile.am:
	- moved name_label.* to track_label_button.*
	- bigger icons for trackLabelButtons

2008-07-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/automation_track.cpp:
	make sure, hidden automation-tracks are not muted when loading

	* src/core/automatable_model.cpp:
	cleanups

	* data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz:
	fixed tempo-automation

2008-07-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/main_window.cpp:
	added minimal width and height when restoring subwindow-states

	* include/bb_track_container.h:
	* src/core/bb_track_container.cpp:
	* src/core/song.cpp:
	added quirk for fixing projects with broken positions of TCOs inside
	BB-tracks

	* src/core/automation_pattern.cpp:
	update views after resolving IDs for drawing bars with proper range

	* src/tracks/automation_track.cpp:
	fixed behaviour of automation-tracks in BB-editor (closes #2014486)

	* include/track.h:
	* src/core/track.cpp:
	fixed "Cut"-action on TCOs (closes #2016731)

2008-07-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/config_mgr.cpp:
	* src/core/main.cpp:
	do not terminate silently if parsing of configuration file failed

	* src/gui/automation_editor.cpp:
	fixed drawing of bars which do not fit within current viewport

	* data/themes/default/factory_files.png:
	better icon

	* data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz:
	upgraded + reverb in master-FX channel

	* Makefile.am:
	* include/effect_label.h:
	* src/gui/widgets/effect_label.cpp:
	removed obsolete files

	* include/automation_track.h:
	* include/bb_track.h:
	* include/effect_rack_view.h:
	* include/instrument_track.h:
	* include/name_label.h:
	* include/sample_track.h:
	* include/track.h:
	* src/core/track.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/name_label.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* data/themes/default/style.css:
	* data/themes/default/add_automation.png:
	* data/themes/default/add_sample_track.png:
	* data/themes/default/automation.png:
	* data/themes/default/automation_track.png:
	* data/themes/default/colorize.png:
	* data/themes/default/instrument_track.png:
	* data/themes/default/sample_track.png:
	* data/themes/default/surround_area.png:
	unified track-view appearence and behaviour

2008-07-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/Makefile.am:
	added missing SOURCES-entry for UI-file

	* src/gui/widgets/combobox.cpp:
	better position for text-drawing

	* include/instrument_functions.h:
	* include/instrument_function_views.h:
	* src/core/instrument_functions.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* data/themes/default/arp_down.png:
	* data/themes/default/arp_down_off.png:
	* data/themes/default/arp_down_on.png:
	* data/themes/default/arp_random.png:
	* data/themes/default/arp_random_off.png:
	* data/themes/default/arp_random_on.png:
	* data/themes/default/arp_up.png:
	* data/themes/default/arp_up_off.png:
	* data/themes/default/arp_up_on.png:
	* data/themes/default/arp_up_and_down.png:
	* data/themes/default/arp_up_and_down_off.png:
	* data/themes/default/arp_up_and_down_on.png:
	use combobox instead of button-group for selecting arpeggio-direction

2008-07-08	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/lb303:
	* plugins/lb303/lb303.cpp:
	* plugins/lb303/lb303.h:
	* plugins/lb303/artwork.png:
	* plugins/lb303/logo.png:
	* plugins/lb303/Makefile.am:
	* plugins/Makefile.am:
	* configure.in:
	First version of lb303, NO backward compatability YET

	* src/gui/controller_connection_dialog.cpp:
	Fix MIDI AutoDetect  

	* src/gui/widgets/knob.cpp:
	Fix occationally missing line after instantiation

2008-07-07	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/controller_connection_dialog.cpp:
	Show name instead of type in connection dialog

	* src/gui/widgets/controller_view.cpp:
	Remove bypass

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	- Initial support for pitch-bend, doesn't work during slide.
	- Next version will probably be the first lb303
	- Cleanup, fixed dropped-notes
	- Fix pitch-bend while sliding

2008-07-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.4.0-alpha2 release

	* src/core/mmp.cpp:
	added compat-code for loading old presets where content-node is named
	"channelsettings"

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	added support for pitch-bending

	* include/instrument_track.h:
	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	- additionally provide frequency without pitch-wheel
	- added instrumentTrack::midiPitch()

	* include/instrument.h:
	* include/instrument_track.h:
	* include/midi_controller.h:
	* include/midi_event_processor.h:
	* include/midi_port.h:
	* src/core/note_play_handle.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/tracks/instrument_track.cpp:
	removed buggy and obsolete support for monophonic instruments

2008-07-06	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	New version (and probably last) of new IPH-based lb302

2008-07-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/widgets/combobox.cpp:
	draw text at correct position in win32-version

	* src/core/drumsynth.cpp:
	when building for win32 define powf() as pow() due to symbol-conflicts
	in win32-libm

	* data/themes/default/style.css:
	fixed font-color for what's-this-popups so that they're readable

2008-07-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/stk/mallets/mallets.cpp:
	protect critical section when creating STK-synths as STK is not
	thread-safe (closes #2005888)

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	- set hand-cursor for instrument-track-window button
	- in instrumentTrack::processInEvent() lock mixer in outer branch

	* include/instrument.h:
	added note for scheduled removal of monophonic-property

	* include/note_play_handle.h:
	made m_released volatile

	* src/core/note_play_handle.cpp:
	- instantly exit noteOff() if already released
	- manually unlink references to itself in instrumentTrack (fixes
	  segfaults in various situations)

	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/ladspa_control.cpp:
	fixed tempo-sync-models (closes #2010776)

	* src/core/mixer.cpp:
	cleanups

	* src/tracks/automation_track.cpp:
	made muting automation-tracks work (closes #2010770)

	* src/tracks/bb_track.cpp:
	made muting BB-tracks work (closes #2010764)

	* src/gui/widgets/effect_rack_view.cpp:
	made removing effect-plugins thread-safe (closes #2010984)

	* src/core/automation_pattern.cpp:
	save and restore automationPattern's name (closes #2011011)

	* include/inline_automation.h:
	delete automation-pattern is in correct thread (closes #2008232)

2008-07-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	made trackContentObject and track implement displayName() in order to
	return their name

	* include/effect_label.h:
	* src/gui/widgets/effect_label.cpp:
	* src/tracks/sample_track.cpp:
	do not take _initial_name as it can be retrieved from track

	* src/tracks/sample_track.cpp:
	added name to volumeModel

	* data/themes/default/hand.png:
	* src/gui/automatable_model_view.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/widgets/fade_button.cpp:
	* src/gui/widgets/effect_label.cpp:
	* src/gui/widgets/name_label.cpp:
	* src/core/track.cpp:
	added hand-cursor for all controls

	* data/themes/default/style.css:
	common font-size for track-labels

2008-07-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/main.cpp:
	* src/core/song.cpp:
	added new commandline option "--upgrade" for upgrading project-files
	easily

	* src/core/config_mgr.cpp:
	fixed wrong macro-name - fixes unusable Mallets-plugin

2008-07-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/Makefile.am:
	removed ui_patches_dialog.h from SOURCES-list

	* src/core/mmp.cpp:
	don't mess up projects when loading files being created using
	0.4.0-alpha in a later version because "0.4.0-alpha" < "0.4.0-svn..."

	* include/mv_base.h:
	Qt 4.3 compatibility

2008-06-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.4.0-alpha release

	* src/core/song.cpp:
	* src/core/mmp.cpp:
	* src/core/track.cpp:
	* src/core/automation_pattern.cpp:
	fixed broken load/save of song-global automation

	* Makefile.am:
	win32-pkg-fixes

	* data/locale/de.qm:
	* data/locale/de.ts:
	updated German localization file

	* include/song_editor.h:
	* src/gui/song_editor.cpp:
	made icon on play-button change according to current mode

	* include/main_window.h:
	* src/gui/bb_editor.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	added toggle-button for controller-rack-view and improved default
	positions of sub-windows in workspace

	* src/core/song.cpp:
	- send posted events after creating a new project - makes project not
	  being marked as modified right after it's been created
	- create empty sample-track and automation-track in new projects

	* src/core/engine.cpp:
	clear whole project before deleting everything - fixes segfault when
	quitting with controllers added

	* src/core/effect_chain.cpp:
	fixed crash when an effect failed to load because its sub-plugin is
	missing (closes #2005910)

	* src/core/automation_pattern.cpp:
	- initialize first value in time-map
	- better default-model
	- change automation-pattern to NULL if opened in automation editor
	  during destruction
	- improved default-label
	- when used in track-container with fixed TCOs, update length

	* src/core/track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	save/restore name-property inside track-class

	* src/tracks/automation_track.cpp:
	set a proper name per default

	* src/gui/automation_editor.cpp:
	queued connections for models for not getting signaled at
	destruction-time

	* include/bb_editor.h:
	* src/gui/bb_editor.cpp:
	made it possible to add automation-tracks to BB-editor

	* include/automation_pattern.h:
	* include/inline_automation.h:
	* include/note.h:
	* src/core/inline_automation.cpp:
	* src/core/note.cpp:
	fixed inlineAutomation::hasAutomation()

	* data/themes/default/style.css:
	common font-size for various push-buttons

	* src/core/config_mgr.cpp:
	ask whether to create working-directory if it does not exist

	* src/core/fx_mixer.cpp:
	reset mute-model in fxMixer::clear()

	* include/track.h:
	* src/core/track.cpp:
	- removed obsolete static members
	- more simple QPen-initialization for not making Qt leak

	* include/combobox_model.h:
	pass _default_constructed-parameter to base-class

	* src/gui/lfo_controller_dialog.cpp:
	renamed constants so one-unit-compiling is possible

	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	do not duplicate constants

	* src/gui/widgets/group_box.cpp:
	make sure LED's default-model is being deleted when changing model

	* src/core/plugin.cpp:
	made initialization of dummy-plugin pixmap-loder static

	* src/core/mixer.cpp:
	properly terminate worker-threads at mixer-destruction

	* src/core/main.cpp:
	fixed various leaks

	* src/core/mmp.cpp:
	replaced compat-code by proper code in multimediaProject::upgrade()

	* src/core/effect.cpp:
	added missing initialization of m_processors member variable

	* src/core/instrument_functions.cpp:
	removed obsolete constants

	* src/core/sample_buffer.cpp:
	fixed broken logic when updating sample-data

	* src/core/automation_pattern.cpp:
	in automationPattern::valueAt() check whether the time-map is empty

	* src/core/fx_mixer.cpp:
	save/load mute-settings for FX-lines

	* src/core/peak_controller.cpp:
	return default-value if there's no peak-effect

	* configure.in:
	* Makefile.am:
	* include/sample_buffer.h:
	* src/core/sample_buffer.cpp:
	removed support for SDL_sound-library as libsndfile and libvorbis do
	everything we need

	* include/automatable_model.h:
	* include/combobox_model.h:
	* include/mv_base.h:
	* include/piano_roll.h:
	* src/core/base64.cpp:
	* src/core/effect.cpp:
	* src/core/engine.cpp:
	* src/core/fx_mixer.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/ladspa_manager.cpp:
	* src/core/mv_base.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/main_window.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/group_box.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	fixed various leaks I found using Valgrind

2008-06-30	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/ladspa_browser/ladspa_browser.cpp:
	* include/automation_editor.h:
	* src/gui/piano_roll.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* src/gui/widgets/controller_view.cpp:
	* src/gui/automation_editor.cpp:
	* src/tracks/instrument_track.cpp:
	Remove maximize and resize capability from many windows and set proper
	minimum and intial sizes

2008-06-29	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* data/locale/ca.ts:
	updated translation

2008-06-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* include/sample_track.h:
	* src/gui/widgets/effect_label.cpp:
	* src/tracks/sample_track.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/track.cpp:
	* Makefile.am:
	finally resurrected sample-tracks

	* src/gui/automation_editor.cpp:
	- improved drawing/erasing values
	- fixed moving selected values

	* src/core/automation_pattern.cpp:
	when drawing automation, do not overpaint border

	* data/themes/default/fx_mixer.png:
	new icon at 32x32 px to make it scale better to 16x16

2008-06-29	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	Initialize gain at 1.0

	* src/core/automation_pattern.cpp:
	- Correctly draw automation TCO for negative minValues.
	- Add some shading

	* src/gui/controller_connection_dialog.cpp:
	- Connect cancel button
	- Make mapping function read-only for alpha release
	- Initialize MIDI Controller name when adding a MIDI Controller

	* src/gui/widgets/tempo_sync_knob.cpp:
	Make tempoSyncKnob really sync to tempo again

	* plugins/peak_controller_effect/peak_controller_effect.cpp:
	* plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
	* plugins/peak_controller_effect/peak_controller_effect.h:
	* include/peak_controller.h:
	* src/core/peak_controller.cpp:
	Fix loading/saving for peak controller

	* src/core/effect.cpp:
	Correct comments

	* data/themes/default/style.css:
	Make toolbar colors a little more clear

	* src/core/automation_pattern.cpp:
	Save and load pattern position from project

	* include/automation_track.h:
	* src/tracks/automation_track.cpp:
	Allow dragging automatable views directly onto an automation-track

	* configure.in:
	Fix LIBDIR for when people do not use --prefix

	* include/automation_editor.h:
	* src/gui/automation_editor.cpp:
	- Don't miss points when scribbling quickly
	- Shift-Click to draw a line

	* include/lfo_controller.h:
	* src/gui/lfo_controller_dialog.cpp:
	* data/themes/default/lfo_controller_artwork.png:
	Add LFO artwork (except it doesn't work for some odd reason)

	* plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
	* plugins/stereo_matrix/artwork.png:
	Add StereoMatrix artwork

	* plugins/bit_invader/artwork.png:
	Remove author name from artwork.  No other artwork has author names.  The
	name on the main GUI makes LMMS looks less professional.  AUTHORS.

	* plugins/patman/logo.png:
	* plugins/stereo_matrix/artwork.png:
	* plugins/audio_file_processor/logo.png:
	* plugins/vestige/logo.png:
	* plugins/spectrum_analyzer/log_x_axis.png:
	* plugins/spectrum_analyzer/log_y_axis.png:
	Update plugin artwork

	* plugins/live_tool/live_tool.cpp:
	* src/gui/plugin_browser.cpp:
	* src/gui/main_window.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/bb_editor.cpp:
	* src/tracks/bb_track.cpp:
	* src/core/mmp.cpp:
	* data/locale/nl.ts:
	* data/locale/it.ts:
	* data/locale/ca.ts:
	* data/locale/ru.ts:
	* data/locale/de.ts:
	* data/locale/sv.ts:
	Rename Baseline to Bassline

2008-06-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/Makefile.am:
	* configure.in:
	removed SingerBot-references

	* plugins/live_tool/live_tool.cpp:
	* src/core/tool.cpp:
	cleanups

	* src/gui/main_window.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/automation_pattern.cpp:
	* data/themes/default/project_new_from_template.png:
	* data/themes/default/project_new.png:
	* data/themes/default/project_import.png:
	* data/themes/default/project_open_recent.png:
	* data/themes/default/edit_rename.png:
	* data/themes/default/rename.png:
	splitted "new project"-button and added "recently opened
	project"-button

	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/tracks/instrument_track.cpp:
	* data/themes/default/edit_draw.png:
	* data/themes/default/add_bb_track.png:
	* data/themes/default/edit_arrow.png:
	* data/themes/default/stop.png:
	* data/themes/default/mute_off_disabled.png:
	* data/themes/default/mute_on_disabled.png:
	* data/themes/default/style.css:
	* data/themes/default/play.png:
	* data/themes/default/mute_on.png:
	* data/themes/default/record.png:
	* data/themes/default/automation.png:
	* data/themes/default/help.png:
	* data/themes/default/sample_track.png:
	* data/themes/default/track_op_menu_disabled.png:
	* data/themes/default/edit_select.png:
	* data/themes/default/effect_board.png:
	* data/themes/default/mute_off.png:
	* data/themes/default/pause.png:
	* data/themes/default/bb_track.png:
	* data/themes/default/add_automation.png:
	* data/themes/default/edit_erase.png:
	* data/themes/default/record_accompany.png:
	* data/themes/default/edit_move.png:
	* data/themes/default/add_sample_track.png:
	* data/themes/default/songeditor.png:
	* data/themes/default/fx_mixer.png:
	improved artwork and maintoolbar

2008-06-28	Paul Giblock <drfaygo/at/gmail/dot/com>

	* configure.in:
	* src/core/config_mgr.cpp:
	* src/core/ladspa_manager.cpp:
	Search LIBDIR before any other directories

	* acinclude.m4:
	Search $QTDIR before any other directories

	* data/themes/default/style.css:
	Update CSS for new QToolBar support

2008-06-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/song.cpp:
	* src/core/project_renderer.cpp:
	- confirm overwrite when exporting file
	- set filter when selecting output-file for export

	* include/audio_file_device.h:
	* include/audio_file_ogg.h:
	* include/audio_file_wave.h:
	* include/project_renderer.h:
	* src/core/audio/audio_file_device.cpp:
	* src/core/audio/audio_file_ogg.cpp:
	* src/core/audio/audio_file_wave.cpp:
	* src/core/main.cpp:
	* src/core/project_renderer.cpp:
	* src/gui/export_project_dialog.cpp:
	added support for exporting WAVE-files with 32-bit-float format

	* include/automation_editor.h:
	fixed node-name

	* Makefile.am:
	* include/automation_pattern.h:
	* include/detuning_helper.h:
	* include/inline_automation.h:
	* include/note_play_handle.h:
	* src/core/automation_pattern.cpp:
	* src/core/inline_automation.cpp:
	* src/core/note.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/track.cpp:
	* src/gui/piano_roll.cpp:
	made note-detuning-automation work by making automationPatterns also
	work without a parent-track and writing a generic inlineAutomation-class

	* src/gui/file_browser.cpp:
	fixed crash when encountering invalid samplePlayHandle while
	previewing (closes #2004875)

2008-06-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	added panning-knob to track-settings-widget

	* include/fx_mixer.h:
	* include/fx_mixer_view.h:
	* src/core/fx_mixer.cpp:
	* src/gui/fx_mixer_view.cpp:
	added mute-button for each FX-line

	* include/led_checkbox.h:
	* src/gui/peak_controller_dialog.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* src/gui/widgets/ladspa_control_view.cpp:
	* src/gui/widgets/led_checkbox.cpp:
	made enumeration match current coding style

	* src/core/track.cpp:
	* src/core/plugin.cpp:
	* Makefile.am:
	cleanups

2008-06-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/instrument_track.cpp:
	overwrite-confirm when saving instrument-settings

	* src/core/effect_chain.cpp:
	when clear()ing, also disable FX-chain (closes #1994482)

	* src/core/song.cpp:
	always load FX-mixer-settings even if there's no GUI

	* src/core/track_container.cpp:
	fixed broken clearAllTracks()

	* include/track.h:
	* include/pattern.h:
	* include/bb_track.h:
	* src/tracks/bb_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/track.cpp:
	name-property in trackContentObject-class

	* include/automation_pattern.h:
	* src/core/automation_pattern.cpp:
	- added submenu for removing connections
	- made automation-pattern rename working

	* src/core/automation_pattern.cpp:
	fixed loading song-global automation

2008-06-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vibed/vibrating_string.h:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibrating_string.cpp:
	* plugins/vibed/string_container.h:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/Makefile.am:
	* plugins/vibed/vibed.cpp:
	* plugins/singerbot/singerbot.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/flp_import/flp_import.cpp:
	* include/note_play_handle.h:
	* src/tracks/instrument_track.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/audio/audio_device.cpp:
	* src/core/audio/audio_oss.cpp:
	- fixed wrong config.h-inclusion and deprecated macro-names from
	  config.h - makes Vibed plugin work again (closes #2000590)
	- various coding-style fixes

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vibed/vibed.cpp:
	fixed plugin-instantiation

	* include/graph.h:
	* src/gui/widgets/graph.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/vibed/vibed.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	use int instead of Uint32

	* plugins/plucked_string_synth/logo.png:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.h:
	* plugins/plucked_string_synth/Makefile.am:
	* plugins/plucked_string_synth/artwork.png:
	* plugins/polyb302/polyb302.h:
	* plugins/polyb302/logo.png:
	* plugins/polyb302/Makefile.am:
	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/artwork.png:
	removed obsolete plugins

	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* plugins/spectrum_analyzer/Makefile.am:
	* plugins/spectrum_analyzer/spectrum_analyzer.h:
	* configure.in:
	use float-based FFTW-library

	* Makefile.am:
	* include/peak_controller.h:
	* include/tempo_sync_knob.h:
	fixes for win32-build

2008-06-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_controls.cpp:
	* plugins/ladspa_effect/ladspa_controls.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/lb302/lb302.cpp:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/effect.h:
	* include/meter_model.h:
	* include/track.h:
	* include/automatable_model.h:
	* include/instrument_functions.h:
	* include/ladspa_control.h:
	* include/audio_port.h:
	* include/automation_pattern.h:
	* include/effect_view.h:
	* include/graph.h:
	* include/song.h:
	* include/pattern.h:
	* include/envelope_and_lfo_parameters.h:
	* include/song_editor.h:
	* include/journalling_object.h:
	* include/automatable_model_view.h:
	* include/surround_area.h:
	* include/mv_base.h:
	* include/controller_view.h:
	* include/effect_controls.h:
	* include/midi_port.h:
	* include/automation_editor.h:
	* include/effect_chain.h:
	* include/automation_track.h:
	* include/track_container.h:
	* include/plugin_view.h:
	* src/gui/piano_roll.cpp:
	* src/gui/track_container_view.cpp:
	* src/gui/controller_dialog.cpp:
	* src/gui/automatable_model_view.cpp:
	* src/gui/effect_control_dialog.cpp:
	* src/gui/fx_mixer_view.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/ladspa_control_view.cpp:
	* src/gui/widgets/graph.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/midi_port_menu.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* src/gui/widgets/instrument_sound_shaping_view.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/controller_view.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/widgets/effect_rack_view.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/gui/widgets/automatable_button.cpp:
	* src/gui/widgets/meter_dialog.cpp:
	* src/gui/automation_editor.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/effect_chain.cpp:
	* src/core/project_journal.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/song.cpp:
	* src/core/track_container.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/journalling_object.cpp:
	* src/core/automatable_model.cpp:
	* src/core/audio/audio_port.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/mmp.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/meter_model.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/track.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/note.cpp:
	* src/core/piano.cpp:
	* src/core/surround_area.cpp:
	* src/core/mv_base.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/fx_mixer.cpp:
	* data/themes/default/add_automation.png:
	- completely new automation-system with automation-tracks and
	  automation-patterns as well as song-global automation
	- made modelView take a QWidget-pointer argument
	- trackContentObject-ctor now calls track::addTCO() directly
	- optimize various loops to use iterators/const_iterators instead of
	  a running index variable
	- drag'n'drop doesn't fool around with pointers anymore - instead use
	  unique journalling-IDs
	- moved drag'n'drop handling code from knob to automatableModelView so
	  that all controls can benefit from that

2008-06-23	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/lfo_controller.h:
	* src/gui/lfo_controller_dialog.cpp:
	* src/core/lfo_controller.cpp:
	* data/themes/default/lfo_d100_active.png:
	* data/themes/default/lfo_d100_inactive.png:
	* data/themes/default/lfo_x100_active.png:
	* data/themes/default/lfo_x100_inactive.png:
	* data/themes/default/lfo_x1_active.png:
	* data/themes/default/lfo_x1_inactive.png:
	Add multiplier to lfo-controller and fix tempo-sync knob.  Breaks old
	projects that use LFO, but shouldn't matter since 0.4 hasn't been
	released

	* src/gui/widgets/tempo_sync_knob.cpp:
	Allow tempo-sync knob to work with ranges other than [0..1]

	* src/core/envelope_and_lfo_parameters.cpp:
	Remove hardcoded literal, use already defined const int instead

	* data/projects/templates/CR8000.mpt:
	* data/projects/templates/TR808.mpt:
	Added two drumsynth templates

2008-06-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/automatable_model_view.h:
	* src/core/piano.cpp:
	full context-menu for piano-basenote so it can be automated as well as
	controlled via controller

	* src/gui/widgets/knob.cpp:
	- when linking knobs via Shift+Drag do not use pointer to model as
	  drag-data rather than model-ID which can be resolved via
	  project-journal
	- fixed displayValue()

	* Makefile.am:
	* include/knob.h:
	* include/volume_knob.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* src/tracks/instrument_track.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/volume_knob.cpp:
	removed volumeKnob-class and added volumeKnob-property to knob-class
	instead

	* plugins/flp_import/flp_import.cpp:
	* include/controller_connection.h:
	* include/lcd_spinbox.h:
	* include/controller.h:
	* include/automatable_model.h:
	* include/instrument_track.h:
	* include/instrument_functions.h:
	* include/note_play_handle.h:
	* include/instrument_sound_shaping.h:
	* include/basic_filters.h:
	* include/sample_track.h:
	* include/surround_area.h:
	* src/core/note_play_handle.cpp:
	* src/core/automatable_model.cpp:
	* src/core/main.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/piano.cpp:
	* src/core/surround_area.cpp:
	reduced header-dependencies and various cleanups

	* include/tempo_sync_knob.h:
	* src/gui/widgets/tempo_sync_knob.cpp:
	- do not re-implement private event-handlers and use knob's signals
	  instead
	- fixed crash when closing meterDialog and choosing custom-sync
	  afterwards

	* src/gui/fx_mixer_view.cpp:
	better initial position of FX-mixer view

	* src/gui/song_editor.cpp:
	removed obsolete headers

	* include/setup_dialog.h:
	* src/gui/bb_editor.cpp:
	* src/gui/main_window.cpp:
	* src/gui/setup_dialog.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* src/gui/widgets/knob.cpp:
	- removed obsolete non-MDI-mode
	- removed classical knob-usability
	- removed show-wizard-after-upgrade setting
	- other cleanups

2008-06-20	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/core/piano.cpp:
	make SVN compile again

2008-06-20	Paul Wayper <paulway/at/mabula/dot/net>

	* src/core/piano.cpp:
	added Doxygen documentation.

2008-06-19	Paul Wayper <paulway/at/mabula/dot/net>

	* src/core/track.cpp:
	added Doxygen documentation.

2008-06-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/Makefile.am:
	* configure.in:
	added libfftw3-detection

	* plugins/bass_booster/bassbooster_control_dialog.cpp:
	* plugins/bass_booster/artwork.png:
	* plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp:
	* plugins/peak_controller_effect/artwork.png:
	added metal-brushed background-artwork

	* src/tracks/instrument_track.cpp:
	added unit to pitch-knob

2008-06-15	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/stereo_matrix/stereo_matrix.cpp:
	update author email address
	
	* src/gui/widgets/graph.cpp:
	* src/gui/lfo_controller_dialog.cpp:
	code cleanup

	* src/gui/widgets/fade_button.cpp:
	* src/tracks/instrument_track.cpp:
	improve appearance of fade buttons

	* include/tool_button.h:
	* src/gui/widgets/tool_button.cpp:
	* src/gui/lmms_style.cpp:
	* data/themes/default/style.css:
	remove styling, rely on QStyle and stylesheets now

	* include/song_editor.h:
	* include/main_window.h:
	* include/timeline.h:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/widgets/nstate_button.cpp:
	* src/core/timeline.cpp:

	* data/themes/default/main_toolbar_bg.png:
	* data/themes/default/toolbar_bg.png:
	Enlarge images for resizable toolbars - quick fix. Could just clamp the
	texture at the bottom
	
2008-06-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/knob.h:
	* src/gui/widgets/knob.cpp:
	- cache pixmap
	- only redraw if angle has changed by more than 3 degrees
	- cleanups

	* src/core/midi/midi_alsa_seq.cpp:
	cleanups and small optimizations

	* include/instrument_midi_io_view.h:
	* include/instrument_track.h:
	* include/midi_port.h:
	* src/core/midi/midi_port.cpp:
	* src/tracks/instrument_track.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	refactored midiPortMenu-creation and -management - fixes crash when
	removing track which had MIDI-in enabled and enabled MIDI-in for
	another track afterwards

	* src/gui/file_browser.cpp:
	do not load MIDI-settings when loading preset as this might break
	existing instrument tracks

	* include/automatable_model.h:
	* src/tracks/instrument_track.cpp:
	directly handle MIDI-pitch-bend events

	* include/instrument_track.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	- added pitch-knob to instrument-track
	- fixed activity indicator

	* plugins/stk/voices/flute/flute_model.cpp:
	* plugins/stk/voices/flute/flute_model.h:
	* plugins/stk/voices/flute/flute_instrument.cpp:
	* plugins/stk/voices/resonate/resonate_model.cpp:
	* plugins/stk/voices/resonate/resonate_model.h:
	* plugins/stk/voices/resonate/resonate_instrument.cpp:
	* plugins/stk/voices/include/stk_instrument.h:
	* plugins/stk/voices/include/stk_processor.h:
	* plugins/stk/voices/include/stk_model.h:
	* plugins/stk/voices/include/stk_voice.h:
	* plugins/stk/voices/wurley/wurley_instrument.cpp:
	* plugins/stk/voices/wurley/wurley_model.cpp:
	* plugins/stk/voices/wurley/wurley_model.h:
	* plugins/stk/voices/src/stk_model.cpp:
	* plugins/stk/voices/percflute/percflute_model.h:
	* plugins/stk/voices/percflute/percflute_instrument.cpp:
	* plugins/stk/voices/percflute/percflute_model.cpp:
	* plugins/stk/voices/rhodey/rhodey_model.h:
	* plugins/stk/voices/rhodey/rhodey_instrument.cpp:
	* plugins/stk/voices/rhodey/rhodey_model.cpp:
	* plugins/stk/voices/tubebell/tubebell_model.cpp:
	* plugins/stk/voices/tubebell/tubebell_model.h:
	* plugins/stk/voices/tubebell/tubebell_instrument.cpp:
	* plugins/stk/voices/bowed/bowed_model.cpp:
	* plugins/stk/voices/bowed/bowed_model.h:
	* plugins/stk/voices/bowed/bowed_instrument.cpp:
	* plugins/stk/voices/clarinet/clarinet_model.cpp:
	* plugins/stk/voices/clarinet/clarinet_model.h:
	* plugins/stk/voices/clarinet/clarinet_instrument.cpp:
	* plugins/stk/voices/moog/moog_model.cpp:
	* plugins/stk/voices/moog/moog_model.h:
	* plugins/stk/voices/moog/moog_instrument.cpp:
	* plugins/stk/voices/metal/metal_model.cpp:
	* plugins/stk/voices/metal/metal_model.h:
	* plugins/stk/voices/metal/metal_instrument.cpp:
	* plugins/stk/voices/b3/b3_model.cpp:
	* plugins/stk/voices/b3/b3_model.h:
	* plugins/stk/voices/b3/b3_instrument.cpp:
	* plugins/stk/voices/blow_hole/blow_hole_model.h:
	* plugins/stk/voices/blow_hole/blow_hole_instrument.cpp:
	* plugins/stk/voices/blow_hole/blow_hole_model.cpp:
	* plugins/stk/voices/brass/brass_model.h:
	* plugins/stk/voices/brass/brass_instrument.cpp:
	* plugins/stk/voices/brass/brass_model.cpp:
	* plugins/stk/voices/fmvoices/fmvoices_model.h:
	* plugins/stk/voices/fmvoices/fmvoices_instrument.cpp:
	* plugins/stk/voices/fmvoices/fmvoices_model.cpp:
	* plugins/stk/voices/bandedwg/bandedwg_model.h:
	* plugins/stk/voices/bandedwg/bandedwg_instrument.cpp:
	* plugins/stk/voices/bandedwg/bandedwg_model.cpp:
	* plugins/stk/voices/blow_bottle/blow_bottle_model.h:
	* plugins/stk/voices/blow_bottle/blow_bottle_instrument.cpp:
	* plugins/stk/voices/blow_bottle/blow_bottle_model.cpp:
	made STK-voices-plugins compile after they've not been maintained for
	a while

	* include/pixmap_button.h:
	* src/gui/widgets/pixmap_button.cpp:
	removed removed obsolete ctrlClick() signal

	* include/track_container.h:
	* src/core/track_container.cpp:
	removed obsolete setMutedOfAllTracks() method

	* src/core/song.cpp:
	- lock mixer while loading project - fixes crashes when loading projects
	  with FX-mixer settings
	- update BB-track-container after creating a new project - fixes
	  non-existing TCOs (i.e. patterns) in BB-Editor in new projects

	* include/config_mgr.h:
	added missing include

	* src/tracks/bb_track.cpp:
	unregister BB-track-view from BB-editor at destruction - fixes crash
	when removing BB-tracks

	* src/core/bb_track_container.cpp:
	cleanups and more optimized loops

	* include/track.h:
	* src/core/track.cpp:
	- fixed issue when moving BB-tracks up/down where actual BB-TCOs were
	  not moved (closes #1994468)
	- in trackContentObjectView and trackView, handle deletion of models
	  more gracefully

2008-06-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	don't apply window-function to data as this seems to make things only
	even worse

	* plugins/spectrum_analyzer/log_x_axis.png:
	* plugins/spectrum_analyzer/log_y_axis.png:
	* plugins/spectrum_analyzer/background.png:
	* plugins/spectrum_analyzer/spectrum_background.png:
	* plugins/spectrum_analyzer/spectrum_background_plain.png:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.h:
	labeled axes and correct logarithmic view

	* plugins/spectrum_analyzer/background.png:
	* plugins/spectrum_analyzer/spectrum_background.png:
	* plugins/spectrum_analyzer/spectrum_background_plain.png:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
	* plugins/spectrum_analyzer/spectrum_analyzer.h:
	improved appearence of Spectrum Analzyer

	* configure.in:
	* plugins/Makefile.am:
	* plugins/spectrum_analyzer/Makefile.am:
	* plugins/spectrum_analyzer/logo.png:
	* plugins/spectrum_analyzer/spectrum_analyzer.h:
	* plugins/spectrum_analyzer/spectrum_analyzer.cpp:
	* plugins/spectrum_analyzer/spectrumanalyzer_controls.h:
	* plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.h:
	* plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
	added initial version of spectrum analyzer - very basic at the moment!

	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bass_booster.h:
	* plugins/bass_booster/bassbooster_controls.h:
	* plugins/ladspa_effect/ladspa_controls.h:
	* plugins/peak_controller_effect/peak_controller_effect_controls.h:
	* plugins/stereo_enhancer/stereoenhancer_controls.h:
	* plugins/stereo_matrix/stereomatrix_controls.h:
	* plugins/vst_effect/vst_effect_controls.h:
	* include/dummy_effect.h:
	* include/effect_controls.h:
	changed return-type of effectControls::getControlCount()

2008-06-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/project_renderer.h:
	* src/gui/dialogs/export_project.ui:
	* src/gui/export_project_dialog.cpp:
	* src/core/audio/audio_file_ogg.cpp:
	* src/core/main.cpp:
	* src/core/project_renderer.cpp:
	improved support for different file-formats when exporting and fixed
	bug which made LMMS crash when exporting to OGG-file

2008-06-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/song.cpp:
	fixed loading files in no-GUI mode

	* include/mixer.h:
	* src/core/audio/audio_device.cpp:
	* src/core/mixer.cpp:
	* src/core/project_renderer.cpp:
	don't use fifoWriter when rendering as we do not have realtime issues
	here - fixes lockups on various systems when exporting project

	* plugins/sf2_player/sf2_player.cpp:
	enabled LCD-Spinboxes for easily switching banks/patches - I know that
	this way you can select banks/patches that do not exist but opening
	patch-dialog each time is much more inconvenient - maybe we can
	subclass lcdSpinBox one day so that it automatically "skips" wholes
	when scrolling

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	removed obsolete instrumentTrackView::updateName() and made
	track-button update on name-changes

2008-06-10	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/artwork.png:
	* plugins/sf2_player/chorus_off.png:
	* plugins/sf2_player/chorus_on.png:
	* plugins/sf2_player/fileselect_off.png:
	* plugins/sf2_player/fileselect_on.png:
	* plugins/sf2_player/patches_on.png:
	* plugins/sf2_player/patches_off.png:
	* plugins/sf2_player/reverb_off.png:
	* plugins/sf2_player/reverb_on.png:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* data/themes/default/style.css:
	* data/themes/default/lcd_21pink.png:
	integrate new sf2 artwork, for the most part at least

2008-06-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/main_window.cpp:
	also show *.xiz files in preset-browser

	* src/gui/file_browser.cpp:
	classify .xml-files always as presets and do not examine them more
	detailed - also improves LMMS-startup-times

	* Makefile.am:
	added a few files to LMMS-headers

2008-06-08	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/widgets/graph.h:
	* src/gui/widgets/graph.cpp:
	- Fix graph widget "scrolling"
	- Add styles so it can be drawn un-interpolated

	* include/mv_base.h:
	* src/core/mv_base.cpp:
	Add recursive fullDisplayName function

	* include/combobox_model.h:
	* src/gui/widgets/automatable_button.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/gui/widgets/effect_view.cpp:
	* src/gui/lfo_controller_dialog.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/fx_mixer.cpp:
	* src/core/lfo_controller.cpp:
	* src/core/effect.cpp:
	extend more models and views for displayName

	* include/instrument.h:
	* src/gui/widgets/instrument_sound_shaping_view.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/instrument_function_views.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/instrument.cpp:
	extend instrument stuff for displayName

	* include/controller_connection_dialog.h:
	* src/gui/controller_connection_dialog.cpp:
	improve interface slightly

	* plugins/bit_invader/bit_invader.cpp:
	change graph style mode when toggling interpolation

	* plugins/peak_controller_effect:
	* plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp:
	* plugins/peak_controller_effect/peak_controller_effect.cpp:
	* plugins/peak_controller_effect/logo.png:
	* plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
	* plugins/peak_controller_effect/peak_controller_effect_control_dialog.h:
	* plugins/peak_controller_effect/peak_controller_effect.h:
	* plugins/peak_controller_effect/peak_controller_effect_controls.h:
	* plugins/peak_controller_effect/Makefile.am:
	* plugins/Makefile.am:
	* include/peak_controller.h:
	* include/controller.h:
	* include/automatable_model.h:
	* src/gui/peak_controller_dialog.cpp:
	* src/core/peak_controller.cpp:
	* src/core/controller.cpp:
	* configure.in:
	* Makefile.am:
	- Very first implementation of peak-controller
	- Create one by adding it in the effect-chain, then connecting a widget to
	the controller
	- There is no sample-exactness, smoothing, or anything like that yet

2008-06-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/tap/tap_deesser.c:
	* plugins/ladspa_effect/tap/tap_sigmoid.c:
	* plugins/ladspa_effect/tap/tap_doubler.c:
	* plugins/ladspa_effect/tap/ladspa-local.h:
	* plugins/ladspa_effect/tap/tap_eqbw.c:
	* plugins/ladspa_effect/tap/tap_pinknoise.c:
	* plugins/ladspa_effect/tap/tap_chorusflanger.c:
	* plugins/ladspa_effect/tap/tap_eq.c:
	* plugins/ladspa_effect/tap/tap_limiter.c:
	* plugins/ladspa_effect/tap/ladspa.h:
	* plugins/ladspa_effect/tap/tap_vibrato.c:
	* plugins/ladspa_effect/tap/tap_autopan.c:
	* plugins/ladspa_effect/tap/tap_pitch.c:
	* plugins/ladspa_effect/tap/tap_dynamics_st.c:
	* plugins/ladspa_effect/tap/tap_echo.c:
	* plugins/ladspa_effect/tap/tap_tremolo.c:
	* plugins/ladspa_effect/tap/tap_tubewarmth.c:
	* plugins/ladspa_effect/tap/tap_dynamics_m.c:
	* plugins/ladspa_effect/tap/Makefile.am:
	* plugins/ladspa_effect/tap/tap_reflector.c:
	* plugins/ladspa_effect/tap/tap_reverb.c:
	* plugins/ladspa_effect/tap/tap_rotspeak.c:
	* plugins/ladspa_effect/caps/basics.h:
	* plugins/ladspa_effect/caps/Makefile.am:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_server.cpp:
	* plugins/vst_base/communication.h:
	* plugins/midi_import/midi_import.h:
	* include/effect.h:
	* include/midi_dummy.h:
	* include/endian_handling.h:
	* include/track.h:
	* include/note.h:
	* include/engine.h:
	* include/sweep_oscillator.h:
	* include/debug.h:
	* include/midi_alsa_raw.h:
	* include/config_mgr.h:
	* include/import_filter.h:
	* include/audio_file_wave.h:
	* include/mixer.h:
	* include/audio_file_ogg.h:
	* include/ladspa_manager.h:
	* include/ladspa_control.h:
	* include/sample_buffer.h:
	* include/fx_mixer.h:
	* include/nstate_button.h:
	* include/audio_pulseaudio.h:
	* include/clipboard.h:
	* include/audio_sdl.h:
	* include/micro_timer.h:
	* include/midi_event_processor.h:
	* include/audio_jack.h:
	* include/piano_roll.h:
	* include/volume.h:
	* include/oscillator.h:
	* include/export.h:
	* include/midi_alsa_seq.h:
	* include/tool.h:
	* include/setup_dialog.h:
	* include/tab_bar.h:
	* include/audio_device.h:
	* include/audio_oss.h:
	* include/audio_alsa.h:
	* src/gui/piano_roll.cpp:
	* src/gui/main_window.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/setup_dialog.cpp:
	* src/gui/about_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/plugin.cpp:
	* src/core/song.cpp:
	* src/core/config_mgr.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/main.cpp:
	* src/core/mmp.cpp:
	* src/core/ladspa_manager.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/sample_buffer.cpp:
	* Makefile.am:
	use lmmsconfig.h rather than config.h and use prefixed macro-names

	* acinclude.m4:
	* configure.in:
	create include/lmmsconfig.h which contains prefixed config.h defines

2008-06-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/song.cpp:
	reset m_modified after loading a project, creating a new one or saving

	* src/core/song.cpp:
	in song::setModified() only call mainWindow::resetWindowTitle() when
	being called with GUI-thread affinity

	* include/automatable_model.h:
	* src/core/automatable_model.cpp:
	* src/core/automation_pattern.cpp:
	added fast and more leight-weight setAutomatedValue() which omits
	things like journalling - makes things faster and doesn't introduce
	threading-problems

	* src/core/mmp.cpp:
	handle renamed midi-node ("midi" -> "midiport")

	* src/tracks/instrument_track.cpp:
	fixed MIDI-IO when using raw MIDI client

	* plugins/midi_import/midi_import.cpp:
	* include/song.h:
	added support for importing time-signature settings

	* Makefile.am:
	* plugins/midi_import/midi_import.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_server.cpp:
	* include/meter_model.h:
	* include/midi.h:
	* src/core/note_play_handle.cpp:
	* src/core/piano.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	* src/core/midi/midi_client.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/core/midi/midi_port.cpp:
	* src/tracks/instrument_track.cpp:
	* src/gui/controller_connection_dialog.cpp:
	* src/gui/piano_roll.cpp:
	made MidiEventTypes-enum conform coding-style, i.e. MidiNoteOn instead
	of NOTE_ON etc.

	* include/controller_connection_dialog.h:
	* include/instrument_midi_io_view.h:
	* include/instrument_track.h:
	* include/midi_alsa_raw.h:
	* include/midi_alsa_seq.h:
	* include/midi_client.h:
	* include/midi_controller.h:
	* include/midi_io_model.h:
	* include/midi_oss.h:
	* include/midi_port.h:
	* include/midi_port_menu.h:
	* src/core/note_play_handle.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/song.cpp:
	* src/core/midi/midi_client.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/core/midi/midi_port.cpp:
	* src/core/midi/midi_io_model.cpp:
	* src/core/midi/midi_alsa_seq.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/controller_connection_dialog.cpp:
	* src/gui/widgets/instrument_midi_io_view.cpp:
	* src/tracks/instrument_track.cpp:
	* Makefile.am:
	rewrote management of MIDI-ports and MIDI-port subscriptions - now
	it's central and easy to use

2008-06-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/note.h:
	* include/serializing_object.h:
	* include/instrument_track.h:
	* include/sample_buffer.h:
	* include/journalling_object.h:
	* src/gui/automation_editor.cpp:
	* src/core/serializing_object.cpp:
	* src/core/journalling_object.cpp:
	* src/core/note.cpp:
	* Makefile.am:
	splitted basic functionality of journallingObject into
	serializingObject so that creating note objects, notePlayHandles etc.
	does not have all the journalling-overhead (assigning/freeing ID etc.)

2008-06-06	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/knob.h:
	* include/automatable_slider.h:
	* include/controller_connection.h:
	* include/midi_controller.h:
	* include/automatable_model.h:
	* include/automatable_button.h:
	* include/tempo_sync_knob.h:
	* include/controller_connection_dialog.h:
	* include/pixmap_button.h:
	* include/automatable_model_view.h:
	* include/mv_base.h:
	* include/volume_knob.h:
	* src/gui/automatable_model_view.cpp:
	* src/gui/controller_connection_dialog.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/gui/widgets/automatable_button.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/core/automatable_model.cpp:
	* src/core/controller_connection.cpp:
	- add support for sequenced midi in midi-controllers
	- add displayName field to model / autoModel for descriptive model trees
	- use displayName for midiController and contextMenus

	* src/core/ladspa_control.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/bass_booster/bassbooster_control_dialog.cpp:
	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
	* plugins/stereo_enhancer/stereoenhancer_controls.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	- Update plugins to use displayName for child widgets
	- Still need to do this to all of LMMS core

	* include/effect_lib.h:
	* src/core/lfo_controller.cpp:
	Fix compile time warnings

	* include/automatable_model.h:
	* include/instrument_track.h:
	* include/controller_connection_dialog.h:
	* src/gui/controller_connection_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	Test to see if we can now generate reasonable midi-port names. We can,
	the feature is very beta right now (no screenupdating, loading, etc..)
	
2008-06-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* include/track_container_view.h:
	* src/core/track.cpp:
	* src/gui/track_container_view.cpp:
	remove track from within slot in trackContainerView for not deleting
	object inside its own method - fixes Qt-warning and closes #1981812

	* src/tracks/instrument_track.cpp:
	when freeing instrument-window, also free view immediately - fixes
	crash when removing instrument-track while instrument-track window was
	open

	* include/automatable_model.h:
	* include/automation_editor.h:
	* src/gui/piano_roll.cpp:
	* src/gui/widgets/graph.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/automation_editor.cpp:
	fixed various GCC-warnings

2008-06-05	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/automatable_model.h:
	* include/mv_base.h:
	* src/gui/automatable_model_view.cpp:
	* src/gui/widgets/knob.cpp:
	add setDisplayName to model, but doesn't work right for some reason

2008-06-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/note.h:
	* include/note_play_handle.h:
	removed obsolete FASTCALL-attributes

	* include/project_journal.h:
	* src/core/project_journal.cpp:
	* src/core/song.cpp:
	heavily optimized journal-cleanup - project unloading is now
	unbelievable fast!

2008-06-05	Paul Giblock <drfaygo/at/gmail/dot/com>

	* data/themes/default/style.css:
	fix check-marks on menus.  They used to all appear checked no matter what

2008-06-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* src/core/track.cpp:
	re-arranged mute- and solo-buttons

	* plugins/ladspa_effect/tap/tap_deesser.c:
	* plugins/ladspa_effect/tap/tap_reverb.h:
	* plugins/ladspa_effect/tap/tap_sigmoid.c:
	* plugins/ladspa_effect/tap/tap_doubler.c:
	* plugins/ladspa_effect/tap/tap_eqbw.c:
	* plugins/ladspa_effect/tap/tap_pinknoise.c:
	* plugins/ladspa_effect/tap/tap_reverb_presets.h:
	* plugins/ladspa_effect/tap/tap_chorusflanger.c:
	* plugins/ladspa_effect/tap/ladspa.h:
	* plugins/ladspa_effect/tap/tap_limiter.c:
	* plugins/ladspa_effect/tap/tap_utils.h:
	* plugins/ladspa_effect/tap/tap_eq.c:
	* plugins/ladspa_effect/tap/tap_vibrato.c:
	* plugins/ladspa_effect/tap/tap_autopan.c:
	* plugins/ladspa_effect/tap/tap_pitch.c:
	* plugins/ladspa_effect/tap/CREDITS:
	* plugins/ladspa_effect/tap/README:
	* plugins/ladspa_effect/tap/tap_dynamics_st.c:
	* plugins/ladspa_effect/tap/tap_echo.c:
	* plugins/ladspa_effect/tap/tap_tremolo.c:
	* plugins/ladspa_effect/tap/tap_dynamics_presets.h:
	* plugins/ladspa_effect/tap/tap_tubewarmth.c:
	* plugins/ladspa_effect/tap/COPYING:
	* plugins/ladspa_effect/tap/tap_dynamics_m.c:
	* plugins/ladspa_effect/tap/Makefile.am:
	* plugins/ladspa_effect/tap/tap_reflector.c:
	* plugins/ladspa_effect/tap/tap_reverb.c:
	* plugins/ladspa_effect/tap/tap_rotspeak.c:
	* plugins/ladspa_effect/Makefile.am:
	* configure.in:
	* Makefile.am:
	integrated TAP-plugins to be shipped with LMMS

2008-06-04	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/lmms_style.cpp:
	Shrink the titlebars

2008-06-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vibed/nine_button_selector.cpp:
	* plugins/live_tool/live_tool.cpp:
	* include/note_play_handle.h:
	* include/track_container.h:
	* include/track.h:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/track.cpp:
	renamed muted() to isMuted() and other coding-style fixes

	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/automatable_button.cpp:
	use automatableModelView::addDefaultActions()

	* src/gui/widgets/tooltip.cpp:
	re-enabled tooltips

	* include/track.h:
	* include/track_container.h:
	* src/core/track.cpp:
	* data/themes/default/led_red.png:
	added fully-functional solo-button

	* include/automation_editor.h:
	* src/gui/automation_editor.cpp:
	fixed broken automation-drawing for floatModels

	* configure.in:
	* Makefile.am:
	support for building win32-version with OGG/vorbis-support

	* src/gui/main_window.cpp:
	added separator in edit-menu

	* src/core/config_mgr.cpp:
	fixed paths for win32-build

	* src/core/sample_buffer.cpp:
	fixed platform-dependent sampleBuffer::tryToMakeAbsolute(...)

	* lmms.rc.in:
	* Makefile.am:
	* data/lmms.ico:
	added icon and resource-file

	* Makefile.am:
	added win32-pkg target

2008-06-02	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* src/gui/main_window.cpp:
	Support loading of sf2 files from the sidebar sample browser

	* include/knob.h:
	* include/automatable_model_view.h:
	* src/gui/automatable_model_view.cpp:
	* src/gui/widgets/knob.cpp:
	* Makefile.am:
	- move context menu stuff to automatableModelView
	- add automatableModelViewSlots for slots we may wish to call from AMV

	* include/midi_controller.h:
	code style

	* src/core/midi/midi_controller.cpp:
	name midiControllers after their channel/controller

	* src/gui/widgets/fader.cpp:
	Use default context menu

	* src/gui/controller_connection_dialog.cpp:
	don't choose the controller if the user didn't actually choose anything

2008-06-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	try all audio-drivers at startup even if dummy-driver is selected

	* configure.in:
	* Makefile.am:
	properly link against win32-libsndfile

	* plugins/patman/patman.cpp:
	* plugins/patman/Makefile.am:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/caps/Makefile.am:
	* plugins/ladspa_effect/Makefile.am:
	* plugins/organic/organic.cpp:
	* plugins/organic/Makefile.am:
	* plugins/lb302/lb302.cpp:
	* plugins/lb302/Makefile.am:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/Makefile.am:
	* plugins/stereo_matrix/stereo_matrix.cpp:
	* plugins/stereo_matrix/Makefile.am:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/Makefile.am:
	* plugins/vibed/Makefile.am:
	* plugins/vibed/vibed.cpp:
	* plugins/live_tool/Makefile.am:
	* plugins/live_tool/live_tool.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/stereo_enhancer/Makefile.am:
	* plugins/sf2_player/patches_dialog.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/Makefile.am:
	* plugins/sf2_player/patches_dialog.h:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/ladspa_browser/Makefile.am:
	* plugins/ladspa_browser/ladspa_browser.h:
	* plugins/kicker/Makefile.am:
	* plugins/kicker/kicker.cpp:
	* plugins/flp_import/Makefile.am:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/Makefile.am:
	* plugins/midi_import/midi_import.cpp:
	build win32-DLLs properly

	* include/mmp.h:
	* include/effect.h:
	* include/lcd_spinbox.h:
	* include/engine.h:
	* include/embed.h:
	* include/bb_track_container.h:
	* include/config_mgr.h:
	* include/import_filter.h:
	* include/ladspa_manager.h:
	* include/ladspa_control.h:
	* include/automation_pattern.h:
	* include/graph.h:
	* include/effect_control_dialog.h:
	* include/pattern.h:
	* include/string_pair_drag.h:
	* include/caption_menu.h:
	* include/envelope_and_lfo_parameters.h:
	* include/bb_track.h:
	* include/project_notes.h:
	* include/export.h:
	* include/tooltip.h:
	* include/ladspa_control_view.h:
	* include/journalling_object.h:
	* include/tool.h:
	* include/tab_bar.h:
	* include/types.h:
	* include/mv_base.h:
	* include/track_container.h:
	* include/led_checkbox.h:
	* include/ladspa_2_lmms.h:
	* src/3rdparty/samplerate/samplerate.h:
	export more symbols in order to build all plugins

	* configure.in:
	added code for detecting fluidsynth-DLL

	* src/core/config_mgr.cpp:
	customized path to LADSPA-plugins under win32

	* src/core/midi/midi_alsa_seq.cpp:
	do not free port_info-structure before actually (un)subscribing -
	fixes non-working automatic port-subscription

	* src/core/ladspa_manager.cpp:
	win32-compat

	* src/core/instrument_midi_io.cpp:
	coding style

2008-06-02	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/automatable_model.h:
	* include/controller_connection.h:
	* src/core/automatable_model.cpp:
	* src/core/controller_connection.cpp:
	Support for automatic deletion of controller if owned by connection

	* include/controller.h:
	* include/midi_controller.h:
	* include/controller_connection_dialog.h:
	* src/gui/widgets/knob.cpp:
	* src/gui/controller_connection_dialog.cpp:
	* src/core/midi/midi_controller.cpp:
	* src/core/controller.cpp:
	* Makefile.am:
	- Add midi-controller support
	- Allow editing of connection through context menu
	- Code clean-up

	* include/midi.h:
	add const for max controller ID and add bytes array to the midiEvent
	m_data union

	* src/core/midi/midi_client.cpp:
	Don't subtract octave from control change events

	* src/tracks/instrument_track.cpp:
	Ignore unhandled control change events

	* src/tracks/pattern.cpp:
	Minor pixel adjustment to TCO drawing

	* src/core/track.cpp:
	Correct misleading textFloat

	* src/core/song.cpp:
	Code style

2008-06-01	Paul Giblock <drfaygo/at/gmail/dot/com>
	
	* src/tracks/pattern.cpp:
	Improve drawing of tact lines, so it is more obvious where a pattern
	ends

	* src/core/track.cpp:
	Display floating text underneith the current track so you can actually
	see what you are doing

	* src/core/config_mgr.cpp:
	Gracefully handle default lmmsrc.xml creation instead of aborting
	
2008-06-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/caps/basics.h:
	* plugins/ladspa_effect/caps/interface.cc:
	win32-build fixes

	* plugins/triple_oscillator/Makefile.am:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/Makefile.am:
	made ready for building plugins as DLLs

	* plugins/kicker/kicker.h:
	include QtCore/QObject rather than QObject

	* include/mmp.h:
	* include/knob.h:
	* include/track.h:
	* include/engine.h:
	* include/note.h:
	* include/embed.h:
	* include/instrument_view.h:
	* include/config_mgr.h:
	* include/automatable_model.h:
	* include/mixer.h:
	* include/instrument_track.h:
	* include/instrument.h:
	* include/sample_buffer.h:
	* include/plugin.h:
	* include/note_play_handle.h:
	* include/song.h:
	* include/string_pair_drag.h:
	* include/oscillator.h:
	* include/automatable_button.h:
	* include/tooltip.h:
	* include/journalling_object.h:
	* include/pixmap_button.h:
	* include/automatable_model_view.h:
	* include/mv_base.h:
	* include/volume_knob.h:
	* include/plugin_view.h:
	export according classes for making them accessibly by plugins

	* src/core/main.cpp:
	dont set opacity for splashscreen

	* src/core/config_mgr.cpp:
	customized paths for win32 (plugins in same directory as executable)

	* src/core/song.cpp:
	initialize m_length member to 0

	* src/core/plugin.cpp:
	under win32 filter for DLL-files

	* include/types.h:
	added macros for export-declaration

	* src/gui/plugin_browser.cpp:
	* src/gui/effect_select_dialog.cpp:
	* src/gui/main_window.cpp:
	* src/core/track.cpp:
	minor coding style issues

	* build_mingw32:
	* acinclude.m4:
	* Makefile.am:
	better support for win32-builds

	* buildtools/bin2res.cpp:
	open files in binary mode - fixes win32-build

	* configure.in:
	* Makefile.am:
	* include/audio_pulseaudio.h:
	* src/core/audio/audio_pulseaudio.cpp:
	* src/core/mixer.cpp:
	* src/gui/setup_dialog.cpp:
	added PulseAudio-support

2008-05-30	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/piano_roll.cpp:
	- Improve selection of volume-bars on a chord.  Select closest note
	instead of whichever one was created first. 
	- Display volume-change handles on top of the bars instead of possibly
	underneith other bars when dealing with chords
	
	* AUTHORS:
	Add Juan (Fabi) to authors, organize names more alphabetically

2008-05-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	fixed wrong item in effect blacklist

	* include/mixer.h:
	* src/core/mixer.cpp:
	use less complex worker-thread-synchronization

2008-05-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	use QAtomicInt instead of volatile bool + queue-global mutex for
	worker-thread jobqueues

2008-05-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/organic/organic.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stereo_enhancer/stereoenhancer_controls.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/knob.h:
	* include/automatable_slider.h:
	* include/lcd_spinbox.h:
	* include/automatable_model.h:
	* include/combobox_model.h:
	* include/automation_pattern.h:
	* include/note_play_handle.h:
	* include/detuning_helper.h:
	* include/group_box.h:
	* include/automatable_button.h:
	* include/automatable_model_templates.h:
	* include/level_object.h:
	* include/automatable_model_view.h:
	* include/fader.h:
	* include/combobox.h:
	* src/gui/piano_roll.cpp:
	* src/gui/automatable_model_view.cpp:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/knob.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/widgets/automatable_slider.cpp:
	* src/gui/widgets/group_box.cpp:
	* src/gui/widgets/lcd_spinbox.cpp:
	* src/gui/widgets/volume_knob.cpp:
	* src/gui/widgets/fader.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/gui/widgets/automatable_button.cpp:
	* src/gui/automation_editor.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/effect_chain.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/song.cpp:
	* src/core/automatable_model.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_jack.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/combobox_model.cpp:
	* src/core/meter_model.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/instrument_midi_io.cpp:
	* src/core/track.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/note.cpp:
	* src/core/piano.cpp:
	* src/core/surround_area.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/lfo_controller.cpp:
	* Makefile.am:
	reworked automatableModel (not template-based anymore), removed
	levelObject, splitted comboBox/comboBoxModel-source-files, began to
	unify context-menu-creation for controls

	diffstat:  63 files changed, 1145 insertions(+), 1170 deletions(-)

2008-05-27	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	restore gain setting when loading a project and keep gain setting when
	changing sample rate

	* include/controller_view.h:
	* src/gui/widgets/controller_view.cpp:
	reverted toby's controllerView changes.

	* src/core/mmp.cpp:
	add compat-code for time-signature support

2008-05-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/controller_view.h:
	* src/gui/widgets/controller_view.cpp:
	made LMMS compile + cleanups

2008-05-26	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/automatable_model.h:
	* include/automatable_model_templates.h:
	* include/controller.h:
	* include/controller_connection.h:
	* src/gui/widgets/knob.cpp:
	* src/core/song.cpp:
	* src/core/controller.cpp:
	* src/core/controller_connection.cpp:
	* Makefile.am:
	- add controller connection class for storing controller links.  Used to
	specify linkage for loading/saving as well as a model for all the options
	in the dialog (mapping function, smoothing, etc..)
	- add dummyController for unfinalized or missing controllers.  Faster than
	adding a branch to value() or currentValue()
	- save controller links to project
	- incomplete, experimental!

	* include/controller_view.h:
	* src/gui/lfo_controller_dialog.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* data/themes/default/controller_bg.png:
	Show name in controller view and make it renamable

	* data/themes/default/style.css:
	A hint of blue in menu highlight

	* src/core/song.cpp:
	Add data-changed event so lfo-rack can update

2008-05-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/singerbot/singerbot.cpp:
	* include/meter_model.h:
	* include/song.h:
	* include/pattern.h:
	* include/piano_roll.h:
	* include/song_editor.h:
	* include/midi_time.h:
	* include/types.h:
	* include/timeline.h:
	* src/core/bb_track_container.cpp:
	* src/core/meter_model.cpp:
	* src/core/song.cpp:
	* src/core/timeline.cpp:
	* src/core/track.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/piano_roll.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/track_container_view.cpp:
	* src/gui/widgets/tempo_sync_knob.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/pattern.cpp:
	implemented support for time-signatures other than 4/4 - still
	incomplete and experimental!

	* include/controller_dialog.h:
	* src/core/lfo_controller.cpp:
	* src/gui/controller_dialog.cpp:
	* src/gui/widgets/controller_view.cpp:
	fixed order of member-initialization and miscellanous coding-style
	corrections

	* plugins/patman/select_file.png:
	* plugins/patman/logo.png:
	* plugins/patman/artwork.png:
	* plugins/ladspa_effect/logo.png:
	* plugins/organic/logo.png:
	* plugins/organic/randomise.png:
	* plugins/organic/randomise_pressed.png:
	* plugins/organic/artwork.png:
	* plugins/lb302/artwork.png:
	* plugins/bass_booster/logo.png:
	* plugins/stereo_matrix/logo.png:
	* plugins/bit_invader/logo.png:
	* plugins/bit_invader/wavegraph.png:
	* plugins/bit_invader/wavegraph3.png:
	* plugins/bit_invader/artwork.png:
	* plugins/bit_invader/smooth.png:
	* plugins/vst_effect/logo.png:
	* plugins/vibed/button_7_on.png:
	* plugins/vibed/button_9_on.png:
	* plugins/vibed/logo.png:
	* plugins/vibed/button_-1_off.png:
	* plugins/vibed/button_-2_off.png:
	* plugins/vibed/button_-1_on.png:
	* plugins/vibed/smooth_active.png:
	* plugins/vibed/wavegraph4.png:
	* plugins/vibed/button_f_off.png:
	* plugins/vibed/button_f_on.png:
	* plugins/vibed/button_up.png:
	* plugins/vibed/normalize_inactive.png:
	* plugins/vibed/button_1_off.png:
	* plugins/vibed/button_2_off.png:
	* plugins/vibed/button_3_off.png:
	* plugins/vibed/button_2_on.png:
	* plugins/vibed/button_4_off.png:
	* plugins/vibed/artwork.png:
	* plugins/vibed/button_5_off.png:
	* plugins/vibed/button_6_off.png:
	* plugins/vibed/button_4_on.png:
	* plugins/vibed/normalize_active.png:
	* plugins/vibed/button_7_off.png:
	* plugins/vibed/button_8_off.png:
	* plugins/vibed/button_6_on.png:
	* plugins/vibed/button_9_off.png:
	* plugins/vibed/button_8_on.png:
	* plugins/vibed/button_down.png:
	* plugins/vibed/button_-2_on.png:
	* plugins/vibed/button_1_on.png:
	* plugins/vibed/button_3_on.png:
	* plugins/vibed/button_5_on.png:
	* plugins/vibed/smooth_inactive.png:
	* plugins/triple_oscillator/logo.png:
	* plugins/triple_oscillator/am_active.png:
	* plugins/triple_oscillator/artwork.png:
	* plugins/triple_oscillator/sync_inactive.png:
	* plugins/triple_oscillator/sync_active.png:
	* plugins/live_tool/logo.png:
	* plugins/live_tool/artwork.png:
	* plugins/singerbot/logo.png:
	* plugins/singerbot/artwork.png:
	* plugins/audio_file_processor/select_file.png:
	* plugins/audio_file_processor/logo.png:
	* plugins/audio_file_processor/artwork.png:
	* plugins/stk/mallets/logo.png:
	* plugins/stk/mallets/artwork.png:
	* plugins/stk/voices/flute/logo.png:
	* plugins/stk/voices/flute/artwork.png:
	* plugins/stk/voices/resonate/logo.png:
	* plugins/stk/voices/resonate/artwork.png:
	* plugins/stk/voices/wurley/logo.png:
	* plugins/stk/voices/wurley/artwork.png:
	* plugins/stk/voices/percflute/logo.png:
	* plugins/stk/voices/percflute/artwork.png:
	* plugins/stk/voices/rhodey/logo.png:
	* plugins/stk/voices/rhodey/artwork.png:
	* plugins/stk/voices/tubebell/logo.png:
	* plugins/stk/voices/tubebell/artwork.png:
	* plugins/stk/voices/bowed/logo.png:
	* plugins/stk/voices/bowed/artwork.png:
	* plugins/stk/voices/clarinet/logo.png:
	* plugins/stk/voices/clarinet/artwork.png:
	* plugins/stk/voices/moog/logo.png:
	* plugins/stk/voices/moog/artwork.png:
	* plugins/stk/voices/metal/logo.png:
	* plugins/stk/voices/metal/artwork.png:
	* plugins/stk/voices/b3/logo.png:
	* plugins/stk/voices/b3/artwork.png:
	* plugins/stk/voices/blow_hole/logo.png:
	* plugins/stk/voices/blow_hole/artwork.png:
	* plugins/stk/voices/brass/logo.png:
	* plugins/stk/voices/brass/artwork.png:
	* plugins/stk/voices/fmvoices/logo.png:
	* plugins/stk/voices/fmvoices/artwork.png:
	* plugins/stk/voices/bandedwg/logo.png:
	* plugins/stk/voices/bandedwg/artwork.png:
	* plugins/stk/voices/blow_bottle/logo.png:
	* plugins/stk/voices/blow_bottle/artwork.png:
	* plugins/plucked_string_synth/logo.png:
	* plugins/plucked_string_synth/artwork.png:
	* plugins/stereo_enhancer/logo.png:
	* plugins/sf2_player/logo.png:
	* plugins/sf2_player/artwork.png:
	* plugins/vestige/select_file.png:
	* plugins/vestige/logo.png:
	* plugins/vestige/artwork.png:
	* plugins/ladspa_browser/logo.png:
	* plugins/kicker/logo.png:
	* plugins/kicker/artwork.png:
	* plugins/polyb302/artwork.png:
	* data/themes/blue_scene/led_off.png:
	* data/themes/blue_scene/back_to_zero.png:
	* data/themes/blue_scene/project_export.png:
	* data/themes/blue_scene/hourglass.png:
	* data/themes/blue_scene/triangle_wave_inactive.png:
	* data/themes/blue_scene/hq_mode.png:
	* data/themes/blue_scene/usr_wave_inactive.png:
	* data/themes/blue_scene/main_toolbar_bg.png:
	* data/themes/blue_scene/add_bb_track.png:
	* data/themes/blue_scene/tempo_sync.png:
	* data/themes/blue_scene/edit_paste.png:
	* data/themes/blue_scene/midi_file.png:
	* data/themes/blue_scene/analysis.png:
	* data/themes/blue_scene/zoom.png:
	* data/themes/blue_scene/playpos_marker.png:
	* data/themes/blue_scene/wizard_workingdir.png:
	* data/themes/blue_scene/step_btn_off_light.png:
	* data/themes/blue_scene/square_wave_inactive.png:
	* data/themes/blue_scene/auto_limit.png:
	* data/themes/blue_scene/exp_wave_active.png:
	* data/themes/blue_scene/exit.png:
	* data/themes/blue_scene/step_btn_on.png:
	* data/themes/blue_scene/toolbar_bg.png:
	* data/themes/blue_scene/keep_stop_position.png:
	* data/themes/blue_scene/whatsthis.png:
	* data/themes/blue_scene/output_graph.png:
	* data/themes/blue_scene/wizard_files.png:
	* data/themes/blue_scene/note_none.png:
	* data/themes/blue_scene/black_key.png:
	* data/themes/blue_scene/text_center.png:
	* data/themes/blue_scene/stop.png:
	* data/themes/blue_scene/error.png:
	* data/themes/blue_scene/sin_wave_inactive.png:
	* data/themes/blue_scene/loop_points_on.png:
	* data/themes/blue_scene/play.png:
	* data/themes/blue_scene/folder_opened.png:
	* data/themes/blue_scene/mute_on.png:
	* data/themes/blue_scene/ports.png:
	* data/themes/blue_scene/project_saveas.png:
	* data/themes/blue_scene/loop_point_disabled.png:
	* data/themes/blue_scene/folder.png:
	* data/themes/blue_scene/arp_random_on.png:
	* data/themes/blue_scene/arp_sync.png:
	* data/themes/blue_scene/edit_copy.png:
	* data/themes/blue_scene/white_noise_wave_inactive.png:
	* data/themes/blue_scene/track_op_grip.png:
	* data/themes/blue_scene/background_artwork.png:
	* data/themes/blue_scene/help.png:
	* data/themes/blue_scene/unknown_file.png:
	* data/themes/blue_scene/edit_redo.png:
	* data/themes/blue_scene/exp_wave_inactive.png:
	* data/themes/blue_scene/arp_down_on.png:
	* data/themes/blue_scene/project_file.png:
	* data/themes/blue_scene/sample_track.png:
	* data/themes/blue_scene/note_quarter.png:
	* data/themes/blue_scene/surround_area.png:
	* data/themes/blue_scene/black_key_pressed.png:
	* data/themes/blue_scene/project_notes.png:
	* data/themes/blue_scene/project_new.png:
	* data/themes/blue_scene/master_pitch.png:
	* data/themes/blue_scene/edit_select.png:
	* data/themes/blue_scene/track_op_menu.png:
	* data/themes/blue_scene/colorize.png:
	* data/themes/blue_scene/white_key.png:
	* data/themes/blue_scene/splash.png:
	* data/themes/blue_scene/note_double_whole.png:
	* data/themes/blue_scene/envelope_graph.png:
	* data/themes/blue_scene/saw_wave_inactive.png:
	* data/themes/blue_scene/note_sixteenth.png:
	* data/themes/blue_scene/lfo_graph.png:
	* data/themes/blue_scene/frozen.png:
	* data/themes/blue_scene/effect_board.png:
	* data/themes/blue_scene/arp_down_off.png:
	* data/themes/blue_scene/mute_off.png:
	* data/themes/blue_scene/reload.png:
	* data/themes/blue_scene/text_italic.png:
	* data/themes/blue_scene/arp_random_off.png:
	* data/themes/blue_scene/pause.png:
	* data/themes/blue_scene/freeze.png:
	* data/themes/blue_scene/triangle_wave_active.png:
	* data/themes/blue_scene/combobox_arrow.png:
	* data/themes/blue_scene/root.png:
	* data/themes/blue_scene/apply.png:
	* data/themes/blue_scene/usr_wave_active.png:
	* data/themes/blue_scene/icon.png:
	* data/themes/blue_scene/clock.png:
	* data/themes/blue_scene/setup_directories.png:
	* data/themes/blue_scene/text_left.png:
	* data/themes/blue_scene/text_block.png:
	* data/themes/blue_scene/plugins/tripleoscillator_fm_inactive.png:
	* data/themes/blue_scene/plugins/bitinvader_artwork.png:
	* data/themes/blue_scene/plugins/tripleoscillator_mix_active.png:
	* data/themes/blue_scene/plugins/tripleoscillator_am_active.png:
	* data/themes/blue_scene/plugins/tripleoscillator_artwork.png:
	* data/themes/blue_scene/plugins/bitinvader_logo.png:
	* data/themes/blue_scene/plugins/tripleoscillator_fm_active.png:
	* data/themes/blue_scene/plugins/tripleoscillator_sync_inactive.png:
	* data/themes/blue_scene/plugins/audiofileprocessor_artwork.png:
	* data/themes/blue_scene/plugins/bitinvader_wavegraph3.png:
	* data/themes/blue_scene/plugins/vestige_artwork.png:
	* data/themes/blue_scene/plugins/bitinvader_smooth.png:
	* data/themes/blue_scene/plugins/audiofileprocessor_logo.png:
	* data/themes/blue_scene/plugins/tripleoscillator_sync_active.png:
	* data/themes/blue_scene/plugins/pluckedstringsynth_logo.png:
	* data/themes/blue_scene/plugins/audiofileprocessor_loop_off.png:
	* data/themes/blue_scene/plugins/audiofileprocessor_reverse_off.png:
	* data/themes/blue_scene/plugins/audiofileprocessor_loop_on.png:
	* data/themes/blue_scene/plugins/vestige_logo.png:
	* data/themes/blue_scene/plugins/tripleoscillator_am_inactive.png:
	* data/themes/blue_scene/plugins/tripleoscillator_mix_inactive.png:
	* data/themes/blue_scene/plugins/bitinvader_wavegraph.png:
	* data/themes/blue_scene/cpuload_bg.png:
	* data/themes/blue_scene/note_half.png:
	* data/themes/blue_scene/wizard.png:
	* data/themes/blue_scene/preset_file.png:
	* data/themes/blue_scene/hint.png:
	* data/themes/blue_scene/note.png:
	* data/themes/blue_scene/timeline.png:
	* data/themes/blue_scene/bb_track.png:
	* data/themes/blue_scene/white_key_pressed.png:
	* data/themes/blue_scene/arp_up_off.png:
	* data/themes/blue_scene/autoscroll_off.png:
	* data/themes/blue_scene/setup_audio.png:
	* data/themes/blue_scene/text_right.png:
	* data/themes/blue_scene/project_open.png:
	* data/themes/blue_scene/arp_up_and_down_off.png:
	* data/themes/blue_scene/note_eighth.png:
	* data/themes/blue_scene/note_whole.png:
	* data/themes/blue_scene/note_thirtysecond.png:
	* data/themes/blue_scene/edit_erase.png:
	* data/themes/blue_scene/sin_wave_active.png:
	* data/themes/blue_scene/saw_wave_active.png:
	* data/themes/blue_scene/rename.png:
	* data/themes/blue_scene/drum.png:
	* data/themes/blue_scene/edit_undo.png:
	* data/themes/blue_scene/edit_move.png:
	* data/themes/blue_scene/wizard_intro.png:
	* data/themes/blue_scene/add_sample_track.png:
	* data/themes/blue_scene/combobox_bg.png:
	* data/themes/blue_scene/setup_performance.png:
	* data/themes/blue_scene/loop_point.png:
	* data/themes/blue_scene/autoscroll_on.png:
	* data/themes/blue_scene/unfreeze.png:
	* data/themes/blue_scene/cancel.png:
	* data/themes/blue_scene/sound_file.png:
	* data/themes/blue_scene/arp_sort.png:
	* data/themes/blue_scene/white_noise_wave_active.png:
	* data/themes/blue_scene/arp_up_and_down_on.png:
	* data/themes/blue_scene/folder_locked.png:
	* data/themes/blue_scene/setup_general.png:
	* data/themes/blue_scene/loop_points_off.png:
	* data/themes/blue_scene/setup_midi.png:
	* data/themes/blue_scene/uhoh.png:
	* data/themes/blue_scene/step_btn_off.png:
	* data/themes/blue_scene/songeditor.png:
	* data/themes/blue_scene/square_wave_active.png:
	* data/themes/blue_scene/project_open_down.png:
	* data/themes/blue_scene/moog_saw_wave_inactive.png:
	* data/themes/blue_scene/back_to_start.png:
	* data/themes/blue_scene/text_under.png:
	* data/themes/blue_scene/arp_up_on.png:
	* data/themes/blue_scene/arp_free.png:
	* data/themes/blue_scene/moog_saw_wave_active.png:
	* data/themes/blue_scene/home.png:
	* data/themes/blue_scene/knob01.png:
	* data/themes/default/lcd_19green.png:
	* data/themes/default/knob03.png:
	* data/themes/default/back_to_zero.png:
	* data/themes/default/edit_draw.png:
	* data/themes/default/triangle_wave_inactive.png:
	* data/themes/default/filter_hp.png:
	* data/themes/default/zoom_y.png:
	* data/themes/default/usr_wave_inactive.png:
	* data/themes/default/muted.png:
	* data/themes/default/add_bb_track.png:
	* data/themes/default/fader_background.png:
	* data/themes/default/tempo_sync.png:
	* data/themes/default/plugins.png:
	* data/themes/default/midi_file.png:
	* data/themes/default/analysis.png:
	* data/themes/default/zoom.png:
	* data/themes/default/edit_arrow.png:
	* data/themes/default/wizard_workingdir.png:
	* data/themes/default/lcd_19red.png:
	* data/themes/default/toolbar_bg.png:
	* data/themes/default/whatsthis.png:
	* data/themes/default/filter_notch.png:
	* data/themes/default/output_graph.png:
	* data/themes/default/wizard_files.png:
	* data/themes/default/controller.png:
	* data/themes/default/note_none.png:
	* data/themes/default/black_key.png:
	* data/themes/default/stop.png:
	* data/themes/default/fader_knob.png:
	* data/themes/default/mute_off_disabled.png:
	* data/themes/default/mute_on_disabled.png:
	* data/themes/default/sin_wave_inactive.png:
	* data/themes/default/play.png:
	* data/themes/default/folder_opened.png:
	* data/themes/default/filter_bp.png:
	* data/themes/default/ports.png:
	* data/themes/default/loop_point_disabled.png:
	* data/themes/default/folder.png:
	* data/themes/default/arp_random_on.png:
	* data/themes/default/arp_sync.png:
	* data/themes/default/automation.png:
	* data/themes/default/white_noise_wave_inactive.png:
	* data/themes/default/track_op_grip.png:
	* data/themes/default/pr_black_key.png:
	* data/themes/default/help.png:
	* data/themes/default/background_artwork.png:
	* data/themes/default/factory_files.png:
	* data/themes/default/unknown_file.png:
	* data/themes/default/exp_wave_inactive.png:
	* data/themes/default/project_file.png:
	* data/themes/default/arp_down_on.png:
	* data/themes/default/piano.png:
	* data/themes/default/midi_in.png:
	* data/themes/default/black_key_pressed.png:
	* data/themes/default/surround_area.png:
	* data/themes/default/track_op_menu_disabled.png:
	* data/themes/default/project_new.png:
	* data/themes/default/master_pitch.png:
	* data/themes/default/led_green.png:
	* data/themes/default/edit_select.png:
	* data/themes/default/colorize.png:
	* data/themes/default/white_key.png:
	* data/themes/default/knob02.png:
	* data/themes/default/note_double_whole.png:
	* data/themes/default/envelope_graph.png:
	* data/themes/default/saw_wave_inactive.png:
	* data/themes/default/lfo_graph.png:
	* data/themes/default/groupbox_led_bg.png:
	* data/themes/default/frozen.png:
	* data/themes/default/arp_down_off.png:
	* data/themes/default/effect_board.png:
	* data/themes/default/reload.png:
	* data/themes/default/zoom_x.png:
	* data/themes/default/pause.png:
	* data/themes/default/freeze.png:
	* data/themes/default/filter_lp.png:
	* data/themes/default/combobox_arrow.png:
	* data/themes/default/triangle_wave_active.png:
	* data/themes/default/root.png:
	* data/themes/default/apply.png:
	* data/themes/default/usr_wave_active.png:
	* data/themes/default/icon.png:
	* data/themes/default/clock.png:
	* data/themes/default/add_controller.png:
	* data/themes/default/setup_directories.png:
	* data/themes/default/cpuload_bg.png:
	* data/themes/default/quantize.png:
	* data/themes/default/wizard.png:
	* data/themes/default/preset_file.png:
	* data/themes/default/hint.png:
	* data/themes/default/filter_ap.png:
	* data/themes/default/timeline.png:
	* data/themes/default/bb_track.png:
	* data/themes/default/effect_plugin.png:
	* data/themes/default/white_key_pressed.png:
	* data/themes/default/arp_up_off.png:
	* data/themes/default/autoscroll_off.png:
	* data/themes/default/setup_audio.png:
	* data/themes/default/arp_up_and_down_off.png:
	* data/themes/default/combobox_arrow_selected.png:
	* data/themes/default/cpuload_leds.png:
	* data/themes/default/note_whole.png:
	* data/themes/default/edit_erase.png:
	* data/themes/default/wizard_intro.png:
	* data/themes/default/add_sample_track.png:
	* data/themes/default/combobox_bg.png:
	* data/themes/default/setup_performance.png:
	* data/themes/default/sound_file.png:
	* data/themes/default/arp_sort.png:
	* data/themes/default/white_noise_wave_active.png:
	* data/themes/default/arp_up_and_down_on.png:
	* data/themes/default/controller_bg.png:
	* data/themes/default/folder_locked.png:
	* data/themes/default/setup_general.png:
	* data/themes/default/loop_points_off.png:
	* data/themes/default/filter_2lp.png:
	* data/themes/default/setup_midi.png:
	* data/themes/default/uhoh.png:
	* data/themes/default/midi_out.png:
	* data/themes/default/songeditor.png:
	* data/themes/default/moog_saw_wave_inactive.png:
	* data/themes/default/arp_free.png:
	* data/themes/default/home.png:
	* data/themes/default/fader_leds.png:
	* data/themes/default/knob01.png:
	* data/themes/llama/background_artwork.png:
	shrinked file-sizes via optipng

	* include/main_window.h:
	* src/gui/main_window.cpp:
	* src/core/main.cpp:
	* data/themes/default/splash.png:
	new transparent splash-screen without obsolete text-messages

2008-05-25	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/embed.h:
	Fix missing distructor warning

	* include/controller.h:
	* include/song.h:
	* include/lfo_controller.h:
	* src/core/controller.cpp:
	* src/core/lfo_controller.cpp:
	Save and load controllers to project files.

	* src/core/song.cpp:
	- Save and load controllers to project files.
	- emit dataChanged() on clearProject() do we need this anywhere else?

2008-05-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/song.h:
	* include/song_editor.h:
	* src/core/song.cpp:
	* src/gui/song_editor.cpp:
	added meterModel and meterDialog (which actually is just a widget) as
	preparation for time-signature-support - it doesn't actually work yet!

	* data/themes/default/style.css:
	improved appearence of menu in general

	* Makefile.am:
	* include/tempo_sync_knob.h:
	* include/meter_model.h:
	* include/meter_dialog.h:
	* src/core/meter_model.cpp:
	* src/gui/widgets/meter_dialog.cpp:
	splitted source-files for meterModel and meterDialog and added
	"simple"-mode for meterDialog

2008-05-22	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/lfo_controller.h:
	* src/gui/lfo_controller_dialog.cpp:
	* src/core/lfo_controller.cpp:
	Add more wave shapes to LFO controller

	* src/gui/widgets/controller_view.cpp:
	Set sub-window's icon to the icon of the controllerDialog

	* src/gui/widgets/controller_rack_view.cpp:
	Add icon to window

2008-05-21	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/Makefile.am:
	* plugins/Makefile.am:
	* configure.in:
	Add fluidsynth detection to configure

2008-05-21	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/vestige/select_file.png:
	* plugins/vestige/logo.png:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/artwork.png:
	Integrate new vestige artwork

	* src/core/track.cpp:
	Improve background drawing/scaling

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/select_file.png:
	* plugins/audio_file_processor/logo.png:
	* plugins/audio_file_processor/loop_off.png:
	* plugins/audio_file_processor/loop_on.png:
	* plugins/audio_file_processor/reverse_off.png:
	* plugins/audio_file_processor/reverse_on.png:
	* plugins/audio_file_processor/artwork.png:
	Integrate new audio file processor artwork

	* src/gui/widgets/volume_knob.cpp:
	Fix placement of tooltop in styled knobs

	* src/gui/widgets/knob.cpp:
	Minor graphical enhancement for styled knobs

	* src/gui/piano_roll.cpp:
	* include/piano_roll.h:
	* data/themes/default/record_accompany.png:
	- Fix annoying bug where changing patterns would scroll to bar 2 instead
	of bar 1
	- Add record-with-accompaniment feature because it was easier to just add
	a toolbutton then to strip out the code.  At least now there is some
	starting point for this feature should we ever decide to release it.

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	Complete organic gui

	* data/themes/default/style.css:
	AFP and organic knob styles

	* plugins/sf2_player/artwork.png:
	New sf2-player artwork

2008-05-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/main.cpp:
	only create core-application for --help and -h

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/patman/patman.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/organic/organic.cpp:
	* plugins/stereo_matrix/stereo_matrix.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/singerbot/singerbot.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vst_base/vst_base.cpp:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/Makefile.am:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/track.h:
	* src/gui/piano_roll.cpp:
	* src/gui/plugin_browser.cpp:
	* src/gui/main_window.cpp:
	* src/core/plugin.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/tool.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/track.cpp:
	* src/core/instrument.cpp:
	use new pluginPixmapLoader

	* include/lmms_style.h:
	* src/gui/lmms_style.cpp:
	load stylesheet here

	* include/combobox.h:
	* src/gui/widgets/combobox.cpp:
	use pixmapLoader-pointers rather than QPixmap-pointers in comboBoxModel

	* include/plugin.h:
	in plugin-descriptor, hold a pointer to pixmapLoader instead of
	QPixmap itself

	* include/embed.h:
	* src/gui/embed.cpp:
	introduced pixmapLoader and pluginPixmapLoader-classes for abstracting
	QPixmap-instantiation - models can hold pixmapLoaders without actually
	instantiating a QPixmap-object and views can access the pixmap

	* src/gui/main_window.cpp:
	removed settings-menu and moved setup-dialog to edit-menu

	* Makefile.am:
	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	removed all the obsolete first-startup-wizard-code

2008-05-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* plugins/vst_base/lvsl_client.cpp:
	call waitpid(...) when closing plugin - fixes zombie processes

	* plugins/vst_effect/vst_effect_controls.h:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* plugins/vst_effect/vst_subplugin_features.h:
	* plugins/vst_effect/vst_effect_control_dialog.cpp:
	* plugins/vst_effect/Makefile.am:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vst_effect/vst_effect_controls.cpp:
	* plugins/vst_effect/vst_effect_control_dialog.h:
	* plugins/vst_effect/vst_effect.h:
	* plugins/vst_base/lvsl_client.h:
	* plugins/vst_base/lvsl_client.cpp:
	finally made VST-effect plugin work

	* src/core/track_container.cpp:
	* src/core/main.cpp:
	when rendering from command-line, only create a QCoreApplication - needs
	further work

	* include/config_mgr.h:
	* src/gui/widgets/effect_rack_view.cpp:
	minor coding-style stuff

	* plugins/singerbot/singerbot.h:
	* plugins/singerbot/singerbot.cpp:
	integrated patches from William Steidtmann <billstei/at/hbci/dot/com>
	which makes Singerbot at least compile - doesn't seem to work yet though

2008-05-19	Paul Giblock <drfaygo/at/gmail/dot/com>

	* triple_oscillator.cpp:
	* am_active.png:
	* am_inactive.png:
	* artwork.png:
	* btn_mask.png:
	* exp_shape_active.png:
	* exp_shape_inactive.png:
	* fm_active.png:
	* fm_inactive.png:
	* logo.png:
	* mix_active.png:
	* mix_inactive.png:
	* moog_saw_shape_active.png:
	* moog_saw_shape_inactive.png:
	* pm_active.png:
	* pm_inactive.png:
	* saw_shape_active.png:
	* saw_shape_inactive.png:
	* sin_shape_active.png:
	* sin_shape_inactive.png:
	* square_shape_active.png:
	* square_shape_inactive.png:
	* sync_active.png:
	* sync_inactive.png:
	* triangle_shape_active.png:
	* triangle_shape_inactive.png:
	* usr_shape_active.png:
	* usr_shape_inactive.png:
	* white_noise_shape_active.png:
	* white_noise_shape_inactive.png:
	Updated Triple-oscillator artwork

	* src/core/track.cpp:
	Darkened the tracks so it doesn't hurt to look at

	* src/gui/lfo_controller_dialog.cpp:
	* src/gui/widgets/controller_view.cpp:
	Remove stray line

	* plugins/kicker/kicker.cpp:
	* plugins/kicker/kicker.h:
	* data/themes/default/style.css:
	Including stylesheet changes I forgot to commit, fixes knobs in 3xOsc

2008-05-18	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/widgets/knob.cpp:
	* include/knob.h:
	First version of stylable knobs. Perhaps can be overlayed with current
	knobs to add line coloring/width in other places around the GUI.

	* src/core/track.cpp:
	- Re-enabled alternating background, better appearance AND performance
	- Fixed more of the flickering by disabling updates when moving
	- Toby will probably want to change background colors, I just used
	something simple since it will end up changing probably.  It do like the
	gradient dark on top, looks like a "channel" or "groove".

	* plugins/patman/artwork.png:
	Fixed artwork again

	* plugins/singerbot/artwork.png:
	* plugins/singerbot/logo.png:
	Updated SingerBot artwork

2008-05-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/stk/mallets/mallets.cpp:
	added missing initialization of member-variables which made Mallets
	play nothing until GUI has been opened

	* include/bb_track.h:
	* src/gui/widgets/combobox.cpp:
	* src/gui/widgets/name_label.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/pattern.cpp:
	* data/themes/default/track_op_grip.png:
	improved overall appearence

	* src/core/track.cpp:
	- disabled flipped painting of track-view-BG
	- optimized changePosition()-method for much faster drawing

	* src/gui/fx_mixer_view.cpp:
	do not destroy FX-mixer-view when closing

	* plugins/ladspa_effect/ladspa_effect.cpp:
	added "Notch Filter" to blacklist

	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/stereo_matrix/stereo_matrix.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	- replaced old code with effect::checkGate() call
	- various cleanups and minor optimizations

	* src/core/effect_chain.cpp:
	added debugging-code for determining buggy effect-plugins at higher
	samplerates

	* include/plugin.h:
	introduced changable publicName-property

	* include/effect.h:
	* src/core/effect.cpp:
	added checkGate()-function for reducing redundant code in effect-plugins

2008-05-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	improved handling of effects which only work at limited samplerates

	* include/audio_port.h:
	* src/core/audio/audio_port.cpp:
	small optimizations

	* src/core/mixer.cpp:
	removed obsolete idle-property of worker-threads

	* src/core/fx_mixer.cpp:
	protect individual buffers of FX-channels from being processed by more
	than one thread

2008-05-17	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	Allow knobs to invert phase as well

	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/patman/artwork.png:
	* plugins/patman/loop_off.png:
	* plugins/patman/loop_on.png:
	* plugins/patman/tune_off.png:
	* plugins/patman/tune_on.png:
	* plugins/patman/select_file_on.png:
	* plugins/patman/select_file.png:
	- Integrate new patman artwork.
	- Make file selection button highlight when clicked.

	* include/pixmap_button.h:
	* src/gui/widgets/pixmap_button.cpp:
	Make button pixmap "activate" on click

	* src/gui/widgets/automatable_button.cpp:
	Noted bug in automatable button

	* src/gui/piano_roll.cpp:
	Fix bug when trying to select note on first beat. However, still breaks
	if the cursor moves quickly from right to left (i.e: if it skips the
	pixel position)

2008-05-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/project_renderer.h:
	* src/core/main.cpp:
	* src/core/project_renderer.cpp:
	added a lot of options for rendering via command-line and finally made
	it working with new projectRenderer-class

	* include/mixer.h:
	removed 16x oversampling

2008-05-13	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* include/pixmap_button.h:
	* src/core/track.cpp:
	* src/gui/widgets/pixmap_button.cpp:
	toggle solo via Ctrl+left mouse button

	* src/gui/fx_mixer_view.cpp:
	set window-icon

	* src/gui/widgets/tab_widget.cpp:
	use colors from active palette

	* src/gui/widgets/project_notes.cpp:
	hide per default

	* src/gui/main_window.cpp:
	* src/core/timeline.cpp:
	* data/themes/default/project_export.png:
	* data/themes/default/hourglass.png:
	* data/themes/default/hq_mode.png:
	* data/themes/default/edit_paste.png:
	* data/themes/default/text_bold.png:
	* data/themes/default/project_save.png:
	* data/themes/default/playpos_marker.png:
	* data/themes/default/exit.png:
	* data/themes/default/text_center.png:
	* data/themes/default/error.png:
	* data/themes/default/edit_cut.png:
	* data/themes/default/mute_on.png:
	* data/themes/default/project_saveas.png:
	* data/themes/default/loop_point_disabled.png:
	* data/themes/default/arp_random_on.png:
	* data/themes/default/edit_copy.png:
	* data/themes/default/edit_redo.png:
	* data/themes/default/arp_down_on.png:
	* data/themes/default/track_op_menu_disabled.png:
	* data/themes/default/project_notes.png:
	* data/themes/default/track_op_menu.png:
	* data/themes/default/groupbox_led_bg.png:
	* data/themes/default/arp_down_off.png:
	* data/themes/default/mute_off.png:
	* data/themes/default/text_italic.png:
	* data/themes/default/arp_random_off.png:
	* data/themes/default/root.png:
	* data/themes/default/apply.png:
	* data/themes/default/text_block.png:
	* data/themes/default/text_left.png:
	* data/themes/default/arp_up_off.png:
	* data/themes/default/text_right.png:
	* data/themes/default/project_open.png:
	* data/themes/default/arp_up_and_down_off.png:
	* data/themes/default/edit_undo.png:
	* data/themes/default/loop_point.png:
	* data/themes/default/cancel.png:
	* data/themes/default/add.png:
	* data/themes/default/arp_up_and_down_on.png:
	* data/themes/default/project_open_down.png:
	* data/themes/default/text_under.png:
	* data/themes/default/fx_mixer.png:
	* data/themes/default/arp_up_on.png:
	* data/themes/default/home.png:
	integrated improved artwork (more to come)

	* src/core/track.cpp:
	do not crash when removing TCOs

	* plugins/ladspa_effect/ladspa_effect.cpp:
	use new resampling-methods in case we're processing plugins which are
	known not to work at higher samplerates

	* include/main_window.h:
	made resetWindowTitle() a slot

	* src/gui/widgets/effect_view.cpp:
	coding-style stuff

	* include/effect.h:
	* src/core/effect.cpp:
	added simple way for plugins to process at lower sample-rates

	* src/core/ladspa_manager.cpp:
	added hard-coded path in case LMMS is installed into /usr/local

	* include/export_project_dialog.h:
	* src/gui/export_project_dialog.cpp:
	update main-window title-bar while rendering

	* src/gui/widgets/visualization_widget.cpp:
	do not update while song-export

	* src/gui/dialogs/export_project.ui:
	improved usability

	* include/audio_device.h:
	* src/core/audio/audio_device.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_sdl.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_jack.cpp:
	after changed quality-settings also update interpolation for
	samplerate-conversion

2008-05-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* src/core/audio/audio_device.cpp:
	cleanups and the like

	* include/mixer.h:
	in draft-mode use zero-order-hold interpolation instead of linear
	interpolation - fixes some issues with resampling

	* plugins/bass_booster/bassbooster_controls.cpp:
	made bass-booster HQ-mode-capable

	* include/effect_lib.h:
	changed float's in bassbooster to SAMPLE

2008-05-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	retrieve resampling-interpolation from current mixer quality settings

	* include/mixer.h:
	made m_writing-variable in fifoWriter volatile

	* include/project_renderer.h:
	* src/core/project_renderer.cpp:
	change audio-device to file-device from within GUI-thread in order to
	make slots being connected to sampleRateChanged()-signal being called
	immediately

	* src/tracks/instrument_track.cpp:
	cleanups

	* src/core/mixer.cpp:
	initialize quality with draft-preset

	* include/setup_dialog.h:
	* include/audio_device.h:
	* src/gui/main_window.cpp:
	* src/gui/setup_dialog.cpp:
	* src/core/audio/audio_device.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_sdl.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_jack.cpp:
	made HQ-mode for audio-devices optional

	* include/controller.h:
	* include/song.h:
	* include/audio_file_device.h:
	* include/song_editor.h:
	* include/export.h:
	* include/export_project_dialog.h:
	* src/gui/dialogs/export_project.ui:
	* src/gui/song_editor.cpp:
	* src/gui/export_project_dialog.cpp:
	* src/core/song.cpp:
	* src/core/main.cpp:
	* Makefile.am:
	introduced new project-export dialog

	* include/project_renderer.h:
	* src/core/project_renderer.cpp:
	new class for easily rendering a project into a file

	* include/mixer.h:
	* include/audio_sdl.h:
	* include/audio_jack.h:
	* include/audio_device.h:
	* include/audio_oss.h:
	* include/audio_alsa.h:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_device.cpp:
	* src/core/audio/audio_file_wave.cpp:
	* src/core/audio/audio_jack.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_sdl.cpp:
	* src/core/mixer.cpp:
	when changing quality-settings tell audio-devices about it so that
	they can adjust their output-samplerate

2008-05-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/organic/organic.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vibed/vibrating_string.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/ladspa_browser/ladspa_port_dialog.cpp:
	* plugins/kicker/kicker.cpp:
	* include/effect.h:
	* include/controller.h:
	* include/mixer.h:
	* include/sample_buffer.h:
	* include/audio_dummy.h:
	* include/audio_sdl.h:
	* include/song.h:
	* include/audio_file_device.h:
	* include/audio_jack.h:
	* include/audio_device.h:
	* include/audio_oss.h:
	* include/audio_sample_recorder.h:
	* include/audio_alsa.h:
	* src/gui/piano_roll.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/setup_dialog.cpp:
	* src/gui/file_browser.cpp:
	* src/gui/widgets/envelope_and_lfo_view.cpp:
	* src/gui/automation_editor.cpp:
	* src/gui/export_project_dialog.cpp:
	* src/gui/bb_editor.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/song.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/audio/audio_file_device.cpp:
	* src/core/audio/audio_device.cpp:
	* src/core/audio/audio_alsa.cpp:
	* src/core/audio/audio_sdl.cpp:
	* src/core/audio/audio_oss.cpp:
	* src/core/audio/audio_sample_recorder.cpp:
	* src/core/audio/audio_jack.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/mixer.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/engine.cpp:
	* src/core/sample_buffer.cpp:
	* src/core/oscillator.cpp:
	* src/core/controller.cpp:
	* src/core/lfo_controller.cpp:
	made quality-settings (internal processing samplerate, interpolation
	and so on) independent of audio-devices (final output) and added new
	qualitySettings-structure to mixer - might be still buggy and HQ-mode
	is currently not working, this is going to be fixed tomorrow, anyways
	important preparation for new project-export-dialog

2008-05-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/fx_mixer_view.cpp:
	added spacing below FX-bank-selector

	* include/effect_select_dialog.h:
	* include/plugin.h:
	* src/gui/effect_select_dialog.cpp:
	fixed crash when adding an effect although none is selected and
	improved overall usability

	* plugins/organic/organic.cpp:
	fixed knob-inheritance problems

2008-05-04	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/kicker/kicker.cpp:
	* plugins/kicker/artwork.png:
	Add new kicker artwork

	* plugins/organic/organic.cpp:
	* plugins/organic/randomise.png:
	* plugins/organic/randomise_pressed.png:
	* plugins/organic/artwork.png:
	* plugins/organic/logo.png:
	Add new organic artwork

	* include/knob.h:
	* src/gui/widgets/knob.cpp:
	Seperate some drawing functionality to simplify subclasses

	* src/tracks/instrument_track.cpp:
	Change plugin size from 246px back to 250px

2008-05-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/track.cpp:
	fixed move of TCO-selections

2008-04-30	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/gui/piano_roll.cpp:
	- Fixed moving of selected notes.
	- TODO: Quantanize the movement to selected "Q"

2008-04-29	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/main_window.h:
	* src/gui/main_window.cpp:
	Add button for toggling FX Window.  Can use a better icon.

2008-04-28	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	Add gain, chorus, and reverb controls

	* include/instrument_functions.h:
	* src/core/instrument_functions.cpp:
	Fixed arpeggio direction loading

	* src/gui/widgets/effect_rack_view.cpp:
	Display effect window and enable fx-chain when adding an effect

	* src/gui/widgets/effect_view.cpp:
	Make effect controls window non-resizeable and remove maximize button

2008-04-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.h:
	- made delay-buffer a simple stereo-buffer instead of
	  surround-frame-buffer
	- added missing call in constructor to clear newly created
	  delay-buffer - fixes bad distorted sound in various scenarios

2008-04-25	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/bit_invader/bit_invader.cpp:
	Fixed samplelength loading

2008-04-24	Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/core/song.cpp:
	Reset LFO counter on song play

	* src/core/controller.cpp:
	* include/controller.h:
	Change counter from signed int to unsigned

	* src/gui/piano_roll.cpp:
	- Allow volume bars to be modified by clicking one bar, then 
	  sweeping the mouse
	- shade volume bars according to volume
	- fixed drawing of background while scrolling

	* plugins/stereo_matrix/stereo_matrix.cpp:
	Made wet/dry knob do something. Acts as a nice panning knob when the
	matrix has the channels swapped.

	* src/tracks/instrument_track.cpp:
	* src/gui/fx_mixer_view.cpp:
	* include/fx_mixer_view.h:
	- Made bank-buttons easier to hit
	- Double click on fx-channel LCD in ITW to warp to the proper FX-line

2008-04-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/widgets/group_box.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	small cleanups

	* data/themes/default/style.css:
	* include/fx_mixer_view.h:
	* src/gui/fx_mixer_view.cpp:
	improved layouting and made FX-lines being organized in 4 banks
	instead of one big scrollarea

	* src/core/engine.cpp:
	create FX-mixer after song

	* Makefile.am:
	* include/fx_mixer.h:
	* include/fx_mixer_view.h:
	* src/core/fx_mixer.cpp:
	* src/core/song.cpp:
	* src/gui/fx_mixer_view.cpp:
	splitted source-files for FX-mixer and its view

	* include/fader.h:
	* src/gui/widgets/fader.cpp:
	made faders automatable

	* include/song.h:
	made automation-track public accessible

	* include/visualization_widget.h:
	* src/gui/widgets/visualization_widget.cpp:
	use new timer-framework

	* include/song_editor.h:
	* src/gui/song_editor.cpp:
	added fast and leightweight timer-framework - widgets requiring
	periodic updates can simply connect their update-slots to
	songEditor::periodicUpdate()

2008-04-20	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	Fixed saveSettings

2008-04-16	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	rewrote reference-sharing. Should return near-100% memory on unload, and
	should properly handle samplerate changes.  Now we can render large
	sf2-based projects without consuming a gig of ram :)

2008-04-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/file_browser.cpp:
	check type of preview-play-handle via type() instead of blindly using
	dynamic_cast - probably fixes random crashes when previewing a lot of
	samples and presets

	* src/tracks/instrument_track.cpp:
	delete instrument-instance *after* removing all play-handles from
	mixer as several play-handle-methods rely on instrument - fixes crash
	when removing track while playing

	* src/core/track.cpp:
	directly delete view before removing model - fixes crash when
	removing instrument-track with instrument-track-window open

2008-04-15	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
	Fix layout
	
2008-04-14	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/stereo_matrix:
	* plugins/stereo_matrix/stereo_matrix.cpp:
	* plugins/stereo_matrix/stereo_matrix.h:
	* plugins/stereo_matrix/stereomatrix_controls.cpp:
	* plugins/stereo_matrix/stereomatrix_controls.h:
	* plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
	* plugins/stereo_matrix/stereomatrix_control_dialog.h:
	* plugins/stereo_matrix/logo.png:
	* plugins/stereo_matrix/Makefile.am:
	* configure.in:
	* plugins/Makefile.am:
	Add stereo matrix plugin for real panning and stereo-swapping

2008-04-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	added resampling with Sinc-interpolation in case LMMS processes with
	higher sample-rate than 96 KHz

2008-04-14	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	support HQ-mode except for interpolation for sampleRates > 96k

	* include/controller_dialog.h:
	* include/controller_view.h:
	* src/gui/controller_dialog.cpp:
	* src/gui/widgets/controller_view.cpp:
	* Makefile.am:
	fix segfault when trying to show a controller dialog the second time

2008-04-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/lb302/lb302.cpp:
	replaced LB_HZ with engine::getMixer()->sampleRate()-calls in order to
	have a correct pitch in HQ-mode

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/ladspa_effect/ladspa_controls.cpp:
	* plugins/ladspa_effect/Makefile.am:
	* plugins/ladspa_effect/ladspa_control_dialog.h:
	* plugins/ladspa_effect/ladspa_controls.h:
	* include/effect_control_dialog.h:
	made LADSPA-effect-hoster handle samplerate-changes so that we've
	proper effect-processing in HQ-mode

	* include/lmms_constants.h:
	more accurate constants

	* src/gui/export_project_dialog.cpp:
	fixed progress-bar after change of tick-resolution from 64 to 192

	* include/mixer.h:
	* src/core/mixer.cpp:
	made clearAudioBuffer() static

	* include/song.h:
	* src/core/ladspa_manager.cpp:
	coding-style-stuff

	* src/core/oscillator.cpp:
	do not synthesize anything if frequency is above half of samplerate

2008-04-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* include/engine.h:
	* include/song.h:
	* include/pattern.h:
	* include/piano_roll.h:
	* include/midi_time.h:
	* include/types.h:
	* include/timeline.h:
	* include/automation_editor.h:
	* configure.in:
	* src/gui/piano_roll.cpp:
	* src/gui/song_editor.cpp:
	* src/gui/automation_editor.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/song.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/mixer.cpp:
	* src/core/mmp.cpp:
	* src/core/track.cpp:
	* src/core/engine.cpp:
	* src/core/timeline.cpp:
	* src/core/automation_pattern.cpp:
	changed internal MIDI-time-resolution from 64th to 192th resulting for
	example in better MIDI-import and allowing to use triplet-notes in LMMS

2008-04-09	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/controller.h:
	* src/core/controller.cpp:
	fit values between 0.0 and 1.0

	* include/lfo_controller.h:
	* src/gui/lfo_controller_dialog.cpp:
	* src/core/lfo_controller.cpp:
	add more parameters to LFO controller

2008-04-08	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/engine.h:
	* src/core/engine.cpp:
	add static accessor to the controller rack.  I'm sure this won't be it's
	own MDISubWindow very long..

	* include/controller.h:
	* include/controller_dialog.h:
	* src/gui/widgets/knob.cpp:
	* src/core/controller.cpp:
	add gui accesssor and split off LFO

	* include/song.h:
	* src/core/song.cpp:
	make song the model for user-created controllers

	* src/gui/song_editor.cpp:
	added icon.  Was going to add controller rack as a QSplitter but found
	this would take too much time right now

	* src/gui/widgets/visualization_widget.cpp:
	drop back from 40 to an arbitrary 24fps

	* include/lfo_controller.h:
	* src/gui/lfo_controller.cpp:
	* src/gui/lfo_controller_dialog.cpp:
	- add beginnings of an LFO controller and dialog
	- don't mind the unoptimized code, it will be fixed

	* include/controller_view.h:
	* include/controller_rack_view.h:
	* src/gui/widgets/controller_view.cpp:
	* src/gui/widgets/controller_rack_view.cpp:
	* data/themes/default/controller_bg.png:
	The beginning of the controller rack and controller items.  This is an
	absolute bare minimum interface at the moment.  Also ulta-buggy.

	* include/controller_connection_dialog.h:
	* src/gui/controller_connection_dialog.cpp:
	This is the connection dialog. Will allow users to create and modify
	connections between a controller and model.  The lineEdit will be for
	editing a mapping function to scale, offset, trig-ify, etc.

	* Makefile.am:
	add controller related files

2008-04-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/gui/effect_select_dialog.cpp:
	fixed wrong model-index (=>wrong description-widget) when filtering

	* src/gui/lmms_style.cpp:
	decreased button-icon-size to 20px

	* src/core/fx_mixer.cpp:
	process FX-channels until effects signal that there's nothing more to
	process - closes #1935872

	* configure.in:
	integrated changes from libsamplerate-0.1.3/configure.ac

	* include/effect_select_dialog.h:
	* src/gui/effect_select_dialog.cpp:
	- cleanups
	- fixed broken connection for "Add"-button

	* src/3rdparty/samplerate/common.h:
	* src/3rdparty/samplerate/fastest_coeffs.h:
	* src/3rdparty/samplerate/float_cast.h:
	* src/3rdparty/samplerate/high_qual_coeffs.h:
	* src/3rdparty/samplerate/mid_qual_coeffs.h:
	* src/3rdparty/samplerate/samplerate.c:
	* src/3rdparty/samplerate/samplerate.h:
	* src/3rdparty/samplerate/src_linear.c:
	* src/3rdparty/samplerate/src_sinc.c:
	* src/3rdparty/samplerate/src_zoh.c:
	integrated libsamplerate 0.1.3 source which has various improvements
	over 4-year-old version 0.1.2

	* src/gui/widgets/combobox.cpp:
	set correct value for model when selecting an item whose strings
	occurs multiple times in the combobox

2008-04-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/effect_select_dialog.h:
	* src/gui/effect_select_dialog.cpp:
	changed list-widget to be a list-view and added a line-edit for
	filtering the list

2008-04-06  Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/lmms_style.h:
	* src/gui/lmms_style.cpp:
	Fix icon size for buttons etc...

2008-04-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	* plugins/kicker/kicker.cpp:
	* plugins/kicker/kicker.h:
	* include/instrument_play_handle.h:
	* include/mixer.h:
	* include/instrument_track.h:
	* include/instrument.h:
	* include/note_play_handle.h:
	* include/sample_play_handle.h:
	* include/dummy_instrument.h:
	* include/preset_preview_play_handle.h:
	* include/play_handle.h:
	* src/tracks/instrument_track.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/mixer.cpp:
	* src/core/instrument.cpp:
	made rendering happen with one global working-buffer per thread -
	hopefully improves L1/L2-cache-efficiency

	* include/file_browser.h:
	* src/gui/file_browser.cpp:
	do not examine directories for being empty when adding them - speeds
	up LMMS-startup a lot!

2008-04-04	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/knob.h:
	* src/gui/widgets/knob.cpp:
	Add friendlyUpdates slot and override doConnections

	* include/song_editor.h:
	Add button for managing controller to songEditor

	* include/mv_base.h:
	* include/core/mv_base.cpp:
	Make doConnections virtual

	* include/combobox.h:
	Fixed tabs

	* src/core/mixer.cpp:
	Couldn't easily convert from void* to int on a 64bit machine.  Instead,
	we now use a union.  We should change any enqueueing code to use the
	union as well
	
	* data/themes/add_controller.png:
	* data/themes/controller.png:
	Some new images for controllers

2008-04-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	implemented parallelization of FX-channel-processing

	* include/automatable_model.h:
	* include/automatable_model_templates.h:
	cleanups and optimizations in value( int )

2008-04-04	Paul Giblock <drfaygo/at/gmail/dot/com>
	
	* include/controller.h:
	* src/core/controller.cpp:
	* Makefile.am:
	Add controller class to LMMS

	* include/knob.h:
	* src/gui/widgets/knob.cpp:
	Add Connect to Controller item to context menu for future dialog

	* include/automatable_model.h:
	* include/automatable_model_templates.h:
	- add controller pointer to class
	- add value(int offset) function for sample-exact value fetching
	- use controller in value() if set

	* src/tracks/pattern.cpp:
	Fixed length of notes according to PaulWay
	
	* src/core/mixer.cpp:
	trigger controller's frame counter

	* data/themes/llama:
	* data/themes/llama/background_artwork.png:
	* data/themes/Makefile.am:
	start a theme with my preferences

2008-04-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/song.h:
	* src/core/song.cpp:
	* src/gui/export_project_dialog.cpp:
	* src/gui/song_editor.cpp:
	made song-length being cached and only updated upon changed length or
	position of TCOs

	* src/core/track.cpp:
	optimized track::length()-method

	* src/core/mixer.cpp:
	great improvements on multithreading - one global job-queue protected by
	a simple mutex where threads pull their jobs from

	* src/core/engine.cpp:
	delete LADSPA-manager after mixer and FX-mixer as LADSPA-effects in
	FX-mixer access LADSPA-manger at destruction

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bass_booster.h:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.h:
	* include/effect.h:
	- made effect::processAudioBuffer(...) process a sampleFrame- instead of
	  surroundSampleFrame-array
	- divide out_sum by number of frames processed to have a
	  period-size-independent value

	* src/core/note_play_handle.cpp:
	* include/automatable_model.h:
	renamed value( int ) to levelToValue( int ) as preparation for
	controller-framework

	* include/mixer.h:
	* src/core/mixer.cpp:
	- made mixer::buffertToPort accept a stereoVolumeVector as audio-buffers
	  have stereo-audio-buffers now
	- made peakValueLeft() and peakValueRight() take a sampleFrame-pointer
	- process in stereo internally

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	replaced surroundArea with panning-knob

	* include/audio_port.h:
	* src/core/audio/audio_port.cpp:
	use sampleFrame-array instead of surroundSampleFrame-array for
	processing

	* src/core/fx_mixer.cpp:
	* include/fx_mixer.h:
	made mixToChannel() take a sampleFrame-pointer

	* include/volume.h:
	* src/core/sample_play_handle.cpp:
	* src/core/surround_area.cpp:
	added stereoVolumeVector and surroundVolumeVector-declarations

	* include/dummy_effect.h:
	implement pure-virtual processAudioBuffer()-method

	* include/panning.h:
	new panningToVolumeVector()-inline-method

	* include/effect_chain.h:
	* src/core/effect_chain.cpp:
	made processAudioBuffer() take a sampleFrame-pointer

	* include/visualization_widget.h:
	* src/gui/widgets/visualization_widget.cpp:
	use sampleFrame-array instead of surroundSampleFrame-array internally

2008-04-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/automatable_model.h:
	added castValue()-method

2008-04-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/Makefile.am:
	* plugins/patman/Makefile.am:
	* plugins/lb302/Makefile.am:
	* plugins/organic/Makefile.am:
	* plugins/bass_booster/Makefile.am:
	* plugins/bit_invader/Makefile.am:
	* plugins/vst_effect/Makefile.am:
	* plugins/vibed/Makefile.am:
	* plugins/triple_oscillator/Makefile.am:
	* plugins/live_tool/Makefile.am:
	* plugins/live_tool/live_tool.cpp:
	* plugins/singerbot/Makefile.am:
	* plugins/audio_file_processor/Makefile.am:
	* plugins/stk/mallets/Makefile.am:
	* plugins/stereo_enhancer/Makefile.am:
	* plugins/vestige/Makefile.am:
	* plugins/sf2_player/Makefile.am:
	* plugins/ladspa_browser/Makefile.am:
	* plugins/kicker/Makefile.am:
	* plugins/polyb302/Makefile.am:
	* plugins/flp_import/flp_import.cpp:
	corrected paths / includes

	* include/engine.h:
	* include/instrument_track.h:
	* include/preset_preview_play_handle.h:
	* src/tracks/instrument_track.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/core/engine.cpp:
	added dummyTrackContainer with dummyInstrumentTrack in order to have a
	default-model for cached inactive instrument-track-windows - fixes
	regular crashes

	* include/engine.h:
	* include/bb_track_container.h:
	* include/track_container_view.h:
	* include/song_editor.h:
	* include/bb_editor.h:
	* include/track_container.h:
	* src/gui/track_container_view.cpp:
	* src/gui/bb_editor.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/core/song.cpp:
	* src/core/bb_track_container.cpp:
	* src/core/file_browser.cpp:
	* src/core/track.cpp:
	* src/core/engine.cpp:
	* src/core/automation_editor.cpp:
	* Makefile.am:
	- splitted track_container.h into track_container.h and
	  track_container_view.h
	- splitted bb_editor.h into bb_track_container.h and bb_editor.h
	- moved view-component-implementations of trackContainer and
	  bbTrackContainer to src/gui/
	- added dummyInstrumentTrack-implementation

	* plugins/ladspa_effect/caps/README.ardour:
	* plugins/ladspa_effect/caps/README.dist:
	* plugins/ladspa_effect/caps/Makefile.am:
	added README-files

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	decreased minimal gate from 0.0001f to 0.00001f as it turned out that
	some effects were cut off with previous value

	* include/endian_handling.h:
	* include/note.h:
	* include/effect_select_dialog.h:
	* include/midi.h:
	* include/effect_view.h:
	* include/side_bar.h:
	* include/micro_timer.h:
	* include/midi_event_processor.h:
	* include/instrument_function_views.h:
	* include/instrument_midi_io.h:
	* include/export.h:
	* include/dummy_instrument.h:
	* include/level_object.h:
	added missing includes when compiling headers itself

	* Makefile.am:
	added single-binary-target for testing-purposes

2008-03-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/song_editor.cpp:
	removed obsolete SIGNAL/SLOT-connection

	* plugins/bass_booster/bass_booster.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	compare out_sum against getGate()+0.0001f as getGate() might be 0
	while out_sum in many cases never will reach 0,0...0 again - fixes
	high CPU-usage even after stop playing

	* include/effect_chain.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	made controls have a track to allow automation of LADSPA-controls

	* include/automatable_button.h:
	* src/widgets/automatable_button.cpp:
	on model-change, ensure QPushButton's state is correct

	* src/widgets/effect_rack_view.cpp:
	properly handle changed models

	* src/tracks/instrument_track.cpp:
	when model has changed, also set new model for effect-view

	* src/core/effect_chain.cpp:
	- use track as parent
	- correct initialization of m_enabledModel which fixes crashes on
	  model-updates

2008-03-30      Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	Fix patch dialog error when viewing dialog before file has loaded -
	all we had to do is diable the button while a file is loading

2008-03-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.cpp:
	duplicate char-pointer returned by qPrintable - fixes bugs when
	loading sound-fonts

2008-03-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/fx_mixer.cpp:
	completed recent changes to saveSettings() / loadSettings()

2008-03-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/themes/default/main_toolbar_bg.png:
	* data/themes/default/toolbar_bg.png:
	made toolbar-backgrounds a bit more blue-ish

	* src/core/main.cpp:
	tuned colors a bit

	* src/core/fx_mixer.cpp:
	moved effect-chain to right side of window

	* src/core/ladspa_control.cpp:
	added missing break in switch which made a lot of messages appear in
	console when time-based knobs were used by LADSPA-plugins

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	* plugins/sf2_player/artwork.png:
	* plugins/midi_import/midi_import.cpp:
	* include/note.h:
	* include/mixer.h:
	* include/instrument_track.h:
	* include/sample_buffer.h:
	* include/fx_mixer.h:
	* include/piano.h:
	* include/volume.h:
	* include/midi_port.h:
	* include/panning.h:
	* src/midi/midi_client.cpp:
	* src/midi/midi_port.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/lib/sample_buffer.cpp:
	* src/widgets/instrument_midi_io_view.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/mixer.cpp:
	* src/core/piano_roll.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/instrument_midi_io.cpp:
	* src/core/note.cpp:
	* src/core/piano.cpp:
	* src/core/fx_mixer.cpp:
	- merged note's tone and octave-property into one key-property which
	  makes us save calculations in a lot of places and also shrinks
	  sizes of XML-files
	- renamed various note-related constants and enums to match current
	  coding-style

	* data/themes/default/effect_plugin.png:
	improved effect-plugin-artwork made with Inkscape

2008-03-22  Paul Giblock <drfaygo/at/gmail/dot/com>
	
	* plugins/organic/organic.cpp:
	Removed debug printf

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	- First version of cache for hidden instrumentTrackWindows
	- Need to delete the cache and any remaining ITW's upon application close

	* src/core/lmms_style.cpp:
	Applied border to more primatives. Still some known issues..

	* src/core/main.cpp:
	Just playing around with palette colors.

2008-03-16  Paul Giblock <drfaygo/at/gmail/dot/com>

	* Makefile.am:
	Added lmmsStyle to the Makefile again.

	* src/widgets/lcd_spinbox.cpp:
	* include/lcd_spinbox.h:
	- Added separate function for deriving control size
	- Added property for side-margins
	- Fixed memory leak with the pixmap
	- Added yours truly to the copyright

	* src/core/lmms_style.cpp:
	* include/lmms_style.h:
	- Re-added lmmsStyle. I don't know why these files disappeared
	- Improve appearance of sunken borders

	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/sf2_player.h:
	- Hopefully plugged some leaks caused by the leaky fluidSynth.  It seems
	to run fine, but only time will tell
	- Added sfont file sharing between instances of sf2Player
	- Added synthMutex to keep play() from freezing while we are recreating
	the synth due to a file load.

	* src/widgets/combobox.cpp:
	Draw styled border.

	* src/core/fx_mixer.cpp:
	Improved drawing of LCD Channel numbers.

	* .:
	* m4:
	* buildtools:
	* plugins:
	* plugins/ladspa_effect:
	* plugins/ladspa_effect/caps:
	* plugins/ladspa_effect/caps/waves:
	* plugins/ladspa_effect/caps/dsp:
	* plugins/ladspa_effect/caps/dsp/tonestack:
	* plugins/patman:
	* plugins/lb302:
	* plugins/organic:
	* plugins/bass_booster:
	* plugins/bit_invader:
	* plugins/vst_effect:
	* plugins/vibed:
	* plugins/triple_oscillator:
	* plugins/singerbot:
	* plugins/live_tool:
	* plugins/audio_file_processor:
	* plugins/stk:
	* plugins/stk/mallets:
	* plugins/stk/voices:
	* plugins/stk/voices/flute:
	* plugins/stk/voices/resonate:
	* plugins/stk/voices/include:
	* plugins/stk/voices/wurley:
	* plugins/stk/voices/src:
	* plugins/stk/voices/percflute:
	* plugins/stk/voices/rhodey:
	* plugins/stk/voices/tubebell:
	* plugins/stk/voices/bowed:
	* plugins/stk/voices/clarinet:
	* plugins/stk/voices/moog:
	* plugins/stk/voices/metal:
	* plugins/stk/voices/b3:
	* plugins/stk/voices/blow_hole:
	* plugins/stk/voices/brass:
	* plugins/stk/voices/fmvoices:
	* plugins/stk/voices/bandedwg:
	* plugins/stk/voices/blow_bottle:
	* plugins/plucked_string_synth:
	* plugins/stereo_enhancer:
	* plugins/sf2_player:
	* plugins/vestige:
	* plugins/vst_base:
	* plugins/ladspa_browser:
	* plugins/kicker:
	* plugins/polyb302:
	* plugins/flp_import:
	* plugins/flp_import/unrtf:
	* plugins/midi_import:
	* include:
	* src:
	* src/audio:
	* src/midi:
	* src/lib:
	* src/widgets:
	* src/tracks:
	* src/3rdparty:
	* src/3rdparty/samplerate:
	* src/core:
	* data:
	* data/locale:
	* data/track_icons:
	* data/midi-maps:
	* data/samples:
	* data/samples/effects:
	* data/samples/stringsnpads:
	* data/samples/basses:
	* data/samples/shapes:
	* data/samples/latin:
	* data/samples/bassloopes:
	* data/samples/drums:
	* data/samples/instruments:
	* data/samples/misc:
	* data/samples/drumsynth:
	* data/samples/drumsynth/effects:
	* data/samples/drumsynth/misc_synth:
	* data/samples/drumsynth/tr606:
	* data/samples/drumsynth/cr78:
	* data/samples/drumsynth/magnetboy:
	* data/samples/drumsynth/tr808:
	* data/samples/drumsynth/tr909:
	* data/samples/drumsynth/misc_fx:
	* data/samples/drumsynth/misc:
	* data/samples/drumsynth/electro:
	* data/samples/drumsynth/linn:
	* data/samples/drumsynth/ferraro:
	* data/samples/drumsynth/r_b:
	* data/samples/drumsynth/misc_bass:
	* data/samples/drumsynth/tr77:
	* data/samples/drumsynth/misc_perc:
	* data/samples/drumsynth/latin:
	* data/samples/drumsynth/instrument:
	* data/samples/drumsynth/misc_electro:
	* data/samples/drumsynth/acoustic:
	* data/samples/drumsynth/misc_hats:
	* data/samples/drumsynth/farfisa:
	* data/samples/drumsynth/jorgensohn:
	* data/samples/drumsynth/cr8000:
	* data/samples/drumsynth/misc_claps:
	* data/samples/beats:
	* data/presets:
	* data/presets/AudioFileProcessor:
	* data/presets/LB302:
	* data/presets/Organic:
	* data/presets/PluckedStringSynth:
	* data/presets/VeSTige:
	* data/presets/BitInvader:
	* data/presets/Vibed:
	* data/presets/TripleOscillator:
	* data/themes:
	* data/themes/blue_scene:
	* data/themes/blue_scene/plugins:
	* data/themes/default:
	* data/projects:
	* data/projects/covers:
	* data/projects/recorded_loops:
	* data/projects/cool_songs:
	* data/projects/tutorials:
	* data/projects/demos:
	* data/projects/misc:
	* data/projects/templates:
	Added svn:ignore property for temporary buildtime files.  Prevents
	dozens of items showing in diff and status.  The file
	.svnignore describes which files are ignored.

	* .svnignore:
	Can change this file to ignore more stuff.  Reapply by running: 
	svn -R propset svn:ignore -F .svnignore .
		
2008-03-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/visualization_widget.cpp:
	improved signal-visualization and increased update-ratio from 20 to 40
	fps

	* include/mixer.h:
	* src/core/mixer.cpp:
	* src/core/song_editor.cpp:
	* data/themes/default/auto_limit.png:
	removed obsolete and broken auto-limit-feature

	* src/core/engine.cpp:
	* src/core/fx_mixer.cpp:
	proper cleanup of fxMixer and its view at exit

	* src/widgets/effect_view.cpp:
	* data/themes/default/effect_plugin.png:
	improved effect-view-artwork

2008-03-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	fixed peak-calculation for negative signal-values

	* include/effect_view.h:
	* src/widgets/effect_view.cpp:
	- fixed random crashes when removing effect-views
	- improved painting of effect-view

	* plugins/ladspa_effect/ladspa_controls.cpp:
	fixed LADSPA-controls which internally were not linked per default
	although they should be

	* include/fx_mixer.h:
	* include/effect_rack_view.h:
	* include/effect_chain.h:
	* src/widgets/effect_rack_view.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/effect_chain.cpp:
	* src/core/song.cpp:
	* src/core/fx_mixer.cpp:
	implemented save- and load-functionality for FX-mixer

2008-03-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/engine.h:
	* include/mixer.h:
	* include/fx_mixer.h:
	* include/fader.h:
	* include/effect_chain.h:
	* src/audio/audio_port.cpp:
	* src/widgets/fader.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/effect_chain.cpp:
	* src/core/mixer.cpp:
	* src/core/engine.cpp:
	* src/core/fx_mixer.cpp:
	* data/themes/default/fader_background.png:
	* data/themes/default/fader_knob.png:
	* data/themes/default/fader_leds.png:
	* Makefile.am:
	added initial FX-mixer implementation - not perfect and very usable
	yet but the basics work so far :)

	* src/widgets/instrument_midi_io_view.cpp:
	fixed segfault when using raw MIDI-client

2008-03-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/de.ts:
	* data/locale/de.qm:
	updated German localization
	
	* include/effect_board.h:
	removed

	* include/fx_mixer.h:
	* src/tracks/instrument_track.cpp:
	added definition for upcoming FX-mixer

	* plugins/triple_oscillator/triple_oscillator.h:
	* include/meter_dialog.h:
	* include/instrument_functions.h:
	* include/instrument_sound_shaping.h:
	* include/instrument_function_views.h:
	* include/bb_track.h:
	* include/ladspa_control_view.h:
	* include/instrument_sound_shaping_view.h:
	* src/midi/midi_client.cpp:
	* src/widgets/ladspa_control_view.cpp:
	* src/widgets/instrument_sound_shaping_view.cpp:
	* src/widgets/instrument_function_views.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/instrument_functions.cpp:
	* Makefile.am:
	added missing Q_OBJECT-macros for views which made localizations not
	work

	* plugins/sf2_player/logo.png:
	replaced Kicker-logo with actual logo

	* src/core/track.cpp:
	* include/track.h:
	fixed crash when removing TCO via context-menu

	* include/instrument_track.h:
	* src/core/file_browser.cpp:
	made "Send to active instrument-track" work again

	* include/instrument_midi_io_view.h:
	* include/instrument_midi_io.h:
	* src/widgets/instrument_midi_io_view.cpp:
	* src/core/instrument_midi_io.cpp:
	made MIDI-port-menu work again

	* plugins/kicker/kicker.cpp:
	set track for knobs in order to make them automatable

	* include/automatable_model_templates.h:
	fixed missing automationPattern-initialization (i.e.
	setFirstValue()-call) which made automation-editor not work properly
	if no events were drawn so far

	* include/piano_roll.h:
	* include/automation_editor.h:
	* src/core/piano_roll.cpp:
	* src/core/automation_editor.cpp:
	made micro-draw-operations use 32-bit-ints instead of 16-bit-integers
	for performing better on 32-bit-platforms

	* data/locale/de.qm:
	* data/locale/de.ts:
	* include/mv_base.h:
	* src/widgets/combobox.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/automatable_button.cpp:
	* src/core/mv_base.cpp:
	also connect model-signals with view when using default-constructed
	model - fixes missing updates on things like button-groups when using
	automation

2008-03-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/lvsl_server.cpp:
	show window before determining X-Window-ID as newer WINE-versions do
	not create X-windows before actually showing window

	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_client.h:
	properly insert VST-editor-window into QMdiArea

	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	M/V-split

	* plugins/kicker/kicker.h:
	* include/sample_buffer.h:
	* configure.in:
	* src/lib/sample_buffer.cpp:
	misc coding-style-fixes

	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	made sampleBuffer reentrant so that several threads can use
	sampleBuffer::play() simultanously - fixes crashes when using
	AudioFileProcessor or Patman in multithreaded mode

2008-03-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/sf2_player/sf2_player.h:
	* plugins/sf2_player/sf2_player.cpp:
	added m_runningNotes-array to track overlapping or edge-to-edge notes
	and act accordingly

2008-03-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/graph.cpp:
	fixed compiler-warnings

	* include/automatable_model.h:
	* include/graph.h:
	* include/surround_area.h:
	* src/audio/audio_file_device.cpp:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_port.cpp:
	* src/audio/audio_jack.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/lib/project_journal.cpp:
	* src/lib/mmp.cpp:
	* src/lib/oscillator.cpp:
	* src/widgets/ladspa_control_view.cpp:
	* src/widgets/envelope_and_lfo_view.cpp:
	* src/widgets/instrument_midi_io_view.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/volume_knob.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/import_filter.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/main.cpp:
	* src/core/mixer.cpp:
	* src/core/effect.cpp:
	* src/core/instrument_midi_io.cpp:
	* src/core/track.cpp:
	* src/core/timeline.cpp:
	* src/core/instrument.cpp:
	* src/core/surround_area.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/automation_editor.cpp:
	* src/core/meter_dialog.cpp:
	reduced dependencies from automatable_model_templates.h and fixed
	according compiler-warnings

	* include/shared_object.h:
	added mutex to protect reference-counter

2008-03-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/piano_roll.cpp:
	- fixed and improved painting of volume-lines
	- fixed painting of note-detuning-dots
	- fixed KEY_PRESSURE-events when changing volume of a note
	- pass keyboard-events to piano-class if appropriate

	* include/piano.h:
	* src/core/piano.cpp:
	moved MIDI-event-code to piano-class

	* src/core/piano_roll.cpp:
	* src/core/automation_editor.cpp:
	set focus-policy in order to receive key-events

	* plugins/sf2_player/sf2_player.cpp:
	- fixed open-file-dialog
	- fixed order of member-variable-initialization

	* src/lib/sample_buffer.cpp:
	added MP3-files to file-dialog-filter as they theoretically should be
	supported through SDL_sound-library

	* src/core/mixer.cpp:
	always process all note-play-handles of monophonic instruments by the
	same thread serially - fixes problems with monophonic instruments
	which rely on notes being processed in correct order

	* src/core/instrument_sound_shaping.cpp:
	fixed out-of-range initial value of filter-frequency-model

	* src/core/main_window.cpp:
	set directory before selecting file in QFileDialog

	* src/widgets/knob.cpp:
	removed relative painting - fixes badly draw knobs in several cases

	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/volume_knob.cpp:
	made textFloat's work properly and displayed at correct position

	* src/widgets/text_float.cpp:
	* include/text_float.h:
	always use main-window as parent and make sure to be moved relative to
	it, i.e. do not show outside of moved main-window

	* include/mmp.h:
	* src/lib/mmp.cpp:
	* src/core/song.cpp:
	removed overwrite-check as in Qt4 QFileDialog does this on its own

	* include/midi_event_processor.h:
	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	do not lock mixer and call notePlayHandle::noteOff() in
	instrumentTrack::processInEvent() when processing monophonic
	instruments in playNote() - fixes lockups in LB302 in multithreaded
	mode

2008-03-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/ladspa_control.h:
	* src/widgets/ladspa_control_view.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	fixed wrong integration of tempoSyncKnobModel

	* src/core/mv_base.cpp:
	made dataChanged()->update() connection queued

2008-03-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/patman/patman.cpp:
	do not crash in patmanInstrument::playNote() when no file is set

	* include/ladspa_control.h:
	* src/core/ladspa_control.cpp:
	fixed missing tempoSyncKnobModel for not crashing when instantiating
	LADSPA-plugins with time-knobs inside

	* src/lib/sample_buffer.cpp:
	do not set global mixer lock in update() if no data has been set yet

	* plugins/patman/patman.cpp:
	do not crash when loading settings where no file is set

	* plugins/triple_oscillator/triple_oscillator.cpp:
	in saveSettings() fixed wrong integer-to-string-conversion which made
	LMMS save broken files

2008-02-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/text_float.cpp:
	set Qt::ToolTip-window-flag in order to display correctly - some other
	positioning code still needs to be fixed

	* include/import_filter.h:
	fixed importFilter::readByte() to return proper integer instead of
	signed char - makes import-filters finally work

	* plugins/midi_import/midi_import.cpp:
	* plugins/flp_import/flp_import.cpp:
	fixed parameter-list of lmms_plugin_main to work properly

2008-02-29	Paul Giblock <drfaygo/at/gmail/dot/com>
	
	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	* data/themes/default/lcd_19red.png:
	* data/themes/default/lcd_19green.png:
	new non-QLcdSpinBox pixmap-based LCD spinbox 

	* include/lmms_style.h:
	* src/core/main.cpp:
	* Makefile.am:
	added lmmsStyle to aim for a consistant interface.  Some Qt themes
	make LMMS look really bad.  Hopefully, over time, we can make a style
	the unifies all our gui elements

	* src/core/track.cpp:
	playing with alternating colors per tact

	* include/combobox.h:
	* src/widgets/combobox.cpp:
	* data/themes/default/combobox_bg.png:
	* data/themes/default/combobox_arrow_selected.png:
	- combobox now updates when incremented or decrementing.
	- draw combo box with styled border, change arrow when pressed

2008-02-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/plugin.cpp:
	warn if LMMS-plugin does not have required <libname>_plugin_descriptor
	field

2008-02-28	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/sf2_player:
	* plugins/sf2_player/patches_dialog.ui:
	* plugins/sf2_player/logo.png:
	* plugins/sf2_player/patches_dialog.cpp:
	* plugins/sf2_player/sf2_player.cpp:
	* plugins/sf2_player/Makefile.am:
	* plugins/sf2_player/artwork.png:
	* plugins/sf2_player/patches_dialog.h:
	* plugins/sf2_player/sf2_player.h:
	* plugins/Makefile.am:
	* configure.in:
	added beta of SoundFont player

2008-02-28	Danny McRae <khjklujn/at/yahoo/dot/com>

	* plugins/stk/Makefile.am:
	removed voices from the default build

2008-02-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	back in trunk - LMMS-MV is now default, so removed "mv"-suffix

2008-02-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/caps/Compress.cc:
	* plugins/ladspa_effect/caps/ToneStack.cc:
	* plugins/ladspa_effect/caps/Compress.h:
	* plugins/ladspa_effect/caps/ToneStack.h:
	* plugins/ladspa_effect/caps/Roessler.h:
	* plugins/ladspa_effect/caps/HRTF.cc:
	* plugins/ladspa_effect/caps/HRTF.h:
	* plugins/ladspa_effect/caps/basics.h:
	* plugins/ladspa_effect/caps/Lorenz.cc:
	* plugins/ladspa_effect/caps/Lorenz.h:
	* plugins/ladspa_effect/caps/Amp.cc:
	* plugins/ladspa_effect/caps/Amp.h:
	* plugins/ladspa_effect/caps/Pan.h:
	* plugins/ladspa_effect/caps/Phaser.cc:
	* plugins/ladspa_effect/caps/White.h:
	* plugins/ladspa_effect/caps/Preamp.cc:
	* plugins/ladspa_effect/caps/Click.cc:
	* plugins/ladspa_effect/caps/VCO.cc:
	* plugins/ladspa_effect/caps/Clip.cc:
	* plugins/ladspa_effect/caps/Click.h:
	* plugins/ladspa_effect/caps/VCO.h:
	* plugins/ladspa_effect/caps/ToneControls.cc:
	* plugins/ladspa_effect/caps/Sin.cc:
	* plugins/ladspa_effect/caps/Clip.h:
	* plugins/ladspa_effect/caps/Sin.h:
	* plugins/ladspa_effect/caps/Scape.cc:
	* plugins/ladspa_effect/caps/Scape.h:
	* plugins/ladspa_effect/caps/Roessler.cc:
	* plugins/ladspa_effect/caps/interface.cc:
	* plugins/ladspa_effect/caps/waves/click.h:
	* plugins/ladspa_effect/caps/waves/money.h:
	* plugins/ladspa_effect/caps/dsp/ToneStack.h:
	* plugins/ladspa_effect/caps/dsp/LatFilt.h:
	* plugins/ladspa_effect/caps/dsp/TDFII.h:
	* plugins/ladspa_effect/caps/dsp/RMS.h:
	* plugins/ladspa_effect/caps/dsp/OnePole.h:
	* plugins/ladspa_effect/caps/dsp/tonestack/tables.h:
	* plugins/ladspa_effect/caps/dsp/tonestack/vs_tab.h:
	* plugins/ladspa_effect/caps/dsp/tonestack/ks_tab.h:
	* plugins/ladspa_effect/caps/dsp/Eq.h:
	* plugins/ladspa_effect/caps/dsp/BiQuad.h:
	* plugins/ladspa_effect/caps/dsp/util.h:
	* plugins/ladspa_effect/caps/dsp/FPTruncateMode.h:
	* plugins/ladspa_effect/caps/dsp/TwelveAX7.h:
	* plugins/ladspa_effect/caps/Chorus.cc:
	* plugins/ladspa_effect/caps/Cabinet.cc:
	* plugins/ladspa_effect/caps/Chorus.h:
	* plugins/ladspa_effect/caps/Eq.cc:
	* plugins/ladspa_effect/caps/Cabinet.h:
	* plugins/ladspa_effect/caps/Eq.h:
	* plugins/ladspa_effect/caps/README:
	* plugins/ladspa_effect/caps/Pan.cc:
	* plugins/ladspa_effect/caps/SweepVF.cc:
	* plugins/ladspa_effect/caps/Descriptor.h:
	* plugins/ladspa_effect/caps/White.cc:
	* plugins/ladspa_effect/caps/SweepVF.h:
	* plugins/ladspa_effect/caps/Phaser.h:
	* plugins/ladspa_effect/caps/Reverb.cc:
	* plugins/ladspa_effect/caps/Makefile.am:
	* plugins/ladspa_effect/caps/Reverb.h:
	integrated new version of CAPS and fixed miscompilation with GCC 4.3

	* include/audio_port.h:
	* src/audio/audio_port.cpp:
	* src/core/mixer.cpp:
	lock audioPort-buffers before writing them

	* include/export_project_dialog.h:
	* src/core/song.cpp:
	* src/core/main.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/engine.cpp:
	* src/core/automation_pattern.cpp:
	rendering from commandline is now done without creating main-window
	and all the other UI-stuff

	* include/mixer.h:
	* src/core/mixer.cpp:
	distribute whole job-queue instead of single jobs and re-assign
	unprocessed jobs to idle worker-threads - improves multi-threading
	behaviour a lot

2008-02-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mixer.h:
	* src/core/mixer.cpp:
	initial support for parallel rendering via worker-threads - far from
	being perfect (especially with small mixer-period-sizes) but seems to
	help even on a DualCore machine

2008-02-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/ladspa_browser/ladspa_browser.h:
	incorporated recent API-changes

	* include/effect.h:
	* include/instrument_functions.h:
	* include/envelope_and_lfo_parameters.h:
	* include/tempo_sync_knob.h:
	* src/widgets/envelope_and_lfo_view.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/effect.cpp:
	* src/core/instrument_functions.cpp:
	splitted tempoSyncKnob into tempoSyncKnobModel and tempoSyncKnob

	* include/meter_dialog.h:
	* src/core/meter_dialog.cpp:
	splitted into meterModel and meterDialog

	* plugins/flp_import/flp_import.cpp:
	* include/instrument_track.h:
	* include/piano.h:
	* src/tracks/instrument_track.cpp:
	* src/core/piano_roll.cpp:
	* src/core/piano.cpp:
	* Makefile.am:
	renamed piano_widget.{h,cpp} to piano.{h,cpp}

	* include/instrument_view.h:
	* include/instrument_track.h:
	* src/widgets/instrument_function_views.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/automatable_button.cpp:
	* src/tracks/instrument_track.cpp:
	fixed various crashes when removing instrument-track with visible
	instrument-track-window or loading another instrument/preset

	* src/core/instrument.cpp:
	* include/oscillator.h:
	cleanups

	* src/lib/mmp.cpp:
	fixed tag-renaming-loops

	* include/automatable_model_templates.h:
	instantiate automation-pattern before loading settings of it - fixes
	crashes when loading projects with automation inside

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	track-window-creation on-demand - makes loading/unloading projects
	ultra-fast!!

	* plugins/triple_oscillator/triple_oscillator.cpp:
	fixed wrong index for saving/restoring modulation-algo-settings -
	now projects sound like they did in pre-MV

	* include/automation_editor.h:
	* include/combobox.h:
	* src/core/song.cpp:
	* src/core/piano_roll.cpp:
	* src/core/track.cpp:
	* src/core/automation_editor.cpp:
	fixed zooming-comboboxes in automation-editor and header-dependencies

	* src/widgets/combobox.cpp:
	update() after wheelEvent

	* include/tool.h:
	* src/core/tool.cpp:
	* plugins/live_tool/live_tool.h:
	* plugins/live_tool/live_tool.cpp:
	made live-tool work after M/V-split

	* include/track.h:
	* src/core/track.cpp:
	- connect track's m_mutedModel to m_muteBtn of trackOperationsWidget
	- set track for m_mutedModel

2008-02-24	Paul Giblock <pgllama/at/gmail/dot/com>

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/bit_invader/Makefile.am:
	M/V-split of Bit Invader instrument.

	* plugins/vibed/nine_button_selector.cpp:
	Removed debug output

	* src/widgets/graph.cpp:
	* include/graph.h:
	Fixed some graph issues.  Still more left to do

2008-02-22	Paul Giblock <pgllama/at/gmail/dot/com>

	* plugins/vibed/vibed.cpp:
	* plugins/vibed/vibed.h:
	* plugins/vibed/string_container.cpp:
	* plugins/vibed/string_container.h:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/Makefile.am:
	M/V-split of Vibed-instrument.  Lacks user-specified wave, to be added on
	my next commit. Also has an audio output bug, certain notes make weird
	noises

	* plugins/stereo_enhancer/stereoenhancer_controls.cpp:
	* plugins/stereo_enhancer/stereoenhancer_controls.h:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/stereo_enhancer/stereo_enhancer.h:
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.h:
	* plugins/stereo_enhancer/Makefile.am:
	M/V-split of Stereo-enhancer effect.  

	* src/core/piano_roll.cpp:
	Changed quantization to change on the gridlines, instead of nearest-point
	in the middle.  Made this change here, because MIDI events should still be
	quantized to nearest-point (I think)

	* src/widgets/graph.cpp:
	* include/graph.h:
	* Makefile.am:
	Split graph and moved it to the shared widgets.  Supports variable ranges,
	sample-lengths, smoothing, normalizing, and is antialiased

2008-02-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_subplugin_features.h:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/vst_effect/vst_control_dialog.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* include/plugin.h:
	* include/audio_file_device.h:
	* include/export.h:
	* include/export_project_dialog.h:
	* src/core/song.cpp:
	* src/core/export_project_dialog.cpp:
	coding-style improvements

	* src/core/main_window.cpp:
	made song-export work again

	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	M/V-split of Patman-instrument

2008-02-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.h:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.h:
	* plugins/midi_import/midi_import.cpp:
	* include/instrument_functions.h:
	* include/song.h:
	* include/envelope_and_lfo_parameters.h:
	* include/instrument_sound_shaping.h:
	made MIDI- and FLP-import-filter work

2008-02-15	Paul Giblock <drfaygo/at/gmail/dot/net>
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:

	Updated some instruments for M/V. Unfortunately one is an old version
	and the other is obsoleted

2008-02-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_controls.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/stk/Makefile.am:
	* include/mmp.h:
	* include/instrument_midi_io_view.h:
	* include/track.h:
	* include/engine.h:
	* include/name_label.h:
	* include/instrument_track.h:
	* include/instrument_functions.h:
	* include/piano_widget.h:
	* include/song.h:
	* include/pattern.h:
	* include/file_browser.h:
	* include/envelope_and_lfo_parameters.h:
	* include/envelope_and_lfo_view.h:
	* include/instrument_sound_shaping.h:
	* include/instrument_function_views.h:
	* include/instrument_midi_io.h:
	* include/bb_track.h:
	* include/song_editor.h:
	* include/dummy_instrument.h:
	* include/journalling_object.h:
	* include/sample_track.h:
	* include/timeline.h:
	* include/main_window.h:
	* include/mv_base.h:
	* include/bb_editor.h:
	* include/arp_and_chords_tab_widget.h:
	* include/automation_track.h:
	* include/track_container.h:
	* include/instrument_sound_shaping_view.h:
	* configure.in:
	* src/midi/midi_alsa_seq.cpp:
	* src/lib/project_journal.cpp:
	* src/lib/mmp.cpp:
	* src/lib/journalling_object.cpp:
	* src/widgets/instrument_sound_shaping_view.cpp:
	* src/widgets/envelope_and_lfo_view.cpp:
	* src/widgets/instrument_function_views.cpp:
	* src/widgets/instrument_midi_io_view.cpp:
	* src/widgets/project_notes.cpp:
	* src/widgets/effect_rack_view.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/core/song.cpp:
	* src/core/import_filter.cpp:
	* src/core/file_browser.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/mixer.cpp:
	* src/core/main.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/piano_roll.cpp:
	* src/core/instrument_functions.cpp:
	* src/core/instrument_midi_io.cpp:
	* src/core/track.cpp:
	* src/core/engine.cpp:
	* src/core/timeline.cpp:
	* src/core/instrument.cpp:
	* src/core/piano_widget.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	* src/core/mv_base.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/name_label.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	* Makefile.am:
	finally splitted rest of LMMS, i.e. tracks, track-containers,
	track-content-objects, whole instrument-track/instrument-track-window
	and so on - still a bit unstable but I'm sure we'll manage to get this
	one very stable!

	diffstat says:
	    79 files changed, 8019 insertions(+), 6226 deletions(-)

2008-02-01	Danny McRae <khjklujn/at/yahoo/dot/com>

	* Makefile.am:
	* src/tracks/instrument_track.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/envelope_and_lfo_parameters.cpp:
	* src/core/mixer.cpp:
	* src/core/instrument_sound_shaping.cpp:
	* src/core/instrument_midi_io.cpp:
	* src/core/song_editor.cpp:
	Some of the files have been renamed, so I updated the
	include references to get the build to work again.

	* include/basic_filters.h:
	Added the ability to clear the filter taps to support
	a LPF where the threshold is set by the velocity of
	the note.

	* configure.in:
	* plugins/stk/voices/resonate/resonate_processor.h:
	* plugins/stk/voices/voices/resonate/resonate_instrument.h:
	* plugins/stk/voices/voices/resonate/resonate_model.cpp:
	* plugins/stk/voices/voices/resonate/resonate_instrument_view.cpp:
	* plugins/stk/voices/voices/resonate/artwork.png:
	* plugins/stk/voices/voices/resonate/resonate_processor.cpp:
	* plugins/stk/voices/voices/resonate/resonate_instrument_view.h:
	* plugins/stk/voices/voices/resonate/resonate_instrument.cpp:
	* plugins/stk/voices/voices/resonate/logo.png:
	* plugins/stk/voices/voices/resonate/resonate_model.h:
	* plugins/stk/voices/voices/resonate/Makefile.am:
	* plugins/stk/voices/voices/flute/artwork.png:
	* plugins/stk/voices/voices/flute/flute_processor.cpp:
	* plugins/stk/voices/voices/flute/flute_instrument_view.h:
	* plugins/stk/voices/voices/flute/flute_model.h:
	* plugins/stk/voices/voices/flute/flute_processor.h:
	* plugins/stk/voices/voices/flute/flute_model.cpp:
	* plugins/stk/voices/voices/flute/logo.png:
	* plugins/stk/voices/voices/flute/flute_instrument.h:
	* plugins/stk/voices/voices/flute/Makefile.am:
	* plugins/stk/voices/voices/flute/flute_instrument_view.cpp:
	* plugins/stk/voices/voices/flute/flute_instrument.cpp:
	* plugins/stk/voices/voices/metal/metal_processor.h:
	* plugins/stk/voices/voices/metal/metal_instrument.cpp:
	* plugins/stk/voices/voices/metal/metal_processor.cpp:
	* plugins/stk/voices/voices/metal/artwork.png:
	* plugins/stk/voices/voices/metal/metal_instrument_view.cpp:
	* plugins/stk/voices/voices/metal/metal_instrument.h:
	* plugins/stk/voices/voices/metal/logo.png:
	* plugins/stk/voices/voices/metal/metal_instrument_view.h:
	* plugins/stk/voices/voices/metal/metal_model.cpp:
	* plugins/stk/voices/voices/metal/Makefile.am:
	* plugins/stk/voices/voices/metal/metal_model.h:
	* plugins/stk/voices/voices/fmvoices/fmvoices_instrument.cpp:
	* plugins/stk/voices/voices/fmvoices/fmvoices_processor.h:
	* plugins/stk/voices/voices/fmvoices/fmvoices_instrument.h:
	* plugins/stk/voices/voices/fmvoices/artwork.png:
	* plugins/stk/voices/voices/fmvoices/fmvoices_instrument_view.h:
	* plugins/stk/voices/voices/fmvoices/fmvoices_instrument_view.cpp:
	* plugins/stk/voices/voices/fmvoices/logo.png:
	* plugins/stk/voices/voices/fmvoices/fmvoices_processor.cpp:
	* plugins/stk/voices/voices/fmvoices/fmvoices_model.cpp:
	* plugins/stk/voices/voices/fmvoices/fmvoices_model.h:
	* plugins/stk/voices/voices/fmvoices/Makefile.am:
	* plugins/stk/voices/voices/moog/moog_instrument_view.h:
	* plugins/stk/voices/voices/moog/moog_instrument_view.cpp:
	* plugins/stk/voices/voices/moog/moog_model.cpp:
	* plugins/stk/voices/voices/moog/moog_processor.h:
	* plugins/stk/voices/voices/moog/artwork.png:
	* plugins/stk/voices/voices/moog/logo.png:
	* plugins/stk/voices/voices/moog/moog_model.h:
	* plugins/stk/voices/voices/moog/moog_instrument.h:
	* plugins/stk/voices/voices/moog/moog_instrument.cpp:
	* plugins/stk/voices/voices/moog/moog_processor.cpp:
	* plugins/stk/voices/voices/moog/Makefile.am:
	* plugins/stk/voices/voices/include/stk_instrument_view.h:
	* plugins/stk/voices/voices/include/stk_voice.h:
	* plugins/stk/voices/voices/include/stk_instrument.h:
	* plugins/stk/voices/voices/include/stk_model.h:
	* plugins/stk/voices/voices/include/stk_processor.h:
	* plugins/stk/voices/voices/wurley/wurley_instrument.h:
	* plugins/stk/voices/voices/wurley/wurley_instrument_view.cpp:
	* plugins/stk/voices/voices/wurley/wurley_model.cpp:
	* plugins/stk/voices/voices/wurley/wurley_instrument_view.h:
	* plugins/stk/voices/voices/wurley/wurley_model.h:
	* plugins/stk/voices/voices/wurley/artwork.png:
	* plugins/stk/voices/voices/wurley/wurley_processor.h:
	* plugins/stk/voices/voices/wurley/logo.png:
	* plugins/stk/voices/voices/wurley/Makefile.am:
	* plugins/stk/voices/voices/wurley/wurley_processor.cpp:
	* plugins/stk/voices/voices/wurley/wurley_instrument.cpp:
	* plugins/stk/voices/voices/bowed/bowed_instrument.cpp:
	* plugins/stk/voices/voices/bowed/bowed_model.cpp:
	* plugins/stk/voices/voices/bowed/bowed_instrument_view.cpp:
	* plugins/stk/voices/voices/bowed/bowed_model.h:
	* plugins/stk/voices/voices/bowed/bowed_processor.h:
	* plugins/stk/voices/voices/bowed/artwork.png:
	* plugins/stk/voices/voices/bowed/bowed_processor.cpp:
	* plugins/stk/voices/voices/bowed/logo.png:
	* plugins/stk/voices/voices/bowed/bowed_instrument_view.h:
	* plugins/stk/voices/voices/bowed/Makefile.am:
	* plugins/stk/voices/voices/bowed/bowed_instrument.h:
	* plugins/stk/voices/voices/blow_hole/blow_hole_instrument.cpp:
	* plugins/stk/voices/voices/blow_hole/blow_hole_instrument_view.cpp:
	* plugins/stk/voices/voices/blow_hole/artwork.png:
	* plugins/stk/voices/voices/blow_hole/blow_hole_model.h:
	* plugins/stk/voices/voices/blow_hole/blow_hole_processor.h:
	* plugins/stk/voices/voices/blow_hole/logo.png:
	* plugins/stk/voices/voices/blow_hole/blow_hole_processor.cpp:
	* plugins/stk/voices/voices/blow_hole/blow_hole_instrument_view.h:
	* plugins/stk/voices/voices/blow_hole/blow_hole_model.cpp:
	* plugins/stk/voices/voices/blow_hole/Makefile.am:
	* plugins/stk/voices/voices/blow_hole/blow_hole_instrument.h:
	* plugins/stk/voices/voices/rhodey/rhodey_instrument_view.h:
	* plugins/stk/voices/voices/rhodey/rhodey_processor.h:
	* plugins/stk/voices/voices/rhodey/rhodey_processor.cpp:
	* plugins/stk/voices/voices/rhodey/rhodey_instrument_view.cpp:
	* plugins/stk/voices/voices/rhodey/artwork.png:
	* plugins/stk/voices/voices/rhodey/rhodey_model.cpp:
	* plugins/stk/voices/voices/rhodey/rhodey_model.h:
	* plugins/stk/voices/voices/rhodey/rhodey_instrument.h:
	* plugins/stk/voices/voices/rhodey/logo.png:
	* plugins/stk/voices/voices/rhodey/rhodey_instrument.cpp:
	* plugins/stk/voices/voices/rhodey/Makefile.am:
	* plugins/stk/voices/voices/tubebell/tubebell_processor.cpp:
	* plugins/stk/voices/voices/tubebell/tubebell_instrument_view.h:
	* plugins/stk/voices/voices/tubebell/artwork.png:
	* plugins/stk/voices/voices/tubebell/tubebell_instrument.h:
	* plugins/stk/voices/voices/tubebell/tubebell_instrument.cpp:
	* plugins/stk/voices/voices/tubebell/tubebell_model.h:
	* plugins/stk/voices/voices/tubebell/logo.png:
	* plugins/stk/voices/voices/tubebell/tubebell_model.cpp:
	* plugins/stk/voices/voices/tubebell/tubebell_instrument_view.cpp:
	* plugins/stk/voices/voices/tubebell/Makefile.am:
	* plugins/stk/voices/voices/tubebell/tubebell_processor.h:
	* plugins/stk/voices/voices/clarinet/clarinet_instrument.cpp:
	* plugins/stk/voices/voices/clarinet/artwork.png:
	* plugins/stk/voices/voices/clarinet/clarinet_processor.h:
	* plugins/stk/voices/voices/clarinet/clarinet_processor.cpp:
	* plugins/stk/voices/voices/clarinet/clarinet_instrument.h:
	* plugins/stk/voices/voices/clarinet/clarinet_model.cpp:
	* plugins/stk/voices/voices/clarinet/logo.png:
	* plugins/stk/voices/voices/clarinet/clarinet_instrument_view.cpp:
	* plugins/stk/voices/voices/clarinet/clarinet_model.h:
	* plugins/stk/voices/voices/clarinet/Makefile.am:
	* plugins/stk/voices/voices/clarinet/clarinet_instrument_view.h:
	* plugins/stk/voices/voices/b3/b3_instrument.cpp:
	* plugins/stk/voices/voices/b3/b3_model.h:
	* plugins/stk/voices/voices/b3/b3_model.cpp:
	* plugins/stk/voices/voices/b3/artwork.png:
	* plugins/stk/voices/voices/b3/b3_instrument_view.h:
	* plugins/stk/voices/voices/b3/logo.png:
	* plugins/stk/voices/voices/b3/b3_processor.h:
	* plugins/stk/voices/voices/b3/b3_instrument_view.cpp:
	* plugins/stk/voices/voices/b3/b3_instrument.h:
	* plugins/stk/voices/voices/b3/b3_processor.cpp:
	* plugins/stk/voices/voices/b3/Makefile.am:
	* plugins/stk/voices/voices/src/stk_model.cpp:
	* plugins/stk/voices/voices/percflute/percflute_instrument.h:
	* plugins/stk/voices/voices/percflute/percflute_model.h:
	* plugins/stk/voices/voices/percflute/percflute_instrument_view.h:
	* plugins/stk/voices/voices/percflute/percflute_processor.cpp:
	* plugins/stk/voices/voices/percflute/percflute_processor.h:
	* plugins/stk/voices/voices/percflute/artwork.png:
	* plugins/stk/voices/voices/percflute/percflute_instrument_view.cpp:
	* plugins/stk/voices/voices/percflute/percflute_instrument.cpp:
	* plugins/stk/voices/voices/percflute/logo.png:
	* plugins/stk/voices/voices/percflute/percflute_model.cpp:
	* plugins/stk/voices/voices/percflute/Makefile.am:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_processor.cpp:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_model.h:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_model.cpp:
	* plugins/stk/voices/voices/blow_bottle/artwork.png:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_processor.h:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument.h:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument_view.cpp:
	* plugins/stk/voices/voices/blow_bottle/logo.png:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument_view.h:
	* plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument.cpp:
	* plugins/stk/voices/voices/blow_bottle/Makefile.am:
	* plugins/stk/voices/voices/Makefile.am:
	* plugins/stk/voices/voices/brass/brass_instrument_view.h:
	* plugins/stk/voices/voices/brass/brass_instrument.cpp:
	* plugins/stk/voices/voices/brass/brass_processor.h:
	* plugins/stk/voices/voices/brass/brass_processor.cpp:
	* plugins/stk/voices/voices/brass/brass_instrument_view.cpp:
	* plugins/stk/voices/voices/brass/artwork.png:
	* plugins/stk/voices/voices/brass/brass_instrument.h:
	* plugins/stk/voices/voices/brass/logo.png:
	* plugins/stk/voices/voices/brass/brass_model.cpp:
	* plugins/stk/voices/voices/brass/brass_model.h:
	* plugins/stk/voices/voices/brass/Makefile.am:
	* plugins/stk/voices/voices/bandedwg/bandedwg_processor.h:
	* plugins/stk/voices/voices/bandedwg/bandedwg_instrument_view.h:
	* plugins/stk/voices/voices/bandedwg/bandedwg_processor.cpp:
	* plugins/stk/voices/voices/bandedwg/artwork.png:
	* plugins/stk/voices/voices/bandedwg/bandedwg_model.h:
	* plugins/stk/voices/voices/bandedwg/bandedwg_instrument.h:
	* plugins/stk/voices/voices/bandedwg/bandedwg_instrument.cpp:
	* plugins/stk/voices/voices/bandedwg/bandedwg_instrument_view.cpp:
	* plugins/stk/voices/voices/bandedwg/logo.png:
	* plugins/stk/voices/voices/bandedwg/bandedwg_model.cpp:
	* plugins/stk/voices/voices/bandedwg/Makefile.am:
	Started working on a multitimbral instrument that uses all of the
	voices available in STK.  Need to work out the differences in
	level among the voices and figure out what the controls actually
	do.  Simplist way to do that was to build them as individual
	instruments first.  The models, views, and processors should be
	reusable for the larger instrument.  Except for bandedwg and
	flute they all work, so if you're curious, add "voices" to the 
	Makefile.am in plugins/stk to get them to build.
	
2007-01-30	Paul Giblock <pgllama/at/gmail/dot/com>

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	Began split on Organic. But doesn't show in instrument list

	* plugins/lb302/lb302.cpp:
	Fixed comments

2008-01-28	Paul Giblock <pgllama/at/gmail/dot/com>

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	finished LB302 M/V-split. however, more changes can be made to meet
	the coding guidelines.  Let's save this job for LB303

	* include/automatable_model.h:
	cleaned up code for boolModel

2008-01-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/automatable_button.cpp:
	- call updateButtons() after model-change
	- use model()->value() rather than value()

	* plugins/triple_oscillator/triple_oscillator.cpp:
	fixed upper boundaries for wave-shape- and modulation-algo-models

2008-01-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	initial M/V-split - lots of debugging and cleanups pending, however
	basically works :)

	* include/transformable_auto_model.h:
	added transformableAutoModel-class which is not used yet but might be
	helpful in some cases in the future

	* include/oscillator.h:
	* src/lib/oscillator.cpp:
	- changed coding-style for enum-constants
	- use model for external wave-shape- and modulation-algo-parameter

	* src/widgets/ladspa_control_view.cpp:
	added missing header

	* src/widgets/automatable_button.cpp:
	update buttons after changing button-group's value

2008-01-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/types.h:
	replaced own buggy valueRanges-calculations by numeric_limits-class

	* plugins/lb302/lb302.cpp:
	fixed broken plugin-entry-point

	* configure.in:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* include/automatable_model.h:
	* include/journalling_object.h:
	* src/audio/audio_file_device.cpp:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_port.cpp:
	* src/audio/audio_jack.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/lib/project_journal.cpp:
	* src/lib/mmp.cpp:
	* src/lib/drumsynth.cpp:
	* src/widgets/group_box.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/effect_chain.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/main.cpp:
	* src/core/mixer.cpp:
	* src/core/effect.cpp:
	* src/core/timeline.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/automation_editor.cpp:
	* src/core/meter_dialog.cpp:
	various fixes for GCC 4.3

	* README:
	cleanups / fixes

	* include/automatable_model.h:
	cleanups / coding-style fixes

2008-01-24	Paul Giblock <pgllama/at/gmail/dot/dotcom>

	* include/automatable_model.h:
	* src/widgets/knob.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/effect.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/envelope_tab_widget.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	add boolModel subclass in order to simplify the constructor

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	split lb302 for M/V.  However, lmms_plugin_main() receives null data,
	which means the instrumentTrack cannot be set..

2008-01-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/effect_chain.cpp:
	* src/lib/mmp.cpp:
	added upgrade-path in order to properly load projects not using the
	new effect-data-structure

	* plugins/bass_booster/bass_booster.h:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/vst_effect/vst_effect.h:
	removed nodeName()-function as effects must not overload it (they have
	descriptors with they unique name in it)

	* include/effect_rack_view.h:
	* src/widgets/effect_rack_view.cpp:
	renamed updateView() to update() in order to also track
	dataChanged()-signals of model without an additional connection

	* src/widgets/combobox.cpp:
	fixed painting

	* src/widgets/ladspa_control_view.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	made control-layouting work again (did not work at all after Qt4-port)

	* src/core/ladspa_control.cpp:
	added initialization for m_link-member-variable, optimized
	linkEnabledModel-initialization

	* src/widgets/knob.cpp:
	* plugins/ladspa_effect/ladspa_controls.cpp:
	coding style fixes

	* Makefile.am:
	moved ladspa_control_view.cpp to src/widgets/

2008-01-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/Makefile.am:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_controls.h:
	* plugins/ladspa_effect/ladspa_controls.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.h:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	made work again after all the changes in the last days...

	* Makefile.am:
	* include/ladspa_control.h:
	* include/ladspa_control_view.h:
	* src/core/ladspa_control.cpp:
	* src/core/ladspa_control_view.cpp:
	splitted ladspaControl-class into ladspaControl and ladspaControlView

2008-01-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/bass_booster/bassbooster_controls.h:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bassbooster_control_dialog.cpp:
	* plugins/bass_booster/Makefile.am:
	* plugins/bass_booster/bassbooster_controls.cpp:
	* plugins/bass_booster/bass_booster.h:
	* plugins/bass_booster/bassbooster_control_dialog.h:
	made work with M/V as well as rewritten effect-framework

	* include/effect.h:
	* include/effect_control_dialog.h:
	* include/dummy_effect.h:
	* include/effect_controls.h:
	* src/widgets/effect_view.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/effect.cpp:
	* Makefile.am:
	split off effectControlDialog into effectControlDialog and
	effectControls

	* src/core/song_editor.cpp:
	also connect to dataUnchanged()-signal of tempo-model in order to
	setup everything correct by connected slot

	* configure.in:
	- removed single-source-compile-feature
	- made FASTCALL-usage optional for the time being

	* data/locale/de.ts:
	* data/locale/de.qm:
	updated German localization

2008-01-09	Paul Giblock <pgllama/at/gmail/dot/com>

	* acinclude.m4:
	use pkg-config for more accurate Qt directory detection

2008-01-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bass_booster.h:
	* plugins/vst_effect/vst_effect.cpp:
	changes for making effects work again with new effect-framework

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/ladspa_browser/ladspa_browser.h:
	* plugins/kicker/kicker.cpp:
	* plugins/kicker/kicker.h:
	* include/dummy_plugin.h:
	* include/instrument.h:
	* include/plugin.h:
	* include/tool.h:
	* include/main_window.h:
	* include/mv_base.h:
	* include/dummy_instrument.h:
	* src/core/plugin.cpp:
	* src/core/tool.cpp:
	* src/core/import_filter.cpp:
	* src/core/instrument.cpp:
	* src/core/surround_area.cpp:
	* src/core/main_window.cpp:
	moved createView()-functionality from instrument- to plugin-class

	* include/tab_widget.h:
	code-formatting stuff

	* include/audio_port.h:
	* include/instrument_track.h:
	* include/sample_track.h:
	* src/audio/audio_port.cpp:
	* src/core/sample_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	integrated new effect-framework

	* Makefile.am:
	* include/dummy_effect.h:
	* include/effect.h:
	* include/effect_chain.h:
	* include/effect_control_dialog.h:
	* include/effect_label.h:
	* include/effect_rack_view.h:
	* include/effect_select_dialog.h:
	* include/effect_tab_widget.h:
	* include/effect_view.h:
	* src/core/effect.cpp:
	* src/core/effect_chain.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/effect_view.cpp:
	* src/widgets/effect_rack_view.cpp:
	rewrote view-component of effect-framework and removed effectTabWidget

	* include/automatable_model.h:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/automatable_button.cpp:
	pass model-pointer to modelView-constructor

2008-01-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/organic/organic.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/stk/mallets/mallets.cpp:
	make sure, pluginData-pointer is always initialized in playNote()

	* src/core/envelope_and_lfo_widget.cpp:
	simple range-checking

2008-01-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.h:
	minor fixes in order to compile again with lately changed effect-API

	* src/core/effect_tab_widget.cpp:
	* src/lib/mmp.cpp:
	renabled XML-attribute "fxdisabled" to "fxenabled"

	* src/core/effect_tab_widget.cpp:
	* include/effect_tab_widget.h:
	made effects working again by using effect-chain's m_enabledModel as
	model for effect-groupbox

	* include/effect_chain.h:
	* src/core/effect_chain.cpp:
	* src/core/effect_tab_widget.cpp:
	removed bypassed-property and introduced m_enabledModel

	* include/effect.h:
	- made lot of methods const
	- renamed enabled() to isEnabled()

2008-01-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/bb_editor.cpp:
	fix missing pattern in new projects by also tracking
	dataUnchanged()-signals of bbComboBoxModel

	* include/automatable_model_templates.h:
	* include/mv_base.h:
	added dataUnchanged()-signal which should be emitted in case new data
	was not set for the model because it's been equal to old data

2008-01-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/stk/mallets/mallets.h:
	* plugins/stk/mallets/mallets.cpp:
	fixed outstanding issues with LED-checkbox and its model

2008-01-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/group_box.h:
	* src/widgets/group_box.cpp:
	removed animation-functionality as it's useless

	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	fixed boolModel-initializations - makes filter, arpeggio and chords
	work again

2008-01-03	Danny McRae <khjklujn/at/yahoo/dot/com>

	* plugins/stk/mallets/mallets.h:
	* plugins/stk/mallets/mallets.cpp:
	made plugin work with M/V-architecture

2008-01-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	made plugin work with M/V-architecture

	* include/engine.h:
	* include/plugin.h:
	* src/core/engine.cpp:
	fixes regarding coding style guidelines

2008-01-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/kicker/kicker.cpp:
	* plugins/kicker/kicker.h:
	made plugin work with M/V-architecture

	* include/instrument.h:
	* include/dummy_instrument.h:
	* include/mv_base.h:
	* src/tracks/instrument_track.cpp:
	* src/core/instrument.cpp:
	M/V-split for instrument-tracks

2008-01-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/dummy_effect.h:
	* src/core/effect.cpp:
	make dummyEffect really work in case we need it

2008-01-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/knob.h:
	* include/effect.h:
	* include/automatable_slider.h:
	* include/lcd_spinbox.h:
	* include/meter_dialog.h:
	* include/midi_tab_widget.h:
	* include/instrument_track.h:
	* include/ladspa_control.h:
	* include/piano_widget.h:
	* include/detuning_helper.h:
	* include/sample_play_handle.h:
	* include/piano_roll.h:
	* include/group_box.h:
	* include/envelope_tab_widget.h:
	* include/song_editor.h:
	* include/automatable_button.h:
	* include/tempo_sync_knob.h:
	* include/journalling_object.h:
	* include/setup_dialog.h:
	* include/export_project_dialog.h:
	* include/pixmap_button.h:
	* include/sample_track.h:
	* include/surround_area.h:
	* include/volume_knob.h:
	* include/bb_editor.h:
	* include/rack_plugin.h:
	* include/arp_and_chords_tab_widget.h:
	* include/envelope_and_lfo_widget.h:
	* include/combobox.h:
	* include/led_checkbox.h:
	* configure.in:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_jack.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/volume_knob.cpp:
	* src/widgets/pixmap_button.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/effect.cpp:
	* src/core/piano_roll.cpp:
	* src/core/track.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/note.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/instrument.cpp:
	* src/core/piano_widget.cpp:
	* src/core/surround_area.cpp:
	* src/core/song_editor.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	* src/core/meter_dialog.cpp:
	* Makefile.am:
	adaption of M/V-architecture

	* include/automatable_object_templates.h:
	* include/automatable_object.h:
	removed as replaced by automatable_model.h and
	automatable_model_templates.h

	* include/mv_base.h:
	* src/core/mv_base.cpp:
	* include/automatable_model.h:
	* include/automatable_model_templates.h:
	added base-files for new M/V-architecture

	* src/widgets/rack_plugin.cpp:
	fixed wrong signal-slot-connection which made gate-parameter of
	effects not working

	* src/core/track_container.cpp:
	when removing tracks start removing at the end of track-vector (i.e.
	use m_trackWidgets.last() instead of m_trackWidgets.first()) - speeds
	up things *a lot*

	* README:
	* src/core/about_dialog.cpp:
	fixed version and extended copyright from 2007 to 2008

2007-12-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/midi_import/midi_import.cpp:
	load Patman-plugin instead of TripleOsc and try to load patch
	according to program-change-events

2007-12-14	Paul Wayper <paulway/at/mabula/dot/net>

	* include/volume_knob.h:
	* src/widgets/volume_knob.cpp:
	* src/core/setup_dialog.cpp:
	* data/locale/nl.ts:
	* data/locale/it.ts:
	* data/locale/ca.ts:
	* data/locale/ru.ts:
	* data/locale/de.ts:
	* data/locale/sv.ts:
	Changed dbV to dBV throughout

2007-12-12	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/setup_dialog.h:
	* src/core/setup_dialog.cpp:
	- removed negative wording in general settings
	- removed GIMP references

	* data/locale/ca.ts:
	updated translation

2007-12-11	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/automation_editor.h:
	* include/piano_roll.h:
	* src/core/automation_editor.cpp:
	* src/core/piano_roll.cpp:
	optimized paint events

	* data/themes/default/style.css:
	* src/core/automation_editor.cpp:
	* src/core/piano_roll.cpp:
	use styled background

	* src/core/track_container.cpp:
	update display after loading settings

2007-12-07	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/main_window.h:
	* include/song_editor.h:
	* src/core/file_browser.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	use custom modified project indicator, fixed

	* include/bb_editor.h:
	* include/song_editor.h:
	* include/track.h:
	* include/track_container.h:
	* src/core/bb_editor.cpp:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/tracks/pattern.cpp:
	* src/tracks/sample_track.cpp:
	added layouts, fixes scrolling

	* include/track.h:
	* include/track_container.h:
	* src/core/bb_editor.cpp:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/tracks/bb_track.cpp:
	associate track containers with tracks directly

	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	simplified updateAfterTrackAdd() calls

	* data/themes/default/style.css:
	* src/core/track.cpp:
	use style sheet painting

	* include/track.h:
	* src/core/track.cpp:
	removed discouraged repaint()

	* include/bb_editor.h:
	* include/song_editor.h:
	* src/core/bb_editor.cpp:
	* src/core/song_editor.cpp:
	* src/widgets/project_notes.cpp:
	use default close event handler

	* src/core/bb_editor.cpp:
	* src/core/track.cpp:
	removed trivial asserts

	* data/locale/ca.ts:
	updated translation

2007-11-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/plugin.h:
	* include/base64.h:
	* src/lib/base64.cpp:
	fixed loading of base64-encoded data being generated via Qt3-version
	of QDataStream-class

2007-11-27	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/main_window.h:
	* include/song_editor.h:
	* src/core/engine.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	* src/lib/project_journal.cpp:
	added modified project indicator

	* include/ladspa_base.h:
	* include/plugin.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/ladspa_effect/ladspa_subplugin_features.h:
	fixed invalid key segfault

	* src/core/main_window.cpp:
	fixed instrument track visual glitches when loading

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	removed QMdiSubWindow inheritance, fixes MDI focus segfault

	* src/core/track_container.cpp:
	fixed interrupted loading segfault

	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	removed singleton reference

	* src/core/config_mgr.cpp:
	integrated mkPath() calls

	* plugins/ladspa_browser/ladspa_browser.cpp:
	centralized title change

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	reduced dependencies

	* data/locale/ca.ts:
	updated translation

2007-11-26  Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	reverted to old lb302. There is a bug in sound output, will look
	into it, but I'd rather have a working repository

	* data/presets/LB302/Oh Synth.cs.xml:
	new preset

2007-11-24  Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/lb302/lb302.cpp:
	re-enabled lb302 background

	* plugins/lb302/artwork.png:
	updated skin I had sitting around

2007-11-23  Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	reformated code to match code style rules

	* src/widgets/tool_button.cpp:
	improved appearance of toolbar buttons

2007-11-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_browser/ladspa_browser.cpp:
	improved layout

	* src/widgets/tab_bar.cpp:
	- improved layout
	- change icon-size-property for tabButtons in order to make them look
	  as in 0.3.x

2007-11-23	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* Makefile.am:
	* plugins/ladspa_browser/ladspa_browser.cpp:
	* plugins/ladspa_browser/ladspa_browser.h:
	* plugins/ladspa_browser/ladspa_description.cpp:
	* plugins/ladspa_browser/ladspa_description.h:
	* plugins/ladspa_browser/ladspa_port_dialog.cpp:
	* plugins/ladspa_browser/ladspa_port_dialog.h:
	* plugins/ladspa_browser/logo.png:
	* plugins/ladspa_browser/Makefile.am:
	* plugins/Makefile.am:
	resurrected LADSPA browser

	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	minor simplification

	* src/core/song_editor.cpp:
	* src/widgets/automatable_slider.cpp:
	upgraded automatable sliders to Qt4

	* configure.in:
	* include/engine.h:
	* plugins/Makefile.am:
	* src/core/config_mgr.cpp:
	* src/core/engine.cpp:
	removed references to optional LADSPA support

	* data/themes/default/style.css:
	* src/core/main_window.cpp:
	moved workspace background to style sheet

	* src/core/main_window.cpp:
	added workspace scroll bars

	* include/track_container.h:
	* src/core/song_editor.cpp:
	removed obsolete centralWiget()

	* plugins/live_tool/live_tool.cpp:
	* plugins/live_tool/live_tool.h:
	fixed i18n

	* plugins/live_tool/live_tool.cpp:
	cosmetic changes

	* data/locale/ca.ts:
	updated translation

	* resources/*:
	removed unused images

2007-11-22  Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/widgets/text_float.cpp:
	* src/core/track.cpp:
	- fixed segfaults from clicking on track content objects after loading a
	  project.  
	- I don't have a copy of 3.1 to reference, so I don't know where the
	  textFloat is normally displayed.  Feel free to adjust.

2007-11-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/sample_buffer.cpp:
	- duplicate ASCII-string from file.toAscii().constData() in order to not
	  get corrupted - fixes random problems with loading OGG-files
	- sample-visualization now floating-point-based
	
	* src/widgets/combobox.cpp:
	fixed text-drawing

	* src/widgets/led_checkbox.cpp:
	* src/widgets/tab_widget.cpp:
	added workarounds for obviously non-working font-property

	* src/widgets/knob.cpp:
	- knob::drawKnob( ... ) now completely works with floats
	- use anti-aliasing when drawing tick

	* src/tracks/sample_track.cpp:
	fixed painting of sample-TCO's

	* src/core/arp_and_chords_tab_widget.cpp:
	removed obviously non-working comboBox::setFont( ... )-calls

	* src/core/envelope_and_lfo_widget.cpp:
	use line-width of 1.5 instead of 2 for drawing LFO

	* src/core/main.cpp:
	do not set default font-size

	* data/locale/de.ts:
	* data/locale/de.qm:
	fixed German localization

2007-11-20	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/drumsynth.h:
	* licenses/drumsynth.LICENSE:
	* src/lib/drumsynth.cpp:
	relicensed under GPL, thanks to Paul Kellett.

	* src/lib/sample_buffer.cpp:
	fixed Vorbis loading

	* include/effect_label.h:
	* plugins/live_tool/live_tool.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	* src/core/tool.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/project_notes.cpp:
	fixed MDI windows

	* include/main_window.h:
	* src/core/automation_editor.cpp:
	* src/core/main_window.cpp:
	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	fixed non-MDI mode

	* include/automatable_button.h:
	* src/widgets/automatable_button.cpp:
	inherit from QPushButton

	* include/tool.h:
	* plugins/live_tool/live_tool.cpp:
	* plugins/live_tool/live_tool.h:
	* src/core/main_window.cpp:
	* src/core/tool.cpp:
	simplified tool interface

	* plugins/live_tool/live_tool.cpp:
	fixed instrument toggling

	* plugins/live_tool/live_tool.cpp:
	* plugins/live_tool/live_tool.h:
	fixed focus bug

	* include/effect_label.h:
	* src/widgets/effect_label.cpp:
	simplified window management

	* include/effect_label.h:
	* include/main_window.h:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_effect/vst_effect.h:
	* src/core/track_container.cpp:
	reduced dependencies

	* data/samples/drumsynth/misc_bass/Makefile.am:
	* data/samples/drumsynth/misc_claps/Makefile.am:
	* data/samples/drumsynth/misc_electro/Makefile.am:
	* data/samples/drumsynth/misc_fx/Makefile.am:
	* data/samples/drumsynth/misc_hats/Makefile.am:
	* data/samples/drumsynth/misc_perc/Makefile.am:
	* data/samples/drumsynth/misc_synth/Makefile.am:
	* data/samples/drumsynth/r_b/Makefile.am:
	replaced more filenames with underscores, thanks to Vik.

2007-11-20  Paul Giblock <drfaygo/at/gmail/dot/com>

	* src/core/main_window:
	fixed flashing/moving windows on project load 

	* src/core/song_editor.cpp:
	inverted direction of master-volume and master-pitch sliders

2007-11-19  Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/midi_import/midi_import.cpp:
	fixed debugging code so file would compile

2007-11-18	Paul Giblock <drfaygo/at/gmail/dot/com>

	* include/track_container.h:
	removed some obsolete functions

2007-11-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/lvsl_client.cpp:
	fixed usage of QMdiArea instead of QWorkspace

	* include/main_window.h:
	added inclusion of QMdiArea-header

	* include/track_container.h:
	fixed some code to match coding-style-guidelines

	* acinclude.m4:
	reverted Paul's private changes

2007-11-18	Paul Giblock <drfaygo/at/gmail/dot/com>

	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/bass_booster/bass_booster.h:
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.h
	* include/main_window.h:
	* include/instrument_track.h:
	* include/track_container.h:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/project_notes.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/track_container.cpp:
	* src/core/tool.cpp:
	* src/core/file_browser.cpp:
	* src/core/main.cpp:
	* src/core/piano_roll.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	Replaced references to QWorkspace, made everything work with QMdiArea

	* include/main_window.h:
	mainWindow::workspace() now returns a QMdiArea

	* include/rack_plugin.h:
	Add m_subWindow to track QMdiSubWindow independently of the 
	control dialog

	* include/track_container.h:
	Emulate centralWidget by returning this pointer

	* AUTHORS:
	Added Paul Giblock as an author

	* src/core/track_container.cpp:
	Adding a subwindow before the widget is fully constructed causes
	problems: no icon, no geometry, and sometime multiple windows.
	Force each subclass to do their own workspace()->addWindow()

	* src/core/main_window.cpp:
	toggling of subWindows is performed on the parentWidgets. However,
	things like instrumentTrack are actually QMdiSubWindows themselves

2007-11-14	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* configure.in:
	* data/samples/drumsynth/*:
	* data/samples/Makefile.am:
	* include/drumsynth.h:
	* include/sample_buffer.h:
	* licenses/drumsynth.LICENSE:
	* Makefile.am:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* src/lib/drumsynth.cpp:
	* src/lib/sample_buffer.cpp:
	imported DrumSynth from 0.3 branch

	* include/sample_buffer.h:
	* plugins/audio_file_processor/artwork.png:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* src/lib/sample_buffer.cpp:
	dropped dot drawing method

	* src/lib/sample_buffer.cpp:
	- fixed DrumSynth support when missing Vorbis
	- use working line drawing method from 0.3 branch

	* plugins/audio_file_processor/audio_file_processor.cpp:
	fixed sample display

	* src/core/track.cpp:
	* src/core/track_container.cpp:
	fixed track removal segfault

	* data/locale/ca.ts:
	updated translation

2007-11-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/stereo_enhancer/stereo_enhancer.h:
	* plugins/stereo_enhancer/stereo_enhancer.cpp:
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.h:
	* plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
	* plugins/stereo_enhancer/Makefile.am:
	added StereoEnhancer-plugin from
	Lou Herard <lherard /at/ gmail /dot/ com>

2007-11-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/caps/basics.h:
	* plugins/ladspa_effect/caps/interface.cc:
	* configure.in:
	small fixes for cross-compilation

	* Makefile.am:
	* src/core/ladspa_base.cpp:
	removed as obsolete

2007-11-10	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* Makefile.am:
	* include/envelope_and_lfo_widget.h:
	* include/pixmap_button.h:
	* include/spc_bg_hndl_widget.h:
	* include/tab_widget.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/pixmap_button.cpp:
	* src/widgets/tab_widget.cpp:
	removed obsolete specialBgHandlingWidget

	* src/core/main_window.cpp:
	fixed label in save project dialog

	* data/themes/default/style.css:
	* include/track.h:
	* src/core/track.cpp:
	turned more code into style sheet

	* data/themes/default/style.css:
	* src/core/track.cpp:
	reverted positioning in style sheet

	* data/themes/default/style.css:
	restricted style inheritance

	* plugins/bass_booster/bassbooster_control_dialog.cpp:
	* plugins/flp_import/unrtf/parse.c:
	* plugins/vestige/vestige.h:
	* plugins/vst_effect/vst_control_dialog.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	removed Qt3 code

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/vestige/vestige.cpp:
	reduced dependencies

	* plugins/bit_invader/bit_invader.cpp:
	removed deprecated code

2007-11-06	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/track.h:
	* src/core/track.cpp:
	optimized trackOperationsWidget paint event

	* data/themes/default/style.css:
	* src/core/track.cpp:
	turned some code into style sheet

2007-11-03	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/singerbot/singerbot_proxy.cpp:
	initial release, separate process to deal with Festival

	* plugins/singerbot/file.h:
	initial release, file descriptor wrapper

	* plugins/singerbot/Makefile.am:
	* plugins/singerbot/singerbot.cpp:
	* plugins/singerbot/singerbot.h:
	use external proxy

	* include/main_window.h:
	* src/core/main_window.cpp:
	upgraded recently opened files feature

	* include/main_window.h:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	fixed recently opened files segfault

	* include/mmp.h:
	* src/lib/mmp.cpp:
	simplified save extension handling

	* src/core/song_editor.cpp:
	* src/lib/mmp.cpp:
	fixed recently opened files bug (#1800364)

	* data/themes/default/style.css:
	* data/themes/Makefile.am:
	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	* src/core/main_window.cpp:
	added style sheet support

	* include/caption_menu.h:
	* src/widgets/caption_menu.cpp:
	initial release, context menu with a caption

	* plugins/vibed/impulse_editor.cpp:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/vibed.cpp:
	* src/core/piano_widget.cpp:
	* src/core/surround_area.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	use caption menu

	* src/core/main_window.cpp:
	set workspace's background with its own method

	* acinclude.m4:
	* include/file_browser.h:
	* src/core/file_browser.cpp:
	* src/core/main_window.cpp:
	replaced Qt3-based file browser implementation

	* src/core/file_browser.cpp:
	enabled match in directory content filter

	* src/widgets/automatable_slider.cpp:
	fixed mouse release segfault

	* acinclude.m4:
	* src/core/main.cpp:
	assume Qt translations are properly configured

	* src/core/main.cpp:
	use standard return values

	* src/core/config_mgr.cpp:
	removed line breaks inside paragraphs, wrapping should work

	* src/audio/audio_alsa.cpp:
	* src/midi/midi_alsa_seq.cpp:
	removed discouraged alloca calls

	* include/main_window.h:
	* include/rack_plugin.h:
	* plugins/bass_booster/bass_booster.h:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_effect/vst_effect.h:
	* src/core/automation_editor.cpp:
	* src/core/file_browser.cpp:
	* src/core/main_window.cpp:
	* src/core/piano_roll.cpp:
	* src/core/surround_area.cpp:
	* src/core/tool.cpp:
	* src/core/track_container.cpp:
	* src/tracks/instrument_track.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/project_notes.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	reduced include dependencies

	* plugins/flp_import/unrtf/attr.c:
	* plugins/flp_import/unrtf/attr.h:
	* plugins/flp_import/unrtf/convert.c:
	* plugins/flp_import/unrtf/error.c:
	* plugins/flp_import/unrtf/error.h:
	* plugins/flp_import/unrtf/html.c:
	* plugins/flp_import/unrtf/malloc.c:
	* plugins/flp_import/unrtf/malloc.h:
	* plugins/flp_import/unrtf/output.c:
	* plugins/flp_import/unrtf/output.h:
	* src/audio/audio_file_ogg.cpp:
	replaced deprecated string conversions

	* plugins/lb302/lb302.cpp:
	* src/widgets/kmultitabbar.cpp:
	fixed different signedness comparison

	* plugins/lb302/lb302.cpp:
	* plugins/midi_import/midi_import.cpp:
	commented out unused variables

	* plugins/flp_import/unrtf/convert.c:
	replaced empty conditional

	* src/widgets/kmultitabbar.cpp:
	added copyright notice

	* src/core/automation_pattern.cpp:
	* src/core/config_mgr.cpp:
	* src/core/import_filter.cpp:
	* src/core/ladspa_manager.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/lib/sample_buffer.cpp:
	* src/midi/midi_mapper.cpp:
	* src/widgets/tab_bar.cpp:
	* src/widgets/text_float.cpp:
	removed old undefs

	* configure.in:
	readded unsafe-loop-optimizations warning

	* data/locale/ca.ts:
	updated translation

	* data/locale/qt_*.qm:
	removed old Qt3 translations

2007-10-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/note_play_handle.cpp:
	fixed crash in case of framesLeft() being less or equal zero while
	instrument::playNote is being called (e.g. when decreasing release
	while a note is active)

2007-10-04	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* configure.in:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_server.cpp:
	* plugins/vst_base/Makefile.am:
	* src/lib/journalling_object.cpp:
	amd64 fixes

	* plugins/vestige/vestige.cpp:
	fixed loading deadlock

	* plugins/vst_base/Makefile.am:
	renamed lvsl_server.c to lvsl_server.cpp

	* plugins/vst_base/lvsl_server.cpp:
	restricted shared memory permissions

	* plugins/vst_base/communication.h:
	improved string communication

	* configure.in:
	look for wine header in system folder too

	* configure.in:
	* Makefile.am:
	* plugins/Makefile.am:
	added extra plugins support

	* include/main_window.h:
	* src/core/main_window.cpp:
	use desktop services for online help

	* src/core/main_window.cpp:
	- use background artwork
	- updated wiki URL

	* src/core/automation_editor.cpp:
	* src/core/piano_roll.cpp:
	* src/tracks/instrument_track.cpp:
	* src/widgets/effect_label.cpp:
	fixed null workspace segfaults

	* plugins/stk/mallets/mallets.cpp:
	enabled missing files message

	* src/core/main.cpp:
	use processed argc/argv rather than deprecated functions

	* plugins/singerbot/singerbot.cpp:
	detected heap corruption

	* data/locale/ca.ts:
	updated translation

	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/polyb302.h:
	dropped Qt3-support

	* plugins/polyb302/polyb302.cpp:
	applied relevant LB302 changes

2007-09-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mixer.h:
	* include/visualization_widget.h:
	* src/core/mixer.cpp:
	* src/widget/visualization_widget.cpp:
	reworked code for retrieving current mixer-buffer for visualizing it -
	do not use signal/slot-mechanism for passing pointer and use
	currentReadBuffer() + mixer-mutex instead which probably fixes some
	mixer-related crashes

	* src/widget/effect_label.cpp:
	set window-title for effect-chain-windows of a sample-track etc.

2007-09-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* include/effect_select_dialog.h:
	* src/core/effect_select_dialog.cpp:
	replaced Q3ListBox with QListWidget and made layouting-stuff of
	plugin-description-widget working properly

	* data/locale/de.ts:
	fixed some strings in German localization

2007-09-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/patman/patman.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	cleanups

	* plugins/ladspa_base:
	* plugins/ladspa_base/Makefile.am:
	removed

	* configure.in:
	* Makefile.am:
	* plugins/ladspa_effect/Makefile.am:
	* src/core/engine.cpp:
	* src/core/ladspa_base.cpp:
	* src/core/ladspa_port_dialog.cpp:
	* src/core/ladspa_2_lmms.cpp:
	* src/core/ladspa_manager.cpp:
	* src/core/ladspa_control.cpp:
	* include/ladspa_manager.h:
	* include/ladspa_2_lmms.h:
	* include/ladspa_control.h:
	* include/ladspa_port_dialog.h:
	* include/ladspa_base.h:
	moved all code from LADSPA-base-library into LMMS-core

2007-09-02	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/project_notes.h:
	* src/widgets/project_notes.cpp:
	made usable with Qt4

2007-08-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/ladspa_effect/ladspa_control_dialog.h:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/organic/organic.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/bit_invader/graph.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/graph.h:
	* plugins/vst_effect/vst_effect.h:
	* plugins/vibed/graph.cpp:
	* plugins/vibed/impulse_editor.h:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/vibed.h:
	* plugins/vibed/graph.h:
	* plugins/vibed/string_container.h:
	* plugins/vibed/impulse_editor.cpp:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/singerbot/singerbot.h:
	* plugins/singerbot/singerbot.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/ladspa_base/ladspa_manager.cpp:
	* plugins/ladspa_base/ladspa_2_lmms.h:
	* plugins/ladspa_base/ladspa_manager.h:
	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_base/ladspa_port_dialog.cpp:
	* plugins/ladspa_base/ladspa_control.h:
	* plugins/ladspa_base/ladspa_port_dialog.h:
	* plugins/ladspa_base/ladspa_2_lmms.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	* plugins/vestige/vestige.cpp:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_client.h:
	* plugins/kicker/kicker.cpp:
	* plugins/Makefile.am:
	* plugins/flp_import/flp_import.h:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.h:
	* plugins/midi_import/midi_import.cpp:
	* include/mmp.h:
	* include/knob.h:
	* include/cpuload_widget.h:
	* include/fade_button.h:
	* include/templates.h:
	* include/automatable_slider.h:
	* include/lcd_spinbox.h:
	* include/track.h:
	* include/spc_bg_hndl_widget.h:
	* include/note.h:
	* include/tool_button.h:
	* include/embed.h:
	* include/name_label.h:
	* include/midi_alsa_raw.h:
	* include/gui_templates.h:
	* include/visualization_widget.h:
	* include/tab_widget.h:
	* include/config_mgr.h:
	* include/midi_tab_widget.h:
	* include/import_filter.h:
	* include/mixer.h:
	* include/instrument_track.h:
	* include/audio_port.h:
	* include/instrument.h:
	* include/text_float.h:
	* include/piano_widget.h:
	* include/sample_buffer.h:
	* include/effect_select_dialog.h:
	* include/automation_pattern.h:
	* include/midi_mapper.h:
	* include/nstate_button.h:
	* include/plugin.h:
	* include/clipboard.h:
	* include/note_play_handle.h:
	* include/side_bar.h:
	* include/rack_view.h:
	* include/pattern.h:
	* include/string_pair_drag.h:
	* include/audio_file_device.h:
	* include/kmultitabbar.h:
	* include/file_browser.h:
	* include/base64.h:
	* include/audio_jack.h:
	* include/about_dialog.h:
	* include/piano_roll.h:
	* include/group_box.h:
	* include/envelope_tab_widget.h:
	* include/rubberband.h:
	* include/bb_track.h:
	* include/song_editor.h:
	* include/project_notes.h:
	* include/effect_tab_widget.h:
	* include/kmultitabbar-qt3.h:
	* include/automatable_button.h:
	* include/midi_alsa_seq.h:
	* include/tab_button.h:
	* include/journalling_object.h:
	* include/setup_dialog.h:
	* include/export_project_dialog.h:
	* include/rename_dialog.h:
	* include/pixmap_button.h:
	* include/tab_bar.h:
	* include/effect_label.h:
	* include/automatable_object_templates.h:
	* include/sample_track.h:
	* include/timeline.h:
	* include/surround_area.h:
	* include/main_window.h:
	* include/audio_device.h:
	* include/midi_client.h:
	* include/automatable_object.h:
	* include/automation_editor.h:
	* include/midi_port.h:
	* include/audio_sample_recorder.h:
	* include/bb_editor.h:
	* include/effect_chain.h:
	* include/arp_and_chords_tab_widget.h:
	* include/project_journal.h:
	* include/plugin_browser.h:
	* include/envelope_and_lfo_widget.h:
	* include/preset_preview_play_handle.h:
	* include/qt3support.h:
	* include/track_container.h:
	* include/combobox.h:
	* include/side_bar_widget.h:
	* include/play_handle.h:
	* include/qxembed.h:
	* include/xqmap.h:
	* configure.in:
	* src/audio/audio_file_device.cpp:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_jack.cpp:
	* src/midi/midi_client.cpp:
	* src/midi/midi_mapper.cpp:
	* src/midi/midi_oss.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/midi/midi_alsa_raw.cpp:
	* src/lib/string_pair_drag.cpp:
	* src/lib/base64.cpp:
	* src/lib/mmp.cpp:
	* src/lib/journalling_object.cpp:
	* src/lib/sample_buffer.cpp:
	* src/lib/embed.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/visualization_widget.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/rubberband.cpp:
	* src/widgets/tool_button.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/text_float.cpp:
	* src/widgets/tab_widget.cpp:
	* src/widgets/rack_view.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/side_bar_widget.cpp:
	* src/widgets/project_notes.cpp:
	* src/widgets/volume_knob.cpp:
	* src/widgets/kmultitabbar.cpp:
	* src/widgets/qxembed.cpp:
	* src/widgets/rename_dialog.cpp:
	* src/widgets/pixmap_button.cpp:
	* src/widgets/nstate_button.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/widgets/fade_button.cpp:
	* src/widgets/cpuload_widget.cpp:
	* src/widgets/tab_bar.cpp:
	* src/widgets/tooltip.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/core/plugin.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/plugin_browser.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/core/config_mgr.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/import_filter.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/file_browser.cpp:
	* src/core/main.cpp:
	* src/core/mixer.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/about_dialog.cpp:
	* src/core/piano_roll.cpp:
	* src/core/track.cpp:
	* src/core/engine.cpp:
	* src/core/note.cpp:
	* src/core/timeline.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/surround_area.cpp:
	* src/core/piano_widget.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/name_label.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	* acinclude.m4:
	* Makefile.am:
	dropped Qt3-support and improved Qt4-support

2007-08-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	bumped to 0.4.x development series

2007-08-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* README:
	* lmms.spec.in:
	finally made 0.3.0 release :)

	* Makefile.am:
	added missing entry for 3rd-party samplerate.h

	* data/projects/cool_songs/Makefile.am:
	* data/projects/covers/Makefile.am:
	* data/projects/demos/Makefile.am:
	* data/projects/misc/Makefile.am:
	* data/projects/tutorials/Makefile.am:
	added missing mmpz-wildcard

	* data/projects/covers/MonkeyIsland1-Intro.mmpz:
	another cool cover

	* data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp:
	removed

	* data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz:
	reworked

	* data/projects/demos/demo1.mmp:
	* data/projects/demos/demo2.mmp:
	* data/projects/demos/demo3.mmp:
	* data/projects/cool_songs/Siegel-DreamWave.mmp:
	updated

	* data/projects/misc/lb302quick.mmp:
	* data/projects/demos/basses-demo.mmp:
	removed because of really low-quality and/or duplicate

	* data/projects/demos/lb302quick.mmpz:
	added another demo

	* data/projects/cool_songs/StrictProduction-Lamentelnes.mmp:
	* data/projects/cool_songs/StrictProduction-DearJonDoe.mmp:
	* data/projects/cool_songs/OrtalDj-FirstProyect.mmp:
	* data/projects/cool_songs/Siegel-SpeedTrack.mmp:
	* data/projects/cool_songs/Chris-RaveRiff.mmpz:
	* data/projects/cool_songs/MysthR-Living.mmpz:
	* data/projects/cool_songs/j1m-DingDong.mmp:
	* data/projects/cool_songs/BlueWolf-DreamTravel.mmp:
	* data/projects/cool_songs/Silva-ElvesCall.mmp:
	added some more really cool projects

	* data/samples/drums/bassdrum04.ogg:
	resampled to end at zero-level - fixes clicks in some projects

	* data/samples/drums/nasty_bass01.ogg:
	* data/samples/drums/nasty_snare01.ogg:
	* data/samples/drums/rim01.ogg:
	* data/samples/drums/ride02.ogg:
	* data/samples/drums/nasty_rim01.ogg:
	* data/samples/drums/hihat_opened03.ogg
	* data/samples/misc/applause01.ogg:
	added samples

	* data/presets/TripleOscillator/SawLead.cs.xml:
	* data/presets/TripleOscillator/SawLead2.cs.xml:
	* data/presets/TripleOscillator/HardClipping.cs.xml:
	* data/presets/TripleOscillator/PowerStrings.cs.xml:
	* data/presets/TripleOscillator/SquareLead.cs.xml:
	* data/presets/TripleOscillator/SquareLead2.cs.xml:
	added some presets

	* plugins/lb302/lb302.cpp:
	removed debug-out

	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/bit_invader/bit_invader.cpp:
	added applyRelease(...)-call in playNote(...) and
	re-implemented desiredReleaseFrames()-method

	* include/mmp.h:
	* src/lib/mmp.cpp:
	* src/tracks/instrument_track.cpp:
	* src/core/main_window.cpp:
	* src/core/song_editor.cpp:
	fixed some bugs concerning recent-files-list

2007-08-20	dieEasy <dieeasy/at/cheapnet/dot/it>

	* data/locale/it.ts:
	updated Italian localization-file

2007-08-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/de.ts:
	* data/locale/de.qm:
	updated German localization-file

	* Makefile.am:
	fixed command for updating TS-files

	* include/config_mgr.h:
	* include/main_window.h:
	* src/core/config_mgr.cpp:
	* src/core/main_window.cpp:
	added support for "Recently opened files"-menu

	* src/core/main_window.cpp:
	- cleanups
	- limit x-coordinate of a widget to be >= 0 in
	  mainWindow::restoreWidgetState( ... ) - fixes bug with appearently
	  inacccessible title-bars of piano-roll, song-editor etc. after
	  loading project

	* include/config_mgr.h:
	* src/core/engine.cpp:
	also destroy config-manager at engine::destroy()

	* src/audio/audio_jack.cpp:
	added define for support for per-track audio-ports - almost works
	except that the buffers of the audio-port are already cleared again at
	the time the callback fills the buffers - will need an additional
	buffer in audio-ports or something like that

	* src/core/mixer.cpp:
	* src/lib/journalling_object.cpp:
	* src/lib/project_journal.cpp:
	* src/widgets/knob.cpp:
	removed debug-out

	* plugins/patman/patman.cpp:
	set directory of sample-selection-dialog to /usr/share/midi/freepats
	if it exists

	* configure.in:
	* plugins/Makefile.am:
	* plugins/vibed/vibed.cpp:
	* lib/src/mmp.cpp:
	replaced obsolete PluckedStringSynth with Vibed

	* configure.in:
	* plugins/Makefile.am:
	removed Polyb302 from build as the same results can be achieved either
	via (improved and maintained) LB302 or TripleOsc+filter - Polyb302
	just increases redundancy and adds extra maintainance-work

	* plugins/stk/mallets/mallets.cpp:
	do not crash if Stk-files are missing

2007-08-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	- rewrote code for monophonic behaviour (calculation of position at
	  which to resume states etc.)
	- added some debugging-stuff
	
	* src/core/mixer.cpp:
	remove play-handles *after* we played all play-handles

	* src/tracks/instrument_track.cpp:
	fixed a bug in monophonic behaviour

2007-08-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/instrument.h:
	* src/tracks/instrument_track.cpp:
	reverted previous changes (behaviour with monophonic instruments)

2007-08-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	use new applyRelease()-method

	* include/instrument.h:
	* src/core/instrument.cpp:
	added method instrument::applyRelease( ... ) which applies a release
	on given buffer according to the value returned by
	desiredReleaseFrames() - instruments can use this easily by simply
	calling this method before calling
	getInstrumentTrack()->processAudioBuffer()

	* src/core/preset_preview_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	use only half of valueRange<f_cnt_t>::max because otherwise we have
	overflows at several places

	* src/core/note_play_handle.cpp:
	fixed framesLeft()-method to return correct values if plugin has
	desiredReleaseFrames() > 0

	* include/note_play_handle.h:
	cleanups

	* configure.in:
	bumped to 0.3.0-rc2

	* src/lib/mmp.cpp:
	added more compat-code to upgrade() for being able to properly open
	files created by 0.0.9 and the whole 0.1.x-series

	* plugins/flp_import/flp_import.cpp:
	* include/arp_and_chords_tab_widget.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/lib/mmp.cpp:
	cleaned up all the arpeggio-direction-hacks - now the values are UP
	(0) to RANDOM (3) at *all* places - required some compat-hacks in
	mmp-upgrade()-method

	* include/file_browser.h:
	* src/core/file_browser.cpp:
	protect m_previewPlayHandle with mutex - fixes crash when releasing
	mouse button on preset-file with VST-plugin/-effect while VST-plugin
	is still loading

2007-08-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widget/visualization_widget.cpp:
	proper visualization even with period-sizes < 128

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/patman/patman.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/polyb302/polyb302.cpp:
	* plugins/singerbot/singerbot.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/vibed/vibed.cpp:
	removed check for framesLeftForCurrentPeriod() being zero - fixed by
	patch below

	* src/tracks/instrument_track.cpp:
	- acquire mixer-lock while calling noteOff() in
	  instrumentTrack::processInEvent( ... ) - fixes asynchronously
	  modifications of variables in notePlayHandle which led to segfaults in
	  some cases
	- when encountering old running notes on monophonic instruments only
	  clear the part of the audio-port-buffer where the new note will be
	  mixed in

2007-08-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/patman/patman.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/polyb302/polyb302.cpp:
	* plugins/singerbot/singerbot.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/vibed/vibed.cpp:
	added check for framesLeftForCurrentPeriod() being zero - fixes
	segfault in some cases

	* src/tracks/instrument_track.cpp:
	- do not simply pass-through _frames-parameter, use
	  notePlayHandle::framesLeftForCurrentPeriod() if possible
	- disabled basic envelopes for the time being
	- better handling of monophonic instruments
	- do not play new notePlayHandles directly, set offset instead and let
	  mixer manage the rest

	* src/tracks/sample_track.cpp:
	do not play new samplePlayHandles directly, set offset instead and let
	mixer manage the rest

	* include/note_play_handle.h:
	- removed framesAhead-property - now replaced by offset-property of
	  base-class
	- introduced methods framesLeft() and framesLeftForCurrentPeriod() -
	  proper usage of them in plugins etc. fixes more clicks/pops especially
	  in monophonic instruments (LB302!)

	* src/core/mixer.cpp:
	call songEditor::processNextBuffer() *before* playing all play-handles

	* src/core/mixer.cpp:
	* include/mixer.h:
	extended clearAudioBuffer()-methods by offset

	* include/play_handle.h:
	added offset-property

	* include/mixer.h:
	* most other files:
	renamed "framesPerAudioBuffer()" to "framesPerPeriod()"

	* include/types.h:
	* most other files:
	renamed type "fpab_t" to "fpp_t"

2007-07-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/singerbot/singerbot.h:
	* include/sample_buffer.h:
	* include/audio_device.h:
	* configure.in:
	* acinclude.m4:
	* Makefile.am:
	use 3rd-party code if libsamplerate is not available on system

	* src/3rdparty/samplerate/src_linear.c:
	* src/3rdparty/samplerate/samplerate.h:
	* src/3rdparty/samplerate/fastest_coeffs.h:
	* src/3rdparty/samplerate/src_sinc.c:
	* src/3rdparty/samplerate/float_cast.h:
	* src/3rdparty/samplerate/mid_qual_coeffs.h:
	* src/3rdparty/samplerate/src_zoh.c:
	* src/3rdparty/samplerate/high_qual_coeffs.h:
	* src/3rdparty/samplerate/samplerate.c:
	* src/3rdparty/samplerate/common.h:
	added libsamplerate-source-code

2007-07-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	- made 0.3.0-rc1 release
	- replaced "+=" operator by according X="$X ..." constructs as older
	  bashes have problems with it

	* configure.in:
	* Makefile.am:
	* include/audio_device.h:
	* include/sample_buffer.h:
	* src/audio/audio_device.cpp:
	* src/lib/sample_buffer.cpp:
	removed already broken support for building LMMS without libsamplerate

	* acinclude.m4:
	disabled Qt4-support - re-enable it / rewrite Qt4-detection code in
	0.4.x-devel-branch

2007-07-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/midi_import/midi_import.h:
	* plugins/midi_import/midi_import.cpp:
	- when adding notes to pattern *never* let them be quantized - fixes
	  bug where notes of imported MIDI-files were not where they should have
	  been
	- added support for tempo-change-events by modifying
	  automation-pattern of tempo-knob of track-container (if such exists)
	- import track-names
	- proper handling of time-base, -division etc.

	* include/midi.h:
	added midiMetaEvents-enum

	* include/song_editor.h:
	* include/track_container.h:
	* src/core/song_editor.cpp:
	added virtual tempoAutomationPattern()-method which returns
	automation-pattern of tempo-object (i.e. bpmSpinBox) if such exists
	for a certain track-container

	* include/automation_pattern.h:
	- added non-const version of object()-method
	- made lot of other methods const

2007-07-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mixer.h:
	* src/core/mixer.cpp:
	added more mutexes to protect all important data-structures more
	granularly and safely - fixes some potential segfaults

	* src/tracks/instrument_track.cpp:
	- lock mixer while loading instrument / track-specific settings - fixes
	  segfault when dragging preset/instrument plugin to existing track
	  while playing
	- remove effects in loadTrackSpecificSettings() if none were in preset
	  (e.g. old preset-file)

	* include/rack_view.h:
	* include/effect_tab_widget.h:
	* src/widgets/rack_view.cpp:
	- delete all existing plugins before adding new ones in
	  rackView::loadSettings()
	- cleanups

	* configure.in:
	cleanups

2007-07-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* lmms.spec.in:
	merged changes found in
	https://sourceforge.net/tracker/download.php?group_id=105168&atid=640436&file_id=225331&aid=1702303

	* configure.in:
	- cleaned up and improved detection of WINE-development-files and/or
	  single components of it and removed aeffectx.h-detection-stuff as
	  not needed anymore
	- changed warning on missing STK-files
	- several improvements of output-texts

2007-07-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	- removed unsafe flags
	- disabled single-source-compiling per default

	* src/audio/audio_port.cpp:
	initialize all member-variables in initialization-list of
	audioPort-constructor - this way the audio-port isn't being added to
	the mixer before it's completely initialized - fixes some segfaults

	* include/midi.h:
	* plugins/midi_import/midi_import.h:
	* plugins/midi_import/midi_import.cpp:
	- initial incomplete handling for tempo-events
	- properly aligned imported notes

2007-07-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	fixed logical error in mixer::renderNextBuffer() which led to lot of
	clicks and pops when using parallelization-level > 1

	* include/note_play_handle.h:
	* src/tracks/instrument_track-cpp:
	fixed broken detection of last period of a note which resulted in
	clicks and pops as the soft fade-out at the end sometimes was done twice

2007-05-12	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/clipboard.h:
	* include/mmp.h:
	* include/note.h:
	* include/piano_roll.h:
	* src/core/note.cpp:
	* src/core/piano_roll.cpp:
	* src/lib/clipboard.cpp:
	* src/lib/mmp.cpp:
	use the global clipboard to copy notes

	* include/group_box.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/lib/mmp.cpp:
	* src/widgets/group_box.cpp:
	save groupbox automation

	* include/surround_area.h:
	* src/core/surround_area.cpp:
	* src/core/track.cpp:
	* src/lib/mmp.cpp:
	calculate volume vector in a more consistent way

	* src/core/track.cpp:
	fixed drag track onto another segfault

	* include/piano_widget.h:
	* src/core/piano_widget.cpp:
	fixed release invalid key segfault

	* src/tracks/instrument_track.cpp:
	fixed freeze pattern segfault

	* include/preset_preview_play_handle.h:
	* src/core/engine.cpp:
	* src/core/preset_preview_play_handle.cpp:
	fixed uninitialized preset preview container segfault

	* include/main_window.h:
	* src/core/main_window.cpp:
	added Qt4 menu implementations

	* include/file_browser.h:
	* include/qt3support.h:
	* src/core/file_browser.cpp:
	fixed Qt4 context menu

	* data/locale/ca.ts:
	* src/tracks/pattern.cpp:
	hide irrelevant freeze options from context menu

2007-05-07	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/audio_jack.h:
	* include/effect.h:
	* include/effect_chain.h:
	* include/envelope_and_lfo_widget.h:
	* include/instrument_track.h:
	* include/mixer.h:
	* include/pattern.h:
	* include/sample_buffer.h:
	* include/shared_object.h:
	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_base/ladspa_control.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* src/audio/audio_jack.cpp:
	* src/core/effect.cpp:
	* src/core/effect_chain.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/file_browser.cpp:
	* src/core/mixer.cpp:
	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/lib/oscillator.cpp:
	* src/lib/sample_buffer.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	- removed process locks
	- use mixer lock if necessary

	* include/detuning_helper.h:
	initial release, light replacement for the note detuning knob

	* Makefile.am:
	* include/automatable_object.h:
	* include/automatable_object_templates.h:
	* include/note.h:
	* include/note_play_handle.h:
	* src/core/note.cpp:
	* src/core/note_play_handle.cpp:
	use detuning helpers

	* Makefile.am:
	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	dropped QObject inheritance

	* include/note_play_handle.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/note_play_handle.cpp:
	simplified subnote creation

	* include/pattern.h:
	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	* src/tracks/instrument_track.cpp:
	note list became read-only

	* include/oscillator.h:
	* plugins/organic/organic.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* src/lib/oscillator.cpp:
	use references instead of pointers

	* include/oscillator.h:
	* include/sample_buffer.h:
	use read-only user waveform

	* include/custom_events.h:
	initial release, custom events list

	* include/update_event.h:
	initial release, allow thread-safe GUI updates

	* Makefile.am:
	* include/fade_button.h:
	* include/piano_widget.h:
	* src/core/piano_widget.cpp:
	* src/widgets/fade_button.cpp:
	use thread-safe GUI updates

	* include/automation_editor.h:
	* include/piano_roll.h:
	* src/core/automation_editor.cpp:
	* src/core/piano_roll.cpp:
	simplified paint event

	* include/instrument.h:
	* include/instrument_play_handle.h:
	* include/mixer.h:
	* include/note_play_handle.h:
	* include/play_handle.h:
	* include/preset_preview_play_handle.h:
	* include/sample_play_handle.h:
	* include/track.h:
	* plugins/vestige/vestige.cpp:
	* src/core/instrument.cpp:
	* src/core/mixer.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/sample_play_handle.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	simplified handle removal

	* include/mixer.h:
	- removed duplicate playHandles()
	- removed unnecessary private copy constructor

	* include/track.h:
	* include/track_container.h:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	simplified track clonation

	* include/track.h:
	* src/core/track.cpp:
	simplified track removal

	* include/instrument_track.h:
	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	- moved piano widget control to instrument track
	- calculate frequencies in note play handle

	* include/note_play_handle.h:
	* plugins/organic/organic.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	public note frequency became read-only

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/patman/patman.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/polyb302/polyb302.cpp:
	* plugins/singerbot/singerbot.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/vibed/vibed.cpp:
	use precalculated note frequency

	* include/automatable_object_templates.h:
	reduced XML size for single-valued patterns

	* src/core/automation_pattern.cpp:
	* src/tracks/automation_pattern.cpp:
	- moved to core
	- initialize copy constructor

	* include/automation_pattern.h:
	* src/core/automation_pattern.cpp:
	- show read-only data
	- disconnect single-valued patterns from track

	* include/level_object.h:
	* src/core/automation_pattern.cpp:
	added display name

	* include/project_version.h:
	* src/lib/project_version.cpp:
	initial release, compare application versions

	* include/mmp.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/song_editor.cpp:
	* src/lib/mmp.cpp:
	* src/tracks/sample_track.cpp:
	added upgrade feature

	* Makefile.am:
	* src/lmms_single_source.cpp:
	- moved automation pattern to core
	- added project version

	* include/arp_and_chords_tab_widget.h:
	* include/audio_jack.h:
	* include/audio_oss.h:
	* include/audio_port.h:
	* include/audio_sdl.h:
	* include/automatable_slider.h:
	* include/automation_editor.h:
	* include/automation_pattern.h:
	* include/config_mgr.h:
	* include/effect.h:
	* include/effect_control_dialog.h:
	* include/effect_label.h:
	* include/effect_tab_widget.h:
	* include/engine.h:
	* include/envelope_tab_widget.h:
	* include/fifo_buffer.h:
	* include/instrument.h:
	* include/instrument_track.h:
	* include/level_object.h:
	* include/main_window.h:
	* include/meter_dialog.h:
	* include/midi_dummy.h:
	* include/midi_event_processor.h:
	* include/midi_port.h:
	* include/mixer.h:
	* include/note_play_handle.h:
	* include/pattern.h:
	* include/piano_roll.h:
	* include/piano_widget.h:
	* include/plugin.h:
	* include/preset_preview_play_handle.h:
	* include/rack_plugin.h:
	* include/rack_view.h:
	* include/sample_play_handle.h:
	* include/sample_track.h:
	* include/side_bar.h:
	* include/surround_area.h:
	* include/tempo_sync_knob.h:
	* include/tool.h:
	* include/track_container.h:
	* include/volume_knob.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bass_booster/bassbooster_control_dialog.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/flp_import/flp_import.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_base/ladspa_control.h:
	* plugins/ladspa_base/ladspa_manager.h:
	* plugins/ladspa_effect/ladspa_control_dialog.h:
	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* plugins/organic/organic.cpp:
	* plugins/patman/patman.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/polyb302.h:
	* plugins/singerbot/singerbot.cpp:
	* plugins/singerbot/singerbot.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	* plugins/vibed/impulse_editor.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/vst_effect/vst_control_dialog.cpp:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* src/core/automation_pattern.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/core/piano_widget.cpp:
	* src/core/plugin.cpp:
	* src/core/surround_area.cpp:
	* src/core/track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	reduced dependencies

	* plugins/ladspa_base/ladspa_manager.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* src/audio/audio_port.cpp:
	* src/core/engine.cpp:
	* src/midi/midi_client.cpp:
	* src/tracks/instrument_track.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/rack_view.cpp:
	fixed memory leaks

	* include/automatable_object_templates.h:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/singerbot/singerbot.cpp:
	* plugins/vibed/vibrating_string.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/lib/sample_buffer.cpp:
	simplified deletions

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	improved destructor workaround (still a workaround)

	* src/core/timeline.cpp:
	avoid invalid reference

	* src/core/config_mgr.cpp:
	removed invariant condition

	* src/core/automation_editor.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/piano_roll.cpp:
	reordered inline functions

	* src/core/plugin.cpp:
	initialize dummy plugin subfeatures

	* include/effect_chain.h:
	* src/core/effect_chain.cpp:
	- normalized destructor
	- renamed deleteEffect() to removeEffect(), the effect isn't deleted
	  actually
	- simplified removeEffect()

	* src/widgets/rack_view.cpp:
	simplified deletePlugin()

	* include/rack_plugin.h:
	* src/widgets/rack_plugin.cpp:
	- fixed hot insertion/removal
	- simplified context menu

	* src/lib/project_journal.cpp:
	initialize journalling state

	* include/arp_and_chords_tab_widget.h:
	arpeggio directions are public

	* src/core/midi_tab_widget.cpp:
	spin boxes are initially disabled

	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	disabled link automation

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	- save/load start/end knobs automation
	- don't reset start/end knob values when changing the sample file
	- removed unused setStartAndEndKnob()

	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/polyb302.h:
	removed slide toggle

	* include/effect_label.h:
	* src/widgets/effect_label.cpp:
	- delete related effect window
	- display label text

	* include/audio_device.h:
	* include/audio_dummy.h
	* include/midi_client.h:
	* include/midi_dummy.h:
	hide empty settings box

	* include/pattern.h:
	* plugins/flp_import/flp_import.cpp:
	* src/tracks/pattern.cpp:
	- simplified beat insertion/display
	- removed unused functions

	* include/mixer.h:
	* src/tracks/pattern.cpp:
	render note tails in frozen patterns

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	added oscillator objects

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	- normalized member names
	- simplified waveshape selection

	* include/automatable_object.h:
	* include/knob.h:
	* src/widgets/knob.cpp:
	* src/widgets/volume_knob.cpp:
	removed automatable object custom data

	* plugins/singerbot/singerbot.cpp:
	* plugins/singerbot/singerbot.h:
	- reworked play process without sample buffers
	- retry wave generation on damaged environment

	* configure.in:
	* plugins/ladspa_effect/Makefile.am:
	added --without-caps configure option

	* configure.in:
	added extra compilation warnings

	* include/qt3support.h:
	removed (non-)bug comment

	* data/locale/ca.ts:
	updated translation

2007-04-25	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/basic_filters.h:
	* plugins/flp_import/flp_import.cpp:
	* src/core/envelope_tab_widget.cpp:
	simplified filtering

	* plugins/vst_base/lvsl_server.c:
	clear output buffers before processing

	* plugins/vestige/vestige.cpp:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_client.h:
	fixed sample rate change

	* data/locale/ca.ts:
	updated translation

2007-04-24	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/buffer_allocator.h:
	* src/lib/buffer_allocator.cpp:
	removed, obsoleted by small audio buffers

	* Makefile.am:
	* include/audio_device.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/lb302/lb302.cpp:
	* plugins/organic/organic.cpp:
	* plugins/patman/patman.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/polyb302/polyb302.cpp:
	* plugins/singerbot/singerbot.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/stk/mallets/mallets.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibrating_string.cpp:
	* plugins/vibed/vibrating_string.h:
	* plugins/vst_effect/vst_effect.cpp:
	* src/lmms_single_source.cpp:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_device.cpp:
	* src/audio/audio_file_device.cpp:
	* src/audio/audio_file_wave.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_port.cpp:
	* src/audio/audio_sample_recorder.cpp:
	* src/audio/audio_sdl.cpp:
	* src/core/main_window.cpp:
	* src/core/mixer.cpp:
	* src/core/sample_play_handle.cpp:
	* src/tracks/pattern.cpp:
	* src/widgets/visualization_widget.cpp:
	removed buffer allocator

	* include/automatable_object_templates.h:
	initial release, templates extracted from automatable_object.h

	* Makefile.am:
	* include/automatable_object.h:
	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/patman/patman.cpp:
	* plugins/singerbot/singerbot.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/note.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/piano_roll.cpp:
	* src/core/piano_widget.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/song_editor.cpp:
	* src/core/surround_area.cpp:
	* src/core/track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/pixmap_button.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/widgets/volume_knob.cpp:
	reduced dependencies on automatable object

	* src/audio/audio_device.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/mixer.cpp:
	fixed deadlocks

	* include/audio_dummy.h:
	don't process buffers

	* src/audio/audio_sample_recorder.cpp:
	fixed high quality

	* include/basic_filters.h:
	* include/envelope_and_lfo_widget.h:
	* src/core/envelope_tab_widget.cpp:
	simplified envelope processing

	* include/basic_filters.h:
	- use samplerate member as sample rate
	- reformatted

	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	reverted layout changes in QT3, fixes descriptions

	* plugins/triple_oscillator/artwork.png:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	updated GUI

	* include/tempo_sync_knob.h:
	* src/widgets/tempo_sync_knob.cpp:
	graceful shutdown

	* src/widgets/automatable_button.cpp:
	fixed undef

	* plugins/ladspa_effect/caps/Makefile.am:
	use DESTDIR

2007-04-21	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/singerbot/singerbot.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_sdl.cpp:
	assume 1-case semaphores, fixes single source compilation

	* configure.in:
	fixed --enable options

2007-04-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/patman/patman.cpp:
	* plugins/singerbot/singerbot.h:
	* plugins/singerbot/singerbot.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/polyb302/polyb302.cpp:
	* include/fifo_buffer.h:
	* include/bb_track.h:
	* include/audio_device.h:
	* include/midi_client.h:
	* include/qt3support.h:
	* src/audio/audio_sdl.cpp:
	* src/audio/audio_jack.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/core/tool.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/track.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/main_window.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/tool_button.cpp:
	* src/widgets/rack_view.cpp:
	* src/widgets/effect_label.cpp:
	fixes for Qt4-version

	* plugins/midi_import/midi_import.cpp:
	* src/core/automation_editor.cpp:
	* src/core/piano_roll.cpp:
	added inclusion of debug.h which includes assert.h for not failing to
	compile on several platforms

2007-04-20	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* executable files:
	removed executable property

2007-04-19	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/audio_port.h:
	* include/automatable_button.h:
	* include/automatable_object.h:
	* include/automatable_slider.h:
	* include/automation_editor.h:
	* include/automation_pattern.h:
	* include/bb_editor.h:
	* include/bb_track.h:
	* include/combobox.h:
	* include/cpuload_widget.h:
	* include/dummy_plugin.h:
	* include/effect.h:
	* include/effect_chain.h:
	* include/effect_label.h:
	* include/effect_select_dialog.h:
	* include/engine.h:
	* include/envelope_and_lfo_widget.h:
	* include/export_project_dialog.h:
	* include/file_browser.h:
	* include/group_box.h:
	* include/import_filter.h:
	* include/instrument.h:
	* include/journalling_object.h:
	* include/knob.h:
	* include/lcd_spinbox.h:
	* include/led_checkbox.h:
	* include/main_window.h:
	* include/midi_alsa_raw.h:
	* include/midi_alsa_seq.h:
	* include/midi_client.h:
	* include/midi_dummy.h:
	* include/midi_oss.h:
	* include/mixer.h:
	* include/name_label.h:
	* include/note.h:
	* include/pattern.h:
	* include/piano_roll.h:
	* include/pixmap_button.h:
	* include/plugin.h:
	* include/plugin_browser.h:
	* include/preset_preview_play_handle.h:
	* include/project_journal.h:
	* include/project_notes.h:
	* include/rack_view.h:
	* include/sample_buffer.h:
	* include/sample_play_handle.h:
	* include/setup_dialog.h:
	* include/song_editor.h:
	* include/string_pair_drag.h:
	* include/surround_area.h:
	* include/tempo_sync_knob.h:
	* include/timeline.h:
	* include/track_container.h:
	* include/visualization_widget.h:
	* include/volume_knob.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bass_booster/bass_booster.cpp:
	* plugins/bass_booster/bass_booster.h:
	* plugins/bass_booster/bassbooster_control_dialog.cpp
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/graph.cpp:
	* plugins/bit_invader/graph.h:
	* plugins/flp_import/flp_import.cpp:
	* plugins/kicker/kicker.cpp:
	* plugins/ladspa_base/ladspa_2_lmms.cpp:
	* plugins/ladspa_base/ladspa_2_lmms.h:
	* plugins/ladspa_base/ladspa_base.h:
	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_base/ladspa_control.h:
	* plugins/ladspa_base/ladspa_manager.cpp:
	* plugins/ladspa_base/ladspa_manager.h:
	* plugins/ladspa_base/ladspa_port_dialog.cpp:
	* plugins/ladspa_base/ladspa_port_dialog.h:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/ladspa_effect/ladspa_subplugin_features.h:
	* plugins/lb302/lb302.cpp:
	* plugins/live_tool/live_tool.cpp:
	* plugins/midi_import/midi_import.cpp:
	* plugins/organic/organic.cpp:
	* plugins/patman/patman.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/polyb302.h:
	* plugins/singerbot/singerbot.cpp:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vibed/graph.cpp:
	* plugins/vibed/graph.h:
	* plugins/vibed/impulse_editor.cpp:
	* plugins/vibed/impulse_editor.h:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/vibed.cpp:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_client.h:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vst_effect/vst_effect.h:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* plugins/vst_effect/vst_subplugin_features.h:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_port.cpp:
	* src/audio/audio_sample_recorder.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/automation_editor.cpp:
	* src/core/bb_editor.cpp:
	* src/core/effect.cpp:
	* src/core/effect_chain.cpp:
	* src/core/effect_control_dialog.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/engine.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/file_browser.cpp:
	* src/core/import_filter.cpp:
	* src/core/instrument.cpp:
	* src/core/main.cpp:
	* src/core/main_window.cpp:
	* src/core/meter_dialog.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/core/mixer.cpp:
	* src/core/name_label.cpp:
	* src/core/note.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/piano_roll.cpp:
	* src/core/piano_widget.cpp:
	* src/core/plugin.cpp:
	* src/core/plugin_browser.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/song_editor.cpp:
	* src/core/surround_area.cpp:
	* src/core/timeline.cpp:
	* src/core/tool.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/lib/journalling_object.cpp:
	* src/lib/project_journal.cpp:
	* src/lib/sample_buffer.cpp:
	* src/lib/string_pair_drag.cpp:
	* src/midi/midi_alsa_raw.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/midi/midi_client.cpp:
	* src/midi/midi_oss.cpp:
	* src/tracks/automation_pattern.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/tracks/sample_track.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/cpuload_widget.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/pixmap_button.cpp:
	* src/widgets/project_notes.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/widgets/visualization_widget.cpp:
	* src/widgets/volume_knob.cpp:
	return of the singletons

	* include/fifo_buffer.h:
	initial release, allows chunked audio buffer

	* include/audio_alsa.h:
	* include/audio_device.h:
	* include/audio_dummy.h:
	* include/audio_jack.h:
	* include/audio_oss.h:
	* include/audio_sdl.h:
	* include/mixer.h:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_device.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_sdl.cpp:
	* src/core/mixer.cpp:
	* src/core/setup_dialog.cpp:
	use chunked audio buffer

	* src/core/mixer.cpp:
	don't delete the audio device when changing quality, fixes JACK without
	external server

	* include/sample_buffer.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/patman/patman.cpp:
	* src/lib/sample_buffer.cpp:
	handle different sample rates, fixes many looping patch samples

	* src/core/sample_play_handle.cpp:
	fixed high quality

	* plugins/patman/patman.cpp:
	automated Loop and Tune modes

	* plugins/audio_file_processor/audio_file_processor.cpp:
	automated Loop mode

	* src/core/automation_editor.cpp:
	fixed selections

	* src/core/track_container.cpp:
	use modularized sample extensions

	* include/string_pair_drag.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/patman/patman.cpp:
	* src/lib/string_pair_drag.cpp:
	changed string pair MIME type

	* src/lib/mmp.cpp:
	renamed root element

	* data/lmms.xml:
	initial release, project MIME type

	* data/Makefile.am:
	install project MIME type

	* data/lmms.desktop:
	- added project MIME type
	- added Catalan translation

	* include/oscillator.h:
	* src/lib/oscillator.cpp:
	got switches out of for-loops

	* include/arp_and_chords_tab_widget.h:
	* include/effect_tab_widget.h:
	* include/instrument_track.h:
	* include/midi_tab_widget.h:
	* include/track.h:
	cleaned up dependencies

	* data/locale/ca.ts:
	updated translation

2007-04-07	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/patman/artwork.png:
	* plugins/patman/logo.png:
	* plugins/patman/loop_off.png:
	* plugins/patman/loop_on.png:
	* plugins/patman/Makefile.am:
	* plugins/patman/patman.cpp:
	* plugins/patman/patman.h:
	* plugins/patman/tune_off.png:
	* plugins/patman/tune_on.png:
	initial release, PatMan instrument plugin

	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	- added start/end loop points, different from start/end sample points
	- added sample frequency
	- reworked resampling, fixes resampling underruns/clicks
	- reused try-to-make-relative and try-to-make-absolute file handling
	- reused samplerate conversion

	* include/sample_buffer.h:
	* include/sample_play_handle.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/singerbot/singerbot.cpp:
	* src/core/sample_play_handle.cpp:
	* src/lib/sample_buffer.cpp:
	added per handle state

	* include/engine.h:
	* include/file_browser.h:
	* include/plugin.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* src/core/engine.cpp:
	* src/core/file_browser.cpp:
	* src/core/main_window.cpp:
	modularized sample extensions

	* plugins/audio_file_processor/audio_file_processor.cpp:
	- check dragged file extension
	- accept dragged files from desktop
	- fit displayed file name in the background box

	* src/core/track_container.cpp:
	fixed track swapping

	* src/tracks/bb_track.cpp:
	fixed loading last bb-track name

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	removed obsolete method

	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/polyb302.h:
	simplified inclusions and comments

	* include/main_window.h:
	cosmetic, grouped methods

	* data/locale/ca.ts:
	updated translation

2007-04-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lmms_single_source.cpp:
	moved inclusion of file_browser.cpp up as it has problems with headers
	included by later files

2007-03-28	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/mixer.h:
	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	* src/core/song_editor.cpp:
	fixed notes with dynamic tempo

	* include/main_window.h:
	* src/core/main_window.cpp:
	added online help

	* include/file_browser.h:
	* src/core/file_browser.cpp:
	- filter directories without relevant content
	- simplified entry retrieval

	* include/basic_filters.h:
	limit Moog instability

	* src/core/main.cpp:
	updated year

	* src/widgets/knob.cpp:
	initialize members according to last arrangement

	* data/locale/ca.ts:
	updated translation

2007-03-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	fixed "typo" in help

2007-03-25	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/polyb302/artwork.png:
	* plugins/polyb302/logo.png:
	* plugins/polyb302/Makefile.am:
	* plugins/polyb302/polyb302.cpp:
	* plugins/polyb302/polyb302.h:
	initial release, polyphonic version of lb302 plugin

	* include/instrument_track.h:
	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	trigger detuning without signals

	* configure.in:
	fixed singerbot error

	* include/knob.h:
	arranged private/protected members

	* data/locale/ca.ts:
	updated translation

2007-03-07	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/singerbot/singerbot.cpp:
	fixed high quality play

	* data/locale/ca.ts:
	shortened some words

2007-02-28	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/audio/audio_alsa.cpp:
	* src/audio/audio_sdl.cpp:
	fixed high quality play

	* include/audio_alsa.h:
	* include/audio_device.h:
	* include/audio_dummy.h:
	* include/audio_jack.h:
	* include/audio_oss.h:
	* include/audio_sdl.h:
	* include/midi_alsa_raw.h:
	* include/midi_alsa_seq.h
	* include/midi_client.h:
	* include/midi_dummy.h:
	* include/midi_oss.h:
	* include/setup_dialog.h:
	* src/core/setup_dialog.cpp:
	save device names without localization

	* data/locale/ca.ts:
	updated translation

	* plugins/lb302/lb302.cpp:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	fixed typos

2007-02-27	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/widgets/fade_button.cpp:
	simplified timer usage, fixes frozen leds and hopefully the segfaults

	* src/core/config_mgr.cpp:
	create widgets once

2007-02-25	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/singerbot/singerbot.cpp:
	* plugins/singerbot/singerbot.h:
	use libsamplerate

	* plugins/singerbot/singerbot.cpp:
	- resample while playing, reduced start-up CPU usage
	- joined scheme commands

	* configure.in:
	- added libsamplerate dependency to singerbot
	- don't add plugin libraries to global LIBS

	* src/core/automation_editor.cpp:
	- fixed selection
	- values moved at time 0 don't move horizontally

	* src/core/piano_roll.cpp:
	little optimization when selecting all notes

	* src/tracks/instrument_track.cpp:
	emit sentMidiTime always, pitch automation mustn't be disabled

	* plugins/ladspa_base/ladspa_control.cpp:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	raise gain range up to 10

	* include/effect_select_dialog.h:
	* include/plugin.h:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	* plugins/ladspa_effect/ladspa_subplugin_features.h:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* plugins/vst_effect/vst_subplugin_features.h:
	* src/core/effect_select_dialog.cpp:
	changed description layout

	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	simplified translations

	* plugins/live_tool/live_tool.cpp:
	added what's-this-text

2007-02-20	Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>

	* data/locale/ru.ts:
	updated Russian translation

2007-02-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* Makefile.am:
	added include/effect_lib.h to sources-list

2007-02-03	Paul Giblock <pgib/at/users/dot/sourceforge/dot/net>

	* plugins/lb302/lb302.cpp:
	* plugins/lb302/lb302.h:
	* plugins/lb302/artwork.png:
	* plugins/lb302/logo.png:
	* plugins/lb302/Makefile.am:
	* plugins/lb302/README:
	Initial release.  LB302 Bass Synth beta instrument plugin

	* configure.in:
	* plugins/Makefile.am:
	* src/tracks/instrument_track.cpp:
	Added LB302 support

	* data/projects/misc/lb302_quick.mmp:
	Added LB302 demo

	* src/widgets/knob.cpp:
	Fixed compile-time bug caused by pointer casted to uint

2007-01-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/note_play_handle.cpp:
	removed obsolete support for monophonic instruments

	* src/tracks/instrument_track.cpp:
	added new code for better support of monophonic instrument

2007-01-20	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/singerbot/artwork.png:
	* plugins/singerbot/logo.png:
	* plugins/singerbot/Makefile.am:
	* plugins/singerbot/singerbot.h:
	* plugins/singerbot/singerbot.cpp:
	initial release, SingerBot (experimental) instrument plugin

	* configure.in:
	* include/note_play_handle.h:
	* plugins/Makefile.am:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	added singerbot support

	* include/sample_buffer.h:
	deleteResampling methods made static

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/organic/organic.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	call deleteNotePluginData() only if there is plugin data, fixes
	unprotected instruments

	* plugins/vestige/vestige.cpp:
	trigger deleteNotePluginData()

	* src/tracks/instrument_track.cpp:
	avoid double unlock

	* configure.in:
	fixed configuring with --with-stk

	* acinclude.m4:
	moved QT_TRANSLATIONS_DIR to config.h

	* plugins/flp_import/flp_import.cpp:
	* plugins/flp_import/unrtf/word.c:
	optimized unsafe loops

	* src/lib/sample_buffer.cpp:
	* src/widgets/project_notes.cpp:
	minor cosmetic changes

	* include/shared_object.h:
	not really thread-safe, will be removed

2007-01-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/note.cpp:
	fixed segfault in hasDetuningInfo() if m_detuning was NULL

	* README:
	* src/core/about_dialog.cpp:
	extended copyright from 2006 to 2007

2006-12-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	some cleanups and fixes

	* src/tracks/instrument_track.cpp:
	before calling mixer::addPlayHandle(), unlock m_notesMutex as in some
	cases (when running into xruns)
	instrumentTrack::deleteNotePluginData() is called while the mutex is
	locked and the program was frozen

	* include/track.h:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* src/core/file_browser.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/tracks/instrument_track.cpp:
	changed name of constant CHANNEL_TRACK to INSTRUMENT_TRACK

2006-12-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/kicker/kicker.cpp:
	changed minimal value for frequency-knobs from 40 to 5 Hz

2006-12-23	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/kicker/kicker.cpp:
	fixed envelope segfault

2006-12-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	added parameter to nphsOfInstrumentTrack() which will cause the method
	to add note-play-handles even if they're released

	* include/effect_lib.h:
	- renamed bassBosst to fastBastBoost
	- added new bassBoost-class based on audacity's bass-boost-effect

	* plugins/kicker/kicker.cpp:
	* include/effect_lib.h:
	introduced new distortion-class which sounds better than
	foldback-distortion

2006-12-20	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/widgets/rack_plugin.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	defer deletion of additional windows, fixes event-loop segfault

2006-12-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/instrument_track.cpp:
	fixed basic envelope

	* plugins/kicker/kicker.h:
	* plugins/kicker/kicker.cpp:
	* plugins/kicker/logo.png:
	* plugins/kicker/artwork.png:
	* plugins/kicker/Makefile.am:
	* plugins/Makefile.am:
	* configure.in:
	added Kicker-plugin, a versatile kick- & bassdrum-synthesizer

	* include/sweep_oscillator.h:
	added simple sweep-oscillator-class

	* include/effect_lib.h:
	- added foldbackDistortion-class
	- added process()-methods to monoBase- and stereoBase-class
	- added bypass-classes for mono and stereo
	- added effect-chaining-class

	* configure.in:
	fail if -fomit-frame-pointer is found in compiler-flags and
	VST-support is not disabled

2006-12-19	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/tool.h:
	* src/core/tool.cpp:
	initial release, base class for all tool plugins

	* include/plugin.h:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	renamed AnalysisTools to Tool

	* include/main_window.h:
	* src/core/main_window.cpp:
	added tools menu

	* Makefile.am:
	* src/lmms_single_source.cpp:
	added tool plugins

	* configure.in:
	* plugins/live_tool/artwork.png:
	* plugins/live_tool/live_tool.cpp:
	* plugins/live_tool/live_tool.h:
	* plugins/live_tool/logo.png:
	* plugins/live_tool/Makefile.am:
	added live tool, an example tool plugin

	* plugins/Makefile.am:
	- added live tool
	- eased SVN merging

	* data/*/Makefile.am:
	* data/*/*/Makefile.am:
	* plugins/vst_base/Makefile.am:
	- removed wildcard extension for POSIX compliance
	- fixed additional automake 1.10 issues

2006-12-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/bass_booster/bassboster_control_dialog.h:
	* plugins/bass_booster/bassboster_control_dialog.cpp:
	set changed parameters directly using new set...-methods of effect-lib
	(preserves current effect-state and therefore avoids clicks in sound-
	stream)

	* include/effect_lib.h:
	- renamed class "base" to "monoBase"
	- monoToStereoAdaptor can now have different effects for the two
	  channels
	- added stereoToMonoAdaptor
	- extended baseBoost-class by several methods
	
	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	added note-state-array for handling sequences of "note-on note-off"
	events while the according note is already on which for example is the
	case when placing the two notes at the same key next to each other -
	until now the plugin started playing the second note but stopped
	immediately as the note-off-event of the first note arrived later than
	the note-on-event of the second one

	* src/core/instrument.cpp:
	always call invalidate() in destructor so (instrumentPlayHandle-
	driven) plugins do not have to care about it

	* src/tracks/instrument_track.cpp:
	make sure value returned by masterKey() is within allowed range	

	* src/core/mixer.cpp:
	fixed bug which caused LMMS to crash when using parallelizing-level
	above 1 and invalidated play-handles were existing

2006-12-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/bass_booster/bassboster_control_dialog.cpp:
	* plugins/bass_booster/bassboster_control_dialog.h:
	* plugins/bass_booster/bass_boster.h:
	* plugins/bass_booster/bass_boster.cpp:
	* plugins/bass_booster/Makefile.am:
	* plugins/Makefile.am:
	* configure.in:
	added bassbooster-effect-plugin

	* src/core/effect_select_dialog.cpp:
	added support for effects without sub-plugin-support and fixed some
	potential crashs

	* include/effect_lib.h:
	added simple but powerful template-based effect-library with currently
	two basic effects

2006-12-11	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	- fixed SDL_sound decoding
	- enabled speex samples

	* src/core/file_browser.cpp:
	* src/core/main_window.cpp:
	enabled speex samples

	* plugins/ladspa_effect/ladspa_effect.cpp:
	fixed adding effect segfault

2006-12-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	check for ${prefix} before extending CFLAGS etc. - should fix issue
	with make-problems when using older automake-versions

	* include/instrument.h:
	* include/envelope_tab_widget.h:
	* src/core/envelope_tab_widget.cpp:
	support for instruments which want to define their own number of
	release-frames

	* include/instrument_track.h:
	* include/instrument.h:
	* src/core/note_play_handle.cpp:
	support for monophonic instruments

	* include/mixer.h:
	* src/core/mixer.cpp:
	made mixer::removePlayHandle() to accept const-pointers

2006-12-06	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/note.h:
	* src/core/note.cpp:
	show detuning in the piano roll

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	- show note detuning
	- save last key when starting to play, fixes held notes bug
	- removed cursor enter/leave events, they could be ignored
	- optimized unsafe loops

	* include/xqmap.h:
	initial release, QMap with lowerBound for Qt3

	* include/automation_pattern.h:
	* src/tracks/automation_pattern.cpp:
	- use lowerBound find, resets to proper values
	- work with inverted midi time

	* include/automation_editor.h:
	* src/core/automation_editor.cpp:
	- work with inverted midi time
	- fixed display of hidden values
	- added red cross
	- update detuning in the piano roll
	- removed cursor enter/leave events, they could be ignored
	- optimized unsafe loops
	- minor optimizations

	* include/note_play_handle.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	set subnotes' BB track

	* data/track_icons/*.png:
	re-added corrupted images

	* src/core/name_label.cpp:
	added bad pixmap protection

	* src/audio/audio_alsa.cpp:
	- removed unnecessary asynchronous behaviour, fixes large audio buffers
	- fill the whole period buffer, avoids underrun in synchronous mode

	* src/core/setup_dialog.cpp:
	don't use the journal

	* include/journalling_object.h:
	ease short disabling

	* include/automatable_object.h:
	- use light journal disabling
	- use the journal if necessary

	* src/widgets/knob.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/volume_knob.cpp:
	use the journal if necessary

	* src/widgets/tempo_sync_knob.cpp:
	- change icon when changing mode, fixes automation crash
	- disable the journal when calculating sync time

	* src/core/bb_editor.cpp:
	don't create TCOs when there aren't any BB tracks

	* src/tracks/instrument_track.cpp:
	removed temporary fix

2006-12-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/ladspa_effect/caps/Makefile.am:
	added include-path of LMMS for successfully compiling CAPS with shipped
	LADSPA-header

	* src/tracks/instrument_track.cpp:
	integrated patch from Jean-Yves Lefort <jylefort/at/freebsd/dot/org>

2006-12-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* Makefile.am:
	added ladspa-1.1.h to source-file-list

	* plugins/ladspa_effect/caps/basics.h:
	include shipped LADSPA-header if none was found during configure

2006-12-03	Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>

	* data/locale/ru.ts:
	updated Russian translation

2006-11-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/lvsl_server.c:
	proper handling of pitch-bend-events

	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	handle MIDI-events by forwarding them to VST-plugin

	* include/instrument.h:
	* src/tracks/instrument_track.cpp:
	if supported by according instrument, it now can handle all incoming
	MIDI-events (except Noteon and Noteoff)

	* src/midi/midi_alsa_seq.cpp:
	more complete implementation of MIDI-event-handling

2006-11-15	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/audio_alsa.h:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_device.cpp:
	* src/audio/audio_file_wave.cpp:
	convert-endian-based conversion instead of little-endian-based,
	fixes OSS and SDL

	* include/audio_sdl.h:
	* src/audio/audio_sdl.cpp:
	fill the whole audio buffer

2006-11-11	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/core/piano_roll.cpp:
	fixed pasting recorded notes segfault

	* configure.in:
	turned EXTRAFLAGS into DEFAULTFLAGS

2006-11-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.cpp:
	include ctype.h

2006-11-08	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/bb_track.h:
	* src/tracks/bb_track.cpp:
	change color of selected group of TCOs

	* plugins/vst_base/lvsl_server.c:
	fixed segfault when initializing some VST plugins

	* src/lib/sample_buffer.cpp:
	fixed switching from normal play to resampling play

2006-10-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/string_pair_drag.cpp:
	when decoding value of stringPairDrag-class use everything after ":"
	instead of first section as the value (string) itself might contain
	":"-characters - makes it possible to drag'n'drop instrument-tracks
	with VeSTige-instrument and avoids crash

	* src/core/piano_roll.cpp:
	when checking cursor-position in edit-mode (move/resize note), do
	comparisons in pixels instead of tact64th - fixes bug that 32th- and
	64th-notes could not be resized

	* src/core/file_browser.cpp:
	also recognize "mmpz"-files as projects and load them when
	double-clicking them

	* src/tracks/pattern.cpp:
	when loading pattern, check type afterwards and correct if necessary

2006-10-09	Mikael Freeman <mikael/dot/freeman/at/mac/dot/se>

	* data/locale/sv.ts:
	updated Swedish translation

2006-09-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/setup_dialog.h:
	* src/core/main_window.cpp:
	* src/core/setup_dialog.cpp:
	* src/lib/mmp.cpp:
	added support for compressed project ("mmpz"-extension), files are
	compressed if extension given to multimediaProject::writeFile() is
	mmpz or (if none given) user enabled compression as default

	* data/locale/de.ts:
	updated German translation (still incomplete (mainly for
	mallets-plugin))

	* lmms.1:
	updated manpage (added link to Wiki and updated description)

	* configure.in:
	* include/ladspa-1.1.h:
	* plugins/ladspa_base/ladspa_manager.h:
	added the latest LADSPA-header to be shipped with LMMS for always
	building LMMS with LADSPA-support, even if no ladspa.h was found on
	system (still causes warning)

2006-09-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* plugins/ladspa_effect/Makefile.am:
	* plugins/ladspa_effect/caps/Makefile.am:
	added missing Makefile.am and re-added CAPS-support

2006-09-25	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>

	* plugins/vibed/vibrating_string.cpp:
	2x oversampling in non-hq-mode to get the instument to sound the
	same in both modes
	
	* configure.in:
	* plugins/ladspa_effect/Makefile.am:
	removed references to CAPS (sorry about that Toby, but I couldn't get
	anything to build with them--there's no make info in the CAPS dir)

2006-09-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* acinclude.m4:
	* configure.in:
	* Makefile.am:
	* include/piano_roll.h:
	* include/piano_widget.h:
	* src/core/piano_roll.cpp:
	* src/core/piano_widget.cpp:
	made LMMS compile with mingw-cross-compiler

	* include/automatable_slider.h:
	* plugins/stk/mallets/mallets.cpp:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	* src/core/meter_dialog.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/volume_knob.cpp:
	Qt4-fixes

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* src/lib/sample_buffer.cpp:
	removed obsolete inclusion of paths.h

	* include/rack_view.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* src/core/effect_control_dialog.cpp:
	include qt3-support-header first

	* plugins/vst_effect/vst_control_dialog.cpp:
	do not try to reparent effect's plugin-widget in destructor - fixes
	crash when deleting vst-effect from effect-chain

	* src/lib/mmp.cpp:
	do not indent mmp-files anymore as it wastes *a lot* of unneccesary
	space

	* data/projects/cool_songs/StrictProduction-Underline.mmp:
	added another cool project

	* plugins/ladspa_base/ladspa_manager.cpp:
	- always add /usr/lib/ladspa and /usr/local/lib/ladspa to directories
	  where to search for LADSPA-plugins
	- also search in /usr/lib/lmms/ladspa for LADSPA-plugins (that's where
	  for example CAPS is installed)

	* plugins/ladspa_effect/caps/:
	added CAPS (C Audio Plugin Suite) for providing a basic LADSPA-plugin-
	collection

2006-09-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_effect/vst_control_dialog.cpp:
	save and load settings of VST-effect - with this VST-effect-support is
	complete for now

	* plugins/vst_base/lvsl_client.h:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vestige/vestige.cpp:
	moved code from vestigeInstrument::saveSettings() and
	vestigeInstrument::loadSettings() to remoteVSTPlugin

	* plugins/ladspa_effect/ladspa_control_dialog.h:
	changed node-name from "controls" to "ladspacontrols" to be more
	consistent with naming-conventions

	* plugins/ladspa_effect/ladspa_subplugin_features.h:
	* plugins/ladspa_effect/ladspa_subplugin_features.cpp:
	moved ladspaSubPluginFeatures-code from LADSPA-base to where it
	belongs/is used - in LADSPA-effect

	* data/projects/demos/Zvonsully-RaceTheZBeat.mmp:
	* data/projects/cool_songs/Malex-Horizon4.mmp:
	added two projects

	* plugins/ladspa_base/ladspa_browser.cpp:
	* plugins/ladspa_base/ladspa_subplugin_features.cpp:
	removed #ifdef SINGLE_SOURCE_COMPILE, as this doesn't affect plugins -
	fixes bug with undefined symbol in libladspaeffect.so

	* configure.in:
	enable VST-support per default

	* include/aeffectx.h:
	added Javier's header (with dssi-vst-patch)

	* data/lmms:
	* data/lmms.desktop:
	* data/Makefile.am:
	added desktop- and menu-entry-file for LMMS (thanks to Javier for the
	latter one on debian-list)

2006-09-23	Mikael Freeman <mikael/dot/freeman/at/mac/dot/se>

	* data/locale/sv.ts:
	added first Swedish translation (very incomplete)

2006-09-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_base/lvsl_client.cpp:
	m_initialized is now set before calling waitForProcessingFinished(),
	makes VST-effects work

2006-09-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vst_effect/Makefile.am:
	* plugins/vst_effect/logo.png:
	* plugins/vst_effect/vst_effect.h:
	* plugins/vst_effect/vst_effect.cpp:
	* plugins/vst_effect/vst_control_dialog.h:
	* plugins/vst_effect/vst_control_dialog.cpp:
	* plugins/vst_effect/vst_subplugin_features.h:
	* plugins/vst_effect/vst_subplugin_features.cpp:
	added plugin for supporting VST-effects inside LMMS - currently very
	experimental and incomplete, but it compiles and works somehow ;-)

	* plugins/ladspa_effect/Makefile.am:
	generating ladspa_effect.moc not needed ynmore

	* plugins/vestige/Makefile.am:
	- use new vstbase-library
	- do not link against X11, as not needed anymore

	* plugins/Makefile.am:
	* plugins/vst_base/Makefile.am:
	* plugins/vst_base/communication.h:
	* plugins/vst_base/lvsl_client.h:
	* plugins/vst_base/lvsl_client.cpp:
	* plugins/vst_base/lvsl_server.c:
	* plugins/vst_base/vst_base.cpp:
	moved LVSL-code into separate library for allowing multiple
	LMMS-plugins to deal with VST-plugins

2006-09-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/*/*.png:
	* data/locale/*.qm:
	* data/samples/*:
	* data/themes/*:
	re-added all binary files as they were corrupted during SVN-migration
	for some reason

	* configure.in:
	* Makefile.am:
	* plugins/ladspa_base/*:
	* include/config_mgr.h:
	* include/engine.h:
	* include/setup_dialog.h:
	* src/audio/audio_port.cpp:
	* src/core/config_mgr.cpp:
	* src/core/engine.cpp:
	* src/core/setup_dialog.cpp:
	* src/lmms_single_source.cpp:
	moved all LADSPA-related code into separate library against which LMMS
	is linked when compiling with LADSPA-support

	* Makefile.cvs:
	renamed to Makefile.svn as LMMS-CVS-repo was migrated to subversion

2006-09-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	* plugin/vestige/lvsl_client.h:
	* plugin/vestige/lvsl_client.cpp:
	take advantage of LMMS' new parallelizing-support - works indeed the
	way expected! all VST-servers are now balanced all over available CPUs

	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/organic/organic.h:
	* plugins/organic/organic.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.h:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/mallets/mallets.h:
	* plugins/mallets/mallets.cpp:
	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	* include/instrument.h:
	* include/instrument_play_handle.h:
	* include/mixer.h:
	* include/note_play_handle.h:
	* include/play_handle.h:
	* include/plugin.h:
	* include/preset_preview_play_handle.h:
	* include/sample_play_handle.h:
	* include/setup_dialog.h:
	* include/track.h:
	* src/core/instrument.cpp:
	* src/core/mixer.cpp:
	* src/core/plugin.cpp:
	* src/core/preset_preview_play_handle.cpp:
	* src/core/sample_play_handle.cpp:
	* src/core/setup_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	added first simple support for parallelizing sound-processing for
	using full power of SMP-systems (e.g. my new dual-core-notebook :-)

2006-09-17	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/tempo_sync_knob.h:
	fixed save/load segfault in LADSPA controls

	* src/core/song_editor.cpp:
	fixed looping when processing the audio buffer

	* include/timeline.h:
	* src/core/timeline.cpp:
	update loop points state button when loading a project

	* src/core/automation_editor.cpp:
	fixed segfault when stopping without pattern

2006-09-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/flp_import/flp_import.cpp:
	* plugins/midi_import/midi_import.cpp:
	* plugins/organic/organic.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/mallets/mallets.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vibed/vibed.cpp:
	extended plugin-descriptor by sub_plugin_features-field (for
	non-effects likely NULL)

	* include/audio_port.h:
	* include/effect.h:
	* include/effect_chain.h:
	* include/effect_label.h:
	* include/effect_tab_widget.h:
	* include/instrument.h:
	* include/instrument_track.h:
	* include/ladspa_browser.h:
	* include/ladspa_manager.h:
	* include/main_window.h:
	* include/plugin.h:
	* include/rack_plugin.h:
	* include/rack_view.h:
	* include/sample_track.h:
	* src/lmms_single_source.cpp:
	* src/audio/audio_port.cpp:
	* src/core/effect.cpp:
	* src/core/effect_chain.cp:
	* src/core/effect_tab_widget.cpp:
	* src/core/import_filter.cpp:
	* src/core/ladspa_browser.cpp:
	* src/core/main_window.cpp:
	* src/core/mixer.cpp:
	* src/core/plugin.cpp:
	* src/core/plugin_browser.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	added generic effect-framework based on LADSPA-effect-code for using
	arbitrary effects inside LMMS and using sub-plugins (such as
	LADSPA-plugins) transparently at the same time, now writing of any
	other effects an begin

	* plugins/ladspa_effect/ladspa_effect.h:
	* plugins/ladspa_effect/ladspa_effect.cpp:
	* plugins/ladspa_effect/ladspa_control_dialog.h:
	* plugins/ladspa_effect/ladspa_control_dialog.cpp:
	moved LADSPA-effect-support into separate plugin

	* include/dummy_effect.h:
	* include/effect_control_dialog.h:
	* include/effect_select_dialog.h:
	* include/ladspa_base.h:
	* include/ladspa_subplugin_features.h:
	* src/core/effect_control_dialog.cpp:
	* src/core/effect_select_dialog.cpp:
	* src/core/ladspa_subplugin_features.cpp:
	added (see description above)

	* include/ladspa_control_dialog.h:
	* include/ladspa_description.h:
	* include/ladspa_effect.h:
	* include/select_ladspa_dialog.h:
	* src/core/ladspa_control_dialog.cpp:
	* src/core/ladspa_effect.cpp:
	* src/core/select_ladspa_dialog.cpp:
	removed

	* data/locale/de.ts:
	updated German translation

	* configure.in:
	- do not set wrong VST_SUPPORT-condition if winegcc was found and
	  --with-vst specified but VST-headers are missing
	- LADSPA-support not experimental anymore and enabled per default when
	  header is found
	- use -O2 per default

2006-09-11	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/vestige/lvsl_server.c:
	save/load all plugin parameters

2006-09-09	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/core/automation_editor.cpp:
	fixed single source compilation

2006-09-08	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* configure.in:
	fixed check for STK headers and library
	
	* plugins/stk/mallets/mallets.h:
	removed the meaningless index boundary limiter for m_delayRead and
	m_delayWrite
	
	* configure.in:
	* plugins/Makefile.am:
	* plugins/stk/Makefile.am:
	began work on supporting STK instruments

	* plugins/stk/mallets/Makefile.am:
	* plugins/stk/mallets/artwork.png:
	* plugins/stk/mallets/logo.png:
	* plugins/stk/mallets/mallets.h:
	* plugins/stk/mallets/mallets.cpp:
	added mallets instrument
	
	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	* include/setup_dialog.h:
	* src/core/setup_dialog.cpp:
	added STK rawwave to directory selector
	
2006-09-03	Thomas Girard <thomas/dot/g/dot/girard/at/free/dot/fr>

	* src/core/file_browser.cpp:
	fixed bad project browsing segfault

2006-09-03	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/bb_track.h:
	* src/core/track.cpp:
	integrated Toby's Qt4 fixes

	* src/widgets/tempo_sync_knob.cpp:
	- integrated Toby's Qt4 fixes
	- connect the meter dialog only when custom sync
	- don't set the modified flag on automated changes

	* src/core/song_editor.cpp:
	- integrated Toby's Qt4 fixes
	- rely on objects to set the modified flag

	* src/core/meter_dialog.cpp:
	added names to display in the automation editor

2006-09-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* acinclude.m4:
	* include/effect_tab_widget.h:
	* include/ladspa_description.h:
	* include/qt3support.h:
	* include/rack_view.h:
	* include/track.h:
	* src/audio/audio_device.cpp:
	* src/core/automation_editor.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/ladspa_control_dialog.cpp:
	* src/core/ladspa_effect.cpp:
	* src/core/ladspa_port_dialog.cpp:
	* src/core/name_label.cpp:
	* src/core/note.cpp:
	* src/core/piano_roll.cpp:
	* src/lib/ladspa_2_lmms.cpp:
	* src/lib/ladspa_manager.cpp:
	* src/tracks/automation_pattern.cpp:
	* src/tracks/instrument_track.cpp:
	* src/widgets/effect_label.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/ladspa_description.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	* src/widgets/volume_knob.cpp:
	Qt4-compat fixes

2006-08-30	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* src/widgets/ladspa_control.cpp:
	added a lock to prevent segfaults when changing the values
	while playing
	
	* src/core/ladspa_effect.cpp:
	corrected the labeling of "(ms)" which were showing up as
	"(ms))"
	
	* Makefile.am:
	* src/lmms_single_source.cpp:
	* include/meter_dialog.h:
	* src/core/meter_dialog.cpp:
	* include/tempo_sync_knob.h:
	* src/widgets/tempo_sync_knob:
	added user definable settings for tempo sync
	
	* src/core/arp_and_chords_tab_widget.cpp:
	- changed arp time knob to save using new tempo sync format
	- fixed a bug that was preventing the arp groupbox state from
	  being restored properly
	
	* src/core/envelope_and_lfo_widget.cpp:
	changed lfo time knob to save using new tempo sync format
	
2006-08-28	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* COPYING:
	updated GPL

	* README:
	* source files:
	updated FSF address

	* depcomp:
	removed generated file

	* mkinstalldirs:
	removed auxiliary automake file

2006-08-27	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/automation_track.h:
	* include/bb_editor.h:
	* include/bb_track.h:
	* include/instrument_track.h:
	* include/sample_track.h:
	* src/core/bb_editor.cpp:
	* src/core/song_editor.cpp:
	* src/tracks/automation_track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/sample_track.cpp:
	removed start frame from play() methods

	* src/tracks/instrument_track.cpp:
	- removed start frame from play() methods
	- removed checks when sending automation events

	* include/track.h:
	- removed start frame from play() methods
	- removed checks when sending automation events
	- use update() instead of repaint()

	* src/core/track.cpp:
	- fixed no bb-track case
	- removed checks when sending automation events
	- use update() instead of repaint()

	* src/core/track_container.cpp:
	* src/widgets/kmultitabbar.cpp:
	* src/widgets/text_float.cpp:
	use update() instead of repaint()

	* include/automation_editor.h:
	* include/piano_roll.h:
	* src/core/automation_editor.cpp:
	* src/core/piano_roll.cpp:
	moved update() reimplementations to methods called from paintEvent()

	* include/envelope_and_lfo_widget.h:
	* src/core/envelope_tab_widget.cpp:
	optimized envelope and LFO computations

	* src/core/envelope_and_lfo_widget.cpp:
	- optimized envelope and LFO computations
	- separated sample variables updates from paint events

	* include/combobox.h:
	clear the menu when the combobox is cleared

	* src/midi/midi_alsa_seq.cpp:
	clean-up properly

2006-08-24	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/shared_object.h:
	initial release, shared object for use among threads

	* include/sample_buffer.h:
	became a shared object

	* src/tracks/instrument_track.cpp:
	use sample handles to play frozen patterns, fixes crackling

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	allow access to the frozen pattern

	* include/sample_play_handle.h:
	* src/core/sample_play_handle.cpp:
	- react to bb-track mute automation
	- added constructor to handle frozen patterns
	- use shared sample buffers

	* include/instrument_track.h:
	getAudioPort() is required

	* include/sample_track.h:
	* src/tracks/sample_track.cpp:
	- removed obsolete play() in sampleTCO
	- use shared sample buffers

	* src/core/envelope_and_lfo_widget.cpp:
	fixed load settings deadlock

	* src/audio/audio_device.cpp:
	graceful shutdown

	* include/midi_alsa_seq.h:
	* src/midi/midi_alsa_seq.cpp:
	added pipe to detect shutdown

	* Makefile.am:
	added shared object

2006-08-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	- changed package-maintainer-email-address to lmms-devel-list
	- removed -floop-optimization2-flag as it is deprecated and not
	  supported by coming GCC 4.2

2006-08-20	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/envelope_and_lfo_widget.h:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	changed busy flag into busy mutex, improves thread safety

2006-08-18	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/core/bb_editor.cpp:
	removed disabled tracks

	* src/tracks/instrument_track.cpp:
	added automation disabled

	* include/bb_track.h:
	* include/track.h:
	* src/core/track.cpp:
	* src/tracks/bb_track.cpp:
	renamed disabled track logic to automation disabled

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	added empty() to check whether there is any relevant note

	* src/lib/oscillator.cpp:
	check user waveform presence, fixes organic segfault

	* src/core/name_label.cpp:
	changed icon selection, fixes loss of icon

2006-08-17	Erwin Goossen <egoossen/at/tomaatnet/dot/nl>

	* data/locale/nl.ts:
	updated Dutch translation

2006-08-16	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* src/widgets/tempo_sync_knob.cpp:
	changed context menu to only display possible note length
	options based on the knob's max value
	
	* include/ladspa_effect.h:
	* src/core/ladspa_effect.cpp:
	- added a new port data type TIME for port names containing
	  "(ms)", "(S)", or "(Seconds)"
	- converts units to milliseconds for TIME ports
	
	* src/widgets/ladspa_control.cpp:
	use a tempoSyncKnob for TIME ports
	
	* src/widgets/automatable_button.cpp:
	remove toggled signal sent from method toggle--it's also sent
	from setValue, and the double signal was wreaking havoc with
	the channel linkings
	
	* include/ladspa_control.h:
	* include/ladspa_control_dialog.h:
	* src/core/ladspa_control_dialog.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/rack_plugin.cpp:
	- added channel link selectors for individual ports
	- don't show control edit button for plugins with no controls
	
2006-08-16	Erwin Goossen <egoossen/at/tomaatnet/dot/nl>

	* data/locale/nl.ts:
	added Dutch translation

2006-08-15	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/automatable_object.h:
	fixed unlinking objects

	* include/automation_pattern.h:
	added constructor for unlinking objects

	* src/tracks/automation_pattern.cpp:
	- added constructor for unlinking objects
	- don't remove value at position 0

	* INSTALL:
	* Makefile.cvs:
	* install-sh:
	* missing:
	removed more generated files

2006-08-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/knob.cpp:
	support for linking knobs using <Shift> + drag'n'drop (note that
	connetions are not saved!)

2006-08-15	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* src/widgets/ladspa_control.cpp:
	doubled the number of steps in the knobs
	
	* src/core/ladspa_control_dialog.cpp:
	changed linking to default on
	
	* data/themes/default/effect_plugin.png:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	added some texture to the plugin widget
	
	* src/core/ladspa_control_dialog.cpp:
	save and restore the channel link state
	
	* src/widgets/rack_plugin.cpp:
	added deletion of the control view to the dtor to make it clean
	up after itself
	
	* include/automatable_object.h:
	* include/ladspa_control.h:
	* include/ladspa_control_dialog.h:
	* src/core/ladspa_control_dialog.cpp:
	* src/core/ladspa_control.cpp:
	- added a link channels option to the ladspa controls
	
	* All of the effects related files:
	reformatted to respect the 80 characters per line convention
	
2006-08-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* Makefile.cvs:
	small makefile to be run before configure for creating/copying all
	necessary files

	* config.sub:
	* config.guess:
	* configure:
	* config.h.in:
	* ltmain.sh:
	removed

2006-08-14	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* Makefile.am:
	* include/ladspa_effect.h:
	* src/core/ladspa_effect.cpp:
	* include/effect.h:
	* include/effect_chain.h:
	* include/ladspa_browser:
	* include/ladspa_control_dialog.h:
	* include/rack_plugin.h:
	* select_ladspa_dialog.h:
	* src/core/effect.cpp:
	* src/core/effect_chain.cpp:
	* src/core/ladspa_browser.cpp:
	* src/core/ladspa_control_dialog.cpp:
	* src/core/select_ladspa_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/rack_plugin.cpp:
	- separated ladspa specific stuff into a class derived from
	  effect
	- changed the default value range for unhinted ports from
	  (-99999,99999) to (0,1)

2006-08-13	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/tracks/sample_track.cpp:
	moved playing to samplePlayHandle, removes crackling

	* include/sample_track.h:
	- allow sample buffer access
	- getAudioPort() is required
	- removed slots, moved playing to samplePlayHandle

	* include/sample_play_handle.h.
	* src/core/sample_play_handle.cpp:
	- became a QObject
	- create handle from sampleTCO
	- fill audio buffer from the requested base frame
	- made automation-awared

	* Makefile.am:
	samplePlayHandle is now a QObject

	* include/sample_buffer.h:
	- use fast sample generation, rely on proper waveforms
	- removed locks in sample generation
	- added lock methods for use in higher levels

	* src/lib/oscillator.cpp:
	lock user waveform once per loop

	* data/samples/shapes/low_sine.wav:
	low frequency sine for use in the oscillator

	* include/lmms_math.h:
	added fast pseudo-random integer generator

	* include/oscillator.h:
	- use fast noise generation
	- simplified user-wave call, frames must never be 0

	* include/basic_filters.h:
	- added minQ "constant"
	- limit Q resonance

	* src/core/envelope_tab_widget.cpp:
	added minQ "constant"

2006-08-10	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* src/widgets/ladspa_control.cpp:
	unfixed my misunderstood fix of the setting of sample rate
	dependent ports
	
	* src/core/mixer:
	got rid of the "more_effect |= ..." nonsense
	
	* src/widgets/effect_label.cpp:
	* src/widgets/rack_plugin.cpp:
	changed the parenting of the control dialog to main window
	instead of NULL

2006-08-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	added check for ctype.h to make LMMS work on Zenwalk-systems

2006-08-10	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/bb_track.h:
	* include/track.h:
	* src/core/bb_editor.cpp:
	added disabled tracks

	* src/tracks/bb_track.cpp:
	- added disabled tracks
	- fixed BB-track 0 cloning bug

	* src/core/track.cpp:
	- added disabled tracks
	- update track operations menu
	- simplified engine access
	- fixed BB-track 0 cloning bug
	- improved removing automation patterns

	* include/track_container.h:
	- moved tracks() to public
	- added node name

	* src/core/track_container.cpp:
	added node name

	* data/themes/default/mute_on_disabled.png:
	* data/themes/default/track_op_menu_disabled.png:
	* data/themes/default/mute_off_disabled.png:
	* resources/mute_on_disabled.png:
	* resources/track_op_menu_disabled.png:
	* resources/mute_off_disabled.png:
	added disabled track artwork

2006-08-10	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* include/effect.h:
	* include/effect_chain.h:
	* include/effect_label.h:
	* include/effect_tab_widget.h:
	* include/ladspa_control.h:
	* include/ladspa_control_dialog.h:
	* include/ladspa_description.h:
	* include/rack_plugin.h:
	* include/rack_view.h:
	* src/core/effect.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/ladspa_port_dialog.cpp:
	* src/core/ladspa_control_dialog.cpp:
	* src/widgets/ladspa_description.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	added Qt4 includes

	* include/config_mgr.h:
	* include/setup_dialog.h:
	* src/core/config_mgr.cpp:
	* src/core/setup_dialog.cpp:
	* src/lib/ladspa_manager.cpp:
	-added ladspa search path to user configuration
	-made ladspa loader ignore all files not ending in "so"

	* include/effect.h:
	* src/core/effect.cpp:
	* src/widgets/ladspa_control.cpp:
	corrected an error in setting the values for sample rate
	dependent ports

	the crackling in the sample tracks is due to rounding errors
	in the calculation of _start_frame in sampleTrack::play that
	cause it to occasionally skip a sample.  Don't know what to
	do about it--just thought it should be noted somewhere.

2006-08-09	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* Makefile.am:
	* include/effect_label.h:
	* include/effect_tab_widget.h:
	* include/instrument_track.h:
	* include/ladspa_control.h:
	* include/ladspa_control_dialog.h:
	* include/rack_plugin.h:
	* include/rack_view.h:
	* src/lmms_single_source.cpp:
	* src/audio/audio_port.cpp:
	* src/core/effect.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/ladspa_control_dialog.cpp:
	* src/core/ladspa_port_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	-full save and load
	-added effects to sample tracks
	-fixed the knob twoddling segfaults (hopefully)
	-somewhere between 0.2.1 and yesterday a crackling has been
	 introduced in the sample tracks.  My largish checkins
	 look like an obvious culprit, but it would have to be
	 something I forgot to #ifdef LADSPA_SUPPORT out.

2006-08-08	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* include/effect.h:
	* include/effect_chain.h:
	* include/effect_tab_widget.h:
	* include/ladspa_browser.h:
	* include/ladspa_control.h:
	* include/ladspa_control_dialog.h:
	* include/rack_plugin.h:
	* include/rack_view.h:
	* src/core/effect.cpp:
	* src/core/effect_chain.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/ladspa_browser.cpp:
	* src/core/ladspa_control_dialog.cpp:
	* src/tracks/instrument_track.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	-added ability to change the order of effects or delete them
	-partial save and load support
	-still getting spurious segfaults when twoddling with knobs,
	 the textFloat associated with the knob is being reparented to
	 NULL(?!), but works well enough to at least hear what things
	 sound like with effects

2006-08-07	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
	* include/oscillator.h:
	* plugins/vibed/vibrating_string.h:
	* plugins/vibed/vibrating_string.cpp:
	clean up some things that were preventing the getNextSample
	methods from being inlined

	* configure:
	* configure.in:
	-made ladspa support default off
	-must pass --with-ladspa to get it to build

	* Makefile.am:
	* data/themes/default/add.png:
	* data/themes/default/analysis.png:
	* data/themes/default/ports.png:
	* data/themes/default/uhoh.png:
	* data/themes/default/unavailable_sound.png:
	* data/themes/blue_scene/add.png:
	* data/themes/blue_scene/analysis.png:
	* data/themes/blue_scene/ports.png:
	* data/themes/blue_scene/uhoh.png:
	* data/themes/blue_scene/unavailable_sound.png:
	* include/audio_port.h:
	* include/effect_chain.h:
	* include/effect_tab_widget.h:
	* include/effect.h:
	* include/engine.h:
	* include/group_box.h:
	* include/instrument_track.h:
	* include/ladspa_2_lmms.h:
	* include/ladspa_browser.h:
	* include/ladspa_control.h:
	* include/ladspa_control_dialog.h:
	* include/ladspa_description.h:
	* include/ladspa_manager.h:
	* include/ladspa_port_dialog.h:
	* include/main_window.h:
	* include/rack_plugin.h:
	* include/rack_view.h:
	* include/select_ladspa_dialog.h:
	* src/lmms_single_source.cpp:
	* src/audio/audio_port.cpp:
	* src/core/effect_chain.cpp:
	* src/core/effect_tab_widget.cpp:
	* src/core/effect.cpp:
	* src/core/engine.cpp:
	* src/core/ladspa_browser.cpp:
	* src/core/ladspa_control.cpp:
	* src/core/ladspa_port_dialog.cpp:
	* src/core/main_window.cpp:
	* src/core/mixer.cpp:
	* src/core/select_ladspa_dialog.cpp:
	* src/lib/ladspa_2_lmms.cpp:
	* src/lib/ladspa_manager.cpp:
	* src/tracks/instrument_track.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/ladspa_control.cpp:
	* src/widgets/ladspa_description.cpp:
	* src/widgets/rack_plugin.cpp:
	* src/widgets/rack_view.cpp:
	-added preliminary support for ladspa effects
	-no load or save
	-expect segfaults

2006-08-07	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/lcd_spinbox.h:
	added manualChange signal

	* src/widgets/lcd_spinbox.cpp:
	- added manualChange signal
	- emit valueChanged whenever value is changed
	- removed redundant journalling operations

	* src/core/song_editor.cpp:
	- set modified flag if there's a manual BPM change
	- set tempo if BPM value has changed
	- allow further processing on muted tracks

	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	added bbTrack reference to check whether it's muted

	* src/tracks/bb_track.cpp:
	send automation events

	* include/mixer.h:
	* src/core/mixer.cpp:
	fixed overflow when using big audio buffers

	* plugins/audio_file_processor/audio_file_processor.cpp:
	use automation in start-/end-point knobs

	* plugins/vibed/vibed.cpp:
	fixed reversed pan

2006-08-06	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/engine.h:
	* include/midi_time.h:
	* src/core/engine.cpp:
	* src/core/note_play_handle.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/sample_track.cpp:
	frames computation based on 64th of a tact, fixes BB-pattern arbitrary
	positioning in song editor

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	- frames computation based on 64th of a tact
	- changed playPos frame counter to float, improves timing precision

	* src/tracks/instrument_track.cpp:
	- frames computation based on 64th of a tact
	- simplified note playing

2006-08-03	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/core/automation_editor.cpp:
	- fixed vertical bars in Auto view
	- fixed selection frame drawing
	- renamed some members and variables

	* include/automation_editor.h:
	renamed some members

2006-08-01	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/automation_editor.h:
	added "Auto" view

	* src/core/automation_editor.cpp:
	- added "Auto" view
	- improved labels display
	- removed duplicate variable y_base

	* include/song_editor.h:
	* src/core/engine.cpp:
	* src/core/song_editor.cpp:
	- moved framesPerTact() from songEditor to engine
	- update frames per tact only when changes happen

	* include/engine.h:
	* src/core/note_play_handle.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	moved framesPerTact() from songEditor to engine

2006-07-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.2.1 release

	* include/mixer.h:
	* include/visualization_widget.h:
	* src/widgets/visualization_widget.cpp:
	fixed a bug in connection between mixer and visualization-widget

2006-07-24	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/tracks/instrument_track.cpp:
	handle notes deleted when keys still pressed

	* include/song_editor.h:
	* src/core/note.cpp:
	* src/core/song_editor.cpp:
	added checks to avoid segfaults when closing the application

2006-07-23	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/core/piano_widget.cpp:
	initialize m_lastKey, fixes segfault

	* src/core/automation_editor.cpp:
	* src/core/note_play_handle.cpp:
	added checks to avoid segfaults when closing the application

2006-07-22	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/automatable_object.h:
	avoid unnecessary level updates

	* include/track.h:
	* src/tracks/instrument_track.cpp:
	trigger automation only when time has changed

	* src/core/track.cpp:
	- trigger automation only when time has changed
	- remove references from patterns when closing the application

	* include/automation_pattern.h:
	added method to avoid segfaults when closing the application

	* src/tracks/automation_pattern.cpp:
	- added check to avoid segfaults when closing the application
	- reverted processMidiTime(), that processing is needed

	* src/core/track_container.cpp:
	* src/lib/journalling_object.cpp:
	added checks to avoid segfaults when closing the application

	* include/engine.h:
	* src/core/engine.cpp:
	- do the clean-up in close()
	- ensure deleted elements aren't accessed

	* src/core/main_window.cpp:
	close the engine rather than delete it

	* include/instrument_track.h:
	allow access to the piano widget

	* include/piano_widget.h:
	moved key event handlers to public

	* include/piano_roll.h:
	redirect events to the piano widget

	* src/core/piano_roll.cpp:
	- changed some accelerators
	- redirect keyboard events to the piano widget
	- fixed segfault when pressing Ctrl with no pattern

	* src/core/automation_editor.cpp:
	changed some accelerators

	* src/core/song_editor.cpp:
	play the automation track only when playing song

	* include/automation_track.h:
	removed unused signal section

	* data/locale/ca.ts:
	updated translation

2006-07-21	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>

	* configure.in:
	- removed -fomit-frame-pointer flag--causes wine to crash on
	  Ubuntu
	- added check for gcc 4.0 for optimization flags--left it
	  commented out--needs to be tested with 4.1

2006-07-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/automation_pattern.cpp:
	automationPattern::processMidiTime(): do not start search on time-map if
	empty - find() on maps is horribly slow and makes LMMS unusable (still
	have to find a better solution without any find()s at all)

2006-07-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	- added optimization-flags
	- made 0.2.0 release

	* vst_sdk23_headers.diff:
	- removed as not needed anymore

2006-07-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/de.ts:
	* data/locale/de.qm:
	updated German translation

	* include/automation_editor.h:
	decreased DEFAULT_Y_DELTA

	* plugins/flp_import/flp_import.cpp:
	removed some obsolete code

2006-07-17	dieEasy <dieeasy/at/cheapnet/dot/it>

	* locale/it.ts:
	updated Italian translation

2006-07-16	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* data/themes/default/automation.png:
	* resources/automation.png:
	* src/core/automation_editor.cpp:
	* src/core/main_window.cpp:
	* src/core/piano_roll.cpp:
	* src/core/piano_widget.cpp:
	* src/core/surround_area.cpp:
	* src/widgets/automatable_button.cpp:
	* src/widgets/automatable_slider.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	added automation icon

2006-07-15	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* data/locale/ca.ts:
	updated translation

	* src/core/automation_editor.cpp:
	corrected help sentence

2006-07-14	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/note.h:
	* src/core/note.cpp:
	- added detuning knob
	- added explicit constructor from another note

	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	handle detuning automation

	* include/instrument_track.h:
	send a signal when handling automation

	* src/tracks/instrument_track.cpp:
	- send a signal when handling automation
	- use note detuning to calculate frequency

	* src/core/arp_and_chords_tab_widget.cpp:
	extended detuning to chords and arpeggios

	* include/automation_pattern.h:
	* src/tracks/automation_pattern.cpp:
	- automation pattern can be initialized without track
	- slots moved to public

	* include/automatable_object.h:
	automation pattern can be initialized without track

	* src/core/song_editor.cpp:
	* src/widgets/automatable_slider.cpp:
	updated clear automation method name

	* include/piano_roll.h:
	added open (note in editor) mode and support methods

	* src/core/piano_roll.cpp:
	- added open (note in editor) mode and support methods
	- clone detuning knobs when copying/pasting notes

	* src/core/automation_editor.cpp:
	- improved display when no pattern
	- play buttons can be used to play related note patterns
	- improved play/pause button display

2006-07-10	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/combobox.h:
	* src/widgets/combobox.cpp:
	- use automation capabilities
	- added context menu

	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/automation_editor.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/piano_roll.cpp:
	upgraded combo boxes

	* src/core/bb_editor.cpp:
	- upgraded combo box
	- improved bb-track management

	* src/tracks/bb_track.cpp:
	- update bb editor combo box when removed
	- moving track is the active one

	* src/core/song_editor.cpp:
	- upgraded combo box
	- use default template to create new projects

	* include/main_window.h:
	* src/core/main_window.cpp:
	- added user templates to templates menu
	- update templates menu when accessed

2006-07-09	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/piano_widget.h:
	* src/core/piano_widget.cpp:
	- use automation capabilities using a helper knob
	- added context menu
	- added save/load methods
	- use raw keycodes to play the piano

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	- don't set song modified flag when playing automation
	- use piano widget save/load methods

2006-07-08	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/automation_track.h:
	* src/tracks/automation_track.cpp:
	initial release, to handle automation of objects without a track

	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	- use automation capabilities
	- added context menu

	* include/automatable_slider.h:
	* src/widgets/automatable_slider.cpp:
	initial release, slider with automation

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	- use automatable sliders
	- use automation track
	- upgraded lcd spin box
	- joined some slider creation code between QT versions
	- show slider status on manual change only

	* include/track.h:
	* src/core/track.cpp:
	added automation track

	* src/audio/audio_alsa.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_oss.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/tracks/instrument_track.cpp:
	upgraded lcd spin boxes

	* include/automatable_object.h:
	check whether the automation editor has been created

	* src/core/surround_area.cpp:
	fixed position rounding

	* Makefile.am:
	* src/lmms_single_source.cpp:
	added automatable_slider and automation_track

2006-07-03	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* plugins/audio_file_processor/audio_file_processor.cpp:
	removed all automation

	* src/widgets/automatable_button.cpp:
	button groups may not use automation

	* src/widgets/knob.cpp:
	knobs may not use automation

	* include/automatable_object.h:
	- moved update flag to automation pattern
	- moved nullTrack() to public

	* include/automation_pattern.h:
	* src/tracks/automation_pattern.cpp:
	moved update flag from automatable object

2006-07-02	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/surround_area.h:
	* src/core/surround_area.cpp:
	- use automation capabilities using helper knobs
	- added context menu
	- added save/load methods

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	use upgraded surround area

	* include/automatable_button.h:
	* src/widgets/automatable_button.cpp:
	- use automation capabilities in button and button group
	- added button context menu

	* include/group_box.h:
	* include/led_checkbox.h:
	* include/pixmap_button.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vibed/impulse_editor.cpp:
	* plugins/vibed/impulse_editor.h:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/vibed.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/track.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/pixmap_button.cpp:
	upgraded buttons

	* plugins/bit_invader/bit_invader.cpp:
	- upgraded buttons
	- use sample length knob automation

	* plugins/organic/organic.cpp:
	- upgraded button
	- use waveshape knob automation

	* plugins/triple_oscillator/triple_oscillator.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	upgraded buttons and button groups

	* include/automatable_object.h:
	- moved getAutomationPattern to public
	- added some checks and minor fixes

	* src/core/automation_editor.cpp:
	improved levels display

	* src/core/song_editor.cpp:
	save/load automation editor state

	* src/widgets/tempo_sync_knob.cpp:
	added automation editor option in context menu

2006-06-29	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* Makefile.am:
	* include/automation_editor.h:
	* include/automation_pattern.h:
	* include/engine.h:
	* include/main_window.h:
	* include/song_editor.h:
	* include/time_pattern.h:
	* include/time_roll.h:
	* include/track.h:
	* src/lmms_single_source.cpp:
	* src/core/automation_editor.cpp:
	* src/core/engine.cpp:
	* src/core/main_window.cpp:
	* src/core/time_roll.cpp:
	* src/core/track.cpp:
	* src/tracks/automation_pattern.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/sample_track.cpp:
	* src/tracks/time_pattern.cpp:
	* src/widgets/knob.cpp:
	renamed time* classes to automation* ones

	* include/automatable_object.h:
	- renamed time* classes to automation* ones
	- fixed int classes rounding

	* plugins/organic/organic.cpp:
	save harmonic settings like before

	* data/presets/Organic/organ_risingsun.cs.xml:
	* data/presets/Organic/organ_swish.cs.xml:
	* data/presets/Organic/pad_ethereal.cs.xml:
	* data/presets/Organic/pad_rich.cs.xml:
	* data/presets/Organic/pad_sweep.cs.xml:
	* data/presets/Organic/sequencer_64.cs.xml:
	upgraded to new detuning algorithm

2006-06-28	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/level_object.h:
	* src/tracks/time_pattern.cpp:
	added level<->label methods

	* include/automatable_object.h:
	- added level<->label methods
	- minimized rounding errors

2006-06-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/lvsl_server.c:
	compatibility with older VST-headers (2.0) mentioned by configure

	* acinclude.m4:
	* configure.in:
	compat-fixes for FreeBSD

2006-06-27	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/time_pattern.h:
	* src/tracks/time_pattern.cpp:
	initial release, pattern for dynamic values

	* include/time_roll.h:
	* src/core/time_roll.cpp:
	initial release, time pattern editor

	* include/level_object.h:
	initial release, mainly used by the time-roll

	* include/automatable_object.h:
	- added levelObject inheritance and related functions
	- added time pattern
	- moved linkObject methods to private for safety
	- save/load settings can use generic names and types other than double

	* include/engine.h:
	* include/main_window.h:
	* src/core/engine.cpp:
	* src/core/main_window.cpp:
	added time-roll

	* include/knob.h:
	* src/widgets/knob.cpp:
	- use automation capabilities
	- added time-roll option in context menu

	* include/tempo_sync_knob.h:
	* include/volume_knob.h:
	* src/widgets/automatable_button.cpp:
	* src/widgets/lcd_spinbox.cpp:
	* src/widgets/tempo_sync_knob.cpp:
	* src/widgets/volume_knob.cpp:
	added automation

	* include/envelope_and_lfo_widget.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/organic/organic.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/vibed/vibed.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	added automation to many knobs

	* include/track.h:
	* src/core/track.cpp:
	- added time pattern
	- added name methods

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	- moved name scope to track
	- added automation to knobs
	- don't try to load a time pattern plugin

	* src/tracks/sample_track.cpp:
	added automation to knob

	* include/note.h:
	* src/core/note.cpp:
	moved quantized() to public

	* include/qt3support.h:
	added QPointer

	* include/song_editor.h:
	added time pattern

	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	simplified combobox numbers generation

	* data/themes/default/zoom_x.png:
	* data/themes/default/zoom_y.png:
	* resources/zoom_x.png:
	* resources/zoom_y.png:
	icons for the time-roll

	* Makefile.am:
	* src/lmms_single_source.cpp:
	added new files

2006-06-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	updated code which uses knob-identification-capabilities

	* include/knob.h:
	* include/volume_knob.h:
	* src/widgets/knob.cpp:
	* src/widgets/volume_knob.cpp:
	use data-property of automatableObject for identifying the knob
	(replaces the id-stuff)

	* include/automatable_object.h:
	added data-property in which any arbitrary information can be stored

2006-06-10	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* src/lib/sample_buffer.cpp:
	- fixed bug when sample processor generates less frames than the audio
	  buffer size
	- load full wav samples

	* data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
	* data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
	upgraded to newer version, end frame value caused segfault

2006-06-09	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/lmms_math.h:
	* include/oscillator.h:
	* include/sample_buffer.h:
	* src/lib/oscillator.cpp:
	- reverted to PM and added FM as a new modulation method
	- improved performance, specially PM/FM
	- moved fraction() to global scope
	- removed absolute value from userWaveSample, it's handled by fraction()

	* plugins/triple_oscillator/pm_active.png:
	* plugins/triple_oscillator/pm_inactive.png:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	added PM buttons, hid FM ones

	* Makefile.am:
	added lmms_math.h

	* data/locale/ca.ts:
	updated translation

2006-06-05	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* include/oscillator.h:
	* include/panning.h:
	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* src/lib/oscillator.cpp:
	oscillator rewrite, now many parameters may be changed between audio
	buffer updates

	* Makefile.am:
	note_play_handle is now a QObject

	* data/projects/cool_songs/Djeezus-BeatRolls.mmp:
	* data/projects/cool_songs/Djeezus-Oscilisous.mmp:
	* data/projects/cool_songs/Marfil-MarfilDrum01.mmp:
	* data/projects/cool_songs/Mart-Concave_flow.mmp:
	* data/projects/cool_songs/Mart-Dirt_Track.mmp:
	* data/projects/cool_songs/MaxFellner-Ease.mmp:
	* data/projects/cool_songs/SharkyX-DeadManDancing.mmp:
	* data/projects/cool_songs/SharkyX-Experiments.mmp:
	* data/projects/cool_songs/Siegel-DreamWave.mmp:
	* data/projects/cool_songs/TobyDox-Confused.mmp:
	* data/projects/cool_songs/TobyDox-Psycho.mmp:
	* data/projects/cool_songs/TobyDox-TheFourthDimension.mmp:
	* data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp:
	* data/projects/demos/basses-demo.mmp:
	* data/projects/demos/beat-collection.mmp:
	* data/projects/demos/demo1.mmp:
	* data/projects/demos/demo3.mmp:
	* data/projects/demos/demo5.mmp:
	* data/projects/demos/demo6.mmp:
	* data/projects/demos/loop_collection.mmp:
	* data/projects/demos/some_basslines.mmp:
	* data/projects/misc/1st.mmp:
	* data/projects/misc/time_machine.mmp:
	* data/projects/templates/AcousticDrumset.mpt:
	* data/projects/templates/ClubMix.mpt:
	* data/presets/AudioFileProcessor/Bass-Mania.cs.xml:
	* data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
	* data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
	reverted audiofileprocessors to not point to /usr/local/share/lmms, they
	should continue working

	* include/knob.h:
	* include/volume_knob.h:
	* src/widgets/knob.cpp:
	* src/widgets/volume_knob.cpp:
	added knob id

	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	update note frequency when changing base note in instrument track

	* include/instrument_track.h:
	* plugins/flp_import/flp_import.cpp:
	* src/core/piano_widget.cpp:
	* src/tracks/instrument_track.cpp:
	unify method to set a base note

2006-06-03	Javier Serrano Polo <jasp00/at/terra/dot/es>

	* acinclude.m4:
	* src/core/main.cpp:
	detect and load standard Qt translations

2006-05-29	Javier Serrano Polo <jasp00/dot/terra/dot/es>

	* src/core/arp_and_chords_tab_widget.cpp:
	fixed integer-overflow

	* include/oscillator.h:
	* include/sample_buffer.h: 
	* plugins/organic/organic.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/lib/oscillator.cpp:
	- several segfault-fixes when while playing note
	- volume-knob-changes take effect immediately

	* data/locale/ca.ts:
	added catalan translation

2006-05-26	Javier Serrano Polo <jasp00/dot/terra/dot/es>

	* src/lib/sample_buffer.cpp:
	corrected the calculation of f1 in play to prevent it from shifting
	the start_frame out of bounds when resampling.

	* src/core/config_mgr.cpp:
	* src/lib/mmp.cpp:
	changed the xml output to use UTF8 encoding instead of ascii.

2006-05-23	Danny McRae	<khjklujn/at/users/dot/sourceforge/dot/net>

	* include/oscillator.h:
	FM mixing sometimes calculates a negative "time" for the sampling
	which causes bad things to happen when pulling the data out of
	a user defined wave.  Changed userWaveSample to use the absolute
	value of the sample, which fixes the segfaulting problem.  Not
	sure whether I should care about the negative times elsewhere.

2006-05-22	Danny McRae	<khjklujn/at/users/dot/sourceforge/dot/net>

	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	added a switch to setAudioFile to force the track name to be
	used for the track if a name already exists.  Fixes the problem
	of having tracks being renamed to the file name when loading a
	saved song.

2006-05-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/de.ts:
	updated German translation

	* src/core/bb_editor.cpp:
	added button in bb-editor for adding new beat/bassline

	* include/track.h:
	* src/core/track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/instrument_track.cpp:
	* src/tracks/pattern.cpp:
	* src/tracks/sample_track.cpp:
	added "muted"-property to track-content-objects for being able to mute
	single patterns, samples etc. either via context-menu or using <Ctrl>
	and middle mousebutton

2006-05-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/track_container.cpp:
	added missing #include (debug.h for assert(...) )

2006-04-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/unrtf/output.c:
	generally use bigger font-sizes

	* plugins/flp_import/unrtf/attr.c:
	* plugins/flp_import/unrtf/attr.h:
	* plugins/flp_import/flp_import.cpp:
	do not crash when importing FLP-projects more than one time per
	session (some vars need to be reset before unrtf works again)

	* plugins/flp_import/flp_import.cpp:
	- limit number of bb-tracks for avoiding hangups
	- set length of step-notes to -64 instead of -1
	- scale filter-resonance to smaller values

2006-04-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vibed/vibed.cpp:
	some small optimizations in vibed::playNote( ... )

2006-04-16	Danny McRae	<khjklujn/at/users/dot/sourceforge/dot/net>
	* Makefile.am:
	* src/lmms_single_source.cpp:
	* include/knob.h:
	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	*+src/include/volume_knob.h:
	*+src/widgets/volume_knob.cpp:
	* include/setup_dialog.h:
	* src/core/setup_dialog.cpp:
	* include/sample_track.h:
	* src/tracks/sample_track.cpp:
	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/organic/organic.h:
	* plugins/organic/organic.cpp:
	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	Added a volume knob widget that will display the volume level as
	either a percentage or in dbV, which can be selected from the
	general settings in the setup dialog.  Changed vibed to use a 
	volume range from 0 to 200 to bring it in line with every other
	volume knob in lmms.  Unfortunately, this will break any existing
	presets, but better to do it now before many of them actually
	exist.

	* src/core/mixer.cpp:
	Changed the number of channels processed from the fixed value of
	SURROUND_CHANNELS to m_audioDev->channels() so that only the
	number of channels that will be output get processed instead of
	the maximum number of channels that could be defined.
	
2006-04-15	Danny McRae	<khjklujn/at/users/dot/sourceforge/dot/net>
	* include/mixer.h:
	* src/core/mixer.cpp:
	* src/core/song_editor.cpp:
	*+data/themes/default/auto_limit.png:
	*+data/themes/blue_scene/auto_limit.png:
	Added auto limiter option.  Main window now has a button next to
	the high-quality button to toggle the auto limiter on and off
	The limiter scales the whole section between zero crossings where
	a clip occurs.  This required adding another processing buffer
	in the mixer, which will double the latency when the auto limiter
	is being used, but when it's not being used, there is no change
	to the latency.  Because it's based on detecting the zero
	crossings, the lowest frequency for which it is effective is
	sample_rate/(4*buffer_len).

2006-04-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/mmp.cpp:
	clean metadata-nodes when saving projects, project-templates or presets

	* plugins/vibed/vibed.cpp:
	- in vibed::loadSettings():
	  - simplified loading of wave-shape
	  - delete base64-decoded data at the end
	- commented out code in destructor as it is not necessary - to be
	  removed someday

	* include/base64.h:
	fixed fatal bug in Qt4-version of base64::decode(): memcpy()ed data to
	_data instead of *_data

	* src/widgets/group_box.cpp:
	* src/widgets/tab_widget.cpp:
	some fine-tuning of Qt4-version of painting-code

	* src/widgets/lcd_spinbox.cpp:
	explicitely set black background-color in Qt4-version

	* src/core/midi_tab_widget.cpp:
	Qt4-version of MIDI-connection-code is now working

	* src/core/main_window.cpp:
	* plugins/vibed/impulse_editor.cpp:
	* plugins/vibed/nine_button_selector.cpp:
	* plugins/vibed/vibed.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/organic/organic.cpp:
	* src/core/song_editor.cpp:
	* src/core/piano_roll.cpp:
	* src/core/main_window.cpp:
	* src/core/bb_editor.cpp:
	* src/core/track.cpp:
	* src/widgets/project_notes.cpp:
	* src/widgets/group_box.cpp:
	* src/widgets/tab_widget.cpp:
	* src/widgets/tool_button.cpp:
	added missing setAutoFillBackground( TRUE )-call for making QWidget
	paint specified background-color/pixmap - makes Qt4-version of LMMS
	almost usable

	* src/widgets/tab_widget.cpp:
	per default hide newly added tabs

	* include/spc_bg_hndl_widget.h:
	added missing code for painting pixmap-backgrounds in Qt4-version

	* plugins/vestige/lvsl_client.cpp:
	use QX11EmbedContainer instead of QX11EmbedWidget in Qt4-version ->
	working VST-support in Qt4-version of LMMS

	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	- when loading sample, first look for it in user's working-directory,
	  then in LMMS' factory-samples-directory
	- simplified making the path of a sample-file relative

	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	* src/core/main_window.cpp:
	* src/tracks/instrument_track.cpp:
	replaced methods projectsDir(), presetsDir() and samplesDir() with
	userProjectsDir(), factoryProjectsDir(), userPresetsDir(),
	factoryPresetsDir() etc.

	* include/file_browser.h:
	* src/core/file_browser.cpp:
	try to avoid duplicate "/" in paths - fixes some problems

2006-04-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* most files:
	Qt4-fixes:
	- when including headers, specify qt-module too (QtCore, QtGui etc.)
	- draw gradients using QLinearGradient etc.
	- other opmizations (use QHash instead of QMap etc.)

2006-04-10	Danny McRae	<khjklujn/at/users/dot/sourceforge/dot/net>

	* Makefile.am:
	* include/lmms_constants.h:
	* include/basic_filters.h:
	* include/oscillator.h:
	* include/interpolation.h:
	converted calculations using PI to single precision
	
	* src/audio/audio_device.cpp:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_file_wave.cpp:
	corrected handling of big endian data

	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	* plugins/vibed/nine_button_selector.h:
	* plugins/vibed/nine_button_selector.cpp:
	- added octave to save and restore settings
	- removed mysterious m_sampleBuffer that was causing seg faults in the
	  deconstructor

	* src/core/main_window.cpp:
	added checks to handle "gimp like windows" for save and restore widget 
	states to prevent seg fault

	* data/projects/cool_songs/Djeezus-BeatRolls.mmp:
	* data/projects/cool_songs/Djeezus-Oscilisous.mmp:
	* data/projects/cool_songs/Marfil-MarfilDrum01.mpp:
	* data/projects/cool_songs/Mart-Concave_flow.mpp:
	* data/projects/cool_songs/Mart-Dirt_Track.mpp:
	* data/projects/cool_songs/MaxFellner-Ease.mpp:
	* data/projects/cool_songs/SharkyX-DeadManDancing.mpp:
	* data/projects/cool_songs/SharkyX-Experiments.mpp:
	* data/projects/cool_songs/Siegel-DreamWave.mpp:
	* data/projects/cool_songs/TobyDox-Confused.mpp:
	* data/projects/cool_songs/TobyDox-Psycho.mpp:
	* data/projects/cool_songs/TobyDox-TheFourthDimension.mpp:
	* data/projects/covers/J.S.Bach-Preludium_and_Fuge_A-Minor.mmp:
	* data/projects/demos/basses-demo.mpp:
	* data/projects/demos/beat-collection.mpp:
	* data/projects/demos/demo1.mpp:
	* data/projects/demos/demo3.mpp:
	* data/projects/demos/demo5.mpp:
	* data/projects/demos/demo6.mpp:
	* data/projects/demos/loop_collection.mpp:
	* data/projects/demos/some_basslines.mpp:
	* data/projects/misc/1st.mpp:
	* data/projects/misc/time_machine.mpp:
	* data/projects/templates/AccousticDrums.mpt:
	* data/projects/templates/ClubMix.mpt:
	* data/presets/AudioFileProcessor/Bass-Mainia.cs.xml:
	* data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
	* data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
	updated audiofileprocessors to point to factory presets files in
	/usr/local/share/lmms

2006-04-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/envelope_and_lfo_widget.cpp:
	do not show hint when loading settings in which lfo-shape is set to USER

	* src/core/preset_preview_play_handle.cpp:
	disable project-journalling while loading preset

	* src/core/preset_preview_play_handle.cpp:
	* src/tracks/instrument_track.cpp:
	for generating infinite notes, pass valueRanges<f_cnt_t>::max instead
	of ~0 to note-play-handle-constructor as ~0 = 1 for signed ints

	* include/types.h:
	- changed types of fpab_t and f_cnt_t to be signed - compiler
	  generates more optimized code this way
	- added template-struct "valueRanges", containing members "min" and
	  "max" which hold the minimum and maximum value of the type the
	  template is instantiated with

	* plugins/bit_invader/bit_invader.cpp:
	- fixed buffer-overflow when loading sample-data from base64 and more
	  bytes were decoded than allocated in wave-buffer
	- delete decoded base64-data after copying it into wave-buffer

2006-04-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/envelope_and_lfo_widget.cpp:
	- connect valueChanged()-event of lfo-shape-buttongroup with
	  lfoWaveCh()-slot - fixes bug that clicks at the lfo-wave-buttons
	  were not recognized
	- completely revised level()-method which doesn't have the bug
	  anymore, that in release-phase the envelope-level simply went down
	  from sustain-level to zero, now it goes down from the level at which
	  the note was released, new method is also much cleaner and more
	  optimized (and optmizable by compiler)

	* src/core/preset_preview_play_handle.cpp:
	hide preview-instrument-track-window after loading settings

2006-04-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vibed/vibrating_string.h:
	corrected type-names for resample()-method-parameters (f_cnt_t instead
	of samplerate_t)

2006-04-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	use setup-wizard only for setting working-directory

	* src/core/main_window.cpp:
	when creating file-browsers, pass 2 directories:
		- factory-files
		- user-files
	this concerns projects, presets and samples - obsoletes
	copying/linking files the first time, LMMS is run (new factory files in
	new versions do not cause any trouble anymore)

	* include/file_browser.h:
	* src/core/file_browser.cpp:
	added support for merging several directory-trees into one view

2006-04-05	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>

	* include/sample_track.h:
	* src/tracks/sample_track.cpp:
	- add volume knob to sample tracks

2006-04-05	Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>

	* plugins/vibed/impulse_editor.cpp:
	- corrected mismatch sin/saw mismatch in initialization

	* plugins/vibed/string_container.h:
	* plugins/vibed/string_container.cpp:
	* plugins/vibed/vibed.h:
	* plugins/vibed/vibed.cpp:
	- added string id tracking to allow adding strings while playing

2006-04-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/plugin_browser.h:
	* src/core/plugin_browser.cpp:
	- per default show small items for plugins in plugin-browser and show
	  details on mouse-over (nice animations!! ;-) - avoids problems with
	  hidden plugin-items because of too low screen-resolution and missing
	  scrollbars
	- draw plugin-details-text using QPainter::drawText (not with old own
	  (buggy) algorithm for text-drawing with word-break-support)

2006-04-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/unrtf/*:
	* plugins/flp_import/flp_import.cpp:
	use integrated unrtf-source into FLP-import-filter for converting
	RTF-comments to plain HTML which is usable with QTextEdit

2006-04-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/song_editor.cpp:
	set master-volume-slider correctly in songEditor::setMasterVolume()

	* include/envelope_tab_widget.h:
	* src/core/envelope_tab_widget.cpp:
	* src/core/note_play_handle.cpp:
	- in envelopeTabWidget::releaseFrames():
		if the volume-envelope is used, do not check
		release-frames of other envelope-targets, as it is not
		interesting if they're beyond the end of the volume-envelope
		(silent so or so) - may result in less CPU-usage in some
		situations if the user set a bigger release to an envelope
		other than the volume-env
	- for arpeggio-base-notes only use number of release-frames of
	  volume-envelope for m_releaseFramesToDo (for not creating silent notes
	  in release-phase of arp-base-note)

	* plugins/vibed/impulse_editor.cpp:
	use saw-wave as default shape for strings as it sounds much more like
	a typical guitar-string than a sine-wave

	* plugins/triple_oscillator/triple_oscillator.h:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	re-implement setParameter()-method for setting user-defined wave-shape
	(used by FLP-import-filter)

	* plugins/flp_import/flp_import.cpp:
	- convert 3x Osc params to TripleOscillator-settings and load them
	- load Vibed-Plugin for Plucked!-instrument
	- load arpeggio-settings of channel
	- load filter-settings of channel
	- handle base-note of each channel
	- correct master-volume-calculation

2006-04-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.cpp:
	- hack for converting RTF-comment to HTML using unrtf (if installed)

2006-03-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.h:
	* plugins/flp_import/flp_import.cpp:
	- try to load samples correctly using FL Studio installation
	- recognize steps (not working properly yet)
	- set current pattern of project
	- separate handling of plugin-parameters (will allow support of FL
	  presets later!)
	- added FLP_StepData (225) (not handled as format not known yet)
	- added FLP_EnvLfoParams (218) (not handled as format not known yet)
	- load envelope-settings of instrument-tracks

	* src/core/track_container.cpp:
	disable journalling in destructor of trackContainer

	* include/config_mgr.h:
	* include/setup_dialog.h:
	* src/core/config_mgr.cpp:
	* src/core/setup_dialog.cpp:
	support for setting path to installation directory of FL Studio

2006-03-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	added setMasterVolume() and setMasterPitch()

	* plugins/flp_import/flp_import.h:
	* plugins/flp_import/flp_import.cpp:
	- read text-len correctly
	- do not crash when creating new pattern before actual channels are
	  created
	- stated event 224 to be FLP_PatternData
	- extract information for creating notes out of pattern-data
	- add playlist-items after all is done for resizing them correctly

2006-03-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/flp_import.h:
	* plugins/flp_import/flp_import.cpp:
	improvements for having a working flp-filter as soon as possible

2006-03-28	Danny McRae	<khjklujn/at/yahoo/dot/com>

	* src/lib/sample_buffer.cpp:
	corrected miscalculation of buffer size in resample

	* nine_button_selector.cpp:
	* nine_button_selector.h:
	* string_container.cpp:
	* string_container.h:
	* vibed.cpp:
	* vibed.h:
	changed QPtrList variables to vlist type to make things more
	Qt4 friendly
	
2006-03-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/flp_import/:
	skeleton for FLP-import-filter and some first code (doesn't work yet)

	* include/midi.h:
	* include/midi_port.h:
	* include/midi_tab_widget.h:
	* src/core/midi_tab_widget.cpp:
	* src/midi/midi_port.cpp:
	support for default-velocity for MIDI-in and/or -out-events - useful
	when recording with constant velocity

2006-03-26	Danny McRae	<khjklujn/at/yahoo/dot/com>

	* plugins/vibed/:
	added "Vibed"-plugin, a powerful combination of PluckedStringSynth and
	BitInvader that's capable of producing a surprisingly wide range of
	sounds

2006-03-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/journalling_object.cpp:
	in journallingObject::saveState(): append new dom-element to parent
	before calling saveSettings() as some implementations of it depend on
	knowing something about it's parent (e.g. whether it's the clipboard
	etc.) - fixes several bugs related to clipboard-usage and drag'n'drop

2006-03-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/instrument_track.h:
	* src/core/preset_preview_play_handle.cpp:
	disable journalling for all objects involved in preset-preview

	* src/tracks/instrument_track.cpp:
	when saving preset, create new node below content-node of project, as
	the behaviour of saveTrackSpecificSettings() was changed some days
	before

	* src/lib/mmp.cpp:
	bugfixes concerning project type-naming

	* src/core/arp_and_chords_tab_widget.cpp:
	bugfixes concerning loading/saving settings

2006-03-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/track.cpp:
	in trackContentWidget::undoStep(): cast journalling object to
	track-content-object and close it instead of deleting it - fixes crash
	after undo of TCO-add

2006-03-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/organic/organic.cpp:
	* plugins/organic/randomise_pressed.png:
	added pixmap for visual feedback when pressing randomise-button

	* plugins/midi_import/midi_import.cpp:
	removed attribute FASTCALL from midiImport::tryImport() for not
	crashing LMMS, as tryImport() is not defined as FASTCALL in
	importFilter-API

	* src/core/export_project_dialog.cpp:
	fixed bug causing LMMS to crash when trying to export a project

2006-03-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/track.cpp:
	* src/core/track_container.cpp:
	* src/tracks/pattern.cpp:
	in loadSettings(): do not get confused by meta-data (journal etc.)

	* src/lib/journalling_object.cpp:
	- lot of bugfixes
	- save/load data of journal-entry (QVariant) by encoding/decoding it
	  with base64

	* include/base64.h:
	* src/lib/base64.cpp:
	support for encoding and decoding whole QVariant, independent of its 
	type (the result is one string, representing data of any type (int,
	QMap, QVector QString...) - this is just awesome!!)

	* src/tracks/instrument_track.cpp:
	do not crash in several situations if instrument is not loaded for
	some reason (e.g. invalid preset)

	* src/core/track.cpp:
	full support for undo/redo adding/removing a TCO (track-type
	independent)

2006-03-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/main_window.cpp:
	avoid layouting-errors when restore widget-state by showing widget
	while moving it

	* include/note.h:
	* src/core/note.cpp:
	undo/redo-support for note-properties

	* most files:
	- derive from journallingObject instead of settings and/or engineObject
	- in saveSettings() do not create own node, instead directly set
	  attributes of passed dom-element

	* include/journalling_object.h:
	* src/lib/journalling_object.cpp:
	- added saveSettings() and loadSettings()-method from former
	  settings-class
	- new wrapper-functions around saveSettings() and loadSettings():
	  saveState()
	  restoreState()
	  -> objects do not have to create a new node on their own,
	     saveState() does it for them using nodeName() as node-name
	  -> journal of object is saved/restored automatically

	* include/settings.h:
	removed

2006-03-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/journalling_object.h:
	- renamed from editable_object.h
	- renamed editStep to journalEntry
	- renamed editableObject to journallingObject
	- renamed other method-names

	* include/project_journal.h:
	* src/lib/project_journal.cpp:
	renamed editHistory to projectJournal and changed file-names
	accordingly

	* most files:
	renamed class channelTrack to instrumentTrack and changed other
	method-names to match new naming-convention

	* include/instrument_track.h:
	* src/tracks/instrument_track.cpp:
	renamed channel_track.* to instrument_track.*

2006-03-16	Andreas Brandmaier <andreas/at/brandmaier/dot/de>

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* plugins/organic/randomise.png:
	added "randomise preset" button to organic plugin

2006-03-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/types.h:
	added type for editable-object-ID

	* include/track.h:
	* src/core/track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/pattern.cpp:
	* src/tracks/sample_track.cpp:
	undo/redo-support for position- and size-changes of TCO

	* include/automatable_object.h:
	added methods for saving step-recording-state on stack and restoring
	it

	* include/automatable_object.h:
	* include/automatable_button.h:
	* include/knob.h:
	* src/widgets/automatable_button.cpp:
	* src/widgets/knob.cpp:
	added second template-parameter to automatableObject which specifies
	the type to be used for internal calculations (necessary for working
	undo/redo-implementation for bool-objects like buttons)

	* include/led_checkbox.h:
	* src/widgets/led_checkbox.cpp:
	fixed some bugs

2006-03-13	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/main_window.h:
	* src/core/main_window.cpp:
	added edit-menu with undo/redo-items

	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	* src/core/track_container.cpp:
	* src/tracks/channel_track.cpp:
	* src/widgets/project_notes.cpp:
	use mainWindow::saveWidgetState() and mainWindow::restoreWidgetState()
	for saving widget-state in project-file

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	made piano-roll a settings-object

	* include/main_window.h:
	* src/core/main_window.cpp:
	added static methods for saving and restoring state of a widget
	(position, size, visibility etc.) to/from QDomElement

	* include/timeline.h:
	* src/core/song_editor.cpp:
	* src/core/timeline.cpp:
	save loop-point-positions and loop-point-state in project

	* plugins/bit_invader/bit_invader.cpp:
	added visual feedback when pressing wave-shape-buttons

	* include/combobox.h:
	* include/led_checkbox.h:
	* include/pixmap_button.h:
	* src/widgets/combobox.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/pixmap_button.cpp:
	use automatableButton as new base-class
	
	* include/automatable_button.h:
	* src/widgets/automatable_button.cpp:
	- added class automatableButton to be the base-class for pixmapButton,
	  ledCheckBox etc.
	- added automatableButtonGroup, a more powerful button-group, designed
	  to be used in conjunction with automatableButton-derived buttons

2006-03-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/automatable_object.h:
	- added setInitValue() to be used by ALL creators of automatable
	  objects for initializing object-value - otherwise edit-step-history
	  gets filled with steps to set object's value to init-value
	- derive from editableObject and re-implement some methods for
	  transparent edit-history for all automatable objects (knobs etc.)

	* include/editable_object.h:
	* include/edit_history.h:
	* src/lib/edit_history.cpp:
	added support for recording edit-steps, the base for a generic
	undo/redo-system

2006-03-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/settings.h:
	* src/core/plugin_browser.cpp:
	* src/core/song_editor.cpp:
	* src/core/track_container.cpp:
	* plugins/midi_import/midi_import.cpp:
	* plugins/midi_import/midi_import.h:
	made MIDI-file-code an import-filter

	* include/import_filter.h:
	* src/core/import_filter.cpp:
	support for import-filter-plugins - simply call

	importFilter::import( FILE_NAME, TRACK_CONTAINER )

	for any file and the rest will be done fully automatically according
	to installed import-filter-plugins

2006-03-08	Zolo <the-zolo/at/gmx/dot/de>

	* data/themes/blue_scene/:
	updated some pixmaps

	* data/themes/blue_scene/plugins/:
	added pixmaps for plugins

2006-03-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/timeline.cpp:
	more logical loop-point-handling:
		middle mouse button -> left loop-point
		right mouse button -> right loop-point

	* plugins/audio_file_processor/audio_file_processor.cpp:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/organic/organic.cpp:
	* plugins/plucked_string_synth/plucked_string_synth.cpp:
	* plugins/triple_oscillator/triple_oscillator.cpp:
	* plugins/vestige/vestige.cpp:
	* include/plugin.h:
	* src/core/instrument.cpp:
	* src/core/plugin.cpp:
	* src/lib/embed.cpp:
	added support for plugin-theming

	* src/lib/embed.cpp:
	- first search in artwork-directories before searching for embedded data
	  as most artwork is not linked into binary (except plugins)
	- if pixmap not found, try to load according pixmap from
	  default-artwork-dir

	* include/embed.h:
	* src/core/main.cpp:
	* src/lib/embed.cpp:
	as localizations are no longer embedded into binary, loadTranslation()
	was moved to main.cpp and contains only some basic code for loading
	appropriate translation from file

	* src/core/config_mgr.cpp:
	several fixes concerning artwork-path

2006-03-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/arp_and_chords_tab_widget.cpp:
	more senseful range for arpeggio time: 25-2000 ms (instead of 10-1000ms)

	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	* src/midi/midi_alsa_raw.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/midi/midi_oss.cpp:
	only specify threading-priority when using Qt 3.3.5 or above as older
	versions cause problems when running the whole app with realtime
	priority - fixes several lockups

	* src/widgets/knob.cpp:
	when moving mouse while having shift pressed, increase/decrease by
	single steps

	* src/core/envelope_tab_widget.cpp:
	use 10 KHz as filter-maximum instead of 16 KHz

	* include/track.h:
	* src/core/track.cpp:
	added HACK to avoid crash because of bug in Qt (< 3.3.5) when removing
	track

	* src/core/config_mgr.cpp:
	- use default-theme-path if theme-path from config-file doesn't exist
	- add "/" to theme-path if missing

2006-03-06	Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>

	* locale/ru.ts:
	updated Russian translation

2006-03-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/main_window.cpp:
	always set to configured-state before showing setup-dialog on first
	startup

2006-03-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/engine.cpp:
	finalize main-window after having mixer to start its audio-devices -
	fixes crash on first time LMMS is started

2006-02-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* data/locale/de.ts:
	updated German translation

	* src/core/timeline.cpp:
	use note::toNearestTact() in timeLine::mouseMoveEvent() instead of own
	calculations

	* src/core/track.cpp:
	per default make TCO-ops (create, move, resize) aligned on tact-
	boundaries, free positioning/resizing can be achieved by pressing
	<Ctrl> after pressing mouse-button

	* include/midi_time.h:
	added note::toNearestTact()-method

	* include/pattern.h:
	* src/core/piano_roll.cpp:
	* src/track/pattern.cpp:
	do not quantize note-position while moving selection of notes

	* src/core/song_editor.cpp:
	some layout-fixes for looking good with "Blue Scene" as well

2006-02-27	Zolo <the-zolo/at/gmx/dot/de>

	* data/themes/blue_scene/:
	added new theme for LMMS

2006-02-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/song_editor.cpp:
	* src/tracks/pattern.cpp:
	do not crash when playing a pattern which is deleted

	* src/core/track_container.cpp:
	pause mixer when cloning tracks for avoiding side-effects, probably
	fixes some crash-bugs

	* include/config_mgr.h:
	* include/setup_dialog.h:
	* src/core/config_mgr.cpp:
	* src/core/setup_dialog.cpp:
	* src/lib/embed.cpp:
	first simple support for theming

	* Makefile.am:
	* configure.in:
	re-organized all data-directories (samples, presets, localizations,
	artwork etc.) and put them into data/ dir to be all installed into
	$prefix/share/lmms

2006-02-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/channel_track.cpp:
	apply a very basic envelope at the beginning and the end of a note for
	avoiding these "typical" clicks which were there before

2006-02-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* Makefile.am:
	* src/lmms_single_source.cpp:
	added support for compiling LMMS from one source file which often
	results in a better/more optimized executable

	* include/note.h:
	* include/piano_roll.h:
	* src/core/note.cpp:
	* src/core/piano_roll.cpp:
	- simple quantization-support
	- fixed lengths for drawing notes can be selected in piano-roll

	* resources/black_key.png:
	* resources/black_key_pressed.png:
	* resources/pr_black_key.png:
	* resources/pr_white_key_big.png:
	* resources/pr_white_key_small.png:
	* resources/white_key.png:
	* resources/white_key_pressed.png:
	replaced by new graphics

	* src/core/engine.cpp:
	delete piano-roll after song-editor and bb-editor as patterns being
	destroyed still depend on it

2006-02-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/channel_track.cpp:
	do not lock mutex in processOutEvent() as it causes a deadlock when
	having channel-activity-indicators enabled

	* include/midi_mapper.h
	* include/project_notes.h:
	* src/lib/sample_buffer.cpp:
	* src/midi/midi_file.cpp:
	* src/midi/midi_mapper.cpp:
	* src/widgets/project_notes.cpp:
	misc fixes for being able to compile LMMS from one source-file

	* include/automatable_object.h:
	* include/knob.h:
	* include/lcd_spinbox.h:
	* include/led_checkbox.h:
	* src/widgets/knob.cpp:
	* src/widgets/led_checkbox.cpp:
	* src/widgets/lcd_spinbox.cpp:
	introduced template-class automatableObject for central value-
	manipulation, range-checking etc. and made some classes (e.g. knob,
	ledCheckBox, lcdCheckBox) derive from it - preparations for full
	automation-support in LMMS

	* Makefile.am:
	do not strip executable when installing as it makes even basic debugging
	impossible

2006-02-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/combobox.cpp:
	* src/widgets/knob.cpp:
	* src/widgets/led_checkbox.cpp:
	draw shadowed text

	* include/mixer.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/mixer.cpp:
	better xrun-detection and -handling (still not perfect)

	* include/mixer.h:
	* src/tracks/channel_track.cpp:
	fixed critical bug which made LMMS crash if xruns were detected and
	notes were discarded by mixer and therefore deleted twice

2006-02-19	Andreas Brandmaier <andreas/at/brandmaier/dot/de>

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* presets/Organic:
	* presets/Bitinvader:
	added waveshape knob
	changed distortion method from clipping to foldback
	renamed and added presets for Organic and BitInvader
	
2006-02-18	Andreas Brandmaier <andreas/at/brandmaier/dot/de>

	* plugins/organic/organic.cpp:
	* plugins/organic/organic.h:
	* presets/Organic:
	added new plugin synthesizer plugin organic and some presets

2006-02-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/triple_oscillator/triple_oscillator.cpp:
	per default set volume of each osc to 33%

	* allmost all files:
	use engine-technology

	* include/engine.h:
	* src/core/engine.cpp:
	added engine- and engineObject-class providing new "engine-technology"
	which makes singleton-classes obsoletes and offers a lot of new
	possibilities like GUI-data-separation and having several projects
	open at the same time

2006-02-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mixer.h:
	* include/song_editor.h:
	* src/core/mixer.cpp:
	* src/core/song_editor.cpp:
	simple xrun-detection - do not accept new note-play-handles if xruns
	are detected

2006-02-06	Andreas Brandmaier <andy/at/brandmaier/dot/de>

	* plugins/bitinvader/bitinvader.cpp:
	* plugins/bitinvader/bitinvader.h:
	* plugins/bitinvader/graph.cpp:
	* plugins/bitinvader/graph.h:
	- code cleanup
	- added drag&drop support to wavegraph
	- added new BitInvader presets and improved old ones

2006-02-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/basic_filters.h:
	small optimizations: do not divide by 2.0, instead multiply with 0.5

	* src/core/main.cpp:
	set SCHED_FIFO-priority for LMMS if possible

	* plugins/vestige/communication.h:
	* plugins/vestige/lvsl_client.cpp:
	* plugins/vestige/lvsl_server.c:
	- set SCHED_FIFO-priority for VST-server if possible
	- no X-calls needed anymore
	- more complete host-callback-implementation
	- support for geometry-changes of plugin
	- use std::list instead of std::vector for enqueing MIDI-events (faster)
	- support for telling plugin system's language

	* configure.in:
	when checking for VST-SDK-headers, use C++ compiler instead of
	C-compilers as headers fail to compile with it

2006-02-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/types.h:
	* most files:
	more strict typing -> types for samplerate, bpm, frame-count,
	channel-count etc.

	* src/core/track.cpp:
	when creating a track, pause mixer for not causing any trouble because
	of incompletely initialized track etc. - fixes several crashes when
	adding track while playing

	* include/mixer.h:
	* src/core/mixer.cpp:
	more "intelligent" mix-mutex-management for allow multiple pause()-
	calls without ending in deadlock or crash because of mutex being
	unlocked to early

2006-02-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.1.4 release

	* Makefile.am:
	added -rdynamic-switch again to make LMMS able to load plugins

	* include/track_container.h:
	fixed bug which caused LMMS not being compilable using GCC 3

2006-02-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.1.3 release

	* lmms.1:
	added manpage (taken from debian-package and updated)

	* include/base64.h:
	* include/rubberband.h:
	* plugins/bit_invader/graph.cpp:
	* src/core/name_label.cpp:
	* src/widgets/combobox.cpp:
	* src/widgets/rubberband.cpp:
	Qt4-compat fixes

	* locale/de.ts:
	updated German translation

	* src/core/main.cpp:
	updated copyright-notice in help-text

2006-01-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/fstclient.h:
	* plugins/vestige/fstclient.cpp:
	- renamed to lvsl_client.*
	- when waiting for plugin to have finished process()ing, usleep() some
	  micro-seconds for allowing better scheduling

	* plugins/vestige/lvsl_server.c:
	- merged code from fstserver.cpp, fstserver.h and fstcore.c into one
	  source-file and removed rests of the old FST-API which makes all
	  the VST-code MUCH more cleaner and less redundant (LVSL = LMMS VST
	  Support Layer)
	- VST SDK 2.4 compatibility (no need to fix headers with 2.4!)

2006-01-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/bit_invader/bit_invader.cpp:
	- call graph::setSamplePointer() after loading settings
	- memcpy() samples in bitInvader::smoothClicked() instead of copying
	  them in a loop

	* plugins/bit_invader/graph.cpp:
	- update after setting new sample

	* src/tracks/pattern.cpp:
	- disable auto-cleanup during pattern-freeze
	- initialize member m_progress in patternFreezeStatusDialig-dtor - fixes
	  bug which sometimes closed the window before actual freezing was
	  started

	* include/buffer_allocator.h:
	* src/lib/buffer_allocator.cpp:
	- added possibility to disable auto-cleanup at certain times e.g. when
	  freezing a pattern
	- cleanup only every 10th free()-call for decreasing overhead
	- only start searching for free bufs if there're enough remaining

2006-01-24	Andreas Brandmaier <andy/at/brandmaier/dot/de>

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* presets/BitInvader:
	- changed sample buffer encoding in presets to base64
	- added BitInvader various presets

2006-01-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	use new base64-code

	* include/base64.h:
	* src/lib/base64.cpp:
	added methods for encoding/decoding binary data to/from base64-encoded
	data (wrapper-implementation for Qt4)

2006-01-23	Andreas Brandmaier <andy/at/brandmaier/dot/de>

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	* plugins/bit_invader/graph.cpp:
	* plugins/bit_invader/graph.h:
	- improved mouse handling.
	- replaced waveform generation methods by those of toby's oscillator
	  class
	- added user-loadable waveform
	- code cleanup

2006-01-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/timeline.h:
	* src/core/song_editor.cpp:
	* src/core/timeline.cpp:
	updates are now completely done by timeline/QTimer without being
	called from song-editor out of non-GUI-thread which caused segfaults
	etc. sometimes

	* include/name_label.h:
	* src/core/name_label.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/sample_track.cpp:
	added support for user-defined track-icons

	* artwork/track_icons/*png:
	added several icons to be used as track-icons

	* include/track.h:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	do not hide track for completely repainting it, use special method for
	it

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	only repaint if necessary, otherwise just paint the pixmap we painted
	before

	* include/bb_editor.h:
	* src/core/bb_editor.cpp:
	added combobox for selecting bb-track inside bb-editor

	* include/combobox.h:
	* src/widgets/combobox.cpp:
	- added clear()-method
	- do not crash when having no items
	- scale pixmap to fit into combobox
	- place menu below combobox if possible

2006-01-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* src/core/track.cpp:
	* src/tracks/pattern.cpp:
	* src/tracks/sample_track.cpp:
	added support for used-defined track-height by pressing <Shift> and
	move mouse (with pressed button)

	* include/song_editor.h:
	* include/track.h:
	* include/track_container.h:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	take advantage of new rubberband:
	- selecting track-content-objects of any type either via rubberband or
	  by clicking while pressing <Ctrl>
	- move selected track-content-objects
	- delete selected track-content-objects

	* include/rubberband.h:
	* src/widgets/rubberband.cpp:
	added rubberband which either acts as wrapper for Qt4's QRubberBand or
	as a widget imitating a rubberband

	* include/track.h:
	* src/core/track.cpp:
	draw vertical lines for each bar

	* include/bb_editor.h:
	* include/song_editor.h:
	* include/track_container.h:
	* src/core/bb_editor.cpp:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	fixed all that stuff with annoying scrollbars which partly hid important
	widgets

2006-01-21	Andreas Brandmaier <andy/at/brandmaier/dot/de>

	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/bit_invader.h:
	added smooth button

2006-01-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/pattern.cpp:
	also update after clearing all notes

	* include/piano_roll.h:
	* include/song_editor.h:
	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	use new combobox for zooming-comboboxes

	* include/export_project_dialog.h:
	* src/core/export_project_dialog.cpp:
	- reject() dialog when pressing cancel
	- use new combobox

	* include/arp_and_chords_tab_widget.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	use new combobox with according arpeggio-mode-icons

	* include/envelope_tab_widget.h:
	* src/core/envelope_tab_widget.cpp:
	* resources/filter_2lp.png:
	* resources/filter_ap.png:
	* resources/filter_bp.png:
	* resources/filter_hp.png:
	* resources/filter_lp.png:
	use new combobox with according filter-icons

	* include/combobox.h:
	* src/widgets/combobox.cpp:
	added own cool-looking combobox with menu-extension which basically
	has the same API as QComboBox

2006-01-19	Andreas M. Brandmaier <andy/at/brandmaier/dot/de>

	* plugins/bit_invader/bit_invader.h:
	* plugins/bit_invader/bit_invader.cpp:
	* plugins/bit_invader/graph.h:
	* plugins/bit_invader/graph.cpp:
	added "BitInvader"-plugin, an usereditable wavetable-synthesizer

2006-01-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/mmp.cpp:
	do not add "mmp"-extensions if there's already "mpt" (multimedia-
	project-template) as extension

	* include/arp_and_chords_tab_widget.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	- added new sync-mode to arpeggiator
	- arpeggiator-modes are now selectable from combobox

2006-01-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/file_browser.cpp:
	use 7.5 instead of 8 as font-size

	* src/widgets/led_checkbox.cpp:
	use 7.5 instead of 7 as font-size

	* include/gui_templates.h:
	- added more precise pointSizeF()-method
	- more precise point-size-calculation for pointSize()-method which
	  makes all fonts inside LMMS a bit bigger and everything more
	  readable

	* include/setup_dialog.h:
	* src/core/note_play_handle.cpp:
	* src/core/setup_dialog.cpp:
	* src/tracks/channel_track.cpp:
	added switches for disabling several UI-effects for a better
	performance even on older hardware

	* include/preset_preview_play_handle.h:
	* src/core/preset_preview_play_handle.cpp:
	global-data-mutex is not a pointer anymore, instead it's a normal
	QMutex - fixes crashes with sort-arpeggio if no preset was previewed
	before

2006-01-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/kmultitabbar.cpp:
	made KMultiTabBar working with Qt4

	* src/audio/audio_jack.cpp:
	return if connection to JACK-server failed with old JACK-API
	(jack_client_new(...)) - fixes crash when using old JACK-API with
	LMMS and JACK-server is not running

	* include/preset_preview_play_handle.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/preset_preview_play_handle.cpp:
	as preset-note-play-handle is not registered at mixer, it cannot be
	returned in notePlayHandle::nphsOfChannelTrack() and therefore
	previewing presets with sort-mode arpeggios doesn't work - now the
	arpeggiator also checks preview-note for being the only note there

	* src/core/arp_and_chords_tab_widget.cpp:
	fixed some bugs in arpeggiator

	* src/core/piano_roll.cpp:
	lock qapp-thread in recordNote() - hopefully fixes some
	xlib-async-errors

	* src/tracks/channel_track.cpp:
	- do not process note-on-out-events if according key is already pressed
	- when invalidating note-play-handles, also reset m_notes-array for not
	  crashing when applying another preset while key is pressed and
	  released afterwards

2006-01-10	Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>

	* locale/ru.ts:
	updated Russian translation

2006-01-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/piano_roll.cpp:
	update pattern after changing volume of step-note

2006-01-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/setup_dialog.h:
	* src/core/config_mgr.cpp:
	* src/core/setup_dialog.cpp:
	made appearence of two dialogs switchable (question whether to re-run
	wizard after up-/downgrade and message after accepting setup-dialog)

2006-01-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	* src/tracks/pattern.cpp:
	simple support for editing (existing) steps in piano-roll, e.g. for
	changing key of a step

	* plugins/vestige/vestige.cpp:
	per default switch to users VST-plugin-directory when opening plugin

	* include/config_mgr.h:
	* include/setup_dialog.h:
	* src/core/config_mgr.cpp:
	* src/core/setup_dialog.cpp:
	added possibility to setup working-directory and location of VST-plugins

	* src/widgets/tempo_sync_knob.cpp:
	removed a lot of obsolete #include's

	* include/piano_widget.h:
	* src/core/note_play_handle.cpp:
	* src/core/piano_widget.cpp:
	display played keys as if they were pressed

	* include/arp_and_chords_tab_widget.h:
	* include/note_play_handle.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/note_play_handle.cpp:
	added sort-mode for more powerful arpeggios

	* src/core/arp_and_chords_tab_widget.cpp:
	fixed bug which made the arpeggiator skipping notes sometimes at
	certain arpeggio-times

	* src/core/lmms_main_win.cpp:
	commented out code for creating effect-board-window-button

	* src/core/channel_track.cpp:
	removed inclusion of paths.h which isn't part of LMMS for quite a long
	while... - there were no problems because Linux has paths.h too

2006-01-06	dieEasy <dieeasy/at/cheapnet/dot/it>

	* locale/it.ts:
	added Italian translation

2006-01-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/vestige.cpp:
	set vestige-logo as window-icon of plugin-GUI-window

	* src/core/instrument.cpp:
	set logo of plugin as window-icon of channel-track

	* include/dummy_instrument.h:
	* include/dummy_plugin.h:
	* include/instrument.h:
	* include/plugin.h:
	* src/core/instrument.cpp:
	* src/core/plugin.cpp:
	small changes in plugin-API: plugin now always has to pass pointer to
	plugin-descriptor to plugin-dtor to make the latter one able to
	provide several information

	* src/core/plugin.cpp:
	search for plugin-libs in configManager::pluginDir() which is
	$prefix/lib/lmms - hopefully solves problems with finding plugins on
	some systems

	* include/channel_track.h:
	* include/midi_tab_widget.h:
	* src/core/midi_tab_widget.cpp:
	* src/tracks/channel_track.cpp:
	when using Raw-MIDI-client, make items "MIDI input/output" checkable
	and enable/disable MIDI-input/output accordingly if user
	checked/unchecked it and update check-state if user changed MIDI-mode
	in midi-tab-widget in channel-track

	* src/core/midi_tab_widget.cpp:
	set MIDI-output-channel to 1 per default

	* src/lib/sample_buffer.cpp:
	added flac-files to filter of file-selection-dialog

	* include/note_play_handle.h:
	* src/core/note_play_handle.cpp:
	when invalidating note-play-handle, do some stuff which actually would
	be done by dtor if m_channelTrack wouldn't be NULL

2006-01-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/track.cpp:
	added tooltip to track-op-widget telling the user something about
	drag'n'drop-functionality...

	* include/lmms_main_win.h:
	* src/core/lmms_main_win.cpp:
	* src/lib/string_pair_drag.cpp:
	if main-window looses focus or a drag is completed, clear
	key-modifiers of LMMS-main-window, because we might have lost
	key-release-events in these cases and therefore our modifier-state-map
	could be incorrect - fixes several bugs concerning drag'n'drop

	* README:
	* src/core/about_dialog.cpp:
	extended copyright from 2005 to 2006 - Happy New Year!

2005-12-31	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/channel_track.h:
	* src/tracks/channel_track.cpp:
	removed surround-area in track-settings-widget and added button with
	MIDI-connection-menu instead

2005-12-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/track.h:
	* include/track_container.h:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	revised all the things around track-operations:
	- tracks are now directly movable via the grip at the beginning of a
	  track - replaces "move up/down"-buttons and is much more usable
	- actions (clone/delete track) are now part of a popup-menu

	* src/core/lmms_main_win.cpp:
	- corrected file-description at the beginning
	- add space at left side before adding tool-buttons

	* src/core/midi_tab_widget.cpp:
	use smaller font for connection-selection-menu

2005-12-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/fade_button.cpp:
	do not update() directly in nextState(), use QTimer instead for avoiding
	xlib-threading-errors

2005-12-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/communication.h:
	* plugins/vestige/fstclient.cpp:
	* plugins/vestige/fstclient.h:
	* plugins/vestige/fstserver.cpp:
	* plugins/vestige/vestige.cpp:
	* plugins/vestige/vestige.h:
	- support for telling plugin current BPM, also catches BPM-changes
	- handle plugins without GUI correctly
	
	* include/tool_button.h:
	* src/widgets/tool_button.cpp:
	catch toggle-signals to emit clicked()-signal which is necessary if a
	button is checked using setChecked()-method and not by the user -
	fixes some bugs with piano-roll

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	- show text-float after user copied notes
	- do not play note when just moving selection
	- when update()ing paint everything in a pixmap which is painted in
	  paintEvent() - saves all the repaints everytime mouse-cursor is moved
	  and makes painting tool-cursor possible again

	* src/tracks/channel_track.cpp:
	corrected calculation in channelTrack::masterKey()

2005-12-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	always reset cursor when receiving leave-event

	* include/channel_track.h:
	* src/tracks/channel_track.cpp:
	use new fade-button as MIDI-event-indicator as well as simple
	play-default-tone-button

	* include/fade_button.h:
	* src/widgets/fade_button.cpp:
	added fade-button which can be activated and fades back to
	default-color afterwards

	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	* src/core/midi_tab_widget.cpp:
	* src/core/note.cpp:
	* src/core/song_editor.cpp:
	* src/core/track.cpp:
	* src/tracks/bb_track.cpp:
	* src/tracks/channel_track.cpp:
	* src/tracks/sample_track.cpp:
	do not use QString::number() for saving scalar value with
	setAttribute() as it is obsolete

	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	start audio-thread with QThread::HightestPriority for having less xruns

	* src/tracks/pattern.cpp:
	save m_steps-property, otherwise restoring it in loadSettings() makes
	no sense... - fixes bug which caused LMMS to always reset number of
	steps to 16 when loading files, even if the user created patterns
	containing more than 16 steps

	* include/audio_dummy.h:
	- fixed missing implementation of thread running the whole time and
	  calling audioDevice::processNextBuffer() -> fixes bugs & lockups when
	  using audio-dummy-driver
	- thread now always waits the amount of time that is left for the
	  current buffer, so if rendering of current buffer went faster than
	  in realtime, the song doesn't play at a higher speed

2005-12-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/vestige.cpp:
	determine real key of note using channelTrack::masterKey

	* include/micro_timer.h:
	moved micro-timer-class from mixer.cpp in separate header for being
	available to all modules of LMMS

	* src/core/mixer.cpp:
	added metronome-sounds when recording in piano-roll

	* src/lib/sample_buffer.cpp:
	- added resample()-method for resampling whole sample-buffer
	- after libsndfile try to load sample with libvorbis instead of
	  SDL_sound as the latter one seems to be buggy on few systems and
	  leads to unexpected crashes
	- if sample-decoder doesn't resample sample automatically, do it
	  afterwards using resample()

	* src/core/track_container.cpp:
	accept drops of type samplefile and sampledata too and create new
	channel-track with AudioFileProcessor

	* plugins/audio_file_processor/audio_file_processor.cpp:
	save/load sample-data which was dragged on plugin in settings

	* src/core/track.cpp:
	display correct length and now additionally start- and end-position of
	track-content-object

	* include/bb_track.h:
	* src/tracks/bb_track.cpp:
	do not align position and length of bb-track-objects on tact-boundaries
	as it offers an interesting new feature (incomplete/start beats etc.!)

2005-12-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/visualization_widget.cpp:
	enable visualization-widget per default

	* plugins/vestige/vestige.cpp:
	- do not crash when loading settings with empty plugin-attribute (e.g.
	  older projects/presets)
	- set channel-name according to plugin-name
	- added note-off-button for being able to note off hanging notes
	  (which sometimes occurs in combination with arpeggios)

2005-12-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/vestige.cpp:
	use new parameter-saving/loading-feature when saving/loading settings

	* plugins/vestige/communication.h:
	* plugins/vestige/fstclient.cpp:
	* plugins/vestige/fstclient.h:
	* plugins/vestige/fstserver.cpp:
	* plugins/vestige/fstserver.h:
	* plugins/vestige/fstcore.c:
	- added support for saving/loading parameters which almost completes
	  LMMS's rudimentary VST-support
	- support for querying parameter-properties
	- some changes in initialization of plugin

	* src/tracks/pattern.cpp:
	pass unused wheel-events to trackContentObect for being able to scroll
	within song-editor

2005-12-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/fstcore.c:
	a lot of clean-ups and other bug-fixes making VeSTige almost usable
	and stable

	* plugins/vestige/fstclient.h:
	* plugins/vestige/fstclient.cpp:
	save PID of children when fork()ing XFST-server which is used for
	sending SIGTERM when destroying everything

	* plugins/vestige/communication.h:
	* plugins/vestige/fstclient.cpp:
	* plugins/vestige/fstserver.cpp:
	* plugins/vestige/fstcore.c:
	do not show editor until client created x11-embed-widget - solves
	problems with not-embedded plugins under KDE

	* plugins/vestige/fstserver.cpp:
	rewrote MIDI-enqueueing-code as the old one was very buggy and
	unreliable

	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	added mutex for plugin which solves some problems

	* include/mixer.h:
	* src/core/mixer.cpp:
	per default clear all play-handles but instrument-play-handles in
	mixer::clear() as instrument-playhandles normally exist during the
	whole life-time of a certain plugin and must not be deleted when just
	stopping song etc.

	* include/play_handle.h:
	added type-information, so every derived class has to pass a
	type-constant to playHandle-constructor

2005-12-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.1.2 release

2005-12-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/sample_buffer.cpp:
	- first try to use libsndfile instead of SDL_sound for decoding sample
	  as SDL_sound sometimes doesn't handle samples (raw- and FLAC-files)
	  the correct way and returns unusable data while libsndfile seems to
	  work quite fine with these samples
	- when using libsamplerate, use linear-interpolation per default
	  instead of zero-order-hold-resampling which results in MUCH higher 
	  quality when resampling as it produces much less artifacts

	* src/core/file_browser.cpp:
	classify files with extension "flac" as samples

	* src/widgets/tab_widget.cpp:
	hide all other tabs when changing active tab - necessary for working
	with Qt 4.1

2005-12-20	Danny McRae	<khjklujn/at/yahoo/dot/com>

	* resources/step_btn_on_100.png:
	* resources/step_btn_yellow.png:
	* include/pattern.h:
	* src/tracks/pattern.cpp:
	make it possible to change volume of steps in bb-editor using mouse
	wheel and which changes color of step-button accordingly

2005-12-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/sample_buffer.cpp:
	first implementation of FLAC-encoding/decoding for compressing buffers
	before encoding them to base64 which results in smaller XML-files -
	currently disabled as it's still buggy and unusable

	* src/lib/buffer_allocator.cpp:
	in cleanup-method use list instead of vector for pool of buffers to be
	removed - fixes crash with Qt4

2005-12-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/knob.cpp:
	made knob ready for drag'n'drop of values

	* src/tracks/sample_track.cpp:
	load and save/load sample-data which doesn't come from sample in/from
	XML-node (base64-encoded)

2005-12-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/pattern.cpp:
	use Sint32 instead of Sint16 for determining central key, otherwise we
	might get overflows when having a lot of notes

	* src/tracks/sample_track.cpp:
	draw zero-line if sample is shorter than TCO

	* src/core/track.cpp:
	display text-float with current position/size when moving/resizing TCO

	* src/core/song_editor.cpp:
	do correct positioning for text-floats for master-volume/-pitch

	* include/envelope_and_lfo_widget.h:
	* src/core/envelope_and_lfo_widget.cpp:
	added support for user-defined wave-shapes - the user just has to drag
	an audio-sample into envelope/lfo-widget and that's all ;-)

	* src/tracks/pattern.cpp:
	* src/tracks/sample_track.cpp:
	make sound-buffer of frozen pattern draggable to sample in
	sample-track

	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	support for base64-encoding of sample-data into a QString

	* src/core/track_container.cpp:
	import MIDI-file to itself when getting according drag'n'drop-request

	* plugins/audio_file_processor/audio_file_processor.h:
	* plugins/audio_file_processor/audio_file_processor.cpp:
	receive drop-events (set dragged sample etc.)

	* plugins/vestige/fstclient.h:
	* plugins/vestige/fstclient.cpp:
	renamed removeVSTPlugin::write/readValue to write/readValueS for
	compiling even with buggy GCC 3.x

	* include/file_browser.h:
	* src/core/file_browser.cpp:
	made up all that drag'n'drop-stuff, you're now able to drag samples
	and presets directly to according channel, sample etc.

2005-12-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/bb_editor.h:
	* include/pattern.h:
	* src/core/bb_editor.cpp:
	* src/tracks/pattern.cpp:
	always update according bb-tracks when changing pattern/it's length

	* include/track.h:
	* src/core/track.cpp:
	* src/core/track_container.cpp:
	drag'n'drop everywhere - now you can drag every track-content-object
	(e.g. a pattern) to every other track-content-object of the same type
	or to a free place in an according track or just in another
	track-container

	* include/mmp.h:
	* src/lib/mmp.cpp:
	allow additionally to load data from given string instead of file

	* include/timeline.h:
	* src/core/timeline.cpp:
	- disable magnetic loop-points when pressing control
	- set start-point directly to given position when pressing middle
	  mouse-button, do the same for end-point of shift is pressed at the
	  same time

	* include/piano_roll.h:
	* include/song_editor.h:
	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	use modifier-key-states from lmmsMainWin instead of monitoring them on
	it's own

	* include/lmms_main_win.h:
	* src/core/lmms_main_win.cpp:
	capture key-events and save states of shift, control- and alt-key
	everytime it changes - other widgets can use this for querying whether
	one of these modifier-keys is pressed

2005-12-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	added better LADSPA-check and fixed some other small things

	* src/core/mixer.cpp:
	query attribute "mididev" instead of "midiclient" for determining
	selected MIDI-device - fixes bug with apparently non-selectable
	MIDI-device/-client

	* src/core/plugin.cpp:
	* src/lib/ladspa_manager.cpp:
	load plugins using QLibrary instead of platform-dependent dl-functions

2005-12-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/audio_alsa.h:
	do not include alsa-headers if they do not exist...

2005-12-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/file_browser.cpp:
	display text-float while loading sample for preview

	* plugins/audio_file_processor/audio_file_processor.cpp:
	fixed bug which caused LMMS to crash when playing notes on
	audio-file-processor, which was created out of preset containing link
	to file which doesn't exist

	* src/core/song_editor.cpp:
	use text-floats instead of status-bar

	* src/core/lmms_main_win.cpp:
	removed status-bar

	* plugins/vestige/vestige.cpp:
	show text-float while loading plugin

	* include/text_float.h:
	* src/widgets/text_float.cpp:
	heavy improvements on text-float-widget which is now also able to
	display messages with title and pixmap and offers two static methods
	for displaying a certain message

	* src/tracks/channel_track.cpp:
	set project modified after accepting drops of presets/plugins

	* include/instrument_play_handle.h:
	check for m_instrument being NULL because play-handle might be
	invalidated and thus crash when referencing NULL-ptr

	* most files:
	continued improving Qt4-support

2005-12-13	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* most files:
	made LMMS compatible with Qt4 again after heavy development under Qt3
	led to incompatibility with Qt4

2005-12-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/lmms_main_win.cpp:
	* src/lib/mmp.cpp:
	- default file-extension is now "mmp" (MultiMedia Project) instead of
	  "xml" for being able to associate mmp-files with LMMS in
	  file-managers etc. - futhermore LMMS-file-browser is much faster now
	  because it does not have to examine each file
	- file-extension for song-templates is now "mpt" (MultiMedia Project
	  Template)

	* include/cpuload_widget.h:
	* src/widgets/cpuload_widget.cpp:
	added cool CPU-load-widget displaying LMMS's current CPU-usage

	* src/core/note_play_handle.cpp:
	always check validity of sub-notes as they might not be known to mixer
	and therefore not invalidated in certain situations which made LMMS
	crashing (e.g. when deleting a channel-track which was current playing
	some arpeggio-notes)

	* include/pattern.h:
	* src/tracks/pattern.cpp:
	start separate thread for freezing pattern as this doesn't block the
	GUI-thread and user is now able to cancel pattern-freezing (which was
	not possible after last rewrite a few days ago)

	* include/timeline.h:
	* src/core/timeline.cpp:
	use timer for periodically screen-updates - locking QApplication-mutex
	isn't necessary anymore which makes LMMS not to hang when creating
	new song while playing etc.

	* src/core/piano_roll.cpp:
	when settings time-line-position, call setTact( 0 ) and
	setTact64th( 0 )-members instead of pos() = 0 (the latter one leads
	to crashes)

	* plugins/audio_file_processor/audio_file_processor.cpp:
	update start- and end-frames of sample-buffer when loading settings

2005-12-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/lmms_main_win.h:
	* include/song_editor.h:
	* src/core/lmms_main_win.cpp:
	* src/core/song_editor.cpp:
	* resources/toolbar_bg.png:
	* resources/main_toolbar_bg.png:
	heavy improvements on toolbars

	* include/nstate_button.h:
	* src/widgets/nstate_button.cpp:
	base-class is now toolButton instead of QPushButton

	* include/tool_button.h:
	* src/widgets/tool_button.cpp:
	- moved implemenation of toolButton into cpp-file
	- added highlighting during mouse-over
	- do not connect clicked()-signal if receiver and/or slot are NULL

2005-12-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/channel_track.h:
	* src/core/midi_tab_widget.cpp:
	* src/core/preset_preview_play_handle.cpp:
	added support for saving and restoring MIDI-connections of a channel
	in ordinary channel-preset-data

	* include/channel_track.h:
	* include/midi_tab_widget.h:
	* src/core/midi_tab_widget.cpp:
	* src/tracks/channel_track.cpp:
	dropped support for switchable MIDI-event-routing as it is done per
	default and actually makes no sense...

	* src/midi/midi_port.cpp:
	do not process MIDI-out-event if channel = -1

2005-12-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/midi_tab_widget.cpp:
	- always un-check items in port-menus when disabling receiving or
	  sending MIDI-events
	- small GUI improvements

	* resources/midi_in.png:
	* resources/midi_out.png:
	added icons for MIDI-input- and MIDI-output-port-selection

2005-12-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/midi_alsa_seq.h:
	* include/midi_client.h:
	* include/midi_tab_widget.h:
	* src/core/midi_tab_widget.cpp:
	* src/midi/midi_alsa_seq.cpp:
	* src/midi/midi_client.cpp:
	added support for easy MIDI-port-subscription inside LMMS by just
	selecting according source-/destination-port from a menu in
	MIDI-setup-tab in each channel-window

2005-12-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/note_play_handle.cpp:
	* src/core/piano_roll.cpp:
	* src/core/piano_widget.cpp:
	* src/tracks/channel_track.cpp:
	moved output-MIDI-event-generation-code from channel-track to
	note-play-handles for covering arpeggio/chords and having exactly
	timed events - makes it now possible to control other MIDI-based
	synths etc. from patterns (which was not possible before because
	of a small bug) - will drop MIDI-out-plugin very soon as it isn't
	needed anymore

2005-12-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	- when moving mouse draw a bar at current key
	- re-enabled mouse-tracking for cursor-changes when mouse is over tail
	  of note etc.

	* resources/zoom.png:
	* src/core/song_editor.cpp:
	* src/core/piano_roll.cpp:
	added small zoom-icon to zoom-combobox

2005-12-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/midi_alsa_raw.h:
	* include/midi_client.h:
	* include/midi_dummy.h:
	* include/midi_oss.h:
	* src/midi/midi_alsa_raw.cpp:
	* src/midi/midi_client.cpp:
	* src/midi/midi_oss.cpp:
	renamed class midiRawClient to midiClientRaw
	
	* include/pattern.h:
	* src/core/song_editor.cpp:
	* src/tracks/pattern.cpp:
	do not hang in endless loop when rendering pattern with enabled
	looping-points

	* src/core/time_line.cpp:
	align looping-points on bars

	* include/bb_editor.h:
	* include/piano_roll.h:
	* include/song_editor.h:
	* include/timeline.h:
	* include/tool_button.h:
	* src/core/bb_editor.cpp:
	* src/core/piano_roll.cpp:
	* src/core/song_editor.cpp:
	* src/core/timeline.cpp:
	redesigned toolbars of song-editor, bb-editor and piano-roll - now
	they're looking really cool and especially time-line-features are much
	more usable

	* include/song_editor.cpp:
	* src/core/lmms_main_win.cpp:
	* src/core/song_editor.cpp:
	- added main-toolbar at bottom of screen and moved several widgets from
	  song-editor-toolbar into it
	- added high-quality-button for switching to 88200/96000 Hz

	* src/widgets/tab_widget.cpp:
	reversed scroll-wheel-direction for changing tab

2005-12-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/main.cpp:
	- better handling of command-line options
	- added help switch
	- fixed bugs concerning rendering from command-line

	* include/audio_alsa.h:
	* include/audio_device.h:
	* include/audio_dummy.h:
	* include/audio_file_device.h:
	* include/audio_file_ogg.h:
	* include/audio_file_wave.h
	* include/audio_jack.h:
	* include/audio_oss.h:
	* include/audio_sdl.h:
	* include/export.h:
	* include/export_project_dialog.h:
	* include/mixer.h:
	* include/pattern.h
	* include/song_editor.h:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_device.cpp:
	* src/audio/audio_file_device.cpp:
	* src/audio/audio_file_ogg.cpp:
	* src/audio/audio_file_wave.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_port.cpp:
	* src/audio/audio_sdl.cpp:
	* src/core/export_project_dialog.cpp:
	* src/core/lmms_main_win.cpp:
	* src/core/main.cpp:
	* src/core/mixer.cpp:
	* src/core/song_editor.cpp:
	* src/track/pattern.cpp:
	changed architecture of mixer-system from push- to pull-architecture
	which makes almost all things (song-export, pattern-freezing etc.) much
	easier and also results in a better performance (especially when using
	JACK) - additionally LMMS doesn't take 100% CPU anymore

2005-12-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/config_mgr.cpp:
	do not try to re-run wizard in case of version mismatches

	* configure.in:
	* plugins/Makefile.am:
	* presets/Makefile.am:
	dropped ladspa_sine_1063-plugin as it is only for experimental
	purposes

2005-11-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	changes for working with new VST-framework

	* plugins/vestige/fstclient.h:
	* plugins/vestige/fstserver.h:
	* plugins/vestige/fstclient.cpp:
	* plugins/vestige/fstserver.cpp:
	* plugins/vestige/fstcore.c:
	* plugins/vestige/communication.h:
	added new VST-framework (client-server-architecture) based on XFST

	* include/qxembed.h
	* src/widgets/qxembed.cpp:
	added QXEmbed-widget which is necessary for embedding VST-plugin

2005-11-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	added usleep()-call for realizing usable threading and solve problems
	with 100%-CPU-usage

2005-11-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/channel_track.h:
	* include/sample_play_handle.h:
	* include/sample_track.h:
	* src/core/sample_play_handle.cpp:
	* src/tracks/channel_track.cpp:
	* src/tracks/sample_track.cpp:
	made things work with audio-ports

	* include/mixer.h:
	* src/core/mixer.cpp:
	completely revised internal mixing-engine make it working with
	the new audio-ports, which results in a much cleaner, faster and more
	powerful mixing-engine

	* include/audio_port.h:
	* src/audio/audio_port.cpp:
	added so called audio-ports which are important for transporting sound
	from it's origin through the mixer and the effect-board (the latter
	one isn't existing yet but coming quite soon) - another important
	point is the ability of having output-ports for each channel/sample-
	track with JACK

	* src/tracks/channel_track.cpp:
	translate default-channel-name "Default"

	* src/audio/audio_jack.cpp:
	- sync JACK's buffer-size with LMMS's one
	- start JACK-transport if not already done

	* include/mixer.h:
	* src/audio/audio_jack.cpp:
	* src/core/mixer.cpp:
	* src/lib/sample_buffer.cpp:
	* src/widgets/visualization_widget.cpp:
	use memset() for clearing buffers - obsoletes usage of silence-buffers
	in mixer

2005-11-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/midi/midi_alsa_seq.cpp:
	use relative instead of absolute scheduling for events which makes
	MIDI-out working

2005-10-31	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/midi_alsa_seq.h:
	* src/midi/midi_alsa_seq.cpp:
	several bug-fixes

2005-10-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/midi_alsa_seq.h:
	* src/midi/midi_alsa_seq.cpp:
	added first version of ALSA-sequencer - currently doesn't handle all
	common events, but note-on/off and key-pressure work so far

	* include/midi_client.h:
	- added method applyPortMode() for making MIDI-subsystem able to get
	  known of port-mode changes which is necessary if they have REAL
	  ports like ALSA-seq. has
	- renamed validatePortName() to applyPortName() and made it non-pure
	  virtual

	* src/tracks/channel_track.cpp:
	initialize m_midiEventRoutingEnabled with FALSE per default in ctor

	* src/core/mixer.cpp:
	delete midi-dev on exit

	* src/midi/midi_midi_alsa_raw.cpp:
	when reading/saving device-name via config-mgr, use "midialsaraw"
	instead of "midialsa" as context-name

2005-10-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/project_notes.cpp:
	set initial text to bright gray, since black text on a very dark back-
	ground isn't very readable...

	* include/lmms_main_win.h:
	* include/setup_dialog.h:
	* src/core/bb_editor.cpp:
	* src/core/lmms_main_win.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/song_editor.cpp:
	* src/widgets/project_notes.cpp:
	added support for GIMP-like usability, i.e. no MDI

	* src/core/song_editor.cpp:
	* src/core/bb_editor.cpp:
	reorder some code in constructor for not crashing if window is
	shown while constructor is still running

2005-10-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/led_checkbox.cpp:
	also emit toggled()-signal if state actually wasn't changed

	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	- display special strings if value is a certain number
	- support for disabled-state (gray/no input)

	* include/midi_tab_widget.h:
	* src/core/midi_tab_widget.cpp:
	* src/tracks/channel_track.cpp:
	added new tab "MIDI" for being able to setup MIDI-related stuff for
	each channel

	* include/channel_track.h:
	* include/midi*:
	* include/piano_widget.h:
	* include/setup_dialog.h:
	* src/core/mixer.cpp:
	* src/core/piano_roll.cpp:
	* src/core/piano_widget.cpp:
	* src/core/setup_dialog.cpp:
	* src/core/song_editor.cpp:
	* src/midi/midi*:
	* src/tracks/channel_track.cpp:
	coded a completely new, powerful and clean MIDI-system which e.g. makes
	it possible to mask MIDI-events for each channel and to receive and send
	(timed!) MIDI-events on a separate MIDI-port for each channel, which
	only makes sense if using non-raw (sequenced) MIDI-client - currently
	none existing, but ALSA-sequencer-support is in progress

	* include/midi_device.h:
	* src/midi/midi_device.cpp:
	removed

2005-10-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/tempo_sync_knob.cpp:
	do not implement the same code as knob does in mouseMoveEvent() - call
	knob::mouseMoveEvent() instead

	* include/knob.h:
	* src/widgets/knob.cpp:
	cleaned up a lot and fixed some bugs

2005-10-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/song_editor.h:
	decreased MAX_BPM to 999 since BPM-LCD-spinbox is intended to have
	only three digits while 1000 has four of them... ;-)

	* include/track_container.h:
	* src/core/track_container.cpp:
	trackContainer::scrollArea-class has now m_trackContainer-member
	for storing parent which makes cast of parent-widget to track-container
	(which sometimes failed...) obsolete

	* configure.in:
	check for libfst and present VST-SDK header-files

2005-10-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* plugins/vestige/vestige.h:
	* plugins/vestige/vestige.cpp:
	added possibility of opening plugins instead of hardcoding them ;-)

	* include/track.h:
	renamed createTrack() and cloneTrack() to create() and clone()

	* include/track_container.h:
	* src/core/track_container.cpp:
	receive drop-events -> add channel with instrument/preset

	* src/audio/audio_jack.cpp:
	removed usleep() out of loop in audioJACK::writeBufferToDev() since it
	caused LMMS to hang e.g when removing a track

	* src/core/plugin_browser.cpp:
	show hand-cursor if over a plugin-description-widget

	* src/widgets/pixmap_button.cpp:
	if pixmap-button is set non-checkable, draw active-graphic if pressed
	down and inactive one in normal state

	* include/lmms_main_win.h:
	* src/core/lmms_main_win.cpp:
	own workspace for making wheelEvent(...) is now obsolete -> removed

	* include/track_container.h:
	* src/core/song_editor.cpp:
	* src/core/track_container.cpp:
	added own scroll-area for capturing special wheel-events where a
	modifier-key (shift, control etc.) is pressed

	* src/core/song_editor.cpp:
	removed add-channel-button as it is obsolete after adding plugin-browser

	* resources/:
	improved icons such as project_*.png and sample-track-related icons

2005-10-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/channel_track.h:
	* src/tracks/channel_track.cpp:
	- moved channelButton-implementation to channel_track.src
	- added support for receiving drop-events, which makes channel-track
	  to load either the given instrument or the given preset

	* src/core/plugin_browser.cpp:
	* include/plugin_browser.h:
	added cool plugin-browser, which displays all available instrument-
	plugins which are draggable to a channel-window/button

	* include/string_pair_drag.h:
	* src/lib/string_pair_drag.cpp:
	added drag'n'drop-implementation for dragging string-pairs (key/value)
	which provides a standard-interface, although drag'n'drop has changed a
	lot in Qt 4

	* src/widgets/crystal_button.cpp:
	made mouseMoveEvent()-method much more effective

	* Makefile.am:
	* buildtools/Makefile.am:
	build buildtools in subdir instead of top-build-directory - solves
	dependendy problems with bin2res

	* src/core/file_browser.cpp:
	do not depend on typeinfo of audioFileProcessor anymore by using
	new setParameter()-method

	* include/plugin.h:
	added setParameter() and getParameter()-methods for making LMMS able to
	set parameters of a specific plugin without knowing anything about it

2005-10-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* buildtools/bin2res.cpp:
	* include/embed.h:
	* src/lib/embed.cpp:
	- declaration of embedded-data-descriptor is now located in embed.h and
	  part of namespace embed
	- added support for local embedded-resources which is important for
	  plugins containing their own images etc., so data and access-methods
	  are stored into namespace PLUGIN_NAME

	* include/plugin.h:
	* src/core/plugin.cpp:
	added logo-field to descriptor-structure and simplified method for
	getting descriptors of all plugins

	* include/basic_filters.h:
	removed Moog-2-filter as it is only very CPU-intensive without any
	significant difference to sound of normal Moog-filter

2005-10-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/lib/ladspa_manager.cpp:
	skip not existing/unreadable directories when searching for plugins

	* include/vestige.h:
	* src/plugins/vestige.cpp:
	make use of new instrument-play-handle

	* include/channel_track.h:
	* src/core/browser.cpp:
	* src/core/song_editor.cpp:
	* src/midi/midi_file.cpp:
	* src/tracks/channel_track.cpp:
	renamed loadPlugin() to loadInstrument()

	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	added pluginDir()-method

	* include/instrument_play_handle.h:
	added another play-handle for playing instruments which do not
	produce sound for each note

	* src/plugins/:
	renamed directory soundgenerators to plugins and modified all plugins
	for working with revised plugin-system

	* include/instrument.h:
	* include/plugin.h:
	* src/core/instrument.cpp:
	* src/core/plugin.cpp:
	splitted code from instrument up into class plugin and class instrument
	and revised plugin-system

	* include/instrument.h:
	* src/core/instrument.cpp:
	renamed files soundgenerator.* to instrument.* as well as class-name

2005-10-15	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/vestige.h:
	* src/soundgenerators/vestige.cpp:
	new plugin "VeSTige" for handling VST-plugins - VERY experimental,
	but at least, we get some sound out of these strange dll-files ;-)

2005-10-13	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/audio/audio_jack.cpp:
	do not fill up buffers if JACK-transport is not rolling but at the same
	time always handle frame-syncing-var in JACK-callback, even if JACK-
	transport is not rolling - fixes several bugs like lockups when
	removing tracks while JACK-server is pausing...

	* src/widgets/knob.cpp:
	fixed bug which caused hidden mouse-cursor forever when pressing right
	mouse-button while left one is pressed

	* src/lib/ladspa_manager.cpp:
	use /usr/lib/ladspa as default-directory if env-var LADSPA_PATH is not
	set

	* src/soundgenerators/*.cpp:
	removed obsolete defaultSettings()-method from each soundgenerator

2005-10-13	Danny McRae	<khjklujn/at/yahoo/dot/com>

	* include/ladspa_manager.h
	* include/ladspa_sine_1063.h
	* src/lib/ladspa_manager.cpp:
	* src/soundgenerators/ladspa_sine_1063.cpp:
	added LADSPA-support and a simple soundgenerator for testing-purposes

2005-10-12	Danny McRae	<khjklujn/at/yahoo/dot/com>

	* Makefile.am:
	* include/led_checkbox.h:
	* src/core/envelope_and_lfo_widget.cpp:
	* src/widgets/led_checkbox.cpp:
	inherit ledCheckBox from QWidget instead of QCheckBox since it sometimes
	caused graphic-errors when running on KDE with Baghira-style...

2005-10-05	Danny McRae	<khjklujn/at/yahoo/dot/com>

	* resources/note_double_whole.png:
	* resources/note_eighth.png:
	* resources/note_half.png:
	* resources/note_none.png:
	* resources/note_quarter.png:
	* resources/note_sixteenth.png:
	* resources/note_thirtysecond.png:
	* resources/note_whole.png:
	* resources/xclock.png:
	added icons for context-menu of tempoSyncKnob

	* src/widgets/lcd_spinbox.cpp:
	emit valueChanged()-signal in wheelEvent()-method

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	- added getBPM()-method
	- emit signal if BPM is changed

	* include/arp_and_chords_tab_widget.h:
	* include/envelope_and_lfo_widget.h:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_and_lfo_widget.cpp:
	use new tempoSyncKnob-widget instead of traditional time-knob

	* include/tempo_sync_knob.h:
	* src/widgets/tempo_sync_knob.cpp:
	added tempo-sync-knob which automatically converts fixed note-length's
	to a fixed time in ms everytime BPM is changed

2005-10-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/basic_filters.h:
	- added another moog-filter which sounds a bit better but needs MUCH
	  more CPU-time...
	- cleaned up different filter-code-branches

2005-10-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/oscillator.h:
	cast to int instead of floor()ing value in oscillator::phase() which
	makes the whole thing faster again...

2005-09-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/tab_widget.cpp:
	fixed bugs when adding widget with already existing index

	* Makefile.am:
	* include/midi_out.h:
	* include/plucked_string_synth.h:
	* src/soundgenerators/midi_out.cpp:
	* src/soundgenerators/plucked_string_synth.cpp:
	classes midiOut and pluckedStringSynth do not have slots or signals,
	so Q_OBJECT-macros were removed and MOC-code isn't compiled anymore

	* include/sgs:
	* src/core/plugin_management.cpp:
	removed because not needed anymore with new plugin-system

	* configure.in:
	* Makefile.am:
	* include/audio_file_processor.h:
	* include/channel_track.h:
	* include/midi_out.h:
	* include/plucked_string_synth.h:
	* include/sound_generator.h:
	* include/triple_oscillator.h:
	* src/core/browser.cpp:
	* src/core/sound_generator.cpp:
	* src/core/song_editor.cpp:
	* src/midi/midi_file.cpp:
	* src/soundgenerators/*:
	* src/tracks/channel_track.cpp:
	made all sound-generator-plugins shared libraries loaded at runtime,
	which gives much more flexibility because you can load songs/presets
	from people having other plugins just by adding according lib*.so file
	to /usr/lib - no need to recompile!

	* inlude/empty_sg_plugin.h:
	added empty sound-generator plugin

2005-09-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	added combo-box for selectinf zooming-factor

	* include/piano_roll.h:
	* src/core/piano_roll.cpp:
	added combo-box for selecting zooming-factor

	* include/led_checkbox.h:
	* src/widgets/led_checkbox.cpp:
	added methods for querying and setting state

	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	better alignment of widgets inside each of this tabs

	* src/tracks/channel_track.cpp:
	finished improving GUI of channel-track-window by using tabWidget
	instead of tabBar for plugin-, env/lfo- and arp-widgets

	* include/envelope_and_lfo_widget.h:
	* src/core/envelope_and_lfo_widget.cpp:
	use ledCheckBox'es instead of pixmapButton's with QLabel's

	* include/tab_widget.h:
	* src/widgets/tab_widget.cpp:
	made tabWidget more powerful:
	- use indexed tabs
	- different painting if no caption was defined
	- switch tabs if wheel-events occurs

2005-09-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/channel_track.cpp:
	began improving GUI of channel-track-window

	* projects/cool_songs/TobyDox-TheFourthDimension.xml:
	added another song...

	* include/qt3support.h:
	Qt 3.1-support

	* include/audio_alsa.h:
	define macro ALSA_PCM_NEW_HW_PARAMS_API for working with older ALSA-
	versions which offer old and new HW-param-API - we're using the new one

2005-09-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* many files:
	make LMMS compile with Qt 3.0 and GCC 2.95

2005-09-25	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/audio/audio_jack.cpp:
	- decreased wait-time from 0.5 ms to 0.2 ms in writeBufferToDev(...)
	- clear part of buffers that could not be filled for avoiding bad
	  noise in case there's no data from sound-render-thread, because it is
	  locked or got no cpu-time for some reason

	* src/core/timeline.cpp:
	do not call update() in updatePosition, call paintEvent() directly
	instead - hopefully fixes the "unexspected Xlib async replies"
	which occured in some seldom cases because there were paint-events
	generated - something that must not be done in other threads...

	* resources/source/songeditor.svg:
	* resources/songeditor.png:
	created a new song-editor-icon

	* src/core/song_editor.cpp:
	do not save play-pos from previous play-mode when beginning to play
	in different play-mode - fixes bug in timeline behaviour "back to start"

2005-09-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* include/audio_oss.h:
	* include/midi_oss.h:
	* src/audio/audio_oss.cpp:
	* src/midi/midi_oss.cpp:
	made LMMS compiling and working without OSS - configure detects
	whether soundcard.h is available

	* include/gui_templates.h:
	made template pointSize(...) platform-independent by not using x11-
	specific qt-classes/-functions

	* include/templates.h:
	moved pointSize-function with all the headers it depends on into
	gui_templates.h

	* src/core/mixer.cpp:
	- do not initialize member m_surroundSilence if surround is disabled
	- free silence-buffers in dtor

	* src/tracks/bb_track.cpp:
	when drawing gradient skip first and last line as a rect is painted
	over it afterwards

	* src/core/track_container.cpp:
	set modified-state for song when removing track

2005-09-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.1.1 release

2005-09-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/about_dialog.h:
	* src/core/about_dialog.cpp:
	no need for passing parent when creating about-dialog

	* src/core/song_editor.cpp:
	- different usage of question-box in songEditor::mayChangeProject()
	  because of bugs with several qt-versions...
	- when exporting song, do use baseName( TRUE ) instead of baseName()
	  for determining base-name of rendered file

	* src/core/lmms_main_win.cpp:
	- display filename before app-name in window-title
	- only use basename of filename in window-title
	- added message referring to LMMS-homepage when clicking on
	  Help/Help

	* src/core/export_song_dialog.cpp:
	use lmmsMainWin::resetWindowTitle() for resetting window-title
	after export is done

	* src/widgets/knob.cpp:
	do not add tooltips to knobs - clicking on knob has quite the same
	effect so tooltips are just annoying

	* src/core/browser.cpp:
	when matching file-name, always convert them to lower case for also
	handling files like foo.WAV

	* src/core/config_mgr.cpp:
	added setValue(...)-call for saving working-directory after setting
	up everything - fixes bug with empty browsers after fresh personal
	installation of LMMS

2005-09-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	made 0.1.0 release

2005-09-18	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/tracks/bb_track.cpp:
	revised paintEvent()-method -> bb-TCO's are now painted with a gradient!

	* src/core/song_editor.cpp:
	- call bbEditor::stop before playing to make sure play-button in
	  bb-editor is properly reset
	- call realignTracks() with parameter TRUE in wheelEvent(...)
	- some hacks for making pause-button work...

	* src/core/track_container.cpp:
	added parameter _complete_update to trackContainer::realignTracks()
	to be able to hide and show all tracks which is necessary e.g.
	after having changed pixels-per-tact-property -> zooming in song-editor
	works now well

	* src/core/setup_dialog.cpp:
	added message-box telling the user to restart LMMS

	* include/midi_alsa_raw.h:
	* include/midi_device.h:
	* include/midi_oss.h:
	* include/midi_dummy.h:
	* include/mixer.h:
	* include/setup_dialog.h:
	* src/core/mixer.cpp:
	* src/core/setup_dialog.cpp:
	* src/midi/midi_alsa_raw.cpp:
	* src/midi/midi_device.cpp:
	* src/midi/midi_oss.cpp:
	made it possible to select and setup MIDI-device

	* include/knob.h:
	* src/widgets/knob.cpp:
	- many cleanups, coding style improvements etc.
	- added new behaviour for controlling knob -> move cursor up/down for
	  changing value
	- replaced usage of status-bar by text-float-widget

	* include/text_float.h:
	* src/widgets/text_float.cpp:
	took text-float from Rosegarden

	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	- fixed bug in configManager::setValue(): new value-pair was always
	  pushed back, even if it already existed, so result of value() didn't
	  change until restart
	- moved widget-creation-code from ctor to new method createWidgets()
	  which fixes problems with unlocalized strings in wizard because
	  embed::loadTranslation() calls configManager::inst()->localeDir()
	  for determining path to localization files - this call created all
	  wizard-widgets before actual localization was loaded...

2005-09-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/setup_dialog.cpp:
	added switches for disabling tooltips and turning on classical knob-
	behaviour

	* include/led_checkbox.h:
	* src/widget/led_checkbox.cpp:
	added LED-check-box

2005-09-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	clear output-buffers in ctor before using them -> avoids awful noises
	at startup

	* src/core/mixer.cpp:
	* src/lib/sample_buffer.cpp:
	* src/tracks/channel_track.cpp:
	* src/tracks/sample_track.cpp:
	use given frame-parameter in methods playing sample-buffers instead
	of mixer::framesPerAudioBuffer() -> no clicks at tact-border because
	of odd sample-frame-count

	* src/core/lmms_main_win.cpp:
	call presetPreviewPlayHandle::cleanUp() in dtor -> fixes segfault which
	which occured at exit if you previewed a channel during session

	* include/preset_preview_play_handle.h:
	* src/core/preset_preview_play_handle.cpp:
	added cleanUp()-method which deletes blind track-container containing
	preset-preview-channel

	* src/soundgenerators/triple_oscillator.cpp:
	- unified much code by defining setChecked when compiling with Qt 3
	- also set file-name of user-defined-wave as tool-tip when loading
	  settings

	* most files in src/:
	use new tooltip-system - removes qt3/qt4-compat-code

	* include/tooltip.h:
	* src/widget/tooltip.cpp:
	added tooltip-namespace with method "add(...)" for allowing transparent
	usage of tooltips, so there's no difference to code using tooltips
	whether it is compiled with Qt 3 or Qt 4

2005-09-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/mixer.h:
	* include/note_play_handle.h:
	* include/play_handle.h:
	* src/core/mixer.cpp:
	* src/core/note_play_handle.cpp:
	* src/tracks/channel_track.cpp:
	added play-handle-invalidating-feature making it possible to
	invalidate notes of which the objects they depend on do not exist
	anymore or things like that. for example channel-track-dtor
	invalidates all note-play-handles linked with according channel
	-> no segfault when deleting channel-track

	* src/core/track_container.cpp:
	pause mixer before removing track -> no segfault

	* src/lib/mmp.cpp:
	initialize m_type in mmp::multimediaProject( projectTypes )

	* src/lib/buffer_allocator.cpp:
	added mutex for better protection against parallel accesses from
	several threads - fixes some segfaults

	* src/core/lmms_main_win.cpp:
	improved ~lmmsMainWin() which now first instructs mixer to quit it's
	thread for avoiding spurious usages of objects to be destroyed
	afterwards -> no segfault at the end

	* src/core/export_song_dialog.cpp:
	* src/tracks/pattern.cpp:
	cleaned up exporting/freezing mechanisms by using mixer's new methods
	play() and pause()

	* include/mixer.h:
	* src/core/mixer.cpp:
	cleaned up mixer-thread syncing stuff by reorganizing mutexes and
	replacing m_waitMutex by m_safetySyncMutex as well as according methods
	lockWaitMutex() and unlockWaitMutex() by play() and pause()

	* src/core/setup_dialog.cpp:
	tell config-manager to save it's config-file when setupDialog is
	destroyed

2005-09-13	Stephane Thomas <sthomas/at/nerim.net>

	* locale/fr.ts:
	added French translation

2005-09-13	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/lmms_main_win.cpp:
	- show setup-dialog if LMMS is started first time or mixer uses dummy-
	  audio-driver
	- added setup-dialog-entry to settings-menu

	* src/lib/mmp.cpp:
	if saving preset, check whether file-name contains suffix ".cs.xml"
	and add it if necessary

	* include/midi_alsa_raw.h:
	* src/midi/midi_alsa_raw.cpp:
	* src/midi/midi_device.cpp:
	- changed everything (including file-names) from midiAlsa to midiALSARaw
	- added terminate()-call in dtor for terminating thread properly

	* include/tab_bar.h:
	* src/widget/tab_bar.cpp:
	- added flag for addTab(...)-method indicating whether to use given
	  text as caption or just as tooltip
	- reduced #ifdef QT4-macros by defining some names when compiling
	  with Qt3

	* include/setup_dialog.h:
	* src/core/setup_dialog.cpp:
	added help-button in audio-setup-tab and improved geometry-stuff

	* include/audio_alsa.h:
	* include/audio_oss.h:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_oss.cpp:
	added probeDevice()-method which eases determining device-name in
	either actual audio-class as well as in it's setup-widget

2005-09-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/mixer.cpp:
	use new audio-settings-technology for opening audio-device

	* include/setup_dialog.h:
	* src/core/setup_dialog.cpp:
	added setup-dialog for general-, audio- and MIDI-settings

	* include/audio_alsa.h:
	* include/audio_device.h:
	* include/audio_dummy.h:
	* include/audio_jack.h:
	* include/audio_oss.h:
	* include/audio_sdl.h:
	* src/audio/audio_alsa.cpp:
	* src/audio/audio_device.cpp:
	* src/audio/audio_jack.cpp:
	* src/audio/audio_oss.cpp:
	* src/audio/audio_sdl.cpp:
	added setup-widget-technology making it possible to have audio-device-
	specific setup-widgets which can be used in setup-dialog etc.

	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	added stepping-functionality

	* include/tab_widget.h:
	* src/widgets/tab_widget.cpp:
	pass caption to constructor instead of using fixed text

	* include/tab_bar.h:
	* src/widgets/tab_bar.cpp:
	- added direction-parameter in constructor
	- added exclusive-property
	- addTab(...) returns now pointer to tab-button which gives caller
	  possibility to modify the button

	* src/core/mixer.cpp:
	save frames-per-audio-buffer-value in ctor if not set yet instead
	of saving it in dtor

	* src/lib/embed.cpp:
	do not return null-pixmap if pixmap not found

2005-09-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* resources/setup_audio.png:
	* resources/setup_general.png:
	* resources/setup_midi.png:
	added icons to be used in setup-dialog

	* src/audio/audio_alsa.cpp:
	* src/audio/audio_sample_recorder.cpp:
	use auto-cleaning pointer in createSampleBuffer(...) (fixes memory-leak
	in ALSA-driver)

	* include/buffer_allocator.h:
	added simple class for auto-cleaning pointers

	* src/core/mixer.cpp:
	- added delete-calls in mixer::tryAudioDevices()
	- init s_instanceOfMe-member in dtor, otherwise LMMS hangs up

	* locale/:
	* artwork/:
	moved translations and some artwork-stuff into locale- and artwork-
	directory which is going to be installed into
	LMMS-data-dir (/usr/share/lmms etc.) and shrinks executable

	* src/lib/embed.cpp:
	added possibility to have resources in external files instead of being
	linked into executable

	* configure.in:
	- use macro AS_HELP_STRING for formatting help-strings
	- removed --with-latency option as it is not needed anymore

2005-09-06	Alireza	<dr/dot/alireza/at/gmail/dot/com>

	* resources/ir.ts:
	added Persian translation

2005-09-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/audio/audio_oss.cpp:
	- read device-name from config-file before evaluating environment-
	  variables etc.
	- fixed bugs with device-probing (after dev-file was searched, there	
	  was no open(...)-call again so it always failed if the first open(...)
	  didn't work

	* src/audio/audio_alsa.cpp:
	read device-name from config-file before evaluating environment-
	variables or using "default"

	* src/core/lmms_main_win.cpp:
	call bufferAllocator::cleanUp( 0 ) for destroying all allocated buffers

	* include/buffer_allocator.h:
	* src/lib/buffer_allocator.cpp:
	- added clean-up-technique which removes least used buffers if
	  buffer-size exceeds limits (which depends on mixer's buffer-size)
	- added field to bufDesc indicating usage of this buf - used by
	  alloc-method for determining most used, free and matching buffer

	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	made lcdSpinBox controlable by scroll-wheel

	* src/widgets/knob.cpp:
	do not center knob if width of label is greater than actual knob

	* src/audio/audio_sample_recorder.cpp:
	use bufferAllocator instead of new[]/delete[]

	* src/core/mixer.cpp:
	- read value for frames-per-audio-buffer out of config-file and save
	  it at exit
	- free buffer at exit

	* include/config_mgr.h:
	* src/core/config_mgr.cpp:
	added value() and setValue()-method which offers all components of LMMS
	an easy way for loading/saving their settings at startup/exit

2005-09-02	Mario Izquierdo <mariodebian/at/gmail/dot/com>
2005-09-02	Johnny Saenz <saenzac/at/hotmail/dot/com>

	* resources/es.ts:
	added Spanish translation

2005-09-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* most files:
	finished changes began on 2005-08-29

	* include/buffer_allocator.h:
	* src/lib/buffer_allocator.cpp:
	- only return aligned pointers
	- small changes in API

	* resources/de.ts:
	completed German translation

2005-08-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* most files:
	begin to use new bufferAllocator instead of old buffer-types and
	use mixer-method for determining current number of frames per
	audio-buffer

	* include/mixer.h:
	types audioBuffer and surroundAudioBuffer don't exist anymore as well
	as the constant FRAMES_PER_AUDIO_BUFFER - use
	mixer::inst()->framesPerAudioBuffer() instead

2005-08-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	replaced QSpinBox by lcdSpinBox for BPM-spinbox

	* include/tab_bar.h:
	* src/widgets/tab_bar.cpp:
	removed function-parameter _font_size for tabBar::addTab(...)

	* most files:
	- replaced QFont::setPointSize()-calls by according pointSize()-calls
	  which makes LMMS usable at any DPI-resolution
	- changes for Qt4-compatibility

	* include/misc.h:
	* include/template.h:
	moved misc.h to template.h and added template-function pointSize
	which sets a DPI-independent size for a given font

	* src/tracks/channel_track.cpp:
	use labeling-feature of LCD-spinbox and removed old QLabel and
	layouting-stuff

	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	- fixed bug: when moving mouse up, value was not updated properly
	- added labeling-feature
	- added valueChanged()-signal

	* src/core/arp_and_chords_tab_widget.cpp:
	set m_arpDirection correct when loading older settings

2005-08-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/channel_track.h:
	* src/tracks/channel_track.cpp:
	use new LCD-spinbox for effect-spinbox

	* include/lcd_spinbox.h:
	* src/widgets/lcd_spinbox.cpp:
	added LCD-spinbox, an improved QLCDNumber with ability of user-input

	* src/core/main.cpp:
	changed highlight- and text-color to dark white instead of glaring green
	for many people didn't like it...

	* include/audio_jack.h:
	* src/audio/audio_jack.cpp:
	- read and observe buf-size from JACK, so that writeBufferToDev() can
	  wait accordingly to it - now JACK-transport also works if buf-sizes
	  of LMMS and JACK are different
	- also free buffers in destructor and not just throw them out of list

2005-08-26	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/audio_jack.h:
	* src/audio/audio_jack.cpp:
	- also work with older versions which do not have jack_client_open()
	- fixed bugs
	- use bufferAllocator instead of new[] and delete[] in time-critical
	  functions

	* include/buffer_allocator.h:
	* src/lib/buffer_allocator.cpp:
	added bufferAllocator which is an optimized internal memory-manager

2005-08-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/audio_jack.h:
	* src/audio/audio_jack.cpp:
	beginning of support for JACK-transport

	* src/audio/audio_sdl.cpp:
	fixed memory leak - m_outputBuffer was not deleted in destructor

	* src/core/arp_and_chords_tab_widget.cpp:
	completed usage of switchable groupboxes by saving groupbox-states
	and evaluating them in processNote()

2005-08-22	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* resources/afp_artwork.png:
	small improvements for better usability and internationalization

	* src/soundgenerators/audio_file_processor.cpp:
	- cleanups and small improvements concerning painting
	- added missing tooltips
	- moved open-sample-button right to filename-display-bar

	* src/widgets/pixmap_button.cpp:
	changed default-pixmaps to led_yellow.png and led_off.png

	* resources/pattern_bg.png:
	resized from 2x43 to 2x25

	* src/core/name_label.cpp:
	decreased default-font

	* include/track.h:
	decreased size of track-settings-widget from 256 to 224

	* include/channel_track.h:
	* src/tracks/channel_track.cpp:
	- use labeling-feature of knob for labeling volume-knob
	- use smaller surroundArea in track-settings-widget and smaller
	  channel-button with smaller font

	* src/core/surround_area.cpp:
	made surroundArea working with different widget-sizes than default size

	* resources/background_artwork.png:
	made bg-image more pale

	* include/bb_editor.h:
	* src/core/bb_editor.cpp:
	changed painting-behaviour and made button-bg-gfx's obsolete by using
	specialBgHandlingWidget

	* include/groupbox.h:
	* src/widgets/groupbox.cpp:
	improved groupbox by adding animation and more

	* src/core/envelope_and_lfo_widget.cpp:
	* src/core/envelope_tab_widget.cpp:
	- use knobs new labeling-feature
	- use new tab-widget for target-widgets

	* include/tab_widget.h:
	* src/widgets/tab_widget.cpp:
	added own tab-widget which looks much cooler than Qt's one

	* src/core/arp_and_chords_tab_widget.cpp:
	- using now new groupbox-widget and reorganized knob/switch-positions
	- revised arpeggio-direction-buttons
	- use knobs new labeling-feature
	- removed obsolete headers

	* include/knob.h:
	* src/widgets/knob.cpp:
	added labeling-feature for automatically labeling knobs with given
	text


2005-08-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/widgets/side_bar_widget.cpp:
	* src/tracks/channel_track.cpp:
	* src/core/config_mgr.cpp:
	* src/core/piano_roll.cpp:
	* src/core/arp_and_chords_tab_widget.cpp:
	* src/core/main.cpp:
	* src/core/browser.cpp:
	replaced painting-device-dependent method setPixelSize by setPointSize

	* src/core/envelope_and_lfo_widget.cpp:
	now using new group-box which looks much cooler and is more usable

	* include/groupbox.h:
	* src/widgets/groupbox.cpp:
	added own groupbox-widget with state-LED

	* src/widgets/pixmap_button.cpp:
	delete m_bgPixmap in destructor

	* include/spc_bg_hndl_widget.h:
	- made member m_backgroundPixmap to normal QPixmap instead of pointer to
	  it which also fixes a memory leak as dtor didn't delete the pixmap
	- also use erase-pixmap of widget if available

	* include/oscillator.h:
	- made shape-functions using phase()-function for determining phase of
	  sample
	- made oscillator::phase() using modff instead of floorf-math which
	  makes the whole thing up to 20% faster

	* src/core/about_dialog.cpp:
	added URL of project-page of LMMS

	* src/core/song_editor.cpp:
	create new project if file given in cmd-line is not read-/usable

	* include/export_project_dialog.h:
	* include/song_editor.h:
	* src/core/main.cpp:
	* src/core/song_editor.cpp:
	added --render command-line-switch to render file and quit as soon as
	job is done - very good for benchmarks

	* src/core/main.cpp:
	added --version command-line-switch

2005-08-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/lmms_main_win.cpp:
	- extended filter for sample-browser
	- added home- and root-browser for being able to load songs, presets,
	  samples etc. from somewhere else than within lmms-working-directory

2005-07-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/lmms_main_win.cpp:
	* src/core/track_container.cpp:
	* src/core/track.cpp:
	by completing destructors and fixing some other small bugs there's
	finally no seg-fault when quitting app! (the bug annoying for months...)

	* include/track_container.h:
	all public-slots were made to normal public and FASTCALLed functions
	since they aren't connected to a signal anywhere and it just blows up
	qt-moc-code

	* include/sample_track.h:
	made method sampleTCO::changeLength(...) FASTCALLed since it's virtual
	and method in base-class is also FASTCALLed - eliminates crash when
	resizing sample

	* include/track.h:
	* src/core/track.cpp:
	removed unsused method setTrackWidgetHeight( int )

2005-07-26	Pedro Lopez-Cabanillas <pedro/dot/lopez/dot/cabanillas/at/gmail/dot/com>

	* src/core/browser.cpp:
	* src/core/config_mgr.cpp:
	* src/core/lmms_main_win.cpp:
	* src/core/main.cpp:
	* src/core/song_editor.cpp:
	* src/lib/mmp.cpp:
	* src/tracks/pattern.cpp:
	* src/widgets/project_notes.cpp:
	small changes for compatibility with Qt 3.1

	* src/midi/midi_alsa.cpp:
	* src/midi/midi_oss.cpp:
	added MIDIDEV-environment variable for being able to choose a MIDI
	device different from the default one

2005-07-24	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/midi_mapper.h:
	* src/midi/midi_mapper.cpp:
	added MIDI-mapper to be used in combination with midiDevice's and/or
	MIDI-Out-Plugin which can read MIDI-maps added before

	* midi-maps/*map:
	added MIDI-maps from KMid

	* include/midi_dummy.h:
	* src/midi/midi_device.cpp:
	added dummy MIDI-driver for not crashing if no MIDI-device is available

	* src/core/piano_roll.cpp:
	- go to start of pattern when pressing home-key
	- added support for zooming

	* src/core/song_editor.cpp:
	- fixed bug with loop-points by setting current-frame-var to zero to
	  force reset of it
	- added auto-scrolling ability
	- fixed bug which caused horizontal scrollbar to have an undefined
	  max-value after starting up LMMS
	- go to start of pattern when pressing home-key

2005-07-23	Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>

	* resources/ru.ts:
	added Russian translation

2005-07-23	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/piano_roll.cpp:
	scroll back when stopping and play-position changes to invisible area

	* include/time_line.h:
	* src/core/song_editor.cpp:
	* src/core/time_line.cpp:
	added control-buttons to time-line making it possible to control
	things like auto-scrolling, looping and play-position after stop

	* src/midi/midi_device.cpp:
	limit volume between 0 and 127 when sending out note-on-event

2005-07-21	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/nstate_button.h:
	* src/widgets/nstate_button.cpp:
	added widget nStateButton which is a button able to have n different
	states with according pixmaps and tooltips

	* resources/back_to_zero.png:
	* resources/keep_stop_position.png:
	* resources/back_to_start.png:
	* resources/loop_points_off.png:
	* resources/loop_points_on.png:
	* resources/autoscroll_off.png:
	* resources/autoscroll_on.png:
	added pixmaps for buttons to be used in time-line as soon as possible

	* lmms-0.1.0rc1.tar.bz2:
	release of Release Candidate 1 of LMMS 0.1.0

2005-07-20	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/midi/midi_file.cpp:
	- proper handling of note-on-events which velocity 0 -> treat like
	  note-off-events makes it now possible to import a much larger amount
	  of MIDI-files
	- added progress-dialog when importing MIDI-file

	* src/core/song_editor.cpp:
	horizontal scrollbar is now placed some pixels above lower edge so that
	it doesn't take action when resizing song-editor-window at lower edge

	* src/core/track_container.cpp:
	added progress-dialog for loading project and according
	qApp->processEvents()-call -> LMMS now isn't blocked anymore while
	loading project

	* include/knob.h:
	* src/widgets/knob.cpp:
	fixed bugs caused by changes made before for scroll-wheel-support

2005-07-19	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/knob.h:
	* src/widgets/knob.cpp:
	added better scroll-wheel support which increases/decreases knob-value
	by 20th of range (e.g 0.05 if knob is ranged between 0 and 1)

2005-07-17	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* projects/:
	added "covers"-dir and added "Preludium and Fuge A-Minor" by J.S.Bach
	to it as first covered project ;-)

	* src/core/note_play_handle.cpp:
	- fixed bad bug in notePlayHandle::play(): instead of directly being
	  deleted, sub-notes were given to mixer to be removed when they played
	  completely but since these sub-notes are not known to mixer, it
	  couldn't delete them
	- always call channelTrack::deleteNotePluginData() in
	  noteplayhandle-dtor even if pointer to note-plugin-data is NULL so
	  that all plugins are notified when note is done (midiOut-plugin
	  needs that for sending note-off-events!)

	* include/midi_out.h:
	* src/soundgenerators/midi_out.cpp:
	new plugin midiOut which sends all notes on this channel out to
	external midi-device this is especially cool for playing arpeggio for
	key pressed on external midi-device!!

	* src/soundgenerators/plucked_string_synth.cpp:
	removed unneccesary inclusion of qpainter-header

	* include/midi_file.h:
	* src/midi/midi_file.cpp:
	* src/core/lmms_main_win.cpp:
	* src/core/song_editor.cpp:
	added support for importing MIDI-file (very experimental!!)

	* include/midi.h:
	* include/midi_device.h:
	moved general MIDI-stuff from midi_device.h to midi.h

	* src/audio/audio_file_device.cpp:
	added missing arg()-call to QMessageBox::critical()-call in
	audioFileDevice-ctor

2005-07-16	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/config_mgr.cpp:
	added shortcuts to navigation-buttons
	
2005-07-14	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/piano_roll.cpp:
	only play notes while editing if we're not in play-mode

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	when exporting always render one additional tact at the end so that
	we don't cut off notes with delay etc.

2005-07-12	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	- successful compilation with GCC 4.0.1 ;-)

	* src/core/arp_and_chords_tab_widget.cpp:
	fixed bug responsible for playing base-notes of chords all time
	if any arpeggio selected was selected

2005-07-11	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* resources/source/wizard_files.xcf:
	* resources/wizard_files.png:
	updated project-file-icon in image

	* src/core/config_mgr.cpp:
	- ask user whether to re-run setup-wizard if config-file indicates
	  different version of LMMS
	- removed redundant assignment in configManager::loadConfigFile()
	- added additional layout for having space at the left and right side
	- increased font-size of title

	* Makefile.am:
	install LMMS-icon into LMMS-data-dir

	* lmms-0.1.0beta.tar.bz2:
	made beta-release of 0.1.0 and announced it on kde-apps.org

2005-07-10	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* presets/TripleOscillator/:
	added cool Church Organ preset and improved Xylophon preset

	* resources/de.ts:
	updated German translations and cleaned up all obsolete translations 
	and context which shrinks the file by 50K...

	* samples/instruments/:
	removed vibraphone01.ogg because of poor quality

	* src/core/piano_roll.cpp:
	- do not set what's-this-texts as tooltips for play/stop-button
	- added tooltip and what's-this-text to record-button
	- display message in piano-roll how to open a pattern if none is opened
	- always set window-title, even if no pattern is opened

	* src/core/mixer.cpp:
	using iterators in second loop in mixer::run() leads to crashes, so
	an optimized version of the old code is used now again...

	* src/core/lmms_main_win.cpp:
	added tool-buttons for new project, open/save project etc. and added
	popup-menu to new-button containing projects in template-directory

	* include/song_editor.h:
	* src/core/song_editor.cpp:
	- changed remaining method-names containing "[Ss]ong" to "[Pp]roject"
	- toggle channel-button after adding channel-track

	* include/export_project_dialog.h:
	* src/core/export_project_dialog.cpp:
	renamed from export_song_dialog.ext to export_project_dialog.ext

2005-07-09	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* all files:
	now all source-code-files but some single exceptions do not have more
	than 80 characters per line and also were made to conform one
	programming-style 

	* include/sgs:
	wrote sane soundgenerator-plugin-scanner using bash-scripting which
	replaces old, dirty and exaggerated c++-program and is also fully
	portable

	* include/lmms_main_win.h:
	* include/song_editor.h:
	* src/core/lmms_main_win.cpp:
	* src/core/song_editor.cpp:
	renamed methods newFile, openFile etc. to createNewProject, openProject
	etc.

	* resources/source/:
	- renamed filenew.png, fileopen.png etc. to project_new.png etc.
	- replaced song_file.png by project_file.png which has a new file-icon
	  with LMMS-logo inside
	- replaced preset_file.png by new graphic where the star is inside
	  of a file-icon

	* resources/source/lmms_logo.svg:
	made logo Inkscape 0.41 compatible (had problems with gradients since
	logo originally had been made with Inkscape 0.39)

	* src/widgets/project_notes.cpp:
	removed unnecessary name-strings for QActions

	* resources/project_notes.png:
	replaced 16x16-icon with 22x22-icon to provide big enough icon for
	toolbar which needs 22x22-icons

	* src/core/bb_editor.cpp:
	* src/core/song_editor.cpp:
	* src/tracks/bb_track.cpp:
	do not crash if either there're no bb-tracks but bb-editor has tracks
	or there're bb-tracks but bb-editor contains no tracks

	* src/core/mixer.cpp:
	* src/core/note_play_handle.cpp:
	* src/core/track_container.cpp:
	* src/tracks/pattern.cpp:
	rewrote loops using vectors to use iterators instead of indices etc.
	which makes it all a bit smaller and faster since we do not always have
	to access the current element using the []-operator

2005-07-08	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* src/core/envelope_tab_widget.cpp:
	* src/lib/sample_buffer.cpp:
	* src/widgets/knob.cpp:
	small fixes for making compilable with qt4

	* configure.in:
	* projects/:
	added directories "tutorials" and "recorded_loops"

2005-07-07	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/bb_track.h:
	added FASTCALL to moveLocation(...) and changeLength(...) which fixes
	crash-bug

	* src/core/song_editor.cpp:
	do not confirm overwriting file if new project was just saved

	* samples/:
	added a lot of new samples from wikisource and others

2005-07-06	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/project_notes.h:
	* src/core/song_editor.cpp:
	* src/widgets/project_notes.cpp:
	clear project-notes when clearing song (new/open file etc.)

	* src/tracks/pattern.cpp:
	ask user when he tries to freeze a pattern of a muted channel whether he
	wants to continue since freezing a pattern of a muted channel makes no
	sense (you're rendering silence!)

	* include/piano_roll:
	* src/core/piano_roll.cpp:
	- added possibility to edit the volume of notes
	- removed all bool-variables indicating whether an action is being
	  performed at the moment and introduced m_action, indicating
	  one of the actions defined in (also new) enum editActions
	- replaced m_startTone and m_startOctave with one variable m_startKey,
	  which makes a lot of code unnecessary
	- rewrote loops using note-vectors to use iterators instead of
	  indices and vector::size()
	- renamed m_evolutionHeight to m_notesEditHeight
	- replaced QMouseEvent::pos().[xy]()-calls with QMouseEvent::[xy]()
	- pianoRoll::getKey() does now take y-position (int) as parameter
	  instead of QPoint since it only needs y-position
	- use new setKey()/key()-member of note everywhere where it is possible

	* include/note.h:
	added setKey()- and key()-member which setting/getting absolute key
	of note

2005-07-05	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* projects/:
	categorized projects in "cool_songs", "demos", "misc" and "templates"
	so that we don't annoy the user with a lot projects in his/her project-
	root - have to fill up "templates" with project-templates, e.g.
	basic drum-kit, accoustic drum-kit etc.

	* most files:
	added FASTCALL-attributes to functions taking at least one parameter

	* include/audio_file_processor.h:
	* include/plucked_string_synth.h:
	* include/triple_oscillator.h:
	moved deleteNotePluginData()-method into according cpp-files which
	makes including note_play_handle.h obsolete

	* include/audio_file_processor.h:
	* include/sample_buffer.h:
	* src/lib/sample_buffer.cpp:
	* src/soundgenerators/audio_file_processor.cpp:
	added support for saving sample-rate-conversion-state in m_pluginData
	of a note which fixes bug making clicks in sound when playing a sample
	simultanously at different pitches

	* configure.in:
	check whether compiler knows floorf and powf and if not, define them
	to floor/pow

2005-07-04	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* most files:
	made LMMS compiling (and working) with Qt 3.0, GCC 2.95 and other old
	libs (compiled it under Knoppix 3.1)

	* include/misc.h:
	changed names of abs, min, max, limit to myAbs, myMin etc. for not
	conflicting with functions of STL with the same name

	* configure.in:
	* src/lib/sample_buffer.cpp:
	added support for versions of libsndfile < 1.0.11 since API has changed
	in libsndfile 1.0.11

2005-07-03	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* resources/control_env_amount_active.png:
	* resources/control_env_amount_inactive.png:
	* include/envelope_and_lfo_widget.h:
	* src/core/envelope_and_lfo_widget.cpp:
	it's now possible to control the amount of an envelope with the
	according LFO by toggling new button (otherwise the level of the LFO is
	added to the level of the envelope as it always has been)

	* src/core/envelope_and_lfo_widget.cpp:
	now you can toggle the amount of an envelope/LFO between 0 and 1 by
	clicking on according graph

	* all files:
	updated mail-address in header

	* src/audio/audio_device.cpp:
	always use SURROUND_CHANNELS as channel-count for libsrc since
	resampling is done on surround-buffers - fixes bug which was
	responsible for producing useless noise when exporting file in
	high-quality-mode

	* src/core/export_song_dialog.cpp:
	made "high-quality-mode"-switch working (disabled for some reason
	in 0.0.9...)

	* src/core/mixer.cpp:
	when restoring audio-device, also restore quality-level

	* include/bb_editor.h:
	* src/core/bb_editor.cpp:
	cleaned up a lot because there was still much code from times when
	the track-technology didn't exist and which isn't now used any more

	* src/audio/audio_alsa.cpp:
	added support for 48 KHz soundcards

2005-07-02	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* src/lib/sample_buffer.cpp:
	made it possible to compile LMMS without SDL_sound, reorganized
	sample-decoding and added libsndfile- and libvorbis-support

	* include/midi_time.h:
	added operators "=", "+=", "-=" and implemented copy-ctor

	* include/piano_roll.h:
	made currentPattern() a const method and added validPattern()

	* src/tracks/pattern.cpp:
	optimized addNote() function which uses m_note.push_back() for notes
	beyond last note

	* src/core/piano_roll.cpp:
	* src/tracks/pattern.cpp:
	when pattern is destroyed it checks whether it is currently opened in
	piano-roll and if so pattern lets piano-roll set its pointer to current
	pattern to NULL. piano-roll does now always check whether current
	pattern is not NULL. in this case it denies any actions. fixes bug which
	led to crash when having piano-roll open while deleting pattern (e.g.
	creating new file, opening file etc.)

2005-07-01	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* all files:
	replaced "location" in names of functions/variables by "position"
	for more clear and unified names

	* include/piano_roll.h:
	* include/timeline.h:
	* src/core/piano_roll.cpp:
	* src/core/timeline.cpp:
	added support for autoscroll in piano-roll when playing/recording
	pattern

2005-06-30	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/channel_track.h:
	* include/midi_device.h
	* include/mixer.h:
	* include/pattern.h:
	* src/core/piano_roll.cpp:
	* src/midi/midi_device.cpp:
	* src/tracks/channel_track.cpp:
	added support for recording notes from MIDI-device (e.g. MIDI-keyboard
	or virtual channel-piano) in a pattern using the piano-roll

	* include/pattern.h
	* src/core/song_editor.cpp:
	fixed bug which led to crash: when pattern was played in non-looping
	mode song-editor always called pattern::finishFreeze() even if there
	actually was no pattern-freezing-process -> added isFreezing() which
	is called by song-editor for checking whether pattern is being freezed
	before calling finishFreeze()

	* src/core/lmms_main_win.cpp:
	* src/lib/sample_buffer.cpp:
	when showing open-file-dialog, use QFileDialog::selectedFiles()[0]
	instead of QFileDialog::selectedFile() because selectedFile() returns
	incorrect file-name if user clicked on the file and then on
	"Open"-button instead of double-clicking file

	* src/audio/audio_oss.cpp:
	* src/soundgenerators/triple_oscillator.cpp:
	* src/tracks/channel_track.cpp:
	added #include <stdlib.h> for solving problems with undeclared
	functions getenv() and rand() on some distributions (e.g Slackware)

	* src/core/track.cpp:
	* src/soundgenerators/triple_oscillator.cpp:
	* src/tracks/channel_track.cpp:
	added missing #include "debug.h" for solving problems with undeclared
	assert() because of not included assert.h

2005-06-29	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* configure.in:
	* include/audio_sdl.h:
	* src/lib/sample_buffer.cpp:
	if SDL/SDL.h does not exist, search for it in SDL10, SDL11 etc. and
	include according headers in source-files (solves problems on FreeBSD)

	* README:
	updated everything a bit...

2005-06-28	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* include/envelope_tab_widget.h:
	* src/core/envelope_tab_widget.cpp:
	use button instead of knob for turning filter on/off

2005-06-27	Tobias Doerffel	<tobydox/at/users/dot/sourceforge/dot/net>

	* samples/effects/Makefile.am:
	don't install effect-samples into directory of basses-samples

