2011-01-23  Frank Kober  <goemusic@yahoo.fr>
	* midilfo.*, lfowidget.*, lfoscreen.*, mainwindow.cpp : LFO can
	now record controller data sent to its input. The record mode is set
	by a toolbutton equipped with MIDI Learn. Usage idea is to move a
	controller while pressing an assigned record button on an external
	controller to have a controller phrase looper.
	At this time the maximum resolution of recording is limited to 16 but
	will be extended.
	
2011-01-19  Frank Kober  <goemusic@yahoo.fr>
	* midiarp/lfo/seq.*, *screen.*: mainwindow.cpp: playhead cursor
	implemented for all modules. The former packet pre-scheduling has
	been changed so that only 1 event is scheduled per alsa echo. The
	LFO still uses increasing packet size for resolutions > 16 to avoid
	excessive drawing cycles.
	
2011-01-18  Frank Kober  <goemusic@yahoo.fr>
	* version changed to 0.4.0
	
2011-01-08  Frank Kober  <goemusic@yahoo.fr>
	* src/translations/qmidiarp_es.ts, src/Makefile.am: 
	spanish translation added, provided by Pedro Lopez-Cabanillas
	* groovewidget.cpp, slider.cpp: font-size-sensitive widths improved

+++ Release 0.3.9 (2011-01-05) +++

2011-01-04  Frank Kober  <goemusic@yahoo.fr>
	* configure.ac: broken Qt lib checks disabled atm, changed version
	number to 0.3.9
	* man/*: SUPPORT mailing address updated
	* mainwindow.h: about message updated
	
2010-12-09  Frank Kober  <goemusic@yahoo.fr>
	* arpwidget.cpp: fixed combobox updates 'repeat mode and trig mode)
	* seqdriver.*: fixed get_time() function that led to glitches in
	trig mode
	* midiarp.cpp: fixed legato in trig mode
	
2010-12-05  Frank Kober  <goemusic@yahoo.fr>
	* arpscreen.*, midiarp.*: handling of follower position improved
	* midiarp.*, seqdriver.*: trigger-by-note-on capability added. 
	There are now (finally) three trigger modes:
		o No trigger: the original continuous mode
		o Kbd restart: pattern position is reset upon stakato note-on
		o Kbd trigger: arp is retriggered upon stakato note-on time.
		  Absence of this mode has probably confused some users about
		  the general function of the arpeggiator.
	* arpwidget.*: combobox added for trigger mode choice.
	* man/*: manpages updated
	
2010-11-27  Frank Kober  <goemusic@yahoo.fr>
	* arpwidget.*, midiarp.*: new latch mode implemented. When latch 
	button is checked, released notes are removed only after 200ms. If 
	within this period all notes are released, the note buffer is 
	latched. It gets unlatched when pressing the footswitch or 
	unchecking the latch button.
	* arpscreen.cpp, seqdriver.*, mainwindow.cpp, midiarp.*: follower 
	line now governed by midiarp.
	
2010-11-13  Frank Kober  <goemusic@yahoo.fr>
	* lfowidget.*: copyToCustom button removed, copying is done upon
	first leftclick on lfoscreen. WaveFormBox and Frequency get MIDI 
	learn.
	* arpwidget.*: random and envelope boxes made checkable. Controls
	hidden by default.
	* mainwindow.cpp, arpwidget.cpp: keyboard shortcuts made unique
	* seqwidget.cpp: note and velocity input made independent again
	* *screen.*: gray background when muted
	* *widget.*, midi*.*, mainwindow.cpp: some members renamed, consistency

2010-11-11  Frank Kober  <goemusic@yahoo.fr>
	* midilfo.*, mainwindow.cpp, arpdata.*: alsalib headers removed
	* seqdriver.*, midiarp.*, arpscreen.cpp: fixed keyboard input latency.
	midiarp reacted very slowly to input note events. It basically took 
	two arpeggio steps to hear changes played on the keyboard affecting 
	the arpeggio:
	  o Output notes were scheduled very early into the alsa queue, i.e. 
	    upon the last output note (1 step of latency)
	  o The scheduled notes took into account the note buffer state at 
	    the step before (1 step of latency).
	Both delays are now squeezed. 1) Notes are scheduled only 8 alsa ticks
	before they go out. 2) The note buffer state is taken into account
	at the time they are scheduled. The arp is now playable live without 
	hicks.
	* arpwidget.*, arpdata.cpp: presetSelection added to MIDI controllables

2010-02-16  Frank Kober  <goemusic@yahoo.fr>
	* midilfo.cpp: fixed data storage inconsistency

2010-02-15  Frank Kober  <goemusic@yahoo.fr>
	* midilfo.*: hi-res drawing interpolation slightly improved

2010-02-14  Frank Kober  <goemusic@yahoo.fr>
	* lfowidget.*, midilfo.*, seqwidget.*, midiseq.*: muting ranges 
	by holding right mouse button now possible.
	* passwidget.cpp, midicctable.cpp: Layout improved
	* man/*/qmidiarp.1: Midiclock description updated

2010-02-13 Frank Kober <goemusic@yahoo.fr>
	* passwidget.*, mainwindow.cpp, seqdriver.*: false midiclock tpqn 
	editing removed since it has a clear standard definition.
	* mainwindow.*, passwidget.*: passWidget (Settings) is now a dialog
	window, compact style no longer default, compact style applies 
	immediately when checkbox toggled, but applies to widget
	spacings only for modules added after change.
	* seqdriver.h, lfowidget.cpp: cleanups
	* mainwindow.*, midicctable.cpp: fixed memory leak when opening
	midi control editor
	* pixmaps/jacktr.xpm: icon polished
	
2010-02-09 Frank Kober <goemusic@yahoo.fr>
	* midilfo.*, seqdriver.cpp, main.h: frame size for each LFO data
	queueing at a time limited to 256 points to fix playout of
	high resolution and length LFO waveforms.
    
2010-02-08 Frank Kober <goemusic@yahoo.fr>
	* midilfo.*, lfowidget.cpp: Drawing improved to avoid skipping
	points for custom waveforms with higher resolution than mouse 
	resolution (reported by David Adler)
	* lfoscreen.cpp: Drawing behavior on edges made easier
	
2010-02-06 Frank Kober <goemusic@yahoo.fr>
	* man/*/qmidiarp.1: manpages updated.
	
2010-02-04 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.*, midiseq.*, seqwidget.*, seqscreen.*, mainwindow.cpp:
	Step-by-step recording for sequencer module added. Recording starts
	at the last modified note when record mode is enabled. Note-on
	events need to be enabled for the module to record.
	* pixmaps/seqrecord.xpm: record icon added.
	* pixmaps/Makefile.am: record icon added to package.
	
2010-02-02 Frank Kober <goemusic@yahoo.fr>
	* midiarp.cpp, arpscreen.*, mainwindow.cpp, arpwidget.cpp: Arp
	pattern changes again possible without restarting sequencer queue,
	fixed double-performed pattern change.
	* seqdriver.cpp: fixed initial tick not always been set to zero on 
	queue stop. 
	
2010-02-01 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.cpp, midiarp.cpp: 4 more ticks added as tolerance for 
	external sync to avoid getting off the hook by small clock 
	variations, tick folding function implemented to allow for smooth
	envelope behavior when jack transport is looping (or restarting)
	* jacksync.*: reverted to be normal object, no need to have this as
	a thread separate from seqdriver.
	
2010-01-31 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.*, jacksync.*, midiarp.*: First attempt to run the MIDI
	and arpeggio engine in threads. QSocketNotifier replaced by poll for
	MIDI processing thread. Some timing cleanups for jack transport
	sync.

2010-01-23 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp, arpwidget.cpp: Tags added to resource file items
	for more flexibility. Old resource file will be without effect and
	then overwritten.
	
2010-01-20 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.*, mainwindow.*: Jack transport sync capability
	integrated as a user choice. Jack sync object is created/destroyed
	as a child of seqdriver by toggling jackSync toolbar button. 
	Alsa queue is started at 0 on reception of jack transport start
	regardless the current jack transport position. Jack transport
	position is used as calibrator for alsa event scheduling. On 
	reception of jack shutdown/connect fail, an event is emitted 
	toggling back the jack transport button, which stops the queue and
	switches back to internal clock. 
	* jacksync.cpp, jacksync.h: jackSync class added providing jack
	transport data and emitting signals on transport start and jack
	shutdown. 
	* jacktr.xpm: icon added.
	* configure.ac, src/Makefile.am, src/pixmaps/Makefile.am: jack 
	dependency added, new files added to package.

2010-01-14 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: Session name added to XML file, recent files menu
	added with code from AMS
	* arpwidget.*: missing reading-skips of unknown xml elements added

2010-01-13 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.*, arpwidget.*, lfowidget.*, seqwidget.*: Session file
	format changed to XML, file extension changed to .qmax, old text
	files can be imported by selecting .qma files in fileOpen dialog 
	filter.
	
2010-01-10 Frank Kober <goemusic@yahoo.fr>
	* arpdata.cpp, midicctable.cpp: mute MIDI controller behaviour
	extended: if min=max (default), a control value=127 toggles state.
	if min!=max, control value=min mutes, control value=max unmutes
	
2010-01-09 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.*, arp/lfo/seqwidget.*, midicctable.cpp: MIDI Channel 
	added to controller filter
	
2010-01-08 Guido Scholz <guido.scholz@bayernline.de>
	* mainwindow.*: Handler for SIGINT added to handle unsaved or
	changed files more carefully at program termination. Handler for
	SIGUSR1 added to provide support for LADISH level 1.

2010-01-08 Frank Kober <goemusic@yahoo.fr>
	* arp/lfo/seqwidget.cpp: modified flags upon midi controller
	attribution change added, check for double-attributed controllers
	added
	* arpdata.cpp, midicctable.cpp: min/max settings adapted for toggler
	controls
	* midicctable.cpp: revert and remove row functions added
	
2010-01-07 Frank Kober <goemusic@yahoo.fr>
	* seqwidget.cpp: note length slider maximum set to 127
	* midicctable.*: items made editable, "OK" button replaces current
	controllers by table content, "Cancel" quits without applying changes
	* arpdata.cpp: min and max controller settings made active

2010-01-04 Frank Kober <goemusic@yahoo.fr>
	* lfo*.*: custom wave made controllable by offset slider (and MIDI)

2009-12-31 Frank Kober <goemusic@yahoo.fr>
	* MIDI control handling modified: controllers can be attributed to
	mute checkbox and various sliders by context menu and MIDI 
	learn/forget. 
	Each module holds a control/controller item list, incoming 
	controllers are	handled in arpdata.cpp
	* midicctable.*: control editor implementation started

2009-12-23 Frank Kober <goemusic@yahoo.fr>
	* *lfo*.cpp: implement mouse wheel on lfoscreen to change offset of
	LFO waveform. This is of interest mainly for the custom drawn wave

2009-12-06 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: GUI settings stored through saveState() Qt function
	applying to *.qma files and .qmidiarprc file as a Hex-encoded part.
	* passwidget.cpp: compact style for modules is now default 

2009-12-04 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.*, arpdata.*, *widget.*: all modules MIDI-mutable,
	mute MIDI controller depends on position in tabbed dock (order of
	module creation) instead of position in midiArpList
	* passwidget.*, mainwindow.*, main.h, *widget.*: "compact style" can
	be checked in passwidget acting on font size, grid spacing and
	element heights for all modules, to allow for placing several
	modules next to each other on desktop. compactStyle property
	added to rc-file items.
	* man/*/qmidiarp.1: updated
	* NEWS: updated

2009-11-29 Frank Kober <goemusic@yahoo.fr>
	* midi*.*, *widget.*, mainwindow.*: goodbye tabWidget, hello 
	dockWidget, all modules are floatable, by default tabified
	Dock Windows now
	* lfowidget.*: small pixmaps for waveform combobox included
	* pixmaps/lfow*.xpm: pixmaps for waveform combobox added

2009-11-23 Frank Kober <goemusic@yahoo.fr>
	* midilfo.cpp, midiseq.cpp: small computation optimization
	* midiarp.cpp: debug printf removed
	* seqwidget.cpp: keyboard shortcuts cleaned up
	* man/de/qmidiarp.1: German translation of manpage added
	provided by Robert Dietrich
	* man/*/qmidiarp.1: improvements/corrections

2009-11-22 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: use seqdriver->runArp instead of 
	runQueue->isChecked() for resetting queue, group action disabling in
	functions
	* arpscreen.*: obsolete variables removed
	* man/*/qmidiarp.1: man pages updated

2009-11-15 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.cpp: compute MIDI clock slave timing on every received
	clock event and stabilized a bit against MIDI clock tempo changes

2009-11-13 Frank Kober <goemusic@yahoo.fr>
	* midiseq.*, seqwidget.*, seqscreen.*: step Sequencer module added.
	Current features: adjustable resolution, length and global velocity,
	note length, transpose. Velocity and transpose can optionally be 
	obtained from input notes played on keyboard. Notes can be drawn and
	muted by left/right mouse click.
	* src/pixmaps/seqadd.xpm, src/pixmaps/seqwavcp.xpm: seq icons added
	* mainwindow.*, seqdriver.*, arpdata.*, Makefile.am, configure.ac: 
	incorporate stepsequencer handling

2009-11-09 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.*: fixed: startup with GUI settings defined in
	MainWindow constructor, also when .qmidiarprc is being created the 
	first time

2009-11-08 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: some icons added, View items added to toolbar
	* eventlog.xpm, groovetog.xpm, settings.xpm, pixmaps/Makefile.am: 
	some icons added
	* filesave.xpm, filesaveas.xpm: icons polished

2009-11-07 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: MIDI clock resolution and toggle added to saved 
	items
	* translations/*.ts: minor fixes
	* man/fr/qmidiarp.1, Makefile.am, configure.ac: French manpage added
	* man/qmidiarp.1: slight editing

2009-11-06 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: fixed double employed Ctrl-L keysequence
	* lfowidget.cpp: fixed keyboard tab focus sequence
	* man/qmidiarp.1: streamlined

2009-11-05 Frank Kober <goemusic@yahoo.fr>
	* NEWS, README: updated
	* mainwindow.cpp: fixed disabling of removePattern action for all arps

2009-11-04 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.*, arpdata.*, arpwidget.*: arp preset pattern handling
	changed. If the preset list is modified in one arp, all arps get
	updated. GUI settings stored to .qmidiarprc file along with arp 
	patterns. rc file is written on exit of the application and when
	the arp preset list is modified.
	* lfowidget.cpp: abort reading LFO waveform data when none was saved 

2009-11-02 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: tempoSpin box disabled when queue running atm

2009-11-01 Frank Kober <goemusic@yahoo.fr>
	* arpwidget.*: obsolete headers removed
	* man/qmidiarp.1: manpage updated

2009-10-31 Frank Kober <goemusic@yahoo.fr>
	* midilfo.cpp, lfowidget.*, lfowavcp.xpm: toolbutton to copy 
	current wave to custom wave added

2009-10-30 Frank Kober <goemusic@yahoo.fr>
	* midilfo.cpp, lfowidget.cpp: custom waveform and mute pattern now 
	saved to qma file as clear text, custom waveform initialized in
	LFO constructor and survives changes of waveform type

2009-10-28 Frank Kober <goemusic@yahoo.fr>
	* midilfo.cpp: fixed quantization issue with drawn waveforms
	* lfowidget.cpp: deactivate freq amp and offset for custom waveform
	* midilfo.*, lfoscreen.*, lfowidget.*, seqdriver.cpp: remove 
	"lfo..."-particle from variable names where appropriate
 
2009-10-27 Frank Kober <goemusic@yahoo.fr>
	* midilfo.*, lfoscreen.*, lfowidget.*, seqdriver.cpp: 
	custom mouse-drawable LFO waveform added, muting of single waveform
	points added. If custom waveform is selected, the waveform can be
	drawn with the left mouse button. For all waveforms, the right mouse
	button activates/deactivates event generation for the point under 
	the mouse cursor
	* slider.cpp: restore possibility to use Qt:Vertical for sliders
	TODO: store custom waveform somehow, deactivate freq, amp and offset 
	for custom waveform

2009-10-25 Frank Kober <goemusic@yahoo.fr>
	* package: first draft of manpage added

2009-10-11 Frank Kober <goemusic@yahoo.fr>
	* obsolete C-headers removed or updated
	* lfowidget.cpp: amplitude slider fixedWidth removed

2009-10-11 Guido Scholz <guido.scholz@bayernline.de>
	* mainwindow.*: Obsolete aboutWidget removed.
	* mainwindow.cpp: Sequence of "View" and "Module" menus changed,
	to meet common standards.
	* mainwindow.cpp, arpdata.*, seqdriver.*: Show ALSA client id in
	window title
	* translations/*.ts: Obsolete messages removed
	* arpwidget.cpp: Widget placement by standard layout margins.
	Focus follows tab fixed.
	* groovewidget.cpp: Widget placement by standard layout margins.
	* lfowidget.*: Obsolete header files removed, missing keyboard
	shortcuts added, layout improved
	* slider.*: Layout improved, label member variable removed.

2009-10-10 Frank Kober <goemusic@yahoo.fr>
	* passwidget.*, mainwindow.cpp, seqdriver.cpp: "discard" logic 
	changed to "forward to" to be more intuitive
	* seqdriver.*, midiarp.*: footswitch now properly channel-filtered 
	and handled in midiarp
	* seqdriver.*: more cleanups regarding midi clock
	* mainwindow.cpp: show file menu by default

2009-10-07 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: fixed: do not call delete in moduleDelete()
	* midilfo.cpp, lfowidget.cpp: offset slider and function enabled

2009-09-28 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.*: switched from ALSA tick to ALSA realtime event
	scheduling to allow for smoother MIDI clock slave operation. 
	Internal handling continues to be in ticks. On-the-fly tempo changes 
	while running including those of the incoming MIDI clock are still 
	troublesome, starting midi clock speed is guessed from local 
	tempo value
	* mainwindow.cpp: fixed unmatched port value update when file
	loaded, stop Queue before clear(), add View menu, add tooltips,
	fix double employed Ctrl-N key sequence
	* logwidget.cpp: disable logging by default

2009-09-26 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.*, lfowidget.*, arpwidget.*, seqdriver.*, arpdata.*: 
	new load/save/saveAs logic adapted from Guido's implementation in 
	qmidiroute started
	* seqdriver.cpp: some optimization for LFO data queueing
	* midiarp.cpp: fixed: repeatPatternMode "down" didn't work with chords
	in pattern, a bug from original version I think (spotted by Robert 
	Dietrich)
	* midilfo.cpp: fixed uninitialized isMuted state

2009-09-25 Frank Kober <goemusic@yahoo.fr>
	* lfoscreen.cpp: max number of divisor separators limited to 64
	* seqdriver.cpp: mute state of midilfo now handled, muting gets active 
	only after a completed LFO cycle

2009-09-24 Frank Kober <goemusic@yahoo.fr>
	* midilfo.cpp: fixed triangle waveform in terms of length
	* lfoscreen.*: new class for waveform display added
	* lfowidget.*: lfoscreen added and updated on every parameter change
	* seqdriver.cpp: fixed missing initial echo request when no 
	LFO present

2009-09-23 Frank Kober <goemusic@yahoo.fr>
	* src/*:MIDI LFO added as new feature. GUI-wise LFOs coexist with
	Arps in 
	tabwidget. They are handeled in parallel through arpdata.cpp and are
	using the same queue as the arps. Each LFO outputs MIDI controller 
	data in adjustable resolution, waveform, amplitude, table length.
	* midilfo.*, lfowidget.*, lfoadd.xpm: added
	* arprename.xpm, arpremove.xpm: changed since they are used for arps
	and LFOs.
	* arpdata.*: add midiLfoList in parallel to midiArpList
	* seqdriver.* : LFO data requesting and queueing added
	* mainwindow.* : LFO handling added, load/save routines adapted
	* TODO *: 
	Widgets in the tabwidget are currently recognized by their name
	to distinguish between LFO and Arp. A better solution would be nice.
	LFO Amp offset slider has no function yet
	LFO mute has no function yet
	LFO GUI needs improvement
	implement Guido's file change monitoring/Load/Save/SaveAs

2009-09-22 Guido Scholz <guido.scholz@bayernline.de>
	* main.cpp: Command line help streamlined.

2009-09-20 Frank Kober <goemusic@yahoo.fr>
	* arpscreen.cpp: more optimizations avoiding double precision
	calculations
	* arpwidget.cpp: LineEdit used replacing PlainTextEdit, pattern edit
	toolbuttons disabled instead of hidden

2009-09-19 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: Layout improved, using more QDockWidgets
	* arpwidget.cpp: QGridLayout used where appropriate
	* slider.*: tickStep parameter added, ticks added

2009-09-18 Frank Kober <goemusic@yahoo.fr>
	* arpwidget.cpp, midiarp.cpp: don't pass arpScreen to midiarp, 
	maximum height of arpScreen increased, groove values passed
	to arpscreen (not handled yet), queueTempo awareness added
	to midiarp for atk/rel display in seconds
	* arpscreen.cpp: math header removed, replace rectangles by lines to
	optimize, only one call to height() and width()
	* seqdriver.cpp: ALSA error number included in message, dependency 
	on C headers removed, midiarp gets queueTempo on every loop
	* mainwindow.cpp: PACKAGE replaced by APP_NAME on all occurences 

2009-09-17 Frank Kober <goemusic@yahoo.fr>
	* main.cpp: fixed start options, --help message extended, dependency
	on stdio.h removed

2009-09-16 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.*, main.*: load filename without -f option, store About
	message in const char, AboutQt added, renamed load(QString) to
	fileOpen(QString), display filename in window title
	* configure.ac: APP_NAME added

2009-09-15 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.*, passwidget.*: moved midi clock toggler into main
	toolbar, disable arp menu functions and file load when midi clock
	enabled
	* midiclock.xpm: icon added

2009-09-14 Frank Kober <goemusic@yahoo.fr>
	* midiarp.cpp: removeNote(*ev..) removes only one of potentially
	multiple occurences of notes at a time, note buffer cleared on queue 
	stop (both changes from original behaviour), rework note buffer to 
	correctly account for double strokes/releases also when received
	at same time (sequencers!), remove released vel=0 notes earlier to
	avoid temporary silences
	* mainwindow.cpp, arpwidget.cpp: envelope params added to disk-saved 
	items
	* mainwindow.cpp: unnecessary newTempo signal removed
	* arpwidget.cpp: display attack/release in seconds (not yet real)

2009-09-13 Frank Kober <goemusic@yahoo.fr>
	* midiarp.cpp: fixed attack function buffer getting corrupted by 
	removed notes.
	* seqdriver.cpp: changed ALSA client names in analogy to QMidiRoute,
	FootSwitch now applies to all arps in list
	TODO: handle FootSwitch to be channel-filtered as all note events
	* mainwindow.cpp: tempo added to disk-saved items keeping 
	compatibility with files saved with older versions

2009-09-12 Frank Kober <goemusic@yahoo.fr>
	* arpdata.cpp: fixed memory leak due to non-deleted QList item
	introduced by incomplete Qt4 port (gscholz)
	* mainwindow.cpp: make passWidget and logWidget dockable, hidden by
	default, floatable windows, adapt tab index conditions
	* midiarp.cpp: fixed from original: additional note was produced when 
	control items were present at end of pattern text.

2009-09-09 Frank Kober <goemusic@yahoo.fr>
	* midiarp.*, seqdriver.*, arpwidget.*:
	Simple envelope implementation started. When attack slider is
	set > 0, the velocity is ramped up from zero with alsa tick as
	timescale. When release is > 0, velocities of released notes are 
	ramped down until velocity=0 and then removed from buffer.
	Tick and release mark information is stored with note in buffer.

2009-09-06 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp, midiarp.cpp, seqdriver.cpp, passwidget.cpp: 
	MIDI controller for muting arps implemented. The controller for the
	first arp can be configured in the settings tab, the other arps in 
	row are the following CC numbers. When the corresponding CC with
	value 127 is received, the arp mute state is toggled.
	* qmidiarp_*.ts: translations updated, obsoletes left atm

2009-09-03 Frank Kober <goemusic@yahoo.fr>
	* mainwindow.cpp: new Arp pulldown menu, keyboard shortcuts added
	* qmidiarp_*.ts: translations updated, obsoletes left atm

2009-08-29 Frank Kober <goemusic@yahoo.fr>
	* gui.* removed
	* mainwindow.cpp, mainwindow.h: created, containing MainWindow
	class, all Gui elements moved to MainWindow

2009-08-25 Frank Kober <goemusic@yahoo.fr>
	* midiarp.cpp: Queue start with empty pattern fixed 

2009-08-25 Frank Kober <goemusic@yahoo.fr>
	* gui.cpp, main.h: automatic filename extension added
	* gui.*, main.cpp: save and save As support added
	* gui.cpp: qt4 port error in removeArp(int index) hopefully fixed 
	(affecting load() when one of the three settings tabs was active)
	* gui.cpp, main.cpp: buttonBox toolbar gets attached to top widget
	* seqdriver.cpp: fixed FootSwitch event that still got copied to unmatched
	* passwidget.cpp: port numbers really starting at 1 now
	* known issue: Queue start when pattern empty but arp present

2009-08-23 Frank Kober <goemusic@yahoo.fr>
	* qmidiarp_fr.ts: French translation updated
	* slider.*, groovewidget.*, arpwidget.h: Sliders improved (idea: gscholz)
	* arpwidget.cpp: random box again visible, toggle button removed
	* qmidiarp2.xpm: adjusted image position in pixmap
	* arpwidget.cpp: in/out boxes Layout improved
	* arpwidget.cpp, seqdriver.cpp: Channel and Port numbers
	starting from 1 instead of 0

2009-08-22 Guido Scholz <guido.scholz@bayernline.de>
	* arpdata.cpp arpscreen.* gui.* midiarp.* seqdriver.*: Some
	cleanups, improved string parameter handling
	* arpwidget.cpp: Adjust size of Input/Output boxes

2009-08-16 Frank Kober <goemusic@yahoo.fr>
	* qmidiarp_fr.ts: French translation added

2009-08-16 Guido Scholz <guido.scholz@bayernline.de>
	* arpwidget.cpp: Keyboard shortcuts added for some widgets,
	fixed layout bug, texts made translatable
	* arpscreen.cpp: Obsolete pen.setColor() calls removed, unused C
	header files removed.
	* groovewidget.cpp, logwidget.cpp, passwidget.cpp: Keyboard
	shortcuts added, layout improved, label text made translatable
	* main.cpp: Support for Qt library message translation added
	* configure.ac, main.cpp, src/translations/*.ts: Support for
	application message translation added, German translation added

2009-08-15 Frank Kober <goemusic@yahoo.fr>
	* arpscreen.cpp: fixed fall through in switch and unfinished "."
	interpretation, removed resizeEvent(), set font at beginning of
	the drawEvent routine
	* gui.cpp, seqdriver.cpp: fixed queue start issue when no arp is
	present, the queue is now off on program startup and has to be
	enabled manually after addArp or load
	* passwidget.cpp: fixed yet another logic problem with enabling
	MIDI clock
	* seqdriver.cpp: take into account MIDI clock for ArpScreen
	follower line

2009-08-13 Guido Scholz <guido.scholz@bayernline.de>
	* package: cleanups, use .qmidiarprc instead of .qmarc

2009-08-13 Frank Kober <goemusic@yahoo.fr>
	* package: use xpm icons instead, which are part of sources now and
	EXTRA_DIST

2009-08-08 Frank Kober <goemusic@yahoo.fr>
	* package: optimized layout, removed unnecessary QWidgets (gscholz)
	* package: icons are now installed properly in 
	PREFIX/share/qmidiarp/pixmaps by using 
	a gcc ... -D option as defined in icons/Makefile.am
	* 
	* arpwidget.cpp, gui.cpp: pattern preset structure is now saved 
	in a .qmarc file created in the user's home if non-existent.
	* arpwidget.cpp: added 'removePattern' Toolbutton
	* arpwidget.cpp, midiarp.cpp: the mute button is now working by 
	setting all note velocities = 0 when checked
	* gui.h, main.cpp: use PACKAGE for version reporting

2009-08-02 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.cpp, arpscreen.cpp: a follower line now indicates the 
	queue position in the arpscreen pattern. The position is derived 
	from the current tick and the pattern length and unaware of the actual 
	output notes. Therefore the queue is restarted at every pattern change.
	* arpwidget.cpp: a pattern preset structure is now in place in form 
	of a combobox. Pattern presets can be edited and stored to memory 
	(no diskwrite yet), pattern text is now hidden by default and 
	appears upon click of the new 'edit pattern' button
	* arpwidget.cpp: further GUI refactoring: 
	qtoolbuttons/actions replace the qpushbuttons, added icons,
	created a toolbar holding the main buttons and tempo spinner,
	todo: install icons in PREFIX/share/qmidiarp,
	added a mute checkbox (non-functional yet),
	random settings are now hidden by default and appear upon press 
	of a toolbutton, inserted various stretches to eliminate fixed width 
	labels, shamefully added arpscreen to the pattern groupbox

2009-07-15 Frank Kober <goemusic@yahoo.fr>
	* seqdriver.cpp: added support for damper footswitch to hold and buffer 
	incoming notes
	* seqdriver.cpp: queue start is now back working
	* gui.cpp: queue start button is grayed when midi clock use checked

2009-07-12 Frank Kober <goemusic@yahoo.fr>
	* package: added autotools build environment, moved sources to the
	src subdirectory, updated COPYING file and added two sentences to
	the README, updated INSTALL file
	Remaining issues: 
	   Tempo needs to be the same as that of the midi clock master
	   Queue is not automatically started
	   Queue start button should be grayed when receiving MIDI clock start

2009-02-07 Frank Kober <goemusic@yahoo.fr>
	* package: added a graphical representation of the pattern text
	that is updated on every text change, included port counter in out
	port names and renamed in port to "QMidiARP in", initial MIDI
	real time clock start and stop support:
	  When MIDI clock is being checked, the queue is stopped and
	  started upon reception MIDI_START
	Known issue: the queue is not started automatically. You need to
	un/recheck 'start queue'
	MIDI ticks per beat and MIDI Clock Mode can be selected from the
	passWidget
	Added a switchable filter for MIDI Clock events to the logWidget.
	The logtext is now color
	minor UI tweaks:
	Tempo Spinner and Queue Start Button now in the top row of the
	GUI, visible all the time
	Fixed maximum size of the groove and pass widgets 

2009-06-25 Frank Kober <goemusic@yahoo.fr>
	* package: corrected disable/enable behaviour of rename button,
	addArp and renameArp do now respect 'cancel' in name dialog
	corrected: renaming of all tabs including the three 'system' tabs
	was permitted

2009-06-24 Frank Kober <goemusic@yahoo.fr>
	* package: ported from Qt3 to Qt4 library
