File: ChangeLog

package info (click to toggle)
qmidiarp 0.6.5-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 3,452 kB
  • sloc: cpp: 14,724; sh: 11,345; makefile: 277; xml: 44
file content (664 lines) | stat: -rw-r--r-- 30,013 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
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